body,html{margin:0;padding:0;font-family:Nunito Sans,Arial,sans-serif;background:#fff;color:#23272f;transition:font-family .2s;overflow-x:hidden;width:100vw}h1,h2,h3,h4,h5,h6{color:#6366f1}.main-wrapper{width:100vw;max-width:100vw;margin:0 auto;box-shadow:none;border-radius:0;overflow:visible;padding:0;background:none}section,.about,.services,.portfolio,.reviews,.request-form{margin-top:0;margin-bottom:0;width:100%;max-width:none;padding-left:max(7vw,32px);padding-right:max(7vw,32px);box-sizing:border-box}@media (max-width: 900px){section,.about,.services,.portfolio,.reviews,.request-form{padding-left:max(3vw,16px);padding-right:max(3vw,16px)}}@media (max-width: 600px){section,.about,.services,.portfolio,.reviews,.request-form{padding-left:10px;padding-right:10px}}.banner{background:linear-gradient(90deg,#22c55e,#4b2996);color:#fff;padding:56px 32px 40px;text-align:center;position:relative;border-radius:0}.banner-content h1{font-size:2.7rem;font-weight:700;margin:0 0 16px;letter-spacing:.5px}.banner-sub{font-size:1.25rem;margin-bottom:28px}.banner-btn{display:inline-block;background:#fff;color:#3b82f6;border:none;border-radius:8px;padding:16px 38px;font-size:1.1rem;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #3c50b41a;transition:background .2s,color .2s,box-shadow .2s,transform .1s;margin-bottom:18px;text-decoration:none}.banner-btn:hover{background:#e0e7ef;color:#6366f1;box-shadow:0 4px 16px #3c50b421;transform:translateY(-2px) scale(1.03)}.banner-contacts{margin-top:18px;font-size:1.08rem;opacity:.95}.banner-contacts span{margin:0 12px}.advantages{padding:36px 32px;border-bottom:1px solid #f0f2f7;text-align:center}.advantages-list{display:flex;justify-content:center;gap:32px;margin-top:24px;flex-wrap:wrap}.advantage{background:#f3f6fd;border-radius:14px;box-shadow:0 2px 8px #3c50b40f;padding:28px 22px;min-width:180px;max-width:220px;flex:1 1 180px;display:flex;flex-direction:column;align-items:center}.advantage-icon{font-size:2.2rem;margin-bottom:10px}.advantage-title{font-weight:700;margin-bottom:6px}.advantage-desc{font-size:1.02rem;color:#6366f1}.services{padding:36px 32px;border-bottom:1px solid #f0f2f7;background:#f8fafc;text-align:center}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:28px;max-width:900px;margin-left:auto;margin-right:auto;justify-content:center}.service-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px #4b299612;padding:28px 20px 22px;display:flex;flex-direction:column;align-items:flex-start;transition:box-shadow .18s,transform .18s;cursor:pointer;border:1.5px solid #f0f2f7}.service-card:hover{box-shadow:0 8px 32px #22c55e21,0 2px 8px #4b29961a;border:1.5px solid #22c55e;transform:translateY(-4px) scale(1.025)}.service-icon{margin-bottom:16px;display:flex;align-items:center;justify-content:center}.service-title{font-size:1.18rem;font-weight:700;color:#4b2996;margin-bottom:8px}.service-desc{font-size:1.04rem;color:#23272f;opacity:.92}.services ul{padding-left:20px;margin:0}.services li{margin-bottom:8px;font-size:1.08rem}.portfolio{padding:36px 32px;border-bottom:1px solid #f0f2f7;text-align:center}.portfolio-gallery{display:flex;gap:20px;margin-top:18px;flex-wrap:wrap;justify-content:center}@media (max-width: 900px){.portfolio-gallery{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.portfolio-gallery{grid-template-columns:1fr}}.portfolio-item{background:#f3f6fd;padding:0;border-radius:14px;flex:1 1 260px;max-width:320px;min-width:220px;text-align:center;font-weight:500;box-shadow:0 2px 8px #3c50b40f;transition:box-shadow .2s,transform .2s;margin-bottom:12px;overflow:hidden;display:flex;flex-direction:column;border:2px solid #6366f1}.portfolio-item img{width:100%;height:180px;object-fit:cover;border-top-left-radius:14px;border-top-right-radius:14px}.portfolio-item-title{padding:16px 10px 10px;font-size:1.08rem;font-weight:600}.portfolio-item-btn{margin:0 0 16px;background:linear-gradient(90deg,#3b82f6,#6366f1);color:#fff;border:none;border-radius:8px;padding:10px 22px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #3c50b41a;transition:background .2s,box-shadow .2s,transform .1s}.portfolio-item-btn:hover{background:linear-gradient(90deg,#6366f1,#3b82f6);box-shadow:0 4px 16px #3c50b421;transform:translateY(-2px) scale(1.03)}.reviews{padding:36px 32px;border-bottom:1px solid #f0f2f7;text-align:center}.reviews-list{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:18px}.review{background:#f3f6fd;border-radius:14px;box-shadow:0 2px 8px #3c50b40f;padding:22px 18px;min-width:200px;max-width:320px;flex:1 1 200px;display:flex;flex-direction:column;align-items:center}.review-text{font-size:1.05rem;margin-bottom:10px}.review-name{font-weight:700;color:#22c55e}.request-form{padding:36px 32px;border-bottom:1px solid #f0f2f7;text-align:center}.request-form form{display:flex;flex-direction:column;gap:14px;max-width:400px;margin:0 auto}.request-form input,.request-form textarea{background:#fff;color:#23272f;padding:12px;border-radius:8px;border:1px solid #e0e7ef;font-size:1rem;font-family:inherit}.request-form button{background:linear-gradient(90deg,#22c55e,#4b2996);color:#fff;border:none;border-radius:8px;padding:14px 0;font-size:1.1rem;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #3c50b41a;transition:background .2s,box-shadow .2s,transform .1s}.request-form button:hover{background:linear-gradient(90deg,#4b2996,#22c55e);color:#fff;box-shadow:0 4px 16px #3c50b421;transform:translateY(-2px) scale(1.03)}.form-success{color:#22c55e;font-size:1.15rem;font-weight:600;margin:32px 0}.form-agree{font-size:.95rem;color:#6366f1;display:flex;align-items:center;gap:8px;justify-content:flex-start}.form-agree input[type=checkbox]{accent-color:#6366f1;background:#fff!important;border:1.5px solid #6366f1;border-radius:4px;width:18px;height:18px;margin-right:8px;box-shadow:none!important}@media (max-width: 600px){.form-agree input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;width:18px!important;height:18px!important;background:#fff!important;color:#fff!important;border:1.5px solid #6366f1!important;border-radius:4px!important;box-shadow:none!important;outline:none!important;position:relative!important;cursor:pointer!important;vertical-align:middle!important;z-index:1}.form-agree input[type=checkbox]:checked:after{content:"";display:block;position:absolute;left:50%;top:50%;width:6px;height:12px;border:solid #6366f1;border-width:0 2.5px 2.5px 0;transform:translate(-50%,-50%) rotate(45deg);z-index:2}}.scroll-to-top{position:fixed;right:32px;bottom:32px;z-index:100;background:#22c55e;color:#fff;border:none;border-radius:50%;width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.5;transition:opacity .2s;box-shadow:none;padding:0;outline:none}.scroll-to-top:hover{opacity:1}.scroll-to-top svg{display:block;margin:0 auto;width:24px;height:24px}section,.footer{opacity:0;transform:translateY(80px) scale(.98);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1)}section.visible,.footer.visible{opacity:1;transform:none}.portfolio-item:hover{box-shadow:0 8px 32px #22c55e2e,0 2px 8px #6366f11a;border:2.5px solid #22c55e}.footer .year{font-weight:600;color:#23272f}.advantages,.services,.portfolio,.reviews,.request-form,.contacts{padding-left:0;padding-right:0}.modal-gallery-overlay{animation:fadeIn .2s}.modal-gallery-content{animation:slideUp .25s}.modal-gallery-arrow,.modal-gallery-close{background:#22c55e;color:#fff;border:none;border-radius:50%;width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.5;transition:opacity .2s;box-shadow:none;padding:0;outline:none}.modal-gallery-arrow:hover,.modal-gallery-close:hover{opacity:1}.modal-gallery-arrow svg,.modal-gallery-close svg{display:block;margin:0 auto;width:24px;height:24px;color:#fff;stroke:url(#g1),url(#g2),url(#g3),url(#g4),#6366f1,#22c55e}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.banner-glare{position:absolute;left:-40%;top:-30%;width:180%;height:160%;pointer-events:none;z-index:0;background:linear-gradient(120deg,#ffffff2e,#4b29961f 40%,#22c55e1a,#ffffff38);filter:blur(12px);opacity:.7;animation:bannerGlareSlide 7s cubic-bezier(.4,0,.2,1) infinite alternate}@keyframes bannerGlareSlide{0%{transform:translate(0) translateY(0);opacity:.6}50%{transform:translate(40%) translateY(10%);opacity:.9}to{transform:translate(80%) translateY(0);opacity:.7}}.contacts{position:relative;overflow:hidden;color:#fff;padding:36px 32px;background:linear-gradient(90deg,#22c55e,#4b2996);box-sizing:border-box}.contacts h2{text-shadow:0 0 3px #fff,0 0 6px #fff}@media (max-width: 900px){.contacts{padding:28px 16px}}@media (max-width: 600px){.contacts{padding:18px 8px}}.contacts-glare{position:absolute;left:-30%;top:-60%;width:160%;height:200%;pointer-events:none;z-index:0;background:linear-gradient(120deg,#ffffff21,#4b299621 40%,#22c55e1a,#ffffff2e);filter:blur(14px);opacity:.7;animation:contactsGlareMove 7s linear infinite alternate}@keyframes contactsGlareMove{0%{transform:rotate(-10deg) translate(0)}to{transform:rotate(10deg) translate(22%)}}.footer{background:#fff;color:#23272f;position:relative;overflow:hidden}.footer-glare{display:none}.site-header{width:100%;background:#fff;box-shadow:0 2px 16px #3c50b412;position:fixed;top:0;left:0;z-index:1000}.header-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:64px}.header-logo span{font-family:inherit;font-weight:700;font-size:1.25rem;color:#23272f}.header-nav{display:flex;align-items:center;gap:8px}.header-btn{background:none;border:none;color:#23272f;font-size:1.05rem;font-weight:600;padding:8px 16px;border-radius:8px;cursor:pointer;text-decoration:none;transition:background .18s,color .18s}.header-btn:hover{background:#f3f6fd;color:#4b2996}.header-btn-accent{background:linear-gradient(90deg,#22c55e,#4b2996);color:#fff;font-weight:700;padding:8px 22px;border-radius:8px;text-decoration:none;margin-left:18px;box-shadow:0 2px 8px #3c50b41a;transition:background .18s,color .18s,box-shadow .18s}.header-btn-accent:hover{background:linear-gradient(90deg,#4b2996,#22c55e);color:#fff;box-shadow:0 4px 16px #3c50b421}.header-btn-portfolio{color:#3b82f6;font-weight:700;text-decoration:underline transparent;transition:text-decoration .18s,color .18s}.header-btn-portfolio:hover{color:#6366f1;text-decoration:underline #6366f1 2px}.burger-btn{display:none;background:none;border:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;cursor:pointer;padding:0;margin-left:18px;z-index:102}.burger-line{width:28px;height:4px;background:#4b2996;border-radius:2px;margin:4px 0;transition:all .28s cubic-bezier(.4,0,.2,1);display:block}.burger-btn .burger-line.open:nth-child(1){transform:translateY(8px) rotate(45deg)}.burger-btn .burger-line.open:nth-child(2){opacity:0}.burger-btn .burger-line.open:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.burger-menu{position:absolute;top:64px;right:18px;background:#fff;border-radius:14px;box-shadow:0 8px 32px #3c50b421;padding:18px 24px 12px;z-index:101;min-width:180px;display:flex;flex-direction:column;align-items:flex-end;animation:burgerMenuIn .22s cubic-bezier(.4,0,.2,1)}@keyframes burgerMenuIn{0%{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:none}}@media (max-width: 900px){.header-inner{padding:0 8px;height:64px}.header-logo span{font-size:1.05rem}.header-btn,.header-btn-accent{font-size:.98rem;padding:7px 10px}.header-nav{display:none}.burger-btn{display:flex}.burger-menu{top:64px;right:8px}}.about{background:#fff;border-radius:18px;box-shadow:0 4px 24px #4b299612;margin:24px auto;max-width:820px;padding:36px 24px 28px;text-align:left;position:relative;animation:aboutFadeIn .7s cubic-bezier(.4,0,.2,1)}.about h2{color:#4b2996;font-size:2rem;font-weight:800;margin-bottom:18px;letter-spacing:.5px}.about p{font-size:1.18rem;color:#23272f;line-height:1.6;margin:0}@keyframes aboutFadeIn{0%{opacity:0;transform:translateY(40px) scale(.98)}to{opacity:1;transform:none}}@media (max-width: 900px){.about{padding:28px 10px 22px;margin:24px 0;max-width:98vw;text-align:center}.about h2{font-size:1.25rem}.about p{font-size:1.01rem}}section[id],.about,.services,.portfolio,.reviews,.request-form,.contacts{scroll-margin-top:64px}@media (max-width: 900px){.services{padding:24px 8px}.services-grid{grid-template-columns:1fr;gap:16px;margin-top:18px}.service-card{padding:18px 10px 14px}.service-title{font-size:1.05rem}.service-desc{font-size:.97rem}}.super-banner-btn{background:#f3f6fd;color:#23272f!important;font-size:1.13rem;font-weight:700;padding:14px 36px;border-radius:12px;border:none;box-shadow:none;letter-spacing:.2px;transition:background .18s,color .18s,font-size .16s,box-shadow .16s;outline:none;cursor:pointer;position:relative;z-index:2;opacity:.85}.super-banner-btn:hover,.super-banner-btn:focus{background:#e0e7ef;font-size:1.22rem;box-shadow:0 4px 16px #3c50b41a;color:#23272f!important;text-decoration:none}.portfolio-gallery-row{display:flex;gap:20px;justify-content:center;margin-bottom:24px}@media (max-width: 900px){.portfolio-gallery-row{flex-wrap:wrap;gap:16px}}@media (max-width: 600px){.portfolio-gallery-row{flex-direction:column;gap:14px;align-items:center}}.portfolio-carousel{display:flex;align-items:center;justify-content:center;gap:32px;margin:32px 0 18px}.carousel-arrow{background:#22c55e;color:#fff;border:none!important;border-radius:50%;width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.5;transition:opacity .2s,background .2s,color .2s,transform .13s;box-shadow:none!important;padding:0;outline:none}.carousel-arrow:hover{opacity:1;background:#16a34a;color:#fff;transform:scale(1.08)}.carousel-arrow:focus{outline:none!important;box-shadow:none!important}.carousel-arrow svg{display:block;margin:0 auto;width:24px;height:24px}.carousel-slide{display:flex;flex-direction:column;align-items:center;cursor:pointer;min-width:260px;max-width:340px}.portfolio-carousel-img{width:100%;max-width:340px;height:220px;object-fit:cover;border-radius:16px;box-shadow:0 2px 12px #3c50b41a;margin-bottom:8px}.carousel-dots{display:flex;justify-content:center;gap:10px;margin-bottom:8px}.carousel-dot{width:14px;height:14px;border-radius:50%;background:#d1d5db;display:inline-block;cursor:pointer;transition:background .18s,transform .18s}.carousel-dot.active{background:#6366f1;transform:scale(1.35);box-shadow:0 2px 8px #6366f121}.modern-carousel .carousel-track{display:flex;align-items:center;justify-content:center;gap:0;width:100%;max-width:900px}.modern-carousel .carousel-slide{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .25s;cursor:pointer;-webkit-user-select:none;user-select:none}.modern-carousel .center-slide{z-index:2;transform:scale(1.12);opacity:1;box-shadow:0 4px 24px #3c50b421}.modern-carousel .side-slide{z-index:1;transform:scale(.85);opacity:.55;pointer-events:auto}.modern-carousel .left-slide{margin-right:-48px}.modern-carousel .right-slide{margin-left:-48px}@media (max-width: 900px){.modern-carousel .carousel-track{max-width:98vw}.modern-carousel .left-slide,.modern-carousel .right-slide{margin-left:-18px;margin-right:-18px}}@media (max-width: 600px){.modern-carousel .carousel-track{max-width:100vw}.modern-carousel .side-slide{display:none}.modern-carousel .center-slide{transform:scale(1);margin:0}}.fade-slide{transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .25s,box-shadow .22s;will-change:transform,opacity}.modern-carousel .carousel-slide .portfolio-item-title{background:transparent!important}.modern-carousel .carousel-slide{background:transparent!important;box-shadow:none!important}.header-nav button[aria-label=Калькулятор],.burger-menu button[aria-label=Калькулятор],.modal-content button[style*=absolute][style*="right:16px"]{outline:none!important;box-shadow:none!important;border:none!important}.header-nav button[aria-label=Калькулятор]:focus,.burger-menu button[aria-label=Калькулятор]:focus,.modal-content button[style*=absolute][style*="right:16px"]:focus{outline:none!important;box-shadow:none!important;border:none!important}@media (max-width: 600px){.banner{margin-top:64px!important}}@media (max-width: 600px){.footer p{display:flex;align-items:center;flex-wrap:nowrap;justify-content:flex-start;width:100vw;box-sizing:border-box;gap:8px;padding:0 8px;font-size:clamp(.7rem,3vw,1rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer img{height:22px;width:auto;max-width:12vw;min-width:24px;margin-right:6px;flex-shrink:0}.modal-content button,.modal-content input[type=submit],.modal-content input[type=button]{background:#fff!important;color:#23272f!important;border:1.5px solid #6366f1!important;box-shadow:none!important}.modal-content input[type=checkbox],.modal-content input[type=checkbox]:checked,.modal-content input[type=checkbox]:active,.modal-content input[type=checkbox]:focus{appearance:none!important;-webkit-appearance:none!important;background:#fff!important;background-color:#fff!important;border:1.5px solid #6366f1!important;border-color:#6366f1!important;color:#23272f!important;width:18px;height:18px;border-radius:4px;box-shadow:none!important;filter:none!important;outline:none!important;position:relative;cursor:pointer;vertical-align:middle;flex-shrink:0;margin:0 6px 0 0;z-index:1}.modal-content input[type=checkbox]:before{content:"";display:block;position:absolute;left:0;top:0;width:100%;height:100%;background:#fff!important;border-radius:4px;z-index:1}.modal-content input[type=checkbox]:checked:after{content:"";display:block;position:absolute;left:50%;top:50%;width:6px;height:12px;border:solid #6366f1;border-width:0 2.5px 2.5px 0;transform:translate(-50%,-50%) rotate(45deg);z-index:2}.modal-content input[type=text],.modal-content input[type=number],.modal-content input[type=email],.modal-content input[type=tel],.modal-content select{background:#fff!important;color:#23272f!important;border:1.5px solid #6366f1!important;box-shadow:none!important}input[type=radio],input[type=radio]:checked,input[type=radio]:active,input[type=radio]:focus{appearance:none!important;-webkit-appearance:none!important;background:#fff!important;background-color:#fff!important;border:1.5px solid #6366f1!important;border-color:#6366f1!important;width:18px;height:18px;border-radius:50%;box-shadow:none!important;filter:none!important;outline:none!important;position:relative;cursor:pointer;vertical-align:middle;flex-shrink:0;margin:0 6px 0 0;z-index:1}input[type=radio]:before{content:"";display:block;position:absolute;left:0;top:0;width:100%;height:100%;background:#fff!important;border-radius:50%;z-index:1}input[type=radio]:checked:after{content:"";display:block;position:absolute;left:50%;top:50%;width:8px;height:8px;background:#6366f1;border-radius:50%;transform:translate(-50%,-50%);z-index:2}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
