@font-face{font-family:Montserrat;font-style:normal;font-weight:400 900;font-display:swap;src:url(../fonts/montserrat-cyrillic-var.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400 900;font-display:swap;src:url(../fonts/montserrat-latin-var.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--primary:#efd289;--primary-hover:#ffd86b;--accent:#FFCB4A;--dark:#202124;--text:#343434;--secondary:#6D6D6D;--bg:#FAFAFA;--section:#FFFFFF;--border:#ECECEC;--shadow:rgba(0,0,0,.08);--success:#1FB36C;--danger:#E54C4C;--gradient:linear-gradient(135deg,#efd289,#ffd86b);--radius:24px;--card-radius:28px;--transition:300ms ease}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Montserrat,system-ui,sans-serif;color:var(--text);background:var(--bg);font-size:18px;line-height:1.55;overflow-x:hidden}
body:not(.loaded){overflow-x:hidden}
body.splash-disabled .preloader{display:none}
body.loaded .preloader{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s cubic-bezier(.22,1,.36,1),visibility 0s linear .35s}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{color:var(--dark);font-weight:800;letter-spacing:0;margin:0}
h1{font-size:clamp(42px,5vw,64px);line-height:1.08}
h2{font-size:clamp(32px,4vw,46px);line-height:1.12}
h3{font-size:clamp(22px,2.2vw,32px);line-height:1.18}
p{margin:0;color:var(--secondary)}
.page-shell{max-width:1840px;padding-inline:44px}
.section-pad{padding:112px 0 32px}
.soft-section,.timeline-section,.faq-section,.contacts-section,.calculator-section,.about-section{padding:36px 0}
.soft-section .page-shell,.timeline-section .page-shell,.faq-section .page-shell{background:var(--section);border:1px solid var(--border);border-radius:36px;padding-block:48px;box-shadow:0 24px 90px var(--shadow)}
.soft-section .page-shell,.timeline-section .page-shell,.faq-section .page-shell,.calculator-section .page-shell{width:calc(100% - 88px);max-width:1752px}
.preloader{position:fixed;inset:0;background:#fff;z-index:9999;display:grid;place-items:center;overflow:hidden;transition:opacity .35s cubic-bezier(.22,1,.36,1),visibility 0s linear .35s}
.preloader__pattern{position:absolute;inset:-80px;background-color:#fff;opacity:.5;background:radial-gradient(circle,transparent 20%,#fff 20%,#fff 80%,transparent 80%,transparent),radial-gradient(circle,transparent 20%,#fff 20%,#fff 80%,transparent 80%,transparent) 25px 25px,linear-gradient(rgba(32,33,36,.16) 2px,transparent 2px) 0 -1px,linear-gradient(90deg,rgba(32,33,36,.16) 2px,#fff 2px) -1px 0;background-size:50px 50px,50px 50px,25px 25px,25px 25px;animation:splashPattern 2s ease-in-out infinite alternate}
.preloader__pattern:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(239,210,137,.34),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.86))}
.preloader__brand{position:relative;z-index:1;display:grid;justify-items:center;text-align:center;animation:splashLogo 1.2s ease both}
.preloader__logo{width:min(280px,56vw);max-height:160px;object-fit:contain;filter:drop-shadow(0 24px 46px rgba(0,0,0,.12));margin-bottom:18px}
.preloader__brand strong{position:relative;color:var(--dark);font-size:clamp(34px,5vw,58px);line-height:1;font-weight:900;letter-spacing:.08em}
.preloader__brand strong:before{content:"";position:absolute;inset:-18px -26px;z-index:-1;border-radius:999px;background:radial-gradient(circle,rgba(239,210,137,.5),transparent 68%);opacity:0;filter:blur(10px);animation:splashBrandGlow 2s ease both}
.preloader__brand span{margin-top:10px;color:var(--secondary);font-size:clamp(13px,1.5vw,18px);font-weight:800;letter-spacing:.22em}
@keyframes splashPattern{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-24px,-18px,0) scale(1.04)}}
@keyframes splashLogo{0%{opacity:0;transform:translateY(18px) scale(.94)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes splashBrandGlow{0%,38%,100%{opacity:0;transform:scale(.96)}55%,72%{opacity:1;transform:scale(1.04)}}
.site-header{padding:22px 0;transition:var(--transition)}
.site-header.scrolled{padding:10px 0}
.navbar{margin:auto;width:calc(100% - 88px);max-width:1752px;border:1px solid transparent;background:transparent;border-radius:32px;box-shadow:none;transition:var(--transition)}
.site-header.scrolled .navbar{border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.68);backdrop-filter:blur(24px);box-shadow:0 20px 70px rgba(0,0,0,.06)}
.brand{display:inline-flex;flex-direction:column;color:var(--dark);font-size:34px;font-weight:900;letter-spacing:.13em;line-height:.8}
.brand small{font-size:13px;color:var(--secondary);font-weight:800;letter-spacing:.08em;margin-top:3px}
.navbar-nav{gap:24px}
.nav-link{font-size:18px;font-weight:600;color:var(--text);border-radius:999px;padding:10px 14px!important;transition:var(--transition)}
.nav-link:hover,.nav-link.active{background:#fff4cf;color:#a56f00}
.header-actions{align-items:center;gap:18px}
.header-phones{display:flex;flex-direction:column;gap:0;text-align:right}
.phone-link{display:flex;align-items:center;justify-content:flex-end;min-height:44px;padding:4px 12px;margin:-4px -12px;font-weight:800;color:var(--dark);line-height:1.1;text-align:right}
.phone-link span{display:block;font-size:12px;color:var(--secondary);font-weight:500}
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:999px;font-weight:800;font-size:17px;padding:15px 28px;border:0;position:relative;overflow:hidden;transition:var(--transition)}
.btn-primary-custom{background:var(--gradient);color:var(--dark);box-shadow:0 16px 35px rgba(246,195,67,.32)}
.btn-primary-custom:hover{background:linear-gradient(135deg,var(--primary-hover),#FFD86B);transform:translateY(-2px);box-shadow:0 22px 45px rgba(246,195,67,.42)}
.btn-outline-custom{background:rgba(255,255,255,.78);color:var(--dark);border:1px solid var(--border);box-shadow:0 12px 32px rgba(0,0,0,.06)}
.btn-outline-custom:hover{background:#fff;transform:translateY(-2px);border-color:var(--primary)}
.btn-link-custom{color:var(--dark);font-weight:800}
.icon-btn,.menu-toggle{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--border);color:var(--dark);transition:var(--transition)}
.icon-btn:hover,.menu-toggle:hover{background:var(--primary);transform:translateY(-2px)}
.menu-toggle:focus,.menu-toggle:active,.menu-toggle:focus-visible{outline:0;box-shadow:none;background:#fff;border-color:var(--border);transform:none}
.menu-toggle:not(.collapsed){background:#fff;border-color:var(--border);box-shadow:none}
.hero{position:relative;min-height:100vh;overflow:hidden}
.hero .page-shell{position:relative;z-index:1}
.hero-card{position:relative;border-radius:40px;overflow:hidden;background:#fff}
.hero-card:before{content:"";position:absolute;inset:0;background-color:#fff;opacity:.2;background:radial-gradient(circle,transparent 20%,#fff 20%,#fff 80%,transparent 80%,transparent),radial-gradient(circle,transparent 20%,#fff 20%,#fff 80%,transparent 80%,transparent) 25px 25px,linear-gradient(rgba(32,33,36,.16) 2px,transparent 2px) 0 -1px,linear-gradient(90deg,rgba(32,33,36,.16) 2px,#fff 2px) -1px 0;background-size:50px 50px,50px 50px,25px 25px,25px 25px;pointer-events:none}
.hero-card>*{position:relative;z-index:1}
.glass{backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.75);box-shadow:0 30px 110px rgba(0,0,0,.08)}
.hero-card.glass{box-shadow:none}
.min-vh-hero{min-height:calc(100vh - 180px);padding:80px 64px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.8);color:var(--dark);font-size:14px;font-weight:800;padding:10px 16px;border-radius:999px;margin-bottom:24px;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.eyebrow i{color:var(--primary)}
.eyebrow.dark{background:rgba(246,195,67,.16)}
.lead{max-width:600px;margin:24px 0 34px;font-size:20px}
.hero-buttons{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.hero-visual{position:relative;height:100%;min-height:calc(100vh - 340px);border-radius:34px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.12);background:#eee}
.heroVisual,.heroVisual .swiper-wrapper,.heroVisual .swiper-slide{height:100%}
.heroVisual .swiper-slide{position:relative}
.heroVisual{position:absolute;inset:0}
.heroVisual .swiper-slide img{width:100%;height:100%;object-fit:cover}
.heroVisual .swiper-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.42),rgba(255,255,255,.08) 48%,rgba(0,0,0,.04))}
.hero-offer{width:min(270px,64%);background:rgba(255,255,255,.9);backdrop-filter:blur(18px);padding:22px;border-radius:20px;box-shadow:0 22px 58px rgba(0,0,0,.14);position:absolute;left:11%;top:50%;z-index:2;transform:translateY(-50%)}
.hero-offer span,.hero-offer p{font-size:12px;color:var(--secondary)}
.hero-offer__title{font-size:20px;margin:7px 0 14px;color:var(--dark);font-weight:900;line-height:1.18}
.hero-offer strong{display:block;font-size:22px;color:var(--dark)}
.round-plus{position:absolute;right:-20px;bottom:22px;width:54px;height:54px;border-radius:50%;border:0;background:var(--gradient);font-size:20px;box-shadow:0 16px 32px rgba(246,195,67,.34);transition:var(--transition)}
.round-plus:hover{transform:rotate(90deg) scale(1.05)}
.heroMini{position:absolute;right:26px;bottom:24px;z-index:3;width:220px;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);border-radius:18px;padding:12px;box-shadow:0 16px 40px rgba(0,0,0,.1)}
.heroMini .swiper-slide{text-align:center;font-weight:800;color:var(--secondary);border-radius:14px;padding:10px 0;cursor:pointer;transition:var(--transition)}
.heroMini .swiper-slide-thumb-active{background:#fff;color:var(--dark);box-shadow:0 10px 24px rgba(0,0,0,.08);text-decoration:underline;text-decoration-color:var(--primary);text-decoration-thickness:3px;text-underline-offset:8px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}
.muted{color:var(--secondary)}
.feature-card,.product-card,.review-card{height:100%;background:#fff;border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:0 16px 45px rgba(0,0,0,.045);transition:var(--transition)}
.feature-card{padding:34px}
.feature-card i{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#fff6dc;color:var(--primary-hover);font-size:30px;margin-bottom:28px;transition:var(--transition)}
.feature-card__image{width:100%;height:92px;border-radius:18px;object-fit:cover;margin-bottom:24px;box-shadow:0 14px 30px rgba(0,0,0,.1);transition:var(--transition)}
.feature-card__image--ceiling{object-position:center 16%}
.feature-card h3{font-size:22px;margin-bottom:12px}
.feature-card:hover{transform:translateY(-8px);background:#fffdf6;box-shadow:0 24px 70px rgba(0,0,0,.08)}
.feature-card:hover i{transform:scale(1.12) rotate(-6deg)}
.feature-card:hover .feature-card__image{transform:scale(1.04)}
.promo-strip{padding:36px 0}
.discount-card,.contact-card{display:grid;grid-template-columns:1.2fr auto auto;align-items:center;gap:34px;background:radial-gradient(circle at 80% 20%,rgba(246,195,67,.18),transparent 28%),var(--dark);border-radius:36px;padding:44px;color:#fff;box-shadow:0 28px 80px rgba(32,33,36,.22)}
.discount-card h2,.contact-card h2{color:#fff;margin-bottom:12px}
.discount-card p,.contact-card p{color:rgba(255,255,255,.72)}
.countdown{display:flex;gap:12px}
.countdown div{min-width:88px;text-align:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:14px}
.countdown strong{display:block;color:#fff;font-size:34px;line-height:1}
.countdown span{font-size:12px;color:rgba(255,255,255,.7)}
.filter-tabs{display:flex;gap:10px;flex-wrap:wrap}
.filter-tabs button{border:0;border-radius:14px;background:#f5f5f5;color:var(--text);font-weight:800;font-size:14px;padding:12px 20px;transition:var(--transition)}
.filter-tabs button.active,.filter-tabs button:hover{background:var(--gradient);color:var(--dark)}
.catalogSwiper{padding:8px 4px 76px}
.product-card{overflow:hidden;position:relative}
.product-card img{width:100%;height:310px;object-fit:cover;transition:var(--transition)}
.product-card div{padding:24px}
.product-card h3{font-size:22px}
.product-card p{font-size:15px;margin:10px 0 18px}
.product-card strong{display:block;color:var(--dark);margin-bottom:18px}
.product-card button{border:0;background:transparent;font-weight:800;color:var(--dark);padding:0}
.product-card:hover{transform:translateY(-8px)}
.product-card:hover img{transform:scale(1.06)}
.slider-nav{position:absolute;right:0;bottom:8px;display:flex;gap:12px;z-index:3}
.slider-nav button{width:52px;height:52px;border:0;border-radius:50%;background:var(--gradient);box-shadow:0 15px 35px rgba(246,195,67,.28)}
.calculator-section .page-shell{padding:0}
.calc-intro,.calc-panel{height:100%;background:#fff;border:1px solid var(--border);border-radius:32px;padding:42px;box-shadow:0 22px 70px rgba(0,0,0,.07)}
.calc-intro{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;isolation:isolate}
.calc-intro__bg{position:absolute;right:22px;bottom:-32px;color:rgba(246,195,67,.22);font-size:168px;line-height:.8;font-weight:900;letter-spacing:-.08em;z-index:-1;pointer-events:none}
.calc-intro p{margin:20px 0 28px}
.calc-intro p+p{margin-top:-10px}
.calc-panel label{font-weight:800;color:var(--dark)}
.calc-area-row{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:end;margin-bottom:24px}
.calc-area-main{min-width:0}
.calc-area-main>label{display:block;margin-bottom:4px}
.calc-sides{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.noUi-target{height:10px;border:0;background:#f1f1f1;box-shadow:none;margin:20px 0 30px}
.noUi-connect{background:var(--gradient)}
.noUi-handle{width:28px!important;height:28px!important;right:-14px!important;top:-9px!important;border-radius:50%;border:4px solid #fff;background:var(--primary);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.noUi-handle:before,.noUi-handle:after{display:none}
.form-control,.form-select{border-radius:18px;border-color:var(--border);padding:15px 18px;min-height:58px}
.form-select{appearance:none;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,var(--dark) 50%),linear-gradient(135deg,var(--dark) 50%,transparent 50%),linear-gradient(135deg,rgba(246,195,67,.12),rgba(255,255,255,0));background-position:calc(100% - 25px) 50%,calc(100% - 18px) 50%,100% 0;background-size:7px 7px,7px 7px,64px 100%;background-repeat:no-repeat;padding-right:58px;font-weight:700;color:var(--dark);box-shadow:0 12px 30px rgba(0,0,0,.035);transition:var(--transition)}
.form-select:hover{border-color:rgba(239,210,137,.95);box-shadow:0 16px 34px rgba(246,195,67,.12)}
.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(239,210,137,.26),0 16px 34px rgba(246,195,67,.12)}
.form-select option{color:var(--dark);background:#fff;font-weight:700}
.form-select.select-hidden{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.custom-select{position:relative;z-index:4}
.custom-select.open{z-index:20}
.custom-select__button{width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid rgba(0,0,0,.14);border-radius:8px;padding:13px 18px;color:var(--dark);font-weight:600;font-size:20px;text-align:left;box-shadow:0 10px 26px rgba(0,0,0,.04);transition:var(--transition)}
.custom-select__button:after{content:"";width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid var(--dark);transition:var(--transition)}
.custom-select__button:hover{background:#fafafa;border-color:var(--primary)}
.custom-select.open .custom-select__button{background:#fff;border-color:var(--primary);box-shadow:0 0 0 4px rgba(239,210,137,.22)}
.custom-select.open .custom-select__button:after{transform:rotate(180deg)}
.custom-select__menu{position:absolute;left:0;top:calc(100% + 4px);display:none;min-width:100%;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.16);border-radius:8px;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.custom-select.open .custom-select__menu{display:block}
.custom-select__option{width:100%;border:0;background:#fff;color:#2f3338;padding:11px 22px;font-size:20px;line-height:1.15;font-weight:500;text-align:left;white-space:nowrap;transition:120ms ease}
.custom-select__option:hover,.custom-select__option.active{background:#f8f9fa;color:#1f2328}
.calc-options-title{font-size:22px;margin:26px 0 14px}
.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}
.option-grid label{min-height:76px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px 18px;cursor:pointer}
.option-grid input[type="checkbox"]{width:20px;height:20px;flex:0 0 20px;accent-color:var(--primary-hover);cursor:pointer}
.option-grid label span{color:var(--secondary);font-size:14px;font-weight:700}
.option-grid label.is-disabled{background:#f5f5f5;color:#a7a7a7;border-color:#ededed;cursor:not-allowed}
.option-grid label.is-disabled span{color:#b8b8b8}
.option-grid label.is-disabled input{cursor:not-allowed;opacity:.45}
.calc-lamps-option{display:grid!important;grid-template-columns:1fr auto;gap:12px;align-items:center}
.option-grid .calc-lamps-option>span{color:var(--dark);font-size:18px;font-weight:800}
.calc-stepper{display:grid;grid-template-columns:42px 74px 42px;align-items:center;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff}
.calc-stepper button{height:46px;border:0;background:#fff;color:var(--dark);font-size:24px;font-weight:900;transition:var(--transition)}
.calc-stepper button:hover{background:#fff4cf}
.calc-stepper input{height:46px;min-height:46px;border:0;border-inline:1px solid var(--border);border-radius:0;padding:0;text-align:center;font-weight:800;color:var(--dark);appearance:textfield}
.calc-stepper input::-webkit-outer-spin-button,.calc-stepper input::-webkit-inner-spin-button{appearance:none;margin:0}
.calc-total{display:flex;justify-content:space-between;align-items:flex-end;margin:22px 0;font-weight:800}
.calc-total strong{font-size:42px;color:var(--dark)}
.calc-min-price{margin-top:14px;text-align:center;font-size:15px;font-weight:700;color:var(--secondary)}
.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:210px;gap:16px}
.gallery-item{position:relative;overflow:hidden;border-radius:22px;background:#eee;box-shadow:0 18px 45px rgba(0,0,0,.08)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}
.gallery-item:hover img{transform:scale(1.07)}
.gallery-item.tall{grid-row:span 2}
.gallery-item.before-after span,.gallery-item.video i{position:absolute;inset:auto 18px 18px auto;background:rgba(255,255,255,.9);border-radius:999px;padding:12px 18px;font-weight:800}
.gallery-item.video i{inset:50% auto auto 50%;transform:translate(-50%,-50%);font-size:34px;color:var(--primary);padding:18px}
.portfolioSwiper{width:100%;padding-bottom:42px}
.portfolio-video-card{position:relative;overflow:hidden;border-radius:22px;background:#111;box-shadow:0 18px 45px rgba(0,0,0,.08);aspect-ratio:9/16;transition:var(--transition)}
.portfolio-video-card video{display:block;width:100%;height:100%;object-fit:cover;background:#111}
.portfolio-play{position:absolute;left:50%;top:50%;z-index:3;width:76px;height:76px;border:0;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 18px 42px rgba(0,0,0,.24);transform:translate(-50%,-50%);transition:var(--transition)}
.portfolio-play:before{content:"";position:absolute;left:31px;top:24px;border-left:22px solid var(--dark);border-top:14px solid transparent;border-bottom:14px solid transparent}
.portfolio-video-card.is-playing .portfolio-play{opacity:0;pointer-events:none;background:rgba(32,33,36,.72)}
.portfolio-video-card.is-playing .portfolio-play:before,.portfolio-video-card.is-playing .portfolio-play:after{content:"";position:absolute;top:23px;width:8px;height:30px;border:0;background:#fff;border-radius:2px}
.portfolio-video-card.is-playing .portfolio-play:before{left:27px}
.portfolio-video-card.is-playing .portfolio-play:after{left:41px}
.portfolio-video-card:hover .portfolio-play{transform:translate(-50%,-50%) scale(1.06)}
.portfolio-video-card.is-playing:hover .portfolio-play{opacity:.92;pointer-events:auto}
.portfolio-video-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(0,0,0,.12)}
.portfolioSwiper .swiper-pagination{bottom:0}
@keyframes skeleton{to{background-position:-220% 0}}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;position:relative}
.timeline:before{content:"";position:absolute;top:50%;left:3%;right:3%;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:.35}
.timeline article{position:relative;min-height:230px;overflow:hidden;background:linear-gradient(145deg,#fff,#fffdf5);border:1px solid var(--border);border-radius:26px;padding:30px;box-shadow:0 16px 45px rgba(0,0,0,.045);isolation:isolate;transition:var(--transition)}
.timeline article:before{content:"";position:absolute;inset:14px;border-radius:22px;border:1px solid rgba(246,195,67,.2);opacity:0;transition:var(--transition)}
.timeline article:after{content:"";position:absolute;right:-26px;bottom:-34px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(246,195,67,.08),transparent 68%);z-index:-1;transition:var(--transition)}
.timeline span{position:absolute;right:18px;bottom:-36px;color:rgba(246,195,67,.3);font-size:172px;line-height:.8;font-weight:900;letter-spacing:-.08em;z-index:-1;transition:var(--transition)}
.timeline h3{font-size:24px;margin-bottom:12px}
.timeline p{font-size:15px;max-width:210px}
.timeline article:hover{transform:translateY(-10px);box-shadow:0 28px 76px rgba(246,195,67,.1);border-color:rgba(246,195,67,.24)}
.timeline article:hover:before{opacity:1}
.timeline article:hover:after{transform:scale(1.18)}
.timeline article:hover span{color:rgba(246,195,67,.14);animation:timelineNumberHover .9s ease-in-out 1 both;animation-delay:0s}
@keyframes timelineNumberWave{0%,100%{transform:translateY(0)}45%{transform:translateY(-12px)}}
@keyframes timelineNumberHover{0%{transform:translate(0,0) scale(1)}55%{transform:translate(-10px,-22px) scale(1.16)}100%{transform:translate(-10px,-10px) scale(1.16)}}
@media (min-width:1200px){.timeline span{animation:timelineNumberWave 1.25s ease-in-out 1 both;animation-delay:2s}.timeline article:nth-child(2) span{animation-delay:2.18s}.timeline article:nth-child(3) span{animation-delay:2.36s}.timeline article:nth-child(4) span{animation-delay:2.54s}.timeline article:nth-child(5) span{animation-delay:2.72s}}
@media (min-width:1200px){.timeline article:hover span{animation:timelineNumberHover .9s ease-in-out 1 both;animation-delay:0s!important}}
.stats-section{padding:28px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stats-grid div{background:#fff;border:1px solid var(--border);border-radius:28px;padding:34px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.05)}
.stats-grid strong{display:block;font-size:48px;color:var(--dark);line-height:1}
.stats-grid strong:after{content:"+";color:var(--primary)}
.stats-grid div:nth-child(3) strong:after{content:"%"}
.stats-grid div:nth-child(4) strong:after{content:""}
.stats-grid span{color:var(--secondary);font-weight:700}
.reviewsSwiper{padding:32px 4px 62px}
.reviews-head{align-items:center}
.google-rating{margin-top:18px;display:grid;gap:6px}
.google-rating>span{color:var(--secondary);font-size:16px;font-weight:800}
.google-rating strong{color:var(--dark);font-size:22px;line-height:1.2}
.google-rating__stars{--rating-fill:98%;position:relative;width:max-content;color:#e5e5e5;font-size:24px;line-height:1;letter-spacing:3px}
.google-rating__stars:before{content:"★★★★★";position:absolute;left:0;top:0;width:var(--rating-fill);overflow:hidden;color:var(--primary-hover);white-space:nowrap}
.review-card{position:relative;padding:44px 0 0;background:transparent;border:0;box-shadow:none;perspective:700px}
.review-card>img,.review-avatar{position:absolute;left:28px;top:0;z-index:2;width:86px;height:86px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 16px 34px rgba(0,0,0,.12)}
.review-avatar{display:grid;place-items:center;background:var(--gradient);color:var(--dark);font-size:28px;font-weight:900}
.review-card__body{position:relative;min-height:260px;padding:76px 30px 28px;border:1px solid rgba(239,210,137,.34);border-radius:22px;box-shadow:0 10px 26px rgba(0,0,0,.025);overflow:hidden;transition:var(--transition)}
.review-card__body:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 20%,rgba(239,210,137,.2),transparent 28%);pointer-events:none}
.review-card__body p{position:relative;color:var(--text);font-size:17px;font-weight:600;line-height:1.45;margin-bottom:24px}
.review-card h3{position:relative;font-size:24px;margin-bottom:4px}
.review-card span{position:relative;font-size:15px;color:var(--secondary);font-weight:700}
.review-card__body>i{position:absolute;right:24px;bottom:12px;color:rgba(239,210,137,.5);font-size:104px;line-height:1}
.review-card:hover .review-card__body{transform:translateY(-6px);box-shadow:0 16px 36px rgba(0,0,0,.045)}
@keyframes reviewAvatarSpin{0%{transform:rotateY(0)}45%{transform:rotateY(190deg)}100%{transform:rotateY(360deg)}}
.reviews-in-view .review-card>img,.reviews-in-view .review-avatar{animation:reviewAvatarSpin .95s ease-out 1 both}
.reviews-in-view .review-card:nth-child(2)>img,.reviews-in-view .review-card:nth-child(2) .review-avatar{animation-delay:.12s}
.reviews-in-view .review-card:nth-child(3)>img,.reviews-in-view .review-card:nth-child(3) .review-avatar{animation-delay:.24s}
.stars{position:relative;color:var(--primary-hover);letter-spacing:4px;margin:12px 0 0}
.review-more{position:relative;display:inline-flex;margin-top:12px;color:var(--dark);font-weight:800;text-decoration:underline;text-decoration-color:var(--primary);text-underline-offset:5px}
.swiper-pagination-bullet-active{background:var(--primary)}
.modern-accordion .accordion-item{border:1px solid var(--border);border-radius:22px!important;margin-bottom:14px;overflow:hidden;box-shadow:0 14px 35px rgba(0,0,0,.04)}
.modern-accordion .accordion-button{font-weight:800;font-size:20px;padding:24px;border:0;box-shadow:none}
.modern-accordion .accordion-button:not(.collapsed){background:#fff8dd;color:var(--dark)}
.contact-card{grid-template-columns:1fr 1fr auto}
.contact-links{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.contact-links a,.contact-links span{display:flex;align-items:center;gap:10px;color:#fff;background:rgba(255,255,255,.08);border-radius:16px;padding:14px;font-weight:700}
.contact-links i{color:var(--primary)}
.about-card{background:#fff;border:1px solid var(--border);border-radius:36px;padding:48px;box-shadow:0 24px 90px var(--shadow)}
.about-card h2{margin-bottom:22px}
.about-card h3{font-size:24px;margin:24px 0 10px}
.about-text{position:relative;max-height:178px;overflow:hidden;transition:max-height .55s ease}
.about-text:after{content:"";position:absolute;left:0;right:0;bottom:0;height:76px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.82) 34%,#fff 82%);pointer-events:none;transition:var(--transition)}
.about-text.expanded{max-height:2400px}
.about-text.expanded:after{opacity:0}
.about-text p{margin-bottom:14px}
.about-text a{color:#a56f00;font-weight:800;text-decoration:underline;text-decoration-color:var(--primary);text-underline-offset:4px}
.about-google-review{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--primary);border-radius:18px;padding:16px 18px;font-weight:600;background:#fffdf4}
.about-google-review i{color:var(--dark);font-size:24px;line-height:1.25}
.about-google-review a{color:#4285f4;font-weight:800;text-decoration-color:#4285f4}
.about-contact-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0 22px}
.about-contact-links a{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--dark);font-size:16px;font-weight:800;padding:12px 14px;border:1px solid var(--primary);border-radius:999px;white-space:nowrap;transition:var(--transition)}
.about-contact-links a:hover{background:#fff8dd;transform:translateY(-2px)}
.about-contact-links i{color:var(--dark);font-size:20px}
.about-toggle{display:flex;margin:18px auto 0}
.footer{background:var(--dark);color:#fff;border-radius:36px 36px 0 0;margin-top:36px;padding:54px 0 24px}
.footer p,.footer a,.footer-bottom{color:rgba(255,255,255,.62)}
.footer h3{color:#fff;font-size:18px;margin-bottom:18px}
.footer a{display:block;margin-bottom:10px;transition:var(--transition)}
.footer a:hover{color:var(--primary)}
.footer .brand{color:#fff;margin-bottom:22px}
.footer-grid{display:grid;grid-template-columns:1.55fr .75fr 1.2fr;gap:34px;align-items:center}
.footer-brand-block{display:flex!important;align-items:center;justify-content:center;gap:34px;margin:0!important;color:#fff!important}
.footer-brand-block img{width:min(185px,31%);max-height:112px;object-fit:contain;filter:drop-shadow(0 18px 34px rgba(0,0,0,.2));transition:var(--transition)}
.footer-brand-block span{display:grid;gap:10px}
.footer-brand-block strong{color:#fff;font-size:clamp(32px,3.6vw,56px);line-height:1;font-weight:900;letter-spacing:.08em;transition:var(--transition)}
.footer-brand-block small{color:rgba(255,255,255,.62);font-size:clamp(12px,1.18vw,17px);font-weight:800;letter-spacing:.34em;transition:var(--transition)}
.footer-brand-block:hover strong{color:#fff4bd;text-shadow:0 0 28px rgba(239,210,137,.5);transform:translateY(-4px)}
.footer-brand-block:hover small{color:rgba(255,255,255,.9);transform:translateY(-3px)}
.footer-brand-block:hover img{transform:translateY(-4px);filter:drop-shadow(0 0 22px rgba(239,210,137,.45))}
.footer-menu h3{margin-bottom:16px}
.footer-menu a{font-weight:700}
.footer-contacts{display:grid;grid-template-columns:repeat(2,1fr);column-gap:26px;row-gap:8px;align-items:center}
.footer-contacts a{display:flex;align-items:center;gap:10px;margin:0;color:#fff;background:transparent;border:0;border-radius:16px;padding:8px 10px;font-weight:700}
.footer-contacts a:hover{color:var(--primary);transform:translateY(-2px)}
.footer-contacts i{color:var(--primary);font-size:20px}
.socials{display:flex;gap:10px}
.socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08)}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);padding-top:24px;margin-top:38px;font-size:14px}
.to-top{width:54px;height:54px;border-radius:50%;border:0;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);box-shadow:0 12px 34px rgba(0,0,0,.12);display:grid;place-items:center;color:var(--dark);transition:var(--transition)}
.to-top:hover{background:var(--primary);transform:translateX(-4px)}
.to-top{position:fixed;right:20px;bottom:24px;opacity:0;visibility:hidden;z-index:900}
.to-top.show{opacity:1;visibility:visible}
.mobile-bottom-bar{display:none}
.mobile-menu{background:rgba(32,33,36,.96);backdrop-filter:blur(24px);color:#fff;border-radius:26px 0 0 26px}
.mobile-menu .brand{color:#fff}
.mobile-menu{background:radial-gradient(circle at 82% 12%,rgba(239,210,137,.18),transparent 34%),var(--dark);color:#fff}
.mobile-menu .brand{color:#fff}
.mobile-menu .brand small{color:rgba(255,255,255,.62)}
.mobile-menu .offcanvas-body{display:flex;flex-direction:column;gap:8px}
.mobile-menu .offcanvas-body>a{display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.72);font-weight:800;padding:16px;border-radius:16px}
.mobile-menu .offcanvas-body>a:hover{background:rgba(255,255,255,.08);color:var(--primary)}
.mobile-menu__footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;text-align:center}
.mobile-menu__footer .mobile-phone{justify-content:center}
.mobile-menu__footer .btn{margin-inline:auto;width:min(320px,100%)!important}
.mobile-phone{display:flex;gap:12px;color:#fff;font-weight:800;margin-bottom:18px}
.lead-modal,.thanks-modal{border:0;border-radius:32px;padding:14px;box-shadow:0 30px 100px rgba(0,0,0,.2)}
.lead-modal .btn-close{position:absolute;right:20px;top:20px;z-index:2}
.lead-modal h2,.thanks-modal h2{font-size:clamp(30px,4vw,40px);line-height:1.15;margin-bottom:24px}
.lead-modal textarea{height:118px!important}
.product-info-modal .modal-body>p{max-width:none;margin-bottom:14px}
.product-info-modal .modal-body>strong{display:block;color:var(--dark);font-size:22px;margin-bottom:22px}
.product-info-list{max-width:none;margin:4px 0 18px;padding-left:20px;color:var(--secondary)}
.product-info-list li{margin-bottom:10px}
.product-info-list strong{color:var(--dark)}
.product-info-modal .modal-body>p:last-of-type{margin-bottom:30px}
.product-info-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.product-info-gallery>button{border:0;background:transparent;padding:0;text-align:left}
.product-info-gallery figure{margin:0;background:#fff;border:1px solid var(--border);border-radius:20px;overflow:hidden;transition:var(--transition)}
.product-info-gallery figure:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(0,0,0,.1)}
.product-info-gallery img{width:100%;height:220px;object-fit:cover}
.product-info-gallery figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;font-weight:800;color:var(--dark)}
.product-info-gallery figcaption strong{display:inline-flex;align-items:center;justify-content:center;background:var(--gradient);color:var(--dark);border-radius:999px;padding:7px 12px;font-size:13px;white-space:nowrap;box-shadow:0 10px 22px rgba(246,195,67,.22)}
.product-info-action{display:flex;align-items:center;justify-content:center;gap:34px;margin-top:26px;transform:translateX(-22px)}
.product-info-action p{display:flex;align-items:flex-start;gap:10px;margin:0;color:var(--secondary);font-size:16px;font-weight:700;line-height:1.45;text-align:left}
.product-info-action i{color:var(--primary-hover);font-size:22px;margin-top:1px}
.product-info-action strong{color:var(--dark)}
.review-rating-modal h2{margin-bottom:24px}
.review-stars{display:flex;justify-content:center;gap:10px;padding:8px 0 10px}
.review-stars button{width:58px;height:58px;border:0;border-radius:50%;display:grid;place-items:center;background:#f6f6f6;color:#d5d5d5;font-size:34px;transition:220ms ease}
.review-stars button.is-active{color:var(--primary-hover);background:#fff8dd;transform:translateY(-3px)}
.review-stars button.is-burst{animation:starBurst .42s ease}
@keyframes starBurst{0%{transform:scale(1)}45%{transform:scale(1.28);box-shadow:0 0 0 12px rgba(255,216,107,.2)}100%{transform:scale(1);box-shadow:none}}
.discount-modal{max-width:760px;width:min(760px,calc(100vw - 32px));background:radial-gradient(circle at 82% 16%,rgba(239,210,137,.18),transparent 30%),var(--dark);color:#fff}
.discount-modal .modal-body{padding-bottom:42px}
.discount-modal .btn-close{filter:invert(1);opacity:.72}
.discount-modal h2{color:#fff;margin-bottom:22px;text-align:center}
.discount-modal__text{color:rgba(255,255,255,.78);font-size:20px;font-weight:800;margin:22px 0 26px;text-align:center}
.discount-modal__links{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 22px}
.discount-modal__links a{display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;font-size:20px;font-weight:800;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:16px;white-space:nowrap;transition:var(--transition)}
.discount-modal__links a:hover{border-color:rgba(239,210,137,.5);background:rgba(255,255,255,.12);color:#fff;transform:translateY(-2px)}
.discount-modal__links i{color:var(--primary-hover);font-size:24px}
.lead-form{display:grid;gap:14px}
.thanks-modal p{margin-bottom:24px}
.thanks-modal i{font-size:66px;color:var(--success)}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);animation:ripple .6s linear;pointer-events:none}
@keyframes ripple{to{transform:scale(4);opacity:0}}
@media (max-width:1199px){.page-shell{padding-inline:24px}.navbar{width:calc(100% - 24px)}.min-vh-hero{padding:60px 34px}.hero-visual{min-height:520px}.discount-card,.contact-card{grid-template-columns:1fr}.timeline{grid-template-columns:1fr}.timeline:before{top:0;bottom:0;left:61px;right:auto;border-top:0;border-left:2px dashed #eee}.stats-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr;align-items:start}.footer-brand-block{justify-content:center}}
@media (max-width:767px){body{font-size:16px;padding-bottom:78px}.page-shell{padding-inline:16px}.section-pad{padding-top:92px}.soft-section .page-shell,.timeline-section .page-shell,.faq-section .page-shell,.calculator-section .page-shell,.about-section .page-shell{border-radius:28px;padding:28px 16px}.about-card{padding:28px 18px;border-radius:28px}.navbar{border-radius:24px}.hero{min-height:auto}.hero-card{border-radius:30px}.min-vh-hero{min-height:auto;padding:42px 18px}.hero-visual{min-height:360px}.lead{font-size:16px}.hero-buttons .btn{width:100%;justify-content:center}.hero-offer,.heroMini{display:none}.section-head{align-items:flex-start;flex-direction:column}.reviews-head .google-review-link{display:none}.discount-card{padding:26px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.countdown div{min-width:0;padding:12px 6px}.countdown strong{font-size:26px}.filter-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.filter-tabs button{white-space:nowrap}.product-card img{height:220px}.option-grid,.contact-links{grid-template-columns:1fr}.calc-panel,.calc-intro{padding:24px}.calc-total strong{font-size:34px}.gallery-grid{grid-auto-rows:160px;gap:10px}.gallery-item.tall{grid-row:span 1}.stats-grid{grid-template-columns:1fr}.footer-grid,.footer-contacts{grid-template-columns:1fr}.footer-brand-block{flex-direction:column;gap:18px;text-align:center}.footer-brand-block img{width:min(150px,54vw)}.footer-menu{text-align:center}.footer-bottom{display:grid;gap:12px}.to-top{bottom:92px}.mobile-bottom-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:950;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:rgba(255,255,255,.84);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8);box-shadow:0 18px 44px rgba(0,0,0,.16);border-radius:22px;padding:8px}.mobile-bottom-bar a,.mobile-bottom-bar button{border:0;background:transparent;display:grid;place-items:center;gap:3px;font-size:12px;font-weight:800;color:var(--dark);min-height:54px;border-radius:16px}.mobile-bottom-bar i{font-size:22px;color:var(--primary-hover)}.mobile-bottom-bar button{background:var(--gradient)}}
@media (max-width:390px){.countdown strong{font-size:22px}.btn{font-size:15px;padding:14px 20px}.gallery-grid{grid-template-columns:1fr}}
@media (max-width:1199px){.soft-section .page-shell,.timeline-section .page-shell,.faq-section .page-shell,.calculator-section .page-shell{width:calc(100% - 48px)}}
@media (max-width:767px){.soft-section .page-shell,.timeline-section .page-shell,.faq-section .page-shell,.calculator-section .page-shell{width:calc(100% - 32px)}}
@media (max-width:767px){.calculator-section .page-shell{padding:0}}
@media (max-width:1199px){.calc-area-row{grid-template-columns:1fr}.calc-sides{max-width:420px}}
@media (max-width:767px){.calc-sides,.option-grid{grid-template-columns:1fr}.calc-sides{max-width:none}}
@media (max-width:767px){.discount-modal__links{grid-template-columns:1fr}.discount-modal__links a{font-size:18px}.discount-modal{width:min(760px,calc(100vw - 24px))}}
@media (max-width:767px){.product-info-gallery{grid-template-columns:1fr}.product-info-gallery img{height:190px}}
@media (max-width:767px){.product-info-action{flex-direction:column;gap:14px;transform:none}.product-info-action p{text-align:center}}
@media (max-width:1199px){.about-contact-links{grid-template-columns:repeat(3,1fr)}}
@media (max-width:767px){.about-contact-links{grid-template-columns:1fr}.about-contact-links a{font-size:18px}}
@media (max-width:1199px){.timeline:before{display:none}.timeline article{min-height:190px}.timeline span{font-size:130px}}
@media (max-width:767px){.timeline article{min-height:170px;padding:26px}.timeline span{font-size:112px;right:14px;bottom:-28px}}

@media (max-width:767px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{padding-bottom:0}
  .preloader{width:100vw;max-width:100vw;place-items:center}
  .preloader__pattern{inset:0;animation:splashPatternMobile 2s ease-in-out infinite alternate}
  .preloader__brand{width:100%;max-width:100vw;padding-inline:22px}
  .preloader__logo{width:min(220px,58vw);max-height:140px;margin-bottom:14px}
  .preloader__brand strong{font-size:clamp(30px,10vw,42px);letter-spacing:.06em}
  .preloader__brand strong:before{inset:-14px -18px}
  .preloader__brand span{font-size:clamp(11px,3vw,14px);letter-spacing:.14em}
  .site-header{left:0;right:0;padding:10px 0}
  .site-header.scrolled{padding:8px 0}
  .navbar{width:calc(100% - 24px);max-width:none;margin:0 auto;overflow:hidden}
  .navbar .page-shell{width:100%;max-width:100%;padding-inline:12px}
  .navbar-brand.brand{font-size:24px;letter-spacing:.1em;line-height:.85;max-width:calc(100vw - 110px);min-width:0;overflow:hidden;flex-shrink:1}
  .navbar-brand.brand small{font-size:10px;letter-spacing:.06em;margin-top:4px;white-space:nowrap}
  .menu-toggle{width:48px;height:48px;min-width:48px;flex:0 0 48px}
  .hero .page-shell{width:100%;max-width:100%;padding-inline:12px;overflow:hidden}
  .hero-card{max-width:100%}
  .hero-card:before{background-position:center}
  .min-vh-hero{padding:42px 18px}
  .hero h1{font-size:clamp(36px,11vw,46px);overflow-wrap:anywhere}
  .hero-buttons{max-width:100%}
  .btn{margin-left:auto;margin-right:auto}
  .hero-buttons,.section-head,.calc-intro,.discount-card,.contact-card{align-items:center;text-align:center}
  .discount-card .btn,.calc-intro .btn,.contact-card .btn,.about-toggle,.google-review-link{align-self:center}
  .mobile-menu .offcanvas-header{align-items:center}
  .mobile-menu{border-radius:0}
  .mobile-menu .offcanvas-header{position:relative;justify-content:center;padding-top:26px}
  .mobile-menu .offcanvas-header .brand{margin:0;text-align:center;align-items:center}
  .mobile-menu .offcanvas-header .btn-close{position:absolute;left:16px;top:16px}
  .mobile-menu .offcanvas-body{align-items:center;text-align:center;gap:2px}
  .mobile-menu .offcanvas-body>a{justify-content:center;width:min(100%,360px);font-size:22px;padding:11px 16px}
  .mobile-menu .offcanvas-body>a i{display:none}
  .google-rating{justify-items:center;text-align:center}
  .google-rating__stars{margin-inline:auto}
  .review-card__body>i{right:20px;bottom:14px;font-size:118px}
  .mobile-bottom-bar{display:none}
  .filter-tabs{position:relative;display:flex;width:100%;gap:10px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:0 34px 8px 0;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent)}
  .filter-tabs::-webkit-scrollbar{display:none}
  .filter-tabs button{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}
  .filter-tabs:after{content:"";position:sticky;right:0;align-self:stretch;min-width:42px;margin-left:-42px;pointer-events:none;background:linear-gradient(90deg,rgba(250,250,250,0),var(--bg) 70%)}
  .calc-lamps-option{display:grid;grid-template-columns:1fr;justify-items:center;gap:12px;text-align:center}
  .calc-stepper{width:min(100%,180px);grid-template-columns:46px minmax(58px,1fr) 46px}
  .contact-card>.btn{display:none}
}

@keyframes splashPatternMobile{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(-10px,-8px,0) scale(1.02)}
}

/* Lightweight local replacements for Bootstrap, Swiper and Icons. */
.container-fluid{width:100%;margin-inline:auto}
.row{display:flex;flex-wrap:wrap;margin-inline:calc(var(--gutter-x,1.5rem)/-2);row-gap:var(--gutter-y,0)}
.row>*{width:100%;max-width:100%;padding-inline:calc(var(--gutter-x,1.5rem)/2)}
.g-3{--gutter-x:1rem;--gutter-y:1rem}.g-4{--gutter-x:1.5rem;--gutter-y:1.5rem}
.align-items-center{align-items:center}.align-items-stretch{align-items:stretch}.justify-content-center{justify-content:center}
.text-center{text-align:center}.mt-4{margin-top:1.5rem}.w-100{width:100%}.d-none{display:none!important}
.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}
.navbar{display:flex;align-items:center}
.navbar>.container-fluid{display:flex;align-items:center;justify-content:space-between;gap:18px}
.navbar-brand{margin-right:1rem}.navbar-collapse{display:none}.navbar-nav{display:flex;align-items:center;list-style:none;margin:0;padding:0}
.nav-item{display:block}.navbar-toggler{display:inline-grid}
.form-label{display:block;margin-bottom:.5rem}
.form-control,.form-select{display:block;width:100%;font:inherit}
.modal{position:fixed;inset:0;z-index:1060;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.56);overflow:auto}
.modal.show{display:flex}
.modal-dialog{position:relative;width:min(100%,560px);margin:auto}
.modal-xl{width:min(100%,1420px)}
.modal-content{position:relative;width:100%;background:#fff}
.modal-content.discount-modal{background:radial-gradient(circle at 82% 16%,rgba(239,210,137,.18),transparent 30%),var(--dark);color:#fff}
.modal-content.discount-modal h2{color:#fff}
.modal-content.discount-modal .discount-modal__text{color:rgba(255,255,255,.78)}
.modal-body{padding:28px}
.btn-close{width:42px;height:42px;border:0;background:transparent;color:transparent;cursor:pointer}
.btn-close:before,.btn-close:after{content:"";position:absolute;left:11px;top:20px;width:22px;height:2px;background:#777;border-radius:2px}
.btn-close:before{transform:rotate(45deg)}.btn-close:after{transform:rotate(-45deg)}
body.modal-open{overflow:hidden}
.offcanvas{position:fixed;inset:0;z-index:1050;width:100vw;max-width:none;opacity:0;transform:translateY(16px) scale(.98);visibility:hidden;transition:opacity .34s ease,transform .34s ease,visibility .34s ease}
.offcanvas.show{opacity:1;transform:translateY(0) scale(1);visibility:visible}
.offcanvas-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px max(22px,6vw)}
.offcanvas-body{padding:0 max(22px,6vw) 32px}
.accordion-collapse{display:none}.accordion-collapse.show{display:block}
.accordion-body{padding:0 24px 24px}
.accordion-button{width:100%;text-align:left;background:#fff;color:var(--dark);cursor:pointer}
.accordion-button:after{content:"+";float:right;font-size:26px;line-height:1}
.accordion-button:not(.collapsed):after{content:"-"}
.bi{display:inline-flex;align-items:center;justify-content:center;font-style:normal;line-height:1}
.bi-list:before{content:"☰"}.bi-arrow-right:before{content:"→"}.bi-arrow-left:before{content:"←"}.bi-arrow-up:before{content:"↑"}
.bi-play:before{content:"▷"}.bi-plus-lg:before{content:"+"}.bi-box-arrow-up-right:before{content:"↗"}.bi-star:before,.bi-star-fill:before{content:"★"}
.bi-telephone:before{content:"☎"}.bi-whatsapp:before{content:"◌"}.bi-telegram:before{content:"✦"}.bi-chat-heart:before{content:"◉"}.bi-instagram:before{content:"▢"}
.bi-house:before{content:"⌂"}.bi-gem:before{content:"◇"}.bi-grid:before,.bi-images:before{content:"▦"}.bi-calculator:before{content:"▤"}.bi-pin-map:before{content:"⌖"}
.bi-quote:before{content:"“"}.bi-info-circle:before,.bi-exclamation-circle:before{content:"i"}.bi-check2-circle:before{content:"✓"}
.contact-links i,.about-contact-links i,.footer-contacts i,.discount-modal__links i{width:24px;height:24px;flex:0 0 24px;background:currentColor;color:inherit;font-size:0;line-height:0}
.contact-links i:before,.about-contact-links i:before,.footer-contacts i:before,.discount-modal__links i:before{content:""}
.contact-links .bi-telephone,.about-contact-links .bi-telephone,.footer-contacts .bi-telephone,.discount-modal__links .bi-telephone{-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.15 6.59 6.59l2.2-2.2c.31-.31.76-.41 1.17-.27 1.29.43 2.68.66 4.09.66.73 0 1.33.59 1.33 1.33v3.45c0 .73-.59 1.33-1.33 1.33C10.36 21.68 2.32 13.64 2.32 3.33 2.32 2.59 2.91 2 3.65 2H7.1c.73 0 1.33.59 1.33 1.33 0 1.41.23 2.8.66 4.09.13.41.04.86-.27 1.17l-2.2 2.2Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.15 6.59 6.59l2.2-2.2c.31-.31.76-.41 1.17-.27 1.29.43 2.68.66 4.09.66.73 0 1.33.59 1.33 1.33v3.45c0 .73-.59 1.33-1.33 1.33C10.36 21.68 2.32 13.64 2.32 3.33 2.32 2.59 2.91 2 3.65 2H7.1c.73 0 1.33.59 1.33 1.33 0 1.41.23 2.8.66 4.09.13.41.04.86-.27 1.17l-2.2 2.2Z'/%3E%3C/svg%3E") center/contain no-repeat}
.contact-links .bi-telegram,.about-contact-links .bi-telegram,.footer-contacts .bi-telegram,.discount-modal__links .bi-telegram{-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.93 4.3 18.7 19.52c-.24 1.08-.88 1.35-1.78.84l-4.92-3.63-2.37 2.28c-.26.26-.48.48-.99.48l.35-5.01 9.13-8.25c.4-.35-.09-.55-.62-.2L6.22 13.13 1.36 11.6c-1.06-.33-1.08-1.06.22-1.57L20.57 2.7c.88-.33 1.65.2 1.36 1.6Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.93 4.3 18.7 19.52c-.24 1.08-.88 1.35-1.78.84l-4.92-3.63-2.37 2.28c-.26.26-.48.48-.99.48l.35-5.01 9.13-8.25c.4-.35-.09-.55-.62-.2L6.22 13.13 1.36 11.6c-1.06-.33-1.08-1.06.22-1.57L20.57 2.7c.88-.33 1.65.2 1.36 1.6Z'/%3E%3C/svg%3E") center/contain no-repeat}
.contact-links .bi-whatsapp,.about-contact-links .bi-whatsapp,.footer-contacts .bi-whatsapp,.discount-modal__links .bi-whatsapp{-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.04 2a9.84 9.84 0 0 0-8.43 14.92L2.3 22l5.2-1.36A9.86 9.86 0 1 0 12.04 2Zm0 1.85a8 8 0 1 1-4.07 14.9l-.29-.17-3.08.8.82-3-.19-.31a8 8 0 0 1 6.81-12.22Zm-3.4 4.23c-.18-.4-.38-.41-.55-.42h-.47c-.16 0-.42.06-.64.3-.22.25-.84.82-.84 2 0 1.17.86 2.31.98 2.47.12.16 1.66 2.66 4.1 3.62 2.03.8 2.45.64 2.89.6.44-.04 1.42-.58 1.62-1.14.2-.56.2-1.04.14-1.14-.06-.1-.22-.16-.46-.28-.24-.12-1.42-.7-1.64-.78-.22-.08-.38-.12-.54.12-.16.24-.62.78-.76.94-.14.16-.28.18-.52.06-.24-.12-1.01-.37-1.93-1.19-.71-.64-1.2-1.42-1.34-1.66-.14-.24-.02-.37.1-.49.11-.11.24-.28.36-.42.12-.14.16-.24.24-.4.08-.16.04-.3-.02-.42-.06-.12-.53-1.32-.72-1.78Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.04 2a9.84 9.84 0 0 0-8.43 14.92L2.3 22l5.2-1.36A9.86 9.86 0 1 0 12.04 2Zm0 1.85a8 8 0 1 1-4.07 14.9l-.29-.17-3.08.8.82-3-.19-.31a8 8 0 0 1 6.81-12.22Zm-3.4 4.23c-.18-.4-.38-.41-.55-.42h-.47c-.16 0-.42.06-.64.3-.22.25-.84.82-.84 2 0 1.17.86 2.31.98 2.47.12.16 1.66 2.66 4.1 3.62 2.03.8 2.45.64 2.89.6.44-.04 1.42-.58 1.62-1.14.2-.56.2-1.04.14-1.14-.06-.1-.22-.16-.46-.28-.24-.12-1.42-.7-1.64-.78-.22-.08-.38-.12-.54.12-.16.24-.62.78-.76.94-.14.16-.28.18-.52.06-.24-.12-1.01-.37-1.93-1.19-.71-.64-1.2-1.42-1.34-1.66-.14-.24-.02-.37.1-.49.11-.11.24-.28.36-.42.12-.14.16-.24.24-.4.08-.16.04-.3-.02-.42-.06-.12-.53-1.32-.72-1.78Z'/%3E%3C/svg%3E") center/contain no-repeat}
.contact-links .bi-instagram,.about-contact-links .bi-instagram,.footer-contacts .bi-instagram,.discount-modal__links .bi-instagram{-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.8 2h8.4A5.8 5.8 0 0 1 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8A5.8 5.8 0 0 1 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2Zm0 2A3.8 3.8 0 0 0 4 7.8v8.4A3.8 3.8 0 0 0 7.8 20h8.4a3.8 3.8 0 0 0 3.8-3.8V7.8A3.8 3.8 0 0 0 16.2 4H7.8ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm5.25-2.7a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.8 2h8.4A5.8 5.8 0 0 1 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8A5.8 5.8 0 0 1 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2Zm0 2A3.8 3.8 0 0 0 4 7.8v8.4A3.8 3.8 0 0 0 7.8 20h8.4a3.8 3.8 0 0 0 3.8-3.8V7.8A3.8 3.8 0 0 0 16.2 4H7.8ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm5.25-2.7a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4Z'/%3E%3C/svg%3E") center/contain no-repeat}
.contact-links .bi-chat-heart,.about-contact-links .bi-chat-heart,.footer-contacts .bi-chat-heart,.discount-modal__links .bi-chat-heart{-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3C6.48 3 2 6.86 2 11.62c0 2.56 1.3 4.86 3.36 6.44L4.5 22l4.14-2.1c1.05.22 2.18.34 3.36.34 5.52 0 10-3.86 10-8.62S17.52 3 12 3Zm0 2c4.42 0 8 2.96 8 6.62s-3.58 6.62-8 6.62c-1.15 0-2.24-.2-3.23-.57l-.42-.16-1.23.62.25-1.16-.66-.5C5 15.18 4 13.46 4 11.62 4 7.96 7.58 5 12 5Zm-2.96 3.1c-.25-.02-.52.02-.8.21-.54.37-.86 1.13-.82 1.98.09 1.9 2.1 4.4 4.18 5.18.9.34 1.72.21 2.15-.32.23-.28.42-.63.5-.97.08-.32-.05-.64-.34-.8l-1.25-.72c-.3-.17-.68-.12-.91.13l-.43.45c-.93-.46-1.65-1.17-2.12-2.12l.45-.43c.25-.24.3-.61.13-.91l-.72-1.25c-.15-.26-.42-.41-.72-.43Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3C6.48 3 2 6.86 2 11.62c0 2.56 1.3 4.86 3.36 6.44L4.5 22l4.14-2.1c1.05.22 2.18.34 3.36.34 5.52 0 10-3.86 10-8.62S17.52 3 12 3Zm0 2c4.42 0 8 2.96 8 6.62s-3.58 6.62-8 6.62c-1.15 0-2.24-.2-3.23-.57l-.42-.16-1.23.62.25-1.16-.66-.5C5 15.18 4 13.46 4 11.62 4 7.96 7.58 5 12 5Zm-2.96 3.1c-.25-.02-.52.02-.8.21-.54.37-.86 1.13-.82 1.98.09 1.9 2.1 4.4 4.18 5.18.9.34 1.72.21 2.15-.32.23-.28.42-.63.5-.97.08-.32-.05-.64-.34-.8l-1.25-.72c-.3-.17-.68-.12-.91.13l-.43.45c-.93-.46-1.65-1.17-2.12-2.12l.45-.43c.25-.24.3-.61.13-.91l-.72-1.25c-.15-.26-.42-.41-.72-.43Z'/%3E%3C/svg%3E") center/contain no-repeat}
.heroVisual .swiper-wrapper{position:relative;width:100%;height:100%}
.heroVisual .swiper-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease}
.heroVisual .swiper-slide.is-active{opacity:1;visibility:visible}
.heroMini .swiper-wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.heroMini .swiper-slide-thumb-active{background:#fff;color:var(--dark);box-shadow:0 10px 24px rgba(0,0,0,.08);text-decoration:underline;text-decoration-color:var(--primary);text-decoration-thickness:3px;text-underline-offset:8px}
.catalogSwiper,.portfolioSwiper,.reviewsSwiper{position:relative;overflow:hidden}
.catalogSwiper .swiper-wrapper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.portfolioSwiper .swiper-wrapper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.reviewsSwiper .swiper-wrapper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.swiper-pagination{display:none}
.calc-range{appearance:none;width:100%;height:10px;margin:20px 0 30px;border-radius:999px;background:linear-gradient(90deg,var(--primary) var(--range-progress,13%),#f1f1f1 var(--range-progress,13%));outline:0}
.calc-range::-webkit-slider-thumb{appearance:none;width:28px;height:28px;border-radius:50%;border:4px solid #fff;background:var(--primary);box-shadow:0 8px 20px rgba(0,0,0,.18);cursor:pointer}
.calc-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;border:4px solid #fff;background:var(--primary);box-shadow:0 8px 20px rgba(0,0,0,.18);cursor:pointer}
@media (min-width:768px){.col-md-6{flex:0 0 auto;width:50%}}
@media (min-width:992px){.col-lg-4{flex:0 0 auto;width:33.333333%}.col-lg-5{flex:0 0 auto;width:41.666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.333333%}.col-lg-8{flex:0 0 auto;width:66.666667%}}
@media (min-width:1200px){.col-xl-3{flex:0 0 auto;width:25%}.d-xl-flex{display:flex!important}.navbar-expand-xl .navbar-collapse{display:flex!important}.navbar-expand-xl .navbar-toggler{display:none!important}}
@media (max-width:1199px){.catalogSwiper .swiper-wrapper,.portfolioSwiper .swiper-wrapper,.reviewsSwiper .swiper-wrapper{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.catalogSwiper .swiper-wrapper::-webkit-scrollbar,.portfolioSwiper .swiper-wrapper::-webkit-scrollbar,.reviewsSwiper .swiper-wrapper::-webkit-scrollbar{display:none}.catalogSwiper .swiper-slide,.portfolioSwiper .swiper-slide,.reviewsSwiper .swiper-slide{flex:0 0 min(86vw,420px);scroll-snap-align:start}.reviewsSwiper .swiper-slide{flex-basis:min(86vw,520px)}.slider-nav{display:none}}
@media (max-width:767px){.portfolioSwiper .swiper-slide{flex-basis:calc(100vw - 64px)}}

