.App{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;line-height:1.6;scroll-behavior:smooth;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 20px}*{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.header{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #00000014;padding:18px 0;position:sticky;top:0;z-index:1000;transition:all .3s cubic-bezier(.4,0,.2,1)}.header:hover{box-shadow:0 6px 30px #0000001f}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.header-logo{display:flex;align-items:center}.logo-img{height:195px;width:auto;transition:transform .3s cubic-bezier(.4,0,.2,1);object-fit:contain}.header-logo:hover .logo-img{transform:scale(1.05)}.header-right{display:flex;align-items:center;gap:25px}.header-phone{font-size:18px;font-weight:600}.header-phone a{color:#1e88e5;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;padding:5px 0}.header-phone a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,#1e88e5,#1565c0);transition:width .3s cubic-bezier(.4,0,.2,1)}.header-phone a:hover:after{width:100%}.header-phone a:hover{color:#1565c0}.btn-primary{background:linear-gradient(135deg,#1e88e5,#1565c0);color:#fff;border:none;padding:14px 32px;font-size:16px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 4px 12px #1e88e54d;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-primary:hover:before{width:300px;height:300px}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 20px #1e88e566}.btn-primary:active{transform:translateY(-1px)}.hero{background:linear-gradient(135deg,#1e88e5,#42a5f5,#1565c0);color:#fff;padding:120px 20px;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:float 20s linear infinite;opacity:.4}.hero:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.05) 50%,transparent 70%);animation:shine 8s infinite}@keyframes float{0%{transform:translate(0) rotate(0)}to{transform:translate(50px,50px) rotate(360deg)}}@keyframes shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.hero .container{position:relative;z-index:1}.hero-title{font-size:52px;font-weight:800;margin-bottom:15px;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1);text-shadow:0 2px 20px rgba(0,0,0,.1);letter-spacing:-.5px}.hero-subtitle{font-size:38px;font-weight:600;margin-bottom:25px;animation:fadeInUp 1s cubic-bezier(.4,0,.2,1);opacity:.95}.hero-description{font-size:21px;margin-bottom:35px;opacity:.95;animation:fadeInUp 1.2s cubic-bezier(.4,0,.2,1);font-weight:300}.hero-phone{font-size:32px;font-weight:700;margin-bottom:40px;animation:fadeInUp 1.4s cubic-bezier(.4,0,.2,1);text-shadow:0 2px 10px rgba(0,0,0,.1)}.hero-phone a{color:#fff;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block;padding:12px 24px;border-radius:50px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-phone a:hover{transform:scale(1.1);background:#ffffff40;box-shadow:0 4px 20px #0003}.btn-hero{background:linear-gradient(135deg,#ff6f00,#ff8f00);color:#fff;border:none;padding:20px 60px;font-size:20px;font-weight:700;border-radius:50px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);animation:fadeInUp 1.6s cubic-bezier(.4,0,.2,1);box-shadow:0 6px 25px #ff6f0066;position:relative;overflow:hidden;letter-spacing:.5px}.btn-hero:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-hero:hover:before{width:400px;height:400px}.btn-hero:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 12px 40px #ff6f0080;background:linear-gradient(135deg,#ff8f00,#ff6f00)}.btn-hero:active{transform:translateY(-2px) scale(1.02)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.section-title{font-size:40px;font-weight:800;text-align:center;margin-bottom:60px;background:linear-gradient(135deg,#1e88e5,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;padding-bottom:25px;letter-spacing:-.5px}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:5px;background:linear-gradient(90deg,#1e88e5,#ff6f00);border-radius:3px;animation:expandWidth .8s cubic-bezier(.4,0,.2,1)}@keyframes expandWidth{0%{width:0}to{width:100px}}.stages{padding:100px 20px;background:linear-gradient(180deg,#f8f9fa,#fff);position:relative}.timeline{position:relative;max-width:1000px;margin:0 auto;padding:40px 0}.timeline:before{content:"";position:absolute;top:0;right:50%;transform:translate(50%);width:2px;height:100%;background:linear-gradient(180deg,#e0e0e0,#1e88e5,#e0e0e0)}.timeline-section-title{position:relative;text-align:center;margin:50px 0 40px;z-index:3;animation:fadeInUp .6s cubic-bezier(.4,0,.2,1)}.timeline-section-title:first-child{margin-top:0}.timeline-section-title h3{display:inline-block;background:linear-gradient(135deg,#1e88e5,#1565c0);color:#fff;padding:15px 40px;border-radius:50px;font-size:22px;font-weight:700;box-shadow:0 6px 20px #1e88e54d;position:relative;z-index:2}.timeline-item{position:relative;margin-bottom:60px;display:flex;align-items:center;animation:fadeInUp .6s cubic-bezier(.4,0,.2,1);animation-fill-mode:both}.timeline-item-left{flex-direction:row;justify-content:flex-end;padding-right:calc(50% + 40px)}.timeline-item-right{flex-direction:row-reverse;justify-content:flex-end;padding-left:calc(50% + 40px)}.timeline-node{position:absolute;right:50%;transform:translate(50%);width:20px;height:20px;background:#1e88e5;border:4px solid white;border-radius:50%;box-shadow:0 0 0 4px #1e88e533,0 4px 12px #1e88e54d;z-index:2;transition:all .4s cubic-bezier(.4,0,.2,1)}.timeline-item:hover .timeline-node{transform:translate(50%) scale(1.3);box-shadow:0 0 0 6px #1e88e54d,0 6px 20px #1e88e566;background:#1565c0}.timeline-content{background:#fff;padding:30px 35px;border-radius:15px;box-shadow:0 4px 20px #0000001a;max-width:420px;width:100%;transition:all .4s cubic-bezier(.4,0,.2,1);border:2px solid transparent;position:relative}.timeline-content:before{content:"";position:absolute;top:50%;width:0;height:0;border-style:solid;transition:all .3s cubic-bezier(.4,0,.2,1)}.timeline-item-left .timeline-content:before{right:-12px;transform:translateY(-50%);border-width:10px 0 10px 12px;border-color:transparent transparent transparent white}.timeline-item-right .timeline-content:before{left:-12px;transform:translateY(-50%);border-width:10px 12px 10px 0;border-color:transparent white transparent transparent}.timeline-item:hover .timeline-content{transform:translateY(-5px);box-shadow:0 8px 30px #1e88e533;border-color:#1e88e5}.timeline-item:hover .timeline-content:before{border-color:transparent transparent transparent #1e88e5}.timeline-item-right:hover .timeline-content:before{border-color:transparent #1e88e5 transparent transparent}.timeline-content{position:relative}.timeline-item-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#1e88e5,#1565c0);border-radius:12px;color:#fff;margin-bottom:15px;box-shadow:0 4px 15px #1e88e54d;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0}.timeline-item-icon svg{width:24px;height:24px}.timeline-item:hover .timeline-item-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 20px #1e88e580;background:linear-gradient(135deg,#1565c0,#0d47a1)}.timeline-content h3{font-size:24px;margin-bottom:12px;background:linear-gradient(135deg,#1e88e5,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;display:flex;align-items:center;gap:10px}.timeline-content p{color:#555;line-height:1.7;font-size:15px;margin:0 0 15px}.requirements-toggle{background:linear-gradient(135deg,#1e88e5,#1565c0);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:15px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 10px #1e88e54d}.requirements-toggle:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);transform:translateY(-2px);box-shadow:0 5px 15px #1e88e566}.requirements-toggle:active{transform:translateY(0)}.toggle-icon{font-size:20px;font-weight:700;margin-left:10px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.requirements-toggle:hover .toggle-icon{transform:scale(1.2)}.room-requirements{margin-top:20px;padding:20px;background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:12px;border:2px solid #e3f2fd;animation:fadeInScale .4s cubic-bezier(.4,0,.2,1)}.map-container{margin-top:20px;animation:fadeInScale .4s cubic-bezier(.4,0,.2,1)}.map-container .map-wrapper{border-radius:12px;overflow:hidden;box-shadow:0 5px 20px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1)}.map-container .map-wrapper:hover{box-shadow:0 8px 30px #1e88e533;transform:translateY(-2px)}.map-container .map-wrapper iframe{border-radius:12px}.map-container .map-wrapper p{margin-top:10px;text-align:center;color:#666;font-size:14px;font-weight:500}.tgu-info{margin-top:20px;padding:20px;background:linear-gradient(135deg,#fff3e0,#fff);border-radius:12px;border:2px solid #ffb74d;animation:fadeInScale .4s cubic-bezier(.4,0,.2,1)}.tgu-info h4{font-size:18px;margin-bottom:15px;color:#f57c00;font-weight:700}.tgu-info p{color:#555;line-height:1.7;font-size:15px;margin-bottom:20px}.tgu-gallery{margin-top:20px}.tgu-gallery h5{font-size:16px;margin-bottom:15px;color:#f57c00;font-weight:600}.tgu-slider{position:relative;margin-top:15px;display:flex;align-items:center;gap:10px}.tgu-slider-container{position:relative;flex:1;border-radius:10px;overflow:hidden;cursor:pointer;box-shadow:0 4px 15px #0000001a;background:#f5f5f5;min-height:300px;display:flex;align-items:center;justify-content:center}.tgu-slider-container img{width:100%;height:auto;max-height:400px;object-fit:contain;display:block;pointer-events:none}.tgu-slider-counter{position:absolute;bottom:10px;right:10px;background:#000000b3;color:#fff;padding:5px 12px;border-radius:20px;font-size:14px;font-weight:600}.tgu-slider-btn{background:#f57c00e6;border:none;border-radius:50%;width:45px;height:45px;font-size:28px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 10px #f57c004d;flex-shrink:0}.tgu-slider-btn:hover{background:#f57c00;transform:scale(1.1);box-shadow:0 4px 15px #f57c0080}.tgu-slider-btn:active{transform:scale(.95)}.tgu-slider-dots{display:flex;justify-content:center;gap:8px;margin-top:15px}.tgu-slider-dot{width:10px;height:10px;border-radius:50%;border:none;background:#f57c004d;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);padding:0}.tgu-slider-dot:hover{background:#f57c0099;transform:scale(1.2)}.tgu-slider-dot.active{background:#f57c00;transform:scale(1.3)}.map-container .map-wrapper{position:relative}.map-controls{position:absolute;top:10px;right:10px;z-index:10}.map-fullscreen-btn{background:#fffffff2;border:none;border-radius:8px;padding:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0003;transition:all .3s cubic-bezier(.4,0,.2,1);color:#1e88e5}.map-fullscreen-btn:hover{background:#fff;box-shadow:0 4px 15px #1e88e54d;transform:scale(1.1)}.map-fullscreen-btn:active{transform:scale(.95)}.map-fullscreen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s cubic-bezier(.4,0,.2,1)}.map-fullscreen-content{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.map-fullscreen-close{position:absolute;top:20px;right:20px;background:#fffffff2;border:none;border-radius:50%;width:50px;height:50px;font-size:32px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;z-index:10001;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 10px #0003}.map-fullscreen-close:hover{background:#fff;transform:scale(1.1);box-shadow:0 4px 15px #ffffff4d}.map-fullscreen-close:active{transform:scale(.9)}.map-fullscreen-wrapper{width:100%;height:100%;position:relative;border-radius:10px;overflow:hidden;box-shadow:0 10px 50px #00000080}.map-fullscreen-wrapper iframe{width:100%;height:100%;border:none}.map-fullscreen-address{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#fffffff2;padding:12px 24px;border-radius:25px;color:#333;font-size:16px;font-weight:600;box-shadow:0 4px 15px #0000004d;z-index:10001}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.room-requirements h4{font-size:18px;margin-bottom:15px;color:#1e88e5;font-weight:700}.room-requirements ul{list-style:none;padding:0;margin:0}.room-requirements li{padding:10px 0 10px 25px;position:relative;color:#555;line-height:1.6;font-size:15px;border-bottom:1px solid #e0e0e0}.room-requirements li:last-child{border-bottom:none}.room-requirements li:before{content:"✓";position:absolute;left:0;color:#1e88e5;font-weight:700;font-size:16px}.room-requirements li:hover{color:#1e88e5;padding-left:30px;transition:all .3s cubic-bezier(.4,0,.2,1)}.room-requirements li strong{color:#333;font-weight:600}.required-badge,.optional-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;margin-left:8px;vertical-align:middle}.required-badge{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;box-shadow:0 2px 6px #f443364d}.optional-badge{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;box-shadow:0 2px 6px #ff98004d}@media (max-width: 768px){.timeline:before{right:20px;transform:none}.timeline-section-title h3{font-size:18px;padding:12px 30px}.timeline-item-icon{width:40px;height:40px;margin-bottom:12px}.timeline-item-icon svg{width:20px;height:20px}.timeline-item{flex-direction:row!important;padding-left:60px!important;padding-right:0!important;justify-content:flex-start!important}.timeline-node{right:20px;transform:translate(50%)}.timeline-item:hover .timeline-node{transform:translate(50%) scale(1.3)}.timeline-content{max-width:100%}.timeline-content h3{font-size:20px}.timeline-item-left .timeline-content:before,.timeline-item-right .timeline-content:before{left:-12px;right:auto;border-width:10px 12px 10px 0;border-color:transparent white transparent transparent}.timeline-item:hover .timeline-content:before{border-color:transparent #1e88e5 transparent transparent}}.advantages{padding:100px 20px;background:#fff;position:relative}.advantages:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(30,136,229,.3),transparent)}.advantages-list{max-width:950px;margin:0 auto}.advantage-item{padding:30px;margin-bottom:25px;background:linear-gradient(135deg,#f8f9fa,#fff);border-left:6px solid;border-image:linear-gradient(180deg,#1e88e5,#1565c0) 1;border-radius:15px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 15px #0000000d;animation:fadeInUp .6s cubic-bezier(.4,0,.2,1);animation-fill-mode:both}.advantage-item:nth-child(1){animation-delay:.1s}.advantage-item:nth-child(2){animation-delay:.2s}.advantage-item:nth-child(3){animation-delay:.3s}.advantage-item:nth-child(4){animation-delay:.4s}.advantage-item:nth-child(5){animation-delay:.5s}.advantage-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#1e88e5,#1565c0);transform:scaleY(0);transition:transform .4s cubic-bezier(.4,0,.2,1);transform-origin:top}.advantage-item:hover:before{transform:scaleY(1)}.advantage-item:hover{background:linear-gradient(135deg,#1e88e50d,#fff);transform:translate(10px) scale(1.01);box-shadow:0 8px 25px #1e88e526}.advantage-item strong{background:linear-gradient(135deg,#1e88e5,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:19px;font-weight:700}.advantage-item-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#1e88e5,#1565c0);border-radius:12px;color:#fff;margin-bottom:15px;box-shadow:0 4px 15px #1e88e54d;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0}.advantage-item-icon svg{width:24px;height:24px;color:#fff}.advantage-item:hover .advantage-item-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 20px #1e88e580;background:linear-gradient(135deg,#1565c0,#0d47a1)}.calculator{padding:100px 20px;background:linear-gradient(135deg,#1e88e5,#42a5f5,#1565c0);color:#fff;position:relative;overflow:hidden}.calculator:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calculator .section-title{color:#fff;-webkit-text-fill-color:white;position:relative;z-index:1}.calculator .section-title:after{background:#fff}.calculator-form{max-width:650px;margin:0 auto;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:50px;border-radius:25px;color:#333;box-shadow:0 20px 60px #0000004d;position:relative;z-index:1;border:1px solid rgba(255,255,255,.3);animation:fadeInUp .8s cubic-bezier(.4,0,.2,1);box-sizing:border-box;width:100%}.calculator-form h3{font-size:32px;margin-bottom:35px;background:linear-gradient(135deg,#1e88e5,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;font-weight:800}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:10px;font-weight:600;color:#333;font-size:15px}.form-group input,.form-group textarea{width:100%;padding:15px 20px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;box-sizing:border-box}.form-group textarea{resize:vertical;min-height:120px;max-height:300px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#1e88e5;box-shadow:0 0 0 4px #1e88e51a;transform:translateY(-2px)}.btn-submit{width:100%;background:linear-gradient(135deg,#1e88e5,#1565c0);color:#fff;border:none;padding:18px;font-size:19px;font-weight:700;border-radius:50px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);margin-top:15px;box-shadow:0 6px 25px #1e88e54d;position:relative;overflow:hidden;letter-spacing:.5px}.btn-submit:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-submit:hover:before{width:500px;height:500px}.btn-submit:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 10px 35px #1e88e566}.btn-submit:active{transform:translateY(-1px) scale(1)}.form-note{font-size:13px;color:#999;text-align:center;margin-top:15px}.calculator-options{margin:30px 0;padding:25px;background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:15px;border:2px solid #e3f2fd;box-sizing:border-box;width:100%}.options-list{display:flex;flex-direction:column;gap:20px;margin-bottom:25px}.radio-group{background:#fff;padding:20px;border-radius:12px;border:2px solid #e0e0e0;transition:all .3s cubic-bezier(.4,0,.2,1)}.radio-group:hover{border-color:#1e88e5;box-shadow:0 4px 12px #1e88e51a}.radio-question{display:block;font-size:16px;font-weight:600;color:#333;margin-bottom:15px;cursor:default}.radio-options{display:flex;gap:15px;flex-wrap:wrap}.radio-label{display:flex;align-items:center;cursor:pointer;padding:10px 15px;background:#f8f9fa;border-radius:8px;border:2px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1);flex:1;min-width:150px;position:relative}.radio-label:hover{background:#e3f2fd;border-color:#1e88e5;transform:translateY(-1px)}.radio-label input[type=radio]{position:absolute;opacity:0;width:0;height:0}.radio-custom{width:20px;height:20px;border:2px solid #1e88e5;border-radius:50%;margin-right:12px;position:relative;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff}.radio-label input[type=radio]:checked+.radio-custom{background:#fff;border-color:#1e88e5}.radio-label input[type=radio]:checked+.radio-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#1e88e5,#1565c0)}.radio-label input[type=radio]:checked~.radio-text{color:#1e88e5;font-weight:600}.radio-label:has(input[type=radio]:checked){background:linear-gradient(135deg,#1e88e51a,#e3f2fd);border-color:#1e88e5}.radio-text{font-size:15px;font-weight:500;color:#555;-webkit-user-select:none;user-select:none;transition:all .3s cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.radio-options{flex-direction:column}.radio-label{min-width:auto;width:100%}.calculator-options{padding:20px 15px}.radio-group{padding:15px}}.services{padding:100px 20px;background:linear-gradient(180deg,#fff,#f8f9fa)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:35px}.service-card{background:#fff;padding:50px 35px;border-radius:20px;text-align:center;border:2px solid #e8eaf6;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 5px 20px #0000000f;animation:fadeInUp .6s cubic-bezier(.4,0,.2,1);animation-fill-mode:both}.service-card:nth-child(1){animation-delay:.1s}.service-card:nth-child(2){animation-delay:.2s}.service-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(30,136,229,.1),transparent);transition:left .5s cubic-bezier(.4,0,.2,1)}.service-card:hover:before{left:100%}.service-card:hover{border-color:#1e88e5;transform:translateY(-12px) scale(1.03);box-shadow:0 15px 40px #1e88e533;background:linear-gradient(135deg,#fff,#f0f8ff)}.service-icon{font-size:56px;margin-bottom:25px;transition:all .4s cubic-bezier(.4,0,.2,1);display:inline-block}.service-card:hover .service-icon{transform:scale(1.2) rotate(5deg)}.service-card h3{font-size:24px;background:linear-gradient(135deg,#1e88e5,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:18px;font-weight:700}.service-card p{color:#666;line-height:1.8;font-size:15px}.faq{padding:100px 20px;background:#fff}.faq-list{max-width:850px;margin:0 auto}.faq-item{margin-bottom:20px;border:2px solid #e8eaf6;border-radius:15px;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);background:#fff;box-shadow:0 3px 15px #0000000a}.faq-item:hover{border-color:#1e88e5;box-shadow:0 5px 25px #1e88e526;transform:translateY(-2px)}.faq-question{padding:25px;background:linear-gradient(135deg,#f8f9fa,#fff);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.faq-question:hover{background:linear-gradient(135deg,#1e88e50d,#fff)}.faq-question h3{font-size:19px;color:#333;font-weight:700;flex:1;transition:color .3s cubic-bezier(.4,0,.2,1)}.faq-item:hover .faq-question h3{background:linear-gradient(135deg,#1e88e5,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.faq-toggle{font-size:28px;font-weight:700;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#1e88e5,#1565c0);-webkit-text-fill-color:white;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 10px #1e88e533}.faq-item:hover .faq-toggle{transform:scale(1.1) rotate(90deg);box-shadow:0 5px 15px #1e88e54d}.faq-answer{padding:25px;background:#fff;color:#555;line-height:1.9;animation:slideDown .4s cubic-bezier(.4,0,.2,1);font-size:15px}.gallery{padding:100px 20px;background:linear-gradient(180deg,#f8f9fa,#fff)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px}.gallery-item{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 25px #00000014;transition:all .4s cubic-bezier(.4,0,.2,1);border:2px solid transparent}.gallery-item:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 15px 40px #1e88e540;border-color:#1e88e5}.gallery-placeholder{background:linear-gradient(135deg,#1e88e51a,#1565c01a);padding:160px 20px;text-align:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1e88e5;font-weight:700;font-size:20px;position:relative;overflow:hidden}.gallery-placeholder:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);animation:rotate 10s linear infinite}.gallery-item p{padding:20px;text-align:center;color:#555;font-weight:600;font-size:16px;background:#fff}.gallery-sliders{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px}.gallery-card{background:linear-gradient(135deg,#f0f7ff,#e8f4fd);border-radius:15px;overflow:hidden;box-shadow:0 4px 20px #0000001f,0 2px 8px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1px solid #d0e7ff}.gallery-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px #1e88e540;border-color:#1e88e5;background:linear-gradient(135deg,#e3f2fd,#d0e7ff)}.gallery-card-image{position:relative;width:100%;height:200px;overflow:hidden;background:#f5f5f5}.gallery-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.4,0,.2,1)}.gallery-card:hover .gallery-card-image img{transform:scale(1.1)}.gallery-card-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.5) 100%);display:flex;align-items:flex-end;justify-content:flex-end;padding:15px;opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.gallery-card:hover .gallery-card-overlay{opacity:1}.gallery-card-count{background:#ffffffe6;color:#1e88e5;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gallery-card-title{padding:18px;text-align:center;font-size:16px;font-weight:600;color:#333;background:linear-gradient(135deg,#f8f9fa,#fff);border-top:1px solid #e9ecef;transition:all .3s cubic-bezier(.4,0,.2,1)}.gallery-card:hover .gallery-card-title{color:#1e88e5;background:linear-gradient(135deg,#e3f2fd,#f8f9fa);border-top-color:#1e88e5}.gallery-loading,.gallery-empty{text-align:center;padding:60px 20px;color:#666;font-size:18px}.fullscreen-modal{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;background:#000000f2!important;z-index:99999!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer;margin:0!important;padding:0!important;overflow:hidden!important}.fullscreen-close{position:absolute;top:20px;right:20px;width:50px;height:50px;border-radius:50%;border:none;background:#fff3;color:#fff;font-size:36px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10001}.fullscreen-close:hover{background:#ffffff4d;transform:scale(1.1) rotate(90deg)}.fullscreen-image-container{max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.fullscreen-image-container img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:10px;box-shadow:0 10px 50px #00000080}.fullscreen-btn{position:absolute;width:60px;height:60px;border-radius:50%;border:none;background:#fff3;color:#fff;font-size:40px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10001}.fullscreen-btn:hover{background:#ffffff4d;transform:scale(1.15)}.fullscreen-btn-prev{left:30px}.fullscreen-btn-next{right:30px}.fullscreen-header{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:10001}.fullscreen-title{color:#fff;font-size:24px;font-weight:700;text-align:center;background:#00000080;padding:12px 24px;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.fullscreen-dots{position:absolute;bottom:80px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:10001;flex-wrap:wrap;justify-content:center;max-width:90%}.fullscreen-dot{width:12px;height:12px;border-radius:50%;border:2px solid white;background:#ffffff4d;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);padding:0}.fullscreen-dot:hover{background:#fff9;transform:scale(1.2)}.fullscreen-dot.active{background:#fff;width:30px;border-radius:6px}.fullscreen-counter{position:absolute;bottom:30px;left:50%;transform:translate(-50%);color:#fff;font-size:18px;font-weight:600;background:#00000080;padding:10px 20px;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10001}@media (max-width: 768px){.gallery-sliders{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.gallery-card-image{height:180px}.gallery-card-title{padding:15px;font-size:14px}.fullscreen-btn{width:50px;height:50px;font-size:32px}.fullscreen-btn-prev{left:10px}.fullscreen-btn-next{right:10px}.fullscreen-close{top:10px;right:10px;width:40px;height:40px;font-size:28px}}.callback{padding:100px 20px;background:linear-gradient(135deg,#1e88e5,#42a5f5,#1565c0);color:#fff;text-align:center;position:relative;overflow:hidden}.callback:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 70% 50%,rgba(255,255,255,.1) 0%,transparent 50%);animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.8}}.callback .section-title{color:#fff;-webkit-text-fill-color:white;position:relative;z-index:1}.callback .section-title:after{background:#fff}.callback-phone{font-size:36px;font-weight:700;margin:25px 0;position:relative;z-index:1;text-shadow:0 2px 10px rgba(0,0,0,.1)}.callback-phone a{color:#fff;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block;padding:10px 25px;border-radius:50px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.callback-phone a:hover{transform:scale(1.1);background:#ffffff40;box-shadow:0 4px 20px #0003}.callback-text{font-size:19px;margin-bottom:40px;opacity:.95;position:relative;z-index:1}.btn-callback{background:#fff;background:linear-gradient(135deg,#fff,#fffffff2);color:#1e88e5;border:none;padding:20px 60px;font-size:21px;font-weight:700;border-radius:50px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 30px #ffffff4d;position:relative;z-index:1;letter-spacing:.5px}.btn-callback:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 40px #fff6;background:#fff}.btn-callback:active{transform:translateY(-2px) scale(1.02)}.map-section{padding:100px 20px;background:#fff}.map-wrapper{border-radius:20px;overflow:hidden;box-shadow:0 10px 40px #0000001a;transition:all .4s cubic-bezier(.4,0,.2,1)}.map-wrapper:hover{box-shadow:0 15px 50px #1e88e540;transform:translateY(-5px)}.map-placeholder{background:linear-gradient(135deg,#1e88e50d,#1565c00d);padding:120px 20px;text-align:center;color:#666;font-size:19px;font-weight:500}.map-placeholder p{margin-bottom:12px}#yandex-map{width:100%;height:400px;border-radius:20px}.map-wrapper iframe{width:100%;height:400px;border:none;border-radius:20px;display:block}.map-wrapper p{margin-top:15px;text-align:center;color:#666;font-size:16px;font-weight:500}.footer{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;padding:60px 20px 25px;position:relative;overflow:hidden}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#1e88e5,#ff6f00)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:50px;margin-bottom:40px;position:relative;z-index:1}.footer-brand h4,.footer-contacts h4,.footer-schedule h4{font-size:22px;margin-bottom:20px;background:linear-gradient(135deg,#42a5f5,#1e88e5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.footer-brand p,.footer-contacts p,.footer-schedule p{margin-bottom:12px;opacity:.9;line-height:2;font-size:15px}.footer-contacts a{color:#fff;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;display:inline-block}.footer-contacts a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,#42a5f5,#1e88e5);transition:width .3s cubic-bezier(.4,0,.2,1)}.footer-contacts a:hover{color:#42a5f5}.footer-contacts a:hover:after{width:100%}.footer-copyright{text-align:center;padding-top:30px;border-top:1px solid rgba(255,255,255,.1);opacity:.8;font-size:14px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .3s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:25px;padding:50px;max-width:550px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .4s cubic-bezier(.4,0,.2,1);box-shadow:0 20px 60px #0006;border:2px solid rgba(30,136,229,.1)}@keyframes slideUp{0%{transform:translateY(60px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:20px;right:20px;background:linear-gradient(135deg,#f5f5f5,#e8eaf6);border:none;width:40px;height:40px;border-radius:50%;font-size:26px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 10px #0000001a}.modal-close:hover{background:linear-gradient(135deg,#1e88e5,#1565c0);color:#fff;transform:rotate(90deg) scale(1.1);box-shadow:0 5px 15px #1e88e54d}.modal-content h2{background:linear-gradient(135deg,#1e88e5,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:35px;text-align:center;font-size:28px;font-weight:800}.floating-phone-btn{position:fixed;bottom:40px;right:45px;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#1e88e5,#1565c0);border:none;box-shadow:0 8px 25px #1e88e566;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1500;transition:all .3s cubic-bezier(.4,0,.2,1);animation:phoneShake 8s ease-in-out infinite;animation-delay:3s}.floating-phone-btn:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;background:linear-gradient(135deg,#1e88e5,#1565c0);opacity:.3;z-index:-1;animation:ripple 2s ease-out infinite;animation-delay:3s}.floating-phone-btn:hover{transform:scale(1.1)!important;box-shadow:0 12px 35px #1e88e599;background:linear-gradient(135deg,#1565c0,#0d47a1);animation-play-state:paused}.floating-phone-btn:active{transform:scale(.95)!important}.floating-phone-btn svg{width:32px;height:32px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.floating-phone-btn:hover svg{transform:rotate(15deg)}@keyframes phoneShake{0%,85%{transform:translate(0) rotate(0)}86%{transform:translate(-8px,-5px) rotate(-8deg)}87%{transform:translate(8px,5px) rotate(8deg)}88%{transform:translate(-7px,-4px) rotate(-7deg)}89%{transform:translate(7px,4px) rotate(7deg)}90%{transform:translate(-6px,-3px) rotate(-6deg)}91%{transform:translate(6px,3px) rotate(6deg)}92%{transform:translate(-5px,-2px) rotate(-5deg)}93%{transform:translate(5px,2px) rotate(5deg)}94%{transform:translate(-4px,-1px) rotate(-4deg)}95%{transform:translate(4px,1px) rotate(4deg)}96%{transform:translate(-3px) rotate(-3deg)}97%{transform:translate(3px) rotate(3deg)}98%{transform:translate(-2px) rotate(-2deg)}99%{transform:translate(2px) rotate(2deg)}to{transform:translate(0) rotate(0)}}@keyframes ripple{0%{transform:scale(1);opacity:.3}50%{transform:scale(1.4);opacity:.1}to{transform:scale(1.8);opacity:0}}@media (max-width: 768px){.hero-title{font-size:36px}.hero-subtitle{font-size:28px}.section-title{font-size:30px}.stages-grid,.services-grid,.footer-content{grid-template-columns:1fr}.header-content{flex-direction:column;text-align:center}.header-right{flex-direction:column;width:100%}.btn-primary{width:100%}.modal-content{padding:35px 25px}.btn-hero{padding:18px 45px;font-size:18px}.calculator-form{padding:40px 30px}.floating-phone-btn{width:56px;height:56px;bottom:20px;right:20px}.floating-phone-btn svg{width:24px;height:24px}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#333;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%}
