:root{
--red:#f51e25;--red2:#ff4a50;--ink:#101419;--dark:#171c22;--dark2:#222a32;
--muted:#6b747c;--soft:#f4f4f1;--line:#dfe3e5;--white:#fff;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"DM Sans",Arial,sans-serif}a{text-decoration:none;color:inherit}button{font:inherit}
.container{width:min(1460px,calc(100% - 80px));margin:auto}
.header{height:168px;background:#fff;position:relative;z-index:100;border-bottom:1px solid #eceeef;box-shadow:0 4px 18px rgba(0,0,0,.05)}.top-contact{height:40px;background:#fff}.top-contact-inner{width:min(1480px,calc(100% - 60px));height:40px;margin:auto;display:flex;align-items:center;justify-content:flex-end;gap:28px;border-bottom:1px solid #eceeef}.top-contact a{font-size:13px;color:#171c22;white-space:nowrap}.top-icon{font-size:16px;margin-right:7px;font-weight:800}.header-inner{width:min(1480px,calc(100% - 60px));height:128px;margin:auto;display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:35px}.logo{height:112px;display:flex;align-items:center}.logo img{width:190px;height:108px;object-fit:contain;object-position:left center}.nav{display:flex;align-items:center;justify-content:center;gap:26px;min-width:0}.nav>a,.nav-drop>button{font-size:13px;font-weight:800;text-transform:uppercase;white-space:nowrap;letter-spacing:.6px;border:0;background:none;padding:20px 0;cursor:pointer}.nav>a{position:relative}.nav>a:after{content:"";position:absolute;left:0;bottom:12px;width:0;height:2px;background:var(--red);transition:.25s}.nav>a:hover:after,.nav>a.active:after{width:100%}.nav-drop{position:relative}.nav-drop>button span{font-size:13px;margin-left:4px}.drop-menu{position:absolute;top:56px;left:50%;transform:translateX(-50%) translateY(8px);background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.14);min-width:175px;padding:9px;opacity:0;visibility:hidden;transition:.2s}.nav-drop:hover .drop-menu,.nav-drop:focus-within .drop-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.drop-menu a{display:block;padding:11px 13px;font-size:13px;font-weight:700}.drop-menu a:hover{background:#f4f4f4;color:var(--red)}
.header-actions{display:flex;gap:10px;align-items:center}.call-cta{display:flex;align-items:center;gap:10px;padding:9px 16px 9px 10px;border:1px solid #dfe3e5;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.06)}.phone-orbit{width:48px;height:48px;border-radius:50%;border:2px solid var(--red);display:grid;place-items:center;position:relative;flex:none}.phone-orbit:before,.phone-orbit:after{content:"";position:absolute;border:1px solid rgba(245,30,37,.3);border-radius:50%;inset:-6px;animation:ringPulse 1.7s infinite}.phone-orbit:after{inset:-12px;animation-delay:.55s;opacity:.35}.phone-glyph{font-size:26px;line-height:1;transform:rotate(-22deg)}.call-copy small{display:block;color:#8b949c;font-size:9px;text-transform:uppercase;letter-spacing:1.5px;font-weight:800}.call-copy strong{display:block;font-size:15px;white-space:nowrap}.quote-cta{background:var(--red);color:#fff;display:flex;align-items:center;gap:18px;padding:17px 18px;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.quote-cta b{font-size:20px;font-weight:400}.menu-btn{display:none}
@keyframes ringPulse{0%{transform:scale(.7);opacity:.75}70%,100%{transform:scale(1.28);opacity:0}}
.hero{height:720px;position:relative;overflow:hidden;background:#111}.hero-media,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity .8s}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,15,.86) 0%,rgba(8,12,15,.62) 42%,rgba(8,12,15,.12) 80%),linear-gradient(0deg,rgba(0,0,0,.42),transparent 45%)}.hero-grid-lines{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,transparent calc(50% - 1px),rgba(255,255,255,.07) 50%,transparent calc(50% + 1px));pointer-events:none}.hero-content{position:relative;z-index:2;height:100%;width:min(1360px,calc(100% - 80px));margin:auto;display:flex;flex-direction:column;justify-content:center;color:#fff;padding-top:10px}.hero-kicker{font-size:11px;font-weight:800;letter-spacing:3px;display:flex;gap:13px;align-items:center}.hero-kicker span{width:52px;height:3px;background:var(--red)}.hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(64px,7vw,105px);line-height:.9;letter-spacing:-5px;margin:24px 0 26px;max-width:900px}.hero h1 em{font-style:normal;color:#fff}.hero h1 strong{color:var(--red);font-weight:800}.hero-content p{max-width:590px;font-size:18px;line-height:1.7;color:#e5e8ea;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:25px}.hero-btn{background:var(--red);color:#fff;padding:18px 22px;font-weight:800;display:flex;gap:30px;align-items:center}.hero-btn span{font-size:22px}.hero-phone{font-weight:800;display:flex;gap:10px;align-items:center}.mini-ring{width:40px;height:40px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;font-size:23px;transform:rotate(-20deg)}.hero-phone:hover .mini-ring{animation:shake .55s ease-in-out 2}.hero-side-note{position:absolute;z-index:2;right:6%;top:50%;transform:translateY(-50%);color:#fff;display:flex;gap:16px;align-items:flex-start}.hero-side-note>span{font-size:14px;color:var(--red);font-weight:800}.hero-side-note b,.hero-side-note small{display:block}.hero-side-note b{font-size:11px;letter-spacing:2px}.hero-side-note small{font-size:10px;letter-spacing:1.4px;color:#c8cdd0;margin-top:6px}.hero-bottom{position:absolute;z-index:4;left:0;right:0;bottom:0;height:82px;display:grid;grid-template-columns:150px 1fr 160px;align-items:center;padding:0 40px;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent)}.hero-counter strong{font-size:22px;color:#fff}.hero-counter span{font-size:11px;color:#9da5ab}.hero-progress{height:2px;background:rgba(255,255,255,.28)}.hero-progress span{display:block;width:25%;height:100%;background:var(--red);transition:.4s}.hero-arrows{display:flex;justify-content:flex-end;gap:8px}.hero-arrows button{width:46px;height:46px;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.2);color:#fff;cursor:pointer}.hero-arrows button:hover{background:var(--red);border-color:var(--red)}
@keyframes shake{0%,100%{transform:rotate(-20deg)}25%{transform:rotate(-35deg)}75%{transform:rotate(-7deg)}}
.proof{background:#11161b;color:#fff;display:grid;grid-template-columns:1.2fr repeat(4,1fr);width:100%}.proof-intro,.proof-item{min-height:118px;padding:28px 30px;display:flex;align-items:center}.proof-intro{background:var(--red);flex-direction:column;align-items:flex-start;justify-content:center}.proof-intro span{font-size:9px;letter-spacing:2.5px;font-weight:800}.proof-intro strong{font-size:24px;line-height:1.05;margin-top:8px}.proof-item{gap:18px;border-right:1px solid rgba(255,255,255,.12)}.proof-item>b{font-size:11px;color:var(--red);align-self:flex-start}.proof-item strong,.proof-item span{display:block}.proof-item strong{font-size:15px}.proof-item span{font-size:11px;color:#8d969d;margin-top:7px}
.section{padding:82px 0}.section-kicker{font-size:11px;letter-spacing:2.8px;font-weight:800;color:#4f5961;display:flex;align-items:center;gap:13px}.section-kicker span{display:inline-block;width:50px;height:3px;background:var(--red)}.section-kicker.light{color:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.about-visual{height:610px;position:relative}.about-frame{position:absolute;right:0;top:0;width:84%;height:510px;border:1px solid #cfd4d7}.about-main{position:absolute;left:0;top:48px;width:82%;height:500px;object-fit:cover}.about-inset{position:absolute;right:0;bottom:0;width:42%;height:220px;object-fit:cover;border:12px solid #fff;box-shadow:0 14px 35px rgba(0,0,0,.16)}.about-badge{position:absolute;left:18px;bottom:18px;background:var(--red);color:#fff;width:130px;height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center}.about-badge span{font-size:38px;font-weight:800;line-height:1}.about-badge small{font-size:10px;text-transform:uppercase;letter-spacing:1px;text-align:center;margin-top:6px}.about-stamp{position:absolute;right:15%;top:28px;background:#11161b;color:#fff;padding:13px 15px;font-size:10px;line-height:1.3;letter-spacing:1.7px}.about-stamp b{color:#ff555b}.about-copy h2,.types-head h2,.reviews-head h2,.faq-left h2,.gallery-head h2,.news-head h2,.ready h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(54px,5vw,76px);line-height:.93;letter-spacing:-4px;margin:22px 0 27px}.about-copy h2 em,.types h2 em,.reviews h2 em,.faq h2 em,.gallery h2 em,.news h2 em,.ready h2 em{font-style:normal;color:var(--red)}.about-copy p{color:var(--muted);font-size:17px;line-height:1.8}.about-copy .lead{font-size:21px;line-height:1.5;color:#263039}.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px 25px;margin:32px 0}.about-stats div{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:700}.about-stats strong{color:var(--red);font-size:11px}.text-link{font-weight:800;border-bottom:1px solid #aeb5b9;padding-bottom:10px;display:inline-flex;gap:22px}.text-link span{color:var(--red);font-size:18px}
.types{background:#f3f3f0}.types-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:38px}.types-copy{max-width:420px;color:var(--muted);display:flex;align-items:flex-end;gap:35px}.types-copy p{line-height:1.7;margin:0}.carousel-count{min-width:80px}.carousel-count b{font-size:28px}.carousel-count span{font-size:11px;color:#9aa1a6}.types-stage{display:grid;grid-template-columns:1.65fr .85fr;gap:0;background:#171c22}.types-visual{height:580px;position:relative;overflow:hidden;background:#ddd}.type-panel{position:absolute;inset:0;opacity:0;transform:scale(1.03);transition:opacity .55s,transform .7s}.type-panel.active{opacity:1;transform:scale(1)}.type-panel img{width:100%;height:100%;object-fit:cover}.visual-label{position:absolute;left:28px;bottom:28px;background:#fff;padding:16px 20px;display:flex;gap:15px;align-items:baseline}.visual-label span{font-size:12px;letter-spacing:2px;font-weight:800}.visual-label b{font-size:13px;color:#6f7880}.type-list{display:flex;flex-direction:column}.type-row{flex:1;border:0;border-bottom:1px solid rgba(255,255,255,.12);background:transparent;color:#fff;display:grid;grid-template-columns:40px 1fr 70px 24px;align-items:center;gap:8px;padding:0 28px;text-align:left;cursor:pointer}.type-row>span{font-size:11px;color:#8f989f}.type-row strong{font-size:24px}.type-row small{font-size:10px;color:#8f989f}.type-row>b{font-size:20px;font-weight:400}.type-row.active{background:var(--red)}.type-row.active span,.type-row.active small{color:#fff}
.range{background:#151a20;color:#fff;padding:0}.range-inner{display:grid;grid-template-columns:.65fr 1.35fr;min-height:690px}.range-intro{padding:100px 55px 80px 0}.range-intro h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(58px,5vw,78px);line-height:.9;letter-spacing:-4px;margin:24px 0}.range-intro h2 em{font-style:normal;color:var(--red)}.range-intro>p{color:#a5adb3;line-height:1.7;max-width:390px}.range-tabs{margin-top:45px;border-top:1px solid rgba(255,255,255,.13)}.range-tabs button{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.13);background:none;color:#9099a0;text-align:left;padding:16px 0;font-weight:700;cursor:pointer}.range-tabs button span{display:inline-block;width:42px;color:#7d868d;font-size:11px}.range-tabs button.active{color:#fff;border-left:3px solid var(--red);padding-left:12px}.range-tabs button.active span{color:#fff}.range-product{display:grid;grid-template-columns:1.08fr .92fr;min-height:690px}.range-image{position:relative;overflow:hidden;background:#e9e9e7}.range-image img{width:100%;height:100%;object-fit:cover}.range-dim{position:absolute;top:24px;left:24px;background:#fff;color:#111;padding:11px 14px;font-weight:800;font-size:12px}.range-info{background:#252d35;padding:55px;display:flex;flex-direction:column;justify-content:center}.range-number{font-size:11px;letter-spacing:2px;color:#8d979e}.range-info h3{font-family:Manrope,Arial,sans-serif;font-size:58px;margin:18px 0}.range-info p{font-size:17px;line-height:1.7;color:#ccd1d5}.range-specs{display:grid;grid-template-columns:repeat(3,1fr);margin:28px 0 30px;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.range-specs div{padding:20px 12px;border-right:1px solid rgba(255,255,255,.14)}.range-specs div:last-child{border:0}.range-specs strong,.range-specs span{display:block}.range-specs strong{font-size:22px}.range-specs span{font-size:9px;letter-spacing:1.4px;color:#89939a;margin-top:6px}.range-btn{background:var(--red);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:17px 19px;font-weight:800}.range-btn span{font-size:21px}
.reviews{background:#fff}.reviews-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px}.review-arrows{display:flex;gap:8px}.review-arrows button{width:48px;height:48px;border:1px solid #d8dde0;background:#fff;cursor:pointer}.review-arrows button:hover{background:var(--red);color:#fff;border-color:var(--red)}.review-window{overflow:hidden}.review-track{display:flex;gap:20px;transition:transform .45s}.review-card{min-width:calc((100% - 40px)/3);background:#f5f5f3;padding:38px;min-height:355px;display:flex;flex-direction:column;position:relative}.review-card.featured{background:#171c22;color:#fff}.review-mark{font-size:58px;line-height:.7;color:var(--red)}.review-card p{font-size:16px;line-height:1.75;margin:25px 0 auto}.review-person strong,.review-person span{display:block}.review-person strong{font-size:14px}.review-person span{font-size:11px;color:#899299;margin-top:5px}.review-stars{color:#ff333a;letter-spacing:2px;font-size:13px;margin-top:17px}.review-dots{display:none}
.faq{background:#f6f6f3}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:105px}.faq-left h2{margin-bottom:24px}.faq-left>p{font-size:17px;color:var(--muted);line-height:1.75;max-width:450px}.faq-list details{border-top:1px solid #d9dde0}.faq-list details:last-child{border-bottom:1px solid #d9dde0}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:23px 0;font-size:17px;font-weight:800;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary b{font-size:24px;font-weight:400;color:#929aa1;transition:.2s}.faq-list details[open] summary b{transform:rotate(45deg);color:var(--red)}.faq-list p{margin:0;padding:0 50px 25px 0;color:#68737b;line-height:1.75}
.gallery{background:#fff}.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:34px}.gallery-head>div:last-child{color:#68737b}.gallery-head p{font-size:18px;margin:0 0 14px}.gallery-head span{font-size:11px;text-transform:uppercase;letter-spacing:2px}.gallery-head span b{color:var(--red);font-size:18px}.gallery-mosaic{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-template-rows:250px 250px 235px;gap:12px}.gallery-mosaic figure{position:relative;margin:0;overflow:hidden;background:#ddd}.gallery-mosaic figure img{width:100%;height:100%;object-fit:cover;transition:.6s}.gallery-mosaic figure:hover img{transform:scale(1.05)}.gallery-mosaic .g1{grid-row:span 2}.gallery-mosaic .g4{grid-column:span 2}.gallery-mosaic figcaption{position:absolute;left:15px;right:15px;bottom:15px;background:rgba(10,14,17,.78);color:#fff;padding:11px 13px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px}.gallery-mosaic figcaption b{color:#ff5258}.gallery-more{background:var(--red);color:#fff;padding:27px;display:flex;flex-direction:column;justify-content:space-between}.gallery-more strong{font-family:Manrope,Arial,sans-serif;font-size:30px;line-height:.92;letter-spacing:-1px}.gallery-more em{font-style:normal}.gallery-more a{font-size:12px;font-weight:800;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:8px;width:max-content}
.news{background:#f4f4f1}.news-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:34px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.news-card{background:#fff;padding-bottom:28px}.news-image{height:240px;overflow:hidden}.news-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.news-card:hover .news-image img{transform:scale(1.04)}.news-meta{font-size:9px;letter-spacing:1.8px;font-weight:800;color:#899199;margin:23px 25px 0}.news-card h3{font-size:21px;line-height:1.35;margin:10px 25px 22px}.news-card>a{margin:0 25px;color:var(--red);font-weight:800;font-size:13px}.news-card>a span{font-size:18px;margin-left:8px}
.ready{background:#151a20;color:#fff;position:relative;overflow:hidden;padding:76px 0}.ready-pattern{position:absolute;right:-100px;top:-180px;width:600px;height:600px;border:1px solid rgba(255,255,255,.06);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.02),0 0 0 180px rgba(255,255,255,.02)}.ready-inner{position:relative;display:flex;justify-content:space-between;align-items:center;gap:70px}.ready-copy{max-width:700px}.ready h2{margin-bottom:20px}.ready p{color:#aeb7bd;font-size:17px;line-height:1.7;max-width:620px}.ready-cta{background:var(--red);min-width:365px;display:grid;grid-template-columns:58px 1fr 25px;align-items:center;gap:18px;padding:22px 23px;color:#fff;box-shadow:0 20px 45px rgba(0,0,0,.22)}.cta-icon{width:50px;height:50px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font-size:23px}.ready-cta small,.ready-cta strong{display:block}.ready-cta small{font-size:9px;letter-spacing:2px;opacity:.75}.ready-cta strong{font-size:17px;margin-top:5px}.ready-cta>b{font-size:21px}
.contact{background:#fff;padding:68px 0}.contact-shell{display:grid;grid-template-columns:.7fr 1.3fr;min-height:560px}.contact-copy{background:#f1f1ee;padding:55px}.contact-copy h2{font-family:Manrope,Arial,sans-serif;font-size:55px;line-height:.95;letter-spacing:-3px;margin:22px 0 32px}.contact-details{display:grid;gap:19px}.contact-details small{display:block;font-size:9px;letter-spacing:2px;color:#8a9298;font-weight:800}.contact-details strong{display:block;font-size:15px;margin-top:4px}.contact-call{display:flex;align-items:center;gap:12px;margin-top:28px;font-weight:800}.phone-orbit.dark{border-color:var(--red)}.map{position:relative;min-height:560px}.map iframe{width:100%;height:100%;border:0;filter:grayscale(.9) contrast(1.02)}.map-card{position:absolute;left:25px;bottom:25px;background:#fff;box-shadow:0 15px 35px rgba(0,0,0,.15);padding:18px 20px;min-width:230px}.map-card span,.map-card strong,.map-card small,.map-card a{display:block}.map-card span{font-size:9px;letter-spacing:2px;color:#8b9399}.map-card strong{font-size:15px;margin-top:7px}.map-card small{font-size:12px;color:#6e777e;margin-top:3px}.map-card a{font-size:11px;font-weight:800;color:var(--red);margin-top:13px}
.footer{border-top:1px solid #e0e4e6;background:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr 1fr;gap:60px;padding:62px 0}.footer-brand img{width:205px;height:110px;object-fit:contain;object-position:left center}.footer-brand p,.footer-grid a,.footer-grid>div>p{display:block;color:#68737b;font-size:13px;line-height:1.8;margin:8px 0}.footer-grid h3{font-size:14px;margin:7px 0 18px}.footer-grid a:hover{color:var(--red)}.footer-bottom{background:#252c34;color:#d8dde0}.footer-bottom .container{min-height:55px;display:flex;align-items:center;justify-content:space-between;font-size:11px}
.floating-chat{position:fixed;right:27px;bottom:27px;width:70px;height:70px;background:#fff;border-radius:50%;box-shadow:0 12px 35px rgba(0,0,0,.2);z-index:80;display:grid;place-items:center}.floating-chat span{width:45px;height:38px;border:3px solid #171c21;border-radius:13px;display:grid;place-items:center;letter-spacing:3px}.floating-chat i{position:absolute;right:3px;top:2px;width:13px;height:13px;border-radius:50%;background:#16c85b;border:2px solid #fff}
@media(max-width:1250px){.header-inner{grid-template-columns:180px 1fr auto;gap:18px}.logo img{width:165px}.nav{gap:20px}.nav>a,.nav-drop>button{font-size:12px}.call-cta{padding-right:10px}.quote-cta{padding:15px}.hero h1{font-size:78px}.container{width:min(1200px,calc(100% - 50px))}}
@media(max-width:1050px){.header{height:96px}.header-inner{height:96px;display:flex}.logo{height:90px}.logo img{height:88px;width:155px}.nav{display:none;position:absolute;left:0;right:0;top:96px;background:#fff;box-shadow:0 18px 30px rgba(0,0,0,.1);padding:18px 25px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav>a,.nav-drop>button{padding:13px 0;font-size:14px}.nav>a:after{display:none}.drop-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;padding-left:15px}.nav-drop.open .drop-menu{display:block}.header-actions{margin-left:auto}.menu-btn{display:flex;width:44px;height:44px;border:1px solid #dfe3e5;background:#fff;flex-direction:column;justify-content:center;gap:5px;padding:0 11px;margin-left:8px}.menu-btn i{height:2px;background:#111;width:100%}.hero{height:650px}.hero-content{width:calc(100% - 50px)}.hero-side-note{display:none}.proof{grid-template-columns:repeat(2,1fr)}.proof-intro{min-height:105px}.proof-item{min-height:105px}.about-grid,.faq-grid,.contact-shell{grid-template-columns:1fr;gap:60px}.about-visual{height:550px}.types-stage{grid-template-columns:1fr}.types-visual{height:480px}.type-list{display:grid;grid-template-columns:1fr 1fr}.type-row{min-height:95px}.range-inner{grid-template-columns:1fr}.range-intro{padding:75px 0 40px}.range-product{min-height:550px}.reviews-head{align-items:flex-start}.review-card{min-width:calc((100% - 20px)/2)}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 260px 260px 230px}.gallery-mosaic .g1{grid-row:span 2}.gallery-mosaic .g4{grid-column:span 2}.gallery-more{grid-column:span 2}.news-grid{grid-template-columns:1fr 1fr}.ready-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:span 2}}
@media(max-width:700px){.container{width:calc(100% - 30px)}.header-actions{display:none}.hero{height:680px}.hero-content{width:calc(100% - 30px)}.hero h1{font-size:50px;letter-spacing:-2px}.hero-content p{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.hero-bottom{height:70px;padding:0 15px;grid-template-columns:65px 1fr 95px}.hero-arrows button{width:38px;height:38px}.proof{grid-template-columns:1fr 1fr}.proof-intro{grid-column:span 2}.proof-intro,.proof-item{padding:20px 15px}.section{padding:78px 0}.about-visual{height:410px}.about-frame{height:350px}.about-main{height:330px}.about-inset{height:160px}.about-badge{width:100px;height:100px}.about-badge span{font-size:30px}.about-copy h2,.types-head h2,.reviews-head h2,.faq-left h2,.gallery-head h2,.news-head h2,.ready h2{font-size:45px;letter-spacing:-2.5px}.about-stats{grid-template-columns:1fr}.types-head,.gallery-head,.news-head{display:block}.types-copy{display:block;margin-top:20px}.carousel-count{margin-top:15px}.types-stage{margin-left:-15px;margin-right:-15px}.types-visual{height:330px}.type-list{grid-template-columns:1fr}.type-row{min-height:84px;grid-template-columns:35px 1fr 90px 20px;padding:0 16px}.type-row strong{font-size:19px}.type-row small{font-size:9px}.range-product{grid-template-columns:1fr}.range-image{height:300px}.range-info{padding:30px}.range-info h3{font-size:45px}.range-specs strong{font-size:18px}.review-card{min-width:100%}.review-dots{display:flex;justify-content:center;gap:6px;margin-top:20px}.review-dots button{border:0;width:25px;height:3px;background:#cdd2d6}.review-dots button.active{background:var(--red)}.gallery-mosaic{grid-template-columns:1fr;grid-template-rows:260px 220px 220px 220px 220px 210px}.gallery-mosaic .g1,.gallery-mosaic .g4,.gallery-more{grid-row:auto;grid-column:auto}.news-grid{grid-template-columns:1fr}.ready{padding:75px 0}.ready-cta{min-width:0;width:100%}.contact-shell{display:block}.contact-copy{padding:38px}.contact-copy h2{font-size:45px}.map{height:380px;min-height:0}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-brand{grid-column:auto}.footer-bottom .container{flex-direction:column;justify-content:center;gap:5px;padding:12px 0}.floating-chat{width:60px;height:60px;right:15px;bottom:15px}}

.gallery-more p{font-size:12px;line-height:1.55;max-width:210px;color:rgba(255,255,255,.82);margin:0}.gallery-more>span{font-size:9px;letter-spacing:2px;font-weight:800;opacity:.8}

/* V3 refinements */
.phone-svg{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.phone-orbit.ringing .phone-svg,
.mobile-phone-ring.ringing .phone-svg,
.mini-ring.ringing .phone-svg{animation:phoneRing .95s ease-in-out infinite;transform-origin:50% 50%}
.phone-orbit.ringing:before,.phone-orbit.ringing:after,
.mobile-phone-ring.ringing:before,.mobile-phone-ring.ringing:after{animation:ringPulse .95s infinite}
@keyframes phoneRing{
  0%,100%{transform:rotate(0deg)}
  12%{transform:rotate(-13deg)}
  25%{transform:rotate(13deg)}
  38%{transform:rotate(-10deg)}
  50%{transform:rotate(8deg)}
  62%,100%{transform:rotate(0deg)}
}
.mobile-call{display:none}
.mobile-phone-ring{width:43px;height:43px;border:2px solid var(--red);border-radius:50%;display:grid;place-items:center;position:relative;color:var(--red)}
.mobile-phone-ring:before,.mobile-phone-ring:after{content:"";position:absolute;border:1px solid rgba(245,30,37,.3);border-radius:50%;inset:-5px;animation:ringPulse 1.5s infinite}
.mobile-phone-ring:after{inset:-10px;animation-delay:.5s;opacity:.3}
.hero-side-note{display:none}
.about-stamp{display:none}
.section{padding:82px 0}
.about.section{padding-top:82px;padding-bottom:72px}
.types.section{padding-top:82px;padding-bottom:82px}
.types-head{margin-bottom:38px}
.about-visual{height:560px}
.about-frame{height:470px}
.about-main{height:460px}
.about-copy h2{margin-top:18px;margin-bottom:22px}
.about-copy .lead{margin-bottom:20px}
.about-copy p{margin-top:12px;margin-bottom:12px}
.about-stats{margin:22px 0}
.text-link{margin-top:2px}
.hero-phone .mini-ring{color:#fff}
.mini-ring{display:grid;place-items:center}
@media(max-width:1250px){
  .header-inner{grid-template-columns:170px 1fr auto;gap:15px}
  .logo img{width:160px}
  .nav{gap:16px}
  .nav>a,.nav-drop>button{font-size:11px;letter-spacing:.35px}
  .header-actions{gap:7px}
  .call-cta{padding-right:10px}
}
@media(max-width:1050px){
  .header{height:88px}
  .header-inner{height:88px;display:flex;gap:10px}
  .logo{height:82px}
  .logo img{height:80px;width:145px}
  .header-actions{display:none}
  .mobile-call{display:grid;margin-left:auto}
  .menu-btn{margin-left:3px}
  .nav{top:88px}
  .section{padding:65px 0}
  .about.section{padding-top:65px;padding-bottom:58px}
  .types.section{padding-top:65px;padding-bottom:65px}
}
@media(max-width:700px){
  .header{height:78px}
  .header-inner{height:78px}
  .logo{height:74px}
  .logo img{height:70px;width:132px}
  .mobile-call{margin-left:auto}
  .mobile-phone-ring{width:40px;height:40px}
  .menu-btn{width:42px;height:42px}
  .hero{height:640px}
  .hero-content{justify-content:center;padding-top:0}
  .hero h1{font-size:49px;line-height:.94}
  .hero-content p{margin-bottom:22px}
  .hero-phone{font-size:15px}
  .section{padding:55px 0}
  .about.section{padding-top:55px;padding-bottom:48px}
  .types.section{padding-top:55px;padding-bottom:55px}
  .about-grid{gap:38px}
  .about-visual{height:360px}
  .about-frame{height:315px}
  .about-main{height:295px;top:28px}
  .about-inset{height:140px}
  .about-badge{width:88px;height:88px;left:8px;bottom:10px}
  .about-badge span{font-size:27px}
  .types-head{margin-bottom:28px}
}

/* V4 final polish */
.top-contact{position:relative}
.ready-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.ready-bg img{width:100%;height:100%;object-fit:cover;object-position:center 62%;filter:saturate(.85)}
.ready-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,18,.92) 0%,rgba(10,14,18,.78) 48%,rgba(10,14,18,.55) 100%)}
.ready-pattern{z-index:1}
.ready-inner{z-index:2}
.review-track{will-change:transform}
.review-card{flex:0 0 calc((100% - 40px)/3)}
@media(max-width:1250px){
  .top-contact-inner{gap:16px}
  .top-contact a{font-size:11px}
  .header{height:164px}
  .top-contact,.top-contact-inner{height:38px}
  .header-inner{height:126px}
}
@media(max-width:1050px){
  .header{height:96px}
  .top-contact{display:none}
  .header-inner{height:96px}
  .nav{top:96px}
  .section{padding:62px 0}
  .reviews{padding-top:58px;padding-bottom:58px}
  .ready{padding:62px 0}
  .contact{padding:55px 0}
}
@media(max-width:700px){
  .section{padding:52px 0}
  .about.section{padding-top:52px;padding-bottom:44px}
  .types.section{padding-top:52px;padding-bottom:52px}
  .reviews{padding-top:50px;padding-bottom:50px}
  .faq{padding-top:52px;padding-bottom:52px}
  .gallery{padding-top:52px;padding-bottom:52px}
  .news{padding-top:52px;padding-bottom:52px}
  .ready{padding:55px 0}
  .contact{padding:48px 0}
  .ready-bg:after{background:linear-gradient(90deg,rgba(10,14,18,.93),rgba(10,14,18,.72))}
}



/* V4.3 — robust JS-controlled sticky navigation */
.header.nav-stuck .header-inner.is-sticky{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  max-width:none !important;
  height:128px !important;
  margin:0 !important;
  padding-left:max(30px, calc((100% - 1480px)/2)) !important;
  padding-right:max(30px, calc((100% - 1480px)/2)) !important;
  box-sizing:border-box !important;
  background:#fff !important;
  z-index:99999 !important;
  box-shadow:0 8px 24px rgba(0,0,0,.12) !important;
  border-bottom:1px solid #eceeef !important;
}
.header.nav-stuck .header-inner.is-sticky .drop-menu{z-index:100000}

@media(max-width:1250px){
  .header.nav-stuck .header-inner.is-sticky{
    height:126px !important;
    padding-left:25px !important;
    padding-right:25px !important;
  }
}

@media(max-width:1050px){
  .header.nav-stuck .header-inner.is-sticky{
    height:96px !important;
    padding-left:15px !important;
    padding-right:15px !important;
  }
}

@media(max-width:700px){
  .header.nav-stuck .header-inner.is-sticky{
    height:78px !important;
  }
}

/* WordPress integration */
.nav .menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:26px}.nav .menu>li{position:relative}.nav .menu a{display:block;font-size:13px;font-weight:800;text-transform:uppercase;white-space:nowrap;letter-spacing:.6px;padding:20px 0}.nav .menu>li>a{position:relative}.nav .menu>li>a:after{content:"";position:absolute;left:0;bottom:12px;width:0;height:2px;background:var(--red);transition:.25s}.nav .menu>li>a:hover:after,.nav .menu>li.current-menu-item>a:after,.nav .menu>li.current-menu-ancestor>a:after{width:100%}.nav .sub-menu{position:absolute;top:56px;left:50%;transform:translateX(-50%) translateY(8px);background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.14);min-width:190px;padding:9px;opacity:0;visibility:hidden;transition:.2s;list-style:none;margin:0;z-index:10000}.nav .menu-item-has-children:hover>.sub-menu,.nav .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.nav .sub-menu a{padding:11px 13px;font-size:13px;font-weight:700;text-transform:none;letter-spacing:0}.nav .sub-menu a:hover{background:#f4f4f4;color:var(--red)}.custom-logo-link{display:flex;align-items:center;height:100%}.custom-logo-link img{width:190px;height:108px;object-fit:contain;object-position:left center}.footer-menu,.footer-menu ul{list-style:none;margin:0;padding:0}.footer-menu li{margin:0}.footer-menu a{display:block}.inner-page{padding:100px 0;background:#fff;min-height:55vh}.page-shell{max-width:1100px}.page-header{margin-bottom:40px}.page-header h1,.single-shell h1,.not-found h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(48px,6vw,76px);line-height:.98;letter-spacing:-3px;margin:20px 0}.entry-content{font-size:17px;line-height:1.8;color:#4f5961}.entry-content h2,.entry-content h3{color:#171c22;font-family:Manrope,Arial,sans-serif;line-height:1.15;margin-top:1.5em}.entry-content img{max-width:100%;height:auto}.entry-content a{color:var(--red);font-weight:700}.single-featured{margin:30px 0}.single-featured img{width:100%;height:auto}.pagination{margin-top:40px}.not-found{max-width:700px;padding:40px 0}.not-found p{color:var(--muted);font-size:18px;line-height:1.7;margin-bottom:30px}
@media(max-width:1050px){.nav .menu{flex-direction:column;align-items:stretch;gap:0}.nav .menu a{padding:13px 0;font-size:14px}.nav .menu>li>a:after{display:none}.nav .sub-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 0 15px}.nav .menu-item-has-children:hover>.sub-menu,.nav .menu-item-has-children:focus-within>.sub-menu{display:block}.custom-logo-link img{height:88px;width:155px}.inner-page{padding:70px 0}}
@media(max-width:700px){.inner-page{padding:55px 0}.page-header h1,.single-shell h1,.not-found h1{font-size:46px;letter-spacing:-2px}}

/* WordPress integration */
.nav .menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:26px}.nav .menu>li{position:relative}.nav .menu a{display:block;font-size:13px;font-weight:800;text-transform:uppercase;white-space:nowrap;letter-spacing:.6px;padding:20px 0}.nav .menu>li>a{position:relative}.nav .menu>li>a:after{content:"";position:absolute;left:0;bottom:12px;width:0;height:2px;background:var(--red);transition:.25s}.nav .menu>li>a:hover:after,.nav .menu>li.current-menu-item>a:after,.nav .menu>li.current-menu-ancestor>a:after{width:100%}.nav .sub-menu{position:absolute;top:56px;left:50%;transform:translateX(-50%) translateY(8px);background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.14);min-width:190px;padding:9px;opacity:0;visibility:hidden;transition:.2s;list-style:none;margin:0;z-index:10000}.nav .menu-item-has-children:hover>.sub-menu,.nav .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.nav .sub-menu a{padding:11px 13px;font-size:13px;font-weight:700;text-transform:none;letter-spacing:0}.nav .sub-menu a:hover{background:#f4f4f4;color:var(--red)}.custom-logo-link{display:flex;align-items:center;height:100%}.custom-logo-link img{width:190px;height:108px;object-fit:contain;object-position:left center}.footer-menu,.footer-menu ul{list-style:none;margin:0;padding:0}.footer-menu li{margin:0}.footer-menu a{display:block}.inner-page{padding:100px 0;background:#fff;min-height:55vh}.page-shell{max-width:1100px}.page-header{margin-bottom:40px}.page-header h1,.single-shell h1,.not-found h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(48px,6vw,76px);line-height:.98;letter-spacing:-3px;margin:20px 0}.entry-content{font-size:17px;line-height:1.8;color:#4f5961}.entry-content h2,.entry-content h3{color:#171c22;font-family:Manrope,Arial,sans-serif;line-height:1.15;margin-top:1.5em}.entry-content img{max-width:100%;height:auto}.entry-content a{color:var(--red);font-weight:700}.single-featured{margin:30px 0}.single-featured img{width:100%;height:auto}.pagination{margin-top:40px}.not-found{max-width:700px;padding:40px 0}.not-found p{color:var(--muted);font-size:18px;line-height:1.7;margin-bottom:30px}
@media(max-width:1050px){.nav .menu{flex-direction:column;align-items:stretch;gap:0}.nav .menu a{padding:13px 0;font-size:14px}.nav .menu>li>a:after{display:none}.nav .sub-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 0 15px}.nav .menu-item-has-children:hover>.sub-menu,.nav .menu-item-has-children:focus-within>.sub-menu{display:block}.custom-logo-link img{height:88px;width:155px}.inner-page{padding:70px 0}}
@media(max-width:700px){.inner-page{padding:55px 0}.page-header h1,.single-shell h1,.not-found h1{font-size:46px;letter-spacing:-2px}}


/* V5 mobile WordPress submenu fix */
.nav .menu-item-has-children{position:relative}
.submenu-toggle{display:none}
@media(max-width:1050px){
  .nav .menu>li.menu-item-has-children{display:grid;grid-template-columns:1fr 44px;align-items:center}
  .nav .menu>li.menu-item-has-children>a{grid-column:1;padding-right:10px}
  .nav .submenu-toggle{display:grid;grid-column:2;width:40px;height:40px;border:1px solid #e0e3e5;background:#fff;place-items:center;justify-self:end;cursor:pointer;font-size:22px;line-height:1;color:#171c22}
  .nav .submenu-toggle:hover{border-color:var(--red);color:var(--red)}
  .nav .sub-menu{grid-column:1 / -1;display:none !important;position:static;left:auto;top:auto;width:100%;min-width:0;opacity:1;visibility:visible;transform:none;box-shadow:none;background:#f7f7f6;margin:0;padding:6px 14px 10px}
  .nav .menu-item-has-children.submenu-open>.sub-menu{display:block !important}
  .nav .sub-menu li{display:block}
  .nav .sub-menu a{padding:11px 8px;font-size:14px;text-transform:none;letter-spacing:0}
}
@media(max-width:700px){
  .nav .menu>li.menu-item-has-children{grid-template-columns:1fr 42px}
  .nav .submenu-toggle{width:38px;height:38px}
}


/* =========================================================
   V6 - CLEAN MOBILE MENU ARCHITECTURE
   Final authoritative rules. These override all earlier mobile
   submenu rules and keep the hamburger accessible at all times.
   ========================================================= */
@media (max-width:1050px){
  .header{z-index:100000 !important}
  .header-inner{position:relative !important;z-index:100002 !important}

  /* The menu starts BELOW the header, so it can never cover the hamburger. */
  .nav{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-height:calc(100vh - 88px) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
    background:#fff !important;
    padding:18px 25px 28px !important;
    box-shadow:0 18px 30px rgba(0,0,0,.14) !important;
    z-index:100001 !important;
  }
  .nav.open{display:block !important}

  .nav .menu{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  .nav .menu>li{
    display:block !important;
    width:100% !important;
    position:relative !important;
    margin:0 !important;
    border-bottom:1px solid #eef0f1 !important;
  }
  .nav .menu>li>a{
    display:block !important;
    width:100% !important;
    min-height:58px !important;
    padding:18px 58px 18px 0 !important;
    line-height:22px !important;
  }

  /* Range parent gets a separate button; the Range page link still works. */
  .nav .menu>li.menu-item-has-children{display:block !important}
  .nav .menu>li.menu-item-has-children>a{padding-right:65px !important}
  .nav .submenu-toggle{
    display:flex !important;
    position:absolute !important;
    top:9px !important;
    right:0 !important;
    width:40px !important;
    height:40px !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #dfe3e5 !important;
    background:#fff !important;
    color:#171c22 !important;
    font-size:22px !important;
    line-height:1 !important;
    cursor:pointer !important;
    z-index:2 !important;
  }
  .nav .submenu-toggle:hover{border-color:var(--red) !important;color:var(--red) !important}

  /* Never use desktop hover/focus behaviour on touch devices. */
  .nav .menu-item-has-children:hover>.sub-menu,
  .nav .menu-item-has-children:focus-within>.sub-menu{display:none !important}

  .nav .menu-item-has-children.submenu-open>.sub-menu{
    display:block !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    max-height:none !important;
    overflow:visible !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    box-shadow:none !important;
    list-style:none !important;
    margin:0 0 10px !important;
    padding:0 !important;
    background:#f6f7f7 !important;
  }
  .nav .sub-menu li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    border-bottom:1px solid #e4e7e8 !important;
  }
  .nav .sub-menu li:last-child{border-bottom:0 !important}
  .nav .sub-menu a{
    display:block !important;
    width:100% !important;
    min-height:50px !important;
    padding:15px 18px !important;
    font-size:14px !important;
    font-weight:700 !important;
    letter-spacing:1px !important;
    text-transform:uppercase !important;
    white-space:normal !important;
    line-height:20px !important;
  }

  /* Keep the hamburger above every other mobile header element. */
  .menu-btn{position:relative !important;z-index:100003 !important;flex:none !important}
}

@media (max-width:700px){
  .nav{max-height:calc(100vh - 78px) !important;padding:16px 32px 26px !important}
  .nav .menu>li>a{min-height:58px !important}
}

/* =========================================================
   HOMEPAGE RANGE REFINEMENT - PRICE + VIEW MORE
   Scoped to the homepage range section only.
   ========================================================= */
.cabins-home .range-price{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0 0 30px;
  padding:18px 0 17px;
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.cabins-home .range-price span{
  font-size:9px;
  line-height:1.2;
  letter-spacing:1.8px;
  color:#89939a;
  font-weight:800;
}
.cabins-home .range-price strong{
  font-family:Manrope,Arial,sans-serif;
  font-size:27px;
  line-height:1;
  letter-spacing:-.6px;
  color:#fff;
  white-space:nowrap;
}
.cabins-home .range-btn{
  min-height:68px;
  padding:0 22px 0 24px;
  border:1px solid var(--red);
  border-radius:2px;
  box-shadow:0 14px 30px rgba(0,0,0,.16);
  transition:background .25s ease,box-shadow .25s ease,transform .25s ease;
}
.cabins-home .range-btn strong{
  font-size:15px;
  letter-spacing:.1px;
}
.cabins-home .range-btn span{
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:19px;
  line-height:1;
  transition:transform .25s ease,background .25s ease,color .25s ease;
}
.cabins-home .range-btn:hover{
  background:#fff;
  color:#151a20;
  box-shadow:0 16px 34px rgba(0,0,0,.22);
  transform:translateY(-2px);
}
.cabins-home .range-btn:hover span{
  background:var(--red);
  color:#fff;
  border-color:var(--red);
  transform:translateX(4px);
}
@media(max-width:700px){
  .cabins-home .range-price{margin-bottom:24px;padding:16px 0}
  .cabins-home .range-price strong{font-size:24px}
  .cabins-home .range-btn{min-height:62px}
}






/* =========================================
   CANIBUILD PROPERTY POTENTIAL
   ========================================= */

.canibuild-section {
    background: #fff;
    padding: 45px 0 55px;
    overflow: hidden;
}

.canibuild-section .container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Heading */
.canibuild-heading {
    text-align: left;
    margin-bottom: 28px;
}

.canibuild-heading .section-kicker {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 16px;
}

.canibuild-heading .section-kicker span {
    display: inline-block;
    width: 65px;
    height: 4px;
    background: #f52229;
}

.canibuild-heading h2 {
    margin: 0;
    font-size: 42px;
    line-height: 1.12;
    letter-spacing: -1.2px;
    font-weight: 700;
    color: #101318;
}

.canibuild-heading h2 em {
    color: #f52229;
    font-style: normal;
}

/* CanIBuild widget */
.canibuild-widget {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Third party widget */
#lc-widget {
    width: 100%;
    min-height: 420px;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1050px) {

    .canibuild-section {
        padding: 40px 0 50px;
    }

    .canibuild-heading {
        margin-bottom: 25px;
    }

    .canibuild-heading h2 {
        font-size: 38px;
    }

    #lc-widget {
        min-height: 420px;
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 700px) {

    .canibuild-section {
        padding: 35px 0 45px;
    }

    .canibuild-heading {
        margin-bottom: 22px;
    }

    .canibuild-heading .section-kicker {
        gap: 12px;
        margin-bottom: 12px;
    }

    .canibuild-heading .section-kicker span {
        width: 45px;
        height: 3px;
    }

    .canibuild-heading h2 {
        font-size: 30px;
        line-height: 1.12;
        letter-spacing: -0.5px;
    }

    #lc-widget {
        min-height: 400px;
    }
}









/* =====================================================
   FINAL FIX - REMOVE HUGE SPACE AFTER CANIBUILD
   ===================================================== */

/* The CanIBuild section must only be as tall as its content */
.canibuild-section {
    display: block !important;
    position: relative !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 45px !important;
    padding-bottom: 45px !important;

    overflow: visible !important;
}

/* Container must not create extra height */
.canibuild-section > .container {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

/* Widget wrapper */
.canibuild-widget {
    display: block !important;
    position: relative !important;

    height: 400px !important;
    min-height: 400px !important;
    max-height: 400px !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Actual CanIBuild element */
#lc-widget {
    display: block !important;
    position: relative !important;

    width: 100% !important;
    height: 400px !important;
    min-height: 400px !important;
    max-height: 400px !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* About section immediately after CanIBuild */
.canibuild-section + .about.section {
    position: relative !important;

    margin-top: 0 !important;
    padding-top: 45px !important;
}

/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 700px) {

    .canibuild-section {
        padding-top: 35px !important;
        padding-bottom: 30px !important;
    }

    .canibuild-widget,
    #lc-widget {
        height: 400px !important;
        min-height: 400px !important;
        max-height: 400px !important;
    }

    .canibuild-section + .about.section {
        margin-top: 0 !important;
        padding-top: 40px !important;
    }
}













/* =========================================================
   CANIBUILD POPUP
   ========================================================= */

.canibuild-popup {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 25px;
    background: rgba(0, 0, 0, 0.78);
}

.canibuild-popup.active {
    display: flex;
}

.canibuild-popup-inner {
    position: relative;
    width: 95vw;
    max-width: 1450px;
    height: 90vh;
    max-height: 900px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 20px 80px rgba(0, 0, 0, 0.35);
}

/* Close button */
.canibuild-popup-close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 9999999;

    width: 42px;
    height: 42px;

    border: 0;
    border-radius: 50%;

    background: #f31b14;
    color: #fff;

    font-size: 28px;
    line-height: 42px;
    text-align: center;

    cursor: pointer;
    padding: 0;

    transition: all 0.25s ease;
}

.canibuild-popup-close:hover {
    background: #161e26;
    transform: rotate(90deg);
}

/* Widget container */
.canibuild-popup-widget {
    width: 100%;
    height: 100%;
    overflow: auto;
}

/* CanIBuild */
.canibuild-popup-widget #lc-widget {
    width: 100% !important;
    min-height: 100% !important;
}


/* Prevent background page scrolling */
body.canibuild-popup-open {
    overflow: hidden !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .canibuild-popup {
        padding: 8px;
    }

    .canibuild-popup-inner {
        width: 100%;
        height: 94vh;
        max-height: none;
    }

    .canibuild-popup-close {
        width: 38px;
        height: 38px;
        line-height: 38px;
        top: 8px;
        right: 8px;
        font-size: 24px;
    }

}

.studio-build-btn.canibuild-popup-trigger {
    border: none;
    cursor: pointer;
    font-family: inherit;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}



@media (max-width: 767px) {

    .studio-build-btn.canibuild-popup-trigger {
        cursor: pointer;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }

}

/* =========================================================
   THE QUOTE FORM'S MODEL QUESTION
   The "Request a quote" form (Contact Form 7 id 57) is one form shown on nine pages: Get a quote and
   the eight model pages. These rules sit here, once, so all nine agree.
   ========================================================= */

/* A label that screen readers read out and nobody sees. The model dropdown uses it: like the form's
   other fields, it says what it is inside the box. */
.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Where the form is two columns wide, seven one line fields leave the model dropdown alone on the
   fourth row, with the tall Message box beside it and the Submit button pushed below a hole. So the
   Message box takes two rows and Submit sits under the dropdown. The fifth row is the stretchy one
   (1fr), which keeps Submit tight under the dropdown however tall the Message box is.
   The widths are each page's own: the model pages go to one column at 767px, the Get a quote page
   is two columns from 651px to 1000px. Change them here if they change there. */
@media (min-width:768px){
.studio-form-wrap .wpcf7-form,.essential-form-wrap .wpcf7-form,.lifestyle-form-wrap .wpcf7-form{grid-template-rows:repeat(4,auto) 1fr}
.studio-form-wrap .quote-field:has(textarea),.essential-form-wrap .quote-field:has(textarea),.lifestyle-form-wrap .quote-field:has(textarea){grid-row:span 2}
}
@media (min-width:651px) and (max-width:1000px){
.cabins-quote-form .wpcf7-form{grid-template-rows:repeat(4,auto) 1fr}
.cabins-quote-form .quote-field:has(textarea){grid-row:span 2}
}
