@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin.woff2') format('woff2');font-weight:500 800;font-style:normal;font-display:swap}:root{--paper:#FFFFFF;--ivory:#F7F4EC;--ink:#0B2A4A;--ink-deep:#071E36;--body:#3D5269;--line:#E4DFD2;--cta:#2F9E4F;--cta-dark:#22793C;--cta-tint:#E8F4EC;--gold:#C29B40;--shadow-soft:0 10px 30px rgba(11, 42, 74, 0.08);--shadow-card:0 18px 44px rgba(11, 42, 74, 0.13);--radius:18px;--header-h:88px}*{margin:0;padding:0;box-sizing:border-box}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:500;font-size:1.0625rem;line-height:1.65;color:var(--body);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:clip}img{max-width:100%;display:block}a{color:var(--cta-dark)}footer[id],section[id]{scroll-margin-top:calc(var(--header-h) + 10px)}.container{max-width:1240px;margin-inline:auto;padding-inline:24px}h1,h2,h3{color:var(--ink);font-weight:800;letter-spacing:-.02em}h2{font-size:clamp(2rem, 4.2vw, 3.1rem);line-height:1.1}h3{font-size:1.28rem;line-height:1.25}.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--cta-dark);margin-bottom:14px}.lead{font-size:1.16rem;line-height:1.6;color:var(--body);max-width:46rem;margin-top:16px}.section{padding:96px 0}.section-ivory{background:var(--ivory)}.section-head{max-width:760px;margin-bottom:50px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;padding:15px 28px;border-radius:999px;border:2px solid transparent;transition:transform .18s ease,background .18s ease,box-shadow .18s ease;cursor:pointer;white-space:nowrap}.btn-primary{background:var(--cta);color:#fff;box-shadow:0 8px 22px rgba(47,158,79,.32)}.btn-primary:hover{background:var(--cta-dark);transform:translateY(-1px)}.btn-outline-w{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.85);color:#fff}.btn-outline-w:hover{background:rgba(255,255,255,.2);transform:translateY(-1px)}.btn-secondary{background:var(--paper);border-color:var(--ink);color:var(--ink)}.btn-secondary:hover{background:var(--ivory);transform:translateY(-1px)}.btn-white{background:#fff;color:var(--cta-dark)}.btn-white:hover{transform:translateY(-1px)}.btn-outline-navy{background:0 0;border-color:rgba(255,255,255,.7);color:#fff}.btn-sm{padding:11px 22px;font-size:.95rem}.phone-glyph{flex:none}.site-header{position:sticky;top:0;z-index:100;background:var(--paper);transition:box-shadow .2s ease}.site-header.is-scrolled{box-shadow:0 6px 24px rgba(11,42,74,.1)}.header-inner{max-width:1240px;margin-inline:auto;padding-inline:24px;height:var(--header-h);display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;flex:none}.brand img{height:62px;width:auto}.main-nav{display:flex;gap:30px;margin-left:auto}.main-nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.99rem;padding:6px 0;border-bottom:2px solid transparent}.main-nav a:hover{color:var(--cta-dark);border-bottom-color:var(--cta)}.header-actions{display:flex;align-items:center;gap:20px;margin-left:auto}.main-nav+.header-actions{margin-left:0}.header-phone{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:800;text-decoration:none;font-size:1rem}.header-phone:hover{color:var(--cta-dark)}.menu-btn{display:none;flex-direction:column;gap:5px;background:0 0;border:0;padding:10px;cursor:pointer}.menu-btn span{width:24px;height:2.5px;background:var(--ink);border-radius:2px}.mobile-menu{position:fixed;inset:var(--header-h) 0 auto 0;z-index:99;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow-card);padding:22px 24px 28px}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{color:var(--ink);text-decoration:none;font-weight:700;font-size:1.1rem;padding:12px 0;border-bottom:1px solid var(--ivory)}.mobile-menu .btn{width:100%;margin-top:18px}.mobile-menu-note{margin-top:14px;font-size:.9rem;text-align:center}.hero{position:relative;overflow:hidden;background:var(--ink-deep)}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;background:var(--ink-deep)}.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,42,.86) 0,rgba(6,24,42,.66) 40%,rgba(6,24,42,.18) 68%,rgba(6,24,42,0) 84%)}.hero-inner{position:relative;max-width:1240px;margin-inline:auto;padding:118px 24px 108px;min-height:calc(100svh - var(--header-h));display:flex;flex-direction:column;justify-content:center}.hero-copy{max-width:660px}.hero-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9fe8b4;margin-bottom:20px}.hero-eyebrow::before{content:"";width:26px;height:2px;background:var(--cta)}.hero-h1{color:#fff;font-size:clamp(2.7rem, 6.2vw, 4.7rem);line-height:1.05}.hero-sub{color:rgba(255,255,255,.9);font-size:1.19rem;line-height:1.62;margin-top:22px;max-width:35rem;font-weight:500}.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;list-style:none}.hero-chips li{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(6px);color:#fff;font-weight:600;font-size:.92rem;padding:8px 15px;border-radius:999px}.hero-chips .tick{color:#9fe8b4;font-weight:800}.strip{background:var(--ink);color:#fff}.strip-inner{max-width:1240px;margin-inline:auto;padding:16px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;font-weight:600;font-size:.97rem}.strip-inner i{width:5px;height:5px;border-radius:50%;background:var(--cta);flex:none}.strip-inner .strip-fact{color:#bfe9cc}.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.svc-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.svc-card:hover{box-shadow:var(--shadow-card)}.svc-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.svc-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}.svc-body p{font-size:.98rem;line-height:1.55}.svc-price{margin-top:auto;padding-top:6px;color:var(--cta-dark);font-weight:800;font-size:1.02rem}.svc-text{background:var(--cta-tint);border:1px dashed rgba(47,158,79,.45);border-radius:var(--radius);padding:24px 22px;display:flex;flex-direction:column;gap:8px}.svc-text .svc-price{font-size:1.02rem}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;list-style:none;counter-reset:step}.step{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px}.step-num{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--cta-tint);color:var(--cta-dark);font-weight:800;font-size:1.05rem;margin-bottom:16px}.step h3{margin-bottom:8px;font-size:1.15rem}.step p{font-size:.97rem}.rail{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:64px}.rail-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);display:flex;flex-direction:column}.rail-card:hover{box-shadow:var(--shadow-card)}.rail-media{position:relative;display:block;width:100%;padding:0;border:0;cursor:pointer;overflow:hidden;background:var(--ink)}.rail-media img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .35s ease}.rail-media:hover img{transform:scale(1.04)}.rail-card video{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--ink)}.rail-body{padding:18px 20px 20px}.rail-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.rail-meta h3{font-size:1.12rem}.rail-dur{font-weight:800;font-size:.85rem;color:var(--cta-dark);background:var(--cta-tint);padding:3px 10px;border-radius:999px;font-variant-numeric:tabular-nums;flex:none}.rail-body p{font-size:.96rem;margin-top:7px}.play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:var(--cta);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(6,24,42,.4),0 0 0 5px rgba(255,255,255,.25);transition:transform .2s ease,background .2s ease}.rail-media:hover .play-btn{transform:translate(-50%,-50%) scale(1.09);background:var(--cta-dark)}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}.price-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;display:flex;flex-direction:column}.price-card:hover{box-shadow:var(--shadow-card);border-color:rgba(47,158,79,.45)}.price-icon{width:52px;height:52px;border-radius:14px;background:var(--cta-tint);color:var(--cta-dark);display:flex;align-items:center;justify-content:center;margin-bottom:18px}.price-card-featured .price-icon{background:var(--ink);color:#9fe8b4}.price-card-featured{border:2px solid var(--cta);box-shadow:var(--shadow-card)}.badge-popular{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:var(--gold);color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 16px;border-radius:999px;white-space:nowrap;overflow:hidden;box-shadow:0 6px 16px rgba(194,155,64,.45)}@media (prefers-reduced-motion:no-preference){.badge-popular{animation:badgePulse 2.8s ease-in-out infinite}.badge-popular::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-130%);animation:badgeShine 2.8s ease-in-out infinite}@keyframes badgeShine{0%,55%{transform:translateX(-130%)}100%,88%{transform:translateX(130%)}}@keyframes badgePulse{0%,100%{box-shadow:0 6px 16px rgba(194,155,64,.35)}50%{box-shadow:0 6px 24px rgba(194,155,64,.7)}}}.price-tier{font-weight:700;color:var(--body);font-size:.98rem}.price-figure{font-size:2.7rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;margin:8px 0 2px}.price-suffix{font-size:1.05rem;font-weight:700;color:var(--body);letter-spacing:0}.price-scope{font-size:.93rem;margin-bottom:18px}.price-list{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:26px;font-size:.99rem}.price-list li{padding-left:26px;position:relative}.price-list li::before{content:"✓";position:absolute;left:0;color:var(--cta);font-weight:800}.price-card .btn{margin-top:auto}.price-card .btn-secondary:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.addons-line{text-align:center;margin-top:30px;font-size:1.02rem}.addons-line strong{color:var(--ink)}.calc{margin-top:56px;background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-soft);overflow:hidden;display:grid;grid-template-columns:1.25fr 1fr}.calc-controls{padding:36px 38px}.calc-controls h3{font-size:1.5rem}.calc-sub{margin-top:6px;font-size:.99rem}.calc-kicker{display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:var(--cta-dark);background:var(--cta-tint);padding:7px 14px;border-radius:999px;margin-bottom:16px}.calc-group{margin-top:18px;border:1px solid var(--line);background:var(--ivory);border-radius:14px;padding:18px}.calc-group legend,.calc-group>label{font-weight:800;color:var(--ink);font-size:1rem;margin-bottom:12px;display:block}.calc-group legend{padding:2px 10px;background:var(--paper);border:1px solid var(--line);border-radius:999px}.segmented{display:flex;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px;gap:4px}.seg{flex:1;border:0;background:0 0;border-radius:999px;padding:11px 6px;font-family:inherit;font-weight:700;font-size:.94rem;color:var(--body);cursor:pointer}.seg.is-on{background:var(--ink);color:#fff}input[type=range]{width:100%;accent-color:var(--cta);height:28px}.calc-hint{font-size:.9rem;margin-top:4px}.toggle-row{display:flex;align-items:center;gap:11px;padding:11px 14px;margin-bottom:8px;border:1px solid var(--line);border-radius:12px;font-weight:600;color:var(--body);cursor:pointer;font-size:.99rem;background:var(--paper)}.toggle-row:last-child{margin-bottom:0}.toggle-row input{width:19px;height:19px;accent-color:var(--cta);flex:none}.toggle-row span{margin-left:auto;font-weight:800;color:var(--ink)}.calc-total{background:var(--ink);padding:36px 38px;display:flex;flex-direction:column;color:rgba(255,255,255,.85)}.calc-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.calc-cols label{font-weight:800;color:var(--ink);font-size:1rem;display:block;margin-bottom:9px}.calc-select{width:100%;font-family:inherit;font-weight:700;font-size:.99rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 13px;cursor:pointer}.calc-select:focus-visible{outline:2px solid var(--cta);outline-offset:1px}.hc-comm-note{font-size:1rem;line-height:1.6}#hcGrand.is-custom{font-size:2.15rem;letter-spacing:-.01em}#home-calc{padding:56px 0}#home-calc .section-head{margin-bottom:22px}#home-calc .section-head h2{font-size:clamp(1.7rem, 3.1vw, 2.25rem)}#home-calc .section-head .lead{margin-top:10px}.calc-home{margin-top:0}.calc-home .calc-controls{padding:24px 26px}.calc-home .calc-total{padding:24px 26px}.calc-home .calc-kicker{margin-bottom:8px}.calc-home .calc-controls h3{font-size:1.26rem}.calc-home .calc-sub{font-size:.92rem;line-height:1.5}.calc-home .calc-group{margin-top:10px;padding:12px 13px}.calc-home .calc-group legend{margin-bottom:8px}.hc-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.hc-pair .calc-group{margin-top:0}.hc-pair .seg{font-size:.84rem;padding:8px 3px;line-height:1.3}.addon-chips{display:flex;flex-wrap:wrap;gap:7px}.addon-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-weight:600;font-size:.88rem;color:var(--body);cursor:pointer}.addon-chip input{width:16px;height:16px;accent-color:var(--cta);flex:none}.addon-chip span{font-weight:800;color:var(--ink)}.calc-home .calc-lines>div{padding:6px 0}.calc-home .calc-grand{font-size:2.3rem;margin:12px 0 2px}.calc-home .calc-note{margin-bottom:16px}.calc-home .calc-cols label{margin-bottom:6px}.calc-home .calc-select{padding:10px 12px}[data-reveal]{transition:transform .55s cubic-bezier(.22,.61,.21,1) var(--rvd, 0ms),box-shadow .25s ease,border-color .25s ease,background-color .25s ease}html.rv-on [data-reveal].rv-arm:not(.rv-in){transform:translateX(var(--rvx,calc(-1 * min(160px,40%))));will-change:transform}[data-reveal][data-side=right],[data-reveal][data-slide=right]{--rvx:min(160px, 40%)}html{overflow-x:clip}.calc-total-label{font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;color:#9fe8b4}.calc-lines{margin-top:18px}.calc-lines>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.22);font-size:1rem}.calc-lines dt{color:rgba(255,255,255,.72)}.calc-lines dd{font-weight:700;color:#fff;font-variant-numeric:tabular-nums}.calc-grand{font-size:2.9rem;font-weight:800;color:#fff;letter-spacing:-.02em;margin:18px 0 4px;font-variant-numeric:tabular-nums;align-self:flex-start;border-bottom:3px solid var(--cta);padding-bottom:6px}.calc-note{font-size:.94rem;margin-bottom:22px;color:rgba(255,255,255,.75)}.calc-total .btn{margin-top:auto}.ba{margin-top:64px}.ba-frame{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:864/705;max-width:880px;margin-inline:auto;box-shadow:var(--shadow-card);background:var(--ink);touch-action:none;cursor:ew-resize}.ba-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ba-before-wrap{position:absolute;inset:0 auto 0 0;overflow:hidden}.ba-before-wrap img{max-width:none}.ba-handle{position:absolute;top:0;bottom:0;width:3px;background:#fff;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(6,24,42,.25);pointer-events:none}.ba-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--cta);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(6,24,42,.4)}.ba-chip{position:absolute;top:14px;background:rgba(6,24,42,.75);color:#fff;font-size:.8rem;font-weight:700;padding:5px 12px;border-radius:999px;pointer-events:none}.ba-chip-before{left:14px}.ba-chip-after{right:14px}.ba-range{display:block;max-width:880px;margin:16px auto 0}.ba-caption{text-align:center;max-width:620px;margin:14px auto 0;font-size:.95rem}.guarantee{background:var(--ink);color:rgba(255,255,255,.85)}.guarantee h2{color:#fff}.guarantee .eyebrow{color:var(--gold)}.guarantee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.g-item{border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:28px 26px;background:rgba(255,255,255,.04)}.g-item h3{color:#fff;margin-bottom:9px;display:flex;gap:10px;align-items:baseline}.g-item h3 .tick{color:var(--gold);font-weight:800}.g-item p{font-size:.99rem}.guarantee-note{margin-top:30px;font-size:.95rem;color:rgba(255,255,255,.65);max-width:52rem}.area-list{display:flex;flex-wrap:wrap;gap:12px;list-style:none}.area-list li{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:12px 24px;font-weight:700;color:var(--ink);font-size:1.02rem}.area-list li.area-main{background:var(--cta-tint);border-color:rgba(47,158,79,.4)}.area-list li span{font-weight:500;color:var(--body);font-size:.92rem}.faq-wrap{max-width:860px}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-q{width:100%;background:0 0;border:0;cursor:pointer;text-align:left;font-family:inherit;font-weight:700;font-size:1.1rem;color:var(--ink);padding:22px 40px 22px 4px;position:relative}.faq-q::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:700;color:var(--cta)}.faq-item.is-open .faq-q::after{content:"−"}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s ease}.faq-a>p{overflow:hidden;padding:0 4px}.faq-item.is-open .faq-a{grid-template-rows:1fr}.faq-item.is-open .faq-a>p{padding-bottom:22px}.quote-band{position:relative;overflow:hidden;background:var(--ink-deep);color:#fff}.quote-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}.quote-shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,30,54,.93) 0,rgba(7,30,54,.85) 46%,rgba(11,42,74,.62) 72%,rgba(34,121,60,.52) 100%)}.quote-inner{position:relative;padding:118px 24px}.quote-copy{max-width:640px}.quote-band h2{color:#fff;max-width:22ch}.quote-band p{color:rgba(255,255,255,.94);margin-top:14px;max-width:38rem;font-size:1.12rem}.quote-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.btn-outline-w2{background:0 0;border-color:rgba(255,255,255,.85);color:#fff}.btn-outline-w2:hover{background:rgba(255,255,255,.15)}.footer{background:var(--ink);color:rgba(255,255,255,.78);padding:72px 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:36px;padding-bottom:54px}.footer-brand-name{color:#fff;font-weight:800;font-size:1.5rem;letter-spacing:-.01em}.footer-brand-sub{color:#9fe8b4;font-weight:700;letter-spacing:.18em;font-size:.78rem;text-transform:uppercase;margin-top:3px}.footer-brand p{margin-top:16px;font-size:.97rem;max-width:30ch}.footer h3{color:#fff;font-size:1rem;margin-bottom:16px;letter-spacing:0}.footer ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:.97rem}.footer a{color:rgba(255,255,255,.78);text-decoration:none}.footer a:hover{color:#fff}.footer-legal{border-top:1px solid rgba(255,255,255,.14);padding:22px 0 26px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:.9rem}.float-cluster{position:fixed;right:20px;bottom:22px;z-index:95;display:flex;flex-direction:column;align-items:flex-end;gap:11px}.float-quote{background:var(--cta);color:#fff;font-weight:800;text-decoration:none;padding:13px 22px;border-radius:999px;box-shadow:0 12px 28px rgba(34,121,60,.4);font-size:.97rem}.float-quote:hover{background:var(--cta-dark)}.float-call{width:58px;height:58px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 12px 28px rgba(6,24,42,.42);position:relative}.float-call::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(11,42,74,.35)}@media (prefers-reduced-motion:no-preference){.float-call::after{animation:pulse 2.4s ease-out infinite}@keyframes pulse{0%{transform:scale(.85);opacity:.9}70%{transform:scale(1.25);opacity:0}100%{opacity:0}}}.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:96;display:none;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(11,42,74,.12);padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px;transform:translateY(110%);transition:transform .3s ease}.mobile-bar.is-visible{transform:translateY(0)}.mobile-bar .btn{flex:1;padding:13px 10px}.why-us{padding:72px 0;border-top:1px solid var(--line)}.why-us .section-head{margin-bottom:40px}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.why-item{border-top:3px solid var(--cta);padding-top:20px}.why-icon{width:44px;height:44px;border-radius:12px;background:var(--cta-tint);color:var(--cta-dark);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.why-item h3{font-size:1.12rem;margin-bottom:7px}.why-item p{font-size:.97rem;line-height:1.55}.aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.aud-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.aud-card:hover{box-shadow:var(--shadow-card)}.aud-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.aud-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}.aud-body p{font-size:.98rem;line-height:1.55}.aud-link{margin-top:auto;padding-top:6px;font-weight:800;color:var(--cta-dark);text-decoration:none}.aud-link:hover{text-decoration:underline}@media (max-width:1080px){.svc-grid{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr 1fr}.footer-brand{grid-column:1/-1}}@media (max-width:900px){.main-nav{display:none}.menu-btn{display:flex}.header-phone span{display:none}.header-actions .btn{display:none}.section{padding:68px 0}.hero-inner{padding:84px 24px 76px;min-height:0}.hero-bg{object-position:60% 50%}.steps{grid-template-columns:repeat(2,1fr)}.guarantee-grid,.price-grid,.rail{grid-template-columns:1fr}.aud-grid{grid-template-columns:1fr}.calc{grid-template-columns:1fr}.calc-home{grid-template-columns:1.25fr 1fr}.quote-inner{padding:84px 24px}.mobile-bar{display:flex}.float-cluster{bottom:92px}}@media (max-width:760px){.calc-home{grid-template-columns:1fr}}@media (max-width:620px){.svc-grid{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.hero-ctas .btn{width:100%}.segmented{flex-direction:column;border-radius:16px}.calc-cols{grid-template-columns:1fr}.hc-pair{grid-template-columns:1fr}.calc-home .calc-controls,.calc-home .calc-total{padding:22px 18px}.calc-controls,.calc-total{padding:26px 22px}.float-quote{display:none}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation:none!important;transition:none!important}}.main-nav{gap:21px}.main-nav a{font-size:.95rem}.main-nav a.is-current{color:var(--cta-dark);border-bottom-color:var(--cta)}.page-hero .hero-inner{min-height:0;padding:96px 24px 88px}.page-hero .hero-h1{font-size:clamp(2.35rem, 4.6vw, 3.6rem);max-width:20ch}.page-hero .hero-sub{max-width:38rem}.page-hero img.hero-bg{object-position:50% 46%}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.detail-card{background:var(--paper)}.detail-foot{margin-top:auto;padding-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}.detail-foot .svc-price{margin-top:0;padding-top:0}.detail-link{font-weight:800;color:var(--ink);text-decoration:none;margin-left:auto}.detail-link:hover{color:var(--cta-dark);text-decoration:underline}.tick-list{list-style:none;display:flex;flex-direction:column;gap:7px;font-size:.97rem}.tick-list li{padding-left:25px;position:relative}.tick-list li::before{content:"✓";position:absolute;left:0;color:var(--cta);font-weight:800}.tick-list li em{font-style:normal;color:var(--cta-dark);font-weight:700}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.check-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px}.check-card h3{margin-bottom:16px;display:flex;align-items:center;gap:12px}.check-card h3 .why-icon{margin-bottom:0;flex:none}.price-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-soft)}table.price-table{width:100%;border-collapse:collapse;min-width:560px}.price-table td,.price-table th{padding:17px 22px;text-align:right;font-variant-numeric:tabular-nums}.price-table td:first-child,.price-table th:first-child{text-align:left}.price-table thead th{background:var(--ink);color:#fff;font-weight:800;font-size:.98rem;white-space:nowrap}.price-table thead th:first-child{border-radius:0}.price-table tbody th{font-weight:700;color:var(--ink);font-size:1.02rem}.price-table tbody td{font-weight:700;color:var(--body);font-size:1.05rem}.price-table tbody tr:nth-child(2n){background:var(--ivory)}.price-table tbody tr{border-top:1px solid var(--line)}.price-table tbody tr:first-child{border-top:0}.table-note{margin-top:16px;font-size:.99rem}.table-note strong{color:var(--ink)}.freq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.freq-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;border-top:3px solid var(--cta)}.freq-figure{font-size:2.5rem;font-weight:800;color:var(--cta-dark);letter-spacing:-.02em;line-height:1}.freq-card h3{margin:12px 0 7px;font-size:1.14rem}.freq-card p{font-size:.97rem}.extra-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden}.extra-row{display:flex;align-items:baseline;gap:14px;padding:16px 24px;border-top:1px solid var(--line)}.extra-row:first-child{border-top:0}.extra-row:nth-child(2n){background:var(--ivory)}.extra-row .extra-name{font-weight:700;color:var(--ink)}.extra-row .extra-desc{font-size:.95rem}.extra-row .extra-price{margin-left:auto;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.sector-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.switch-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.switch-item{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;display:flex;gap:20px}.switch-num{font-size:1.9rem;font-weight:800;color:var(--cta);letter-spacing:-.02em;line-height:1;flex:none;font-variant-numeric:tabular-nums}.switch-item h3{margin-bottom:7px;font-size:1.16rem}.switch-item p{font-size:.98rem}.qform-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:26px;align-items:start}.qform{background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-soft);padding:32px 34px}.qform-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.qform .field{display:flex;flex-direction:column;gap:7px}.qform .field-full{grid-column:1/-1}.qform label{font-weight:800;color:var(--ink);font-size:.98rem}.qform input[type=tel],.qform input[type=text],.qform select,.qform textarea{font-family:inherit;font-weight:600;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 13px;width:100%}.qform textarea{resize:vertical;min-height:92px}.qform input:focus-visible,.qform select:focus-visible,.qform textarea:focus-visible{outline:2px solid var(--cta);outline-offset:1px}.qform .btn{margin-top:20px}.form-note{margin-top:14px;font-size:.93rem}.form-success{background:var(--cta-tint);border:1px solid rgba(47,158,79,.45);border-radius:22px;padding:34px;color:var(--ink)}.form-success h3{margin-bottom:8px}.qaside{background:var(--ink);color:rgba(255,255,255,.85);border-radius:22px;padding:32px 30px}.qaside h3{color:#fff;margin-bottom:14px}.qaside ol{list-style:none;display:flex;flex-direction:column;gap:14px;counter-reset:qa}.qaside ol li{padding-left:40px;position:relative;font-size:.99rem}.qaside ol li::before{counter-increment:qa;content:counter(qa);position:absolute;left:0;top:1px;width:27px;height:27px;border-radius:50%;background:var(--cta);color:#fff;font-weight:800;font-size:.88rem;display:flex;align-items:center;justify-content:center}.qaside .btn{margin-top:22px}.cross-band{background:var(--cta-tint);border-block:1px solid rgba(47,158,79,0.3)}.cross-inner{display:flex;flex-wrap:wrap;align-items:center;gap:14px 30px;padding:40px 0}.cross-inner h2{font-size:clamp(1.5rem, 2.6vw, 2rem);flex:1 1 26rem}.cross-inner p{flex:1 1 22rem;font-size:1.02rem}@media (max-width:1080px){.check-grid,.detail-grid,.switch-grid{grid-template-columns:1fr}}@media (max-width:900px){.freq-grid,.sector-grid{grid-template-columns:1fr}.qform-layout{grid-template-columns:1fr}.page-hero .hero-inner{padding:76px 24px 68px}}@media (max-width:620px){.qform{padding:24px 20px}.qform-grid{grid-template-columns:1fr}.switch-item{flex-direction:column;gap:10px}.extra-row{flex-wrap:wrap}}.main-nav a.is-active{color:var(--cta-dark);border-bottom-color:var(--cta)}.page-hero:not(.hero){background:var(--ivory);border-bottom:1px solid var(--line);padding:64px 0 58px}.crumbs{font-size:.92rem;font-weight:600;margin-bottom:20px}.crumbs a{color:var(--cta-dark);text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs .sep{margin:0 7px;color:#9db2a4}.page-hero:not(.hero) h1{font-size:clamp(2.15rem, 4.6vw, 3.35rem);line-height:1.08;max-width:24ch}.page-hero:not(.hero) .lead{max-width:44rem}.page-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.page-hero-note{margin-top:20px;font-size:.95rem;font-weight:600}.policy-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.policy-nav a{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-weight:700;font-size:.94rem;color:var(--ink);text-decoration:none}.policy-nav a:hover{border-color:var(--cta);color:var(--cta-dark)}.policy-block{padding:42px 0;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 10px)}.policy-block:last-child{border-bottom:0}.policy-block h2{font-size:1.55rem;line-height:1.2;display:flex;gap:14px;align-items:baseline;margin-bottom:16px}.policy-num{color:var(--cta);font-weight:800;font-size:1.05rem;flex:none}.policy-block li,.policy-block p{max-width:47rem}.policy-block p+p{margin-top:12px}.policy-block ul{list-style:none;margin-top:12px;display:flex;flex-direction:column;gap:9px}.policy-block ul li{padding-left:26px;position:relative}.policy-block ul li::before{content:"✓";position:absolute;left:0;color:var(--cta);font-weight:800}.feature-player{max-width:980px;margin-inline:auto}.feature-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--line);background:var(--paper)}.feature-card video{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--ink)}.feature-cap{text-align:center;max-width:640px;margin:16px auto 0;font-size:.95rem}.sign-num{display:block;font-size:1.55rem;font-weight:800;color:var(--cta);letter-spacing:-.02em;margin-bottom:10px}.story-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:46px;align-items:center}.story-grid img{border-radius:var(--radius);box-shadow:var(--shadow-card);aspect-ratio:4/3;object-fit:cover;width:100%}.story-grid p+p{margin-top:14px}@media (max-width:900px){.story-grid{grid-template-columns:1fr;gap:30px}}.tunnel-stage{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--ink-deep);box-shadow:var(--shadow-card);aspect-ratio:16/8.4}.tunnel-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tunnel-canvas{position:absolute;inset:0;width:100%;height:100%;display:none}.tunnel-stage[data-tunnel=live] .tunnel-poster{display:none}.tunnel-stage[data-tunnel=live] .tunnel-canvas{display:block}.tunnel-badge{position:absolute;top:14px;left:14px;display:none;background:rgba(247,244,236,.92);color:var(--ink);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:7px 13px;border-radius:999px}.tunnel-stage[data-tunnel=live] .tunnel-badge{display:inline-flex}.tunnel-state{position:absolute;left:14px;bottom:14px;max-width:min(34rem,calc(100% - 28px));background:rgba(7,30,54,.85);color:#fff;font-size:.95rem;font-weight:600;line-height:1.45;padding:10px 16px;border-radius:12px}.tunnel-cap{text-align:center;max-width:640px;margin:16px auto 0;font-size:.95rem}.tunnel-ui{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:22px}.tunnel-ui[hidden]{display:none}.tunnel-scrub{display:flex;align-items:center;gap:14px;flex:1 1 260px}.tunnel-scrub label{font-weight:700;color:var(--ink);white-space:nowrap;font-size:.98rem}.tunnel-scrub input[type=range]{flex:1;accent-color:var(--cta);height:32px;cursor:pointer}.tunnel-scrub input[type=range]:focus-visible{outline:3px solid var(--cta);outline-offset:4px;border-radius:6px}.tunnel-legend{display:flex;gap:20px;font-size:.92rem;font-weight:600;color:var(--body)}.tunnel-legend span{display:inline-flex;align-items:center;gap:8px}.tunnel-legend .dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex:none}.tunnel-legend .dot-dust{background:#8a6f4d}.tunnel-legend .dot-air{background:var(--cta)}.tunnel-alt{max-width:52rem;margin-top:20px}@media (max-width:700px){.tunnel-stage{aspect-ratio:4/3.4}.tunnel-state{font-size:.88rem}}.hero-line{color:#fff;font-weight:700;font-size:1.28rem;line-height:1.45;margin-top:20px;max-width:34rem}@media (prefers-reduced-motion:no-preference){.hero-load{animation:heroRise 1s cubic-bezier(.22,.61,.21,1) .15s both}@keyframes heroRise{from{transform:translateY(36px)}to{transform:translateY(0)}}}#heroVideo{opacity:0;transition:opacity .9s ease}#heroVideo.is-playing{opacity:1}#heroAnim{transition:opacity .9s ease}html.hero-js #heroAnim{opacity:0}html.hero-js #heroAnim.is-on{opacity:1}@media (prefers-reduced-motion:reduce){#heroAnim,#heroVideo{display:none}}.hero-cue{position:absolute;z-index:5;left:50%;bottom:16px;transform:translateX(-50%);color:rgba(255,255,255,.85);display:flex;padding:6px;border-radius:50%}.hero-cue:hover{color:#fff}.hero-cue:focus-visible{outline:3px solid #fff;outline-offset:2px}@media (prefers-reduced-motion:no-preference){.hero-cue svg{animation:cueBob 1.9s ease-in-out infinite}@keyframes cueBob{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(7px);opacity:1}}}.areas-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:start}@media (max-width:900px){.areas-layout{grid-template-columns:1fr}}.areas-map{height:380px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#e7ede4;box-shadow:var(--shadow-soft);isolation:isolate}.areas-map-note{margin-top:12px;font-size:.95rem}.area-pin{background:0 0;border:none}.area-pin-dot{display:block;width:18px;height:18px;margin:3px;border-radius:50%;background:var(--ink);border:3px solid #fff;box-shadow:0 2px 9px rgba(7,30,54,.5)}.area-pin-dot.hq{background:var(--cta);width:22px;height:22px;margin:1px}.areas-map .leaflet-popup-content{font-family:Manrope,system-ui,sans-serif;font-size:.95rem;line-height:1.45;color:var(--body);margin:12px 16px}.areas-map .leaflet-popup-content strong{color:var(--ink);font-size:1.02rem}.areas-map .leaflet-container{font-family:Manrope,system-ui,sans-serif}.float-wa{width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 12px 28px rgba(18,140,66,.4)}.float-wa:hover{background:#1eb857}.float-wa:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.footer-social{display:flex;gap:12px;margin-top:22px}.footer-social a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none}.footer-social a:hover{background:var(--cta);border-color:var(--cta);color:#fff}.footer-social a:focus-visible{outline:3px solid #fff;outline-offset:2px}@media (max-width:640px){.brand img{height:52px}}.aud-section{padding-top:84px}.aud-tabs{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);overflow:hidden}.aud-tablist{display:flex;flex-wrap:wrap;gap:8px;padding:14px 14px 0}.aud-tab{font-family:inherit;font-weight:800;font-size:1rem;color:var(--body);background:var(--ivory);border:1px solid var(--line);border-radius:999px;padding:12px 22px;cursor:pointer}.aud-tab:hover{color:var(--ink);border-color:rgba(47,158,79,.45)}.aud-tab.is-on{background:var(--ink);border-color:var(--ink);color:#fff}.aud-tab:focus-visible{outline:3px solid var(--cta);outline-offset:2px}.aud-panel{display:grid;grid-template-columns:2fr 3fr;gap:0;margin-top:14px;border-top:1px solid var(--line)}.aud-panel[hidden]{display:none}.aud-panel>img{width:100%;height:100%;object-fit:cover;min-height:320px}.aud-panel-body{padding:34px 38px 36px}.aud-panel-body h3{font-size:1.65rem;margin-bottom:18px}.aud-intro{margin-bottom:18px;max-width:46rem}.aud-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}.aud-cols h4{font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cta-dark);margin-bottom:12px}.aud-need{list-style:none;display:flex;flex-direction:column;gap:10px}.aud-need li{position:relative;padding-left:20px;font-size:.99rem;line-height:1.55;color:var(--body)}.aud-need li::before{content:"";position:absolute;left:0;top:.52em;width:8px;height:8px;border-radius:2px;background:var(--ink);opacity:.55}.aud-panel .tick-list{display:flex;flex-direction:column;gap:10px}.aud-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px}.aud-panel-pm{background:var(--cta-tint)}.aud-panel-pm>img{box-shadow:inset 0 0 0 1px rgba(47,158,79,.25)}@media (max-width:900px){.aud-panel{grid-template-columns:1fr}.aud-panel>img{height:220px;min-height:0}.aud-panel-body{padding:26px 22px 28px}.aud-cols{grid-template-columns:1fr;gap:22px}}.duct-calc-cta{display:flex;flex-wrap:wrap;align-items:center;gap:22px;background:var(--ivory);border:1px solid var(--line);border-left:6px solid var(--cta);border-radius:var(--radius);padding:28px 32px;margin-top:8px}.duct-calc-cta>div{flex:1 1 320px}.duct-calc-cta h3{font-size:1.35rem;margin-bottom:8px}.duct-calc-cta p{font-size:1rem;line-height:1.6}.areas-map-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-card);padding:14px}.areas-map-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:4px 6px 14px}.areas-map-badge{background:var(--ink);color:#fff;font-weight:800;font-size:.85rem;letter-spacing:.06em;border-radius:999px;padding:7px 14px}.areas-map-hint{font-weight:700;color:var(--cta-dark);font-size:.98rem}.areas-map-card .areas-map{border-radius:12px;box-shadow:none;border-color:var(--line);height:400px}.areas-map-card .areas-map-note{padding:0 6px 4px}.area-list li{background:0 0;border:0;padding:0}.area-chip{font-family:inherit;font-weight:700;color:var(--ink);font-size:1.02rem;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:12px 24px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.area-chip span{font-weight:500;color:var(--body);font-size:.92rem}.area-chip:hover{border-color:rgba(47,158,79,.55)}.area-chip:focus-visible{outline:3px solid var(--cta);outline-offset:2px}.area-list li.area-main .area-chip{background:var(--cta-tint);border-color:rgba(47,158,79,.4)}.area-chip.is-active{background:var(--cta);border-color:var(--cta);color:#fff}.area-chip.is-active span{color:rgba(255,255,255,.85)}.area-pin-dot.is-active{background:var(--cta);width:24px;height:24px;margin:0;border-color:#fff}@media (prefers-reduced-motion:no-preference){.area-pin-dot.is-active{animation:pinPulse 1.8s ease-out infinite}@keyframes pinPulse{0%{box-shadow:0 0 0 0 rgba(47,158,79,.45),0 2px 9px rgba(7,30,54,.5)}70%{box-shadow:0 0 0 14px rgba(47,158,79,0),0 2px 9px rgba(7,30,54,.5)}100%{box-shadow:0 0 0 0 rgba(47,158,79,0),0 2px 9px rgba(7,30,54,.5)}}}.needs-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.needs-card{background:var(--paper);border:1px solid var(--line);border-top:5px solid var(--cta);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:30px 32px;display:flex;flex-direction:column;gap:12px}.needs-card h3{font-size:1.4rem}.needs-card .tick-list{display:flex;flex-direction:column;gap:9px}.needs-card .aud-link{margin-top:auto;padding-top:8px}@media (max-width:900px){.needs-grid{grid-template-columns:1fr}}.header-phone,.header-phone span,.main-nav a{white-space:nowrap}@media (max-width:1320px) and (min-width:901px){.header-inner{gap:12px;padding-inline:14px}.brand img{height:40px}.main-nav{gap:9px}.main-nav a{font-size:.84rem}.header-actions{gap:10px}.header-phone{font-size:.88rem;gap:6px}.header-actions .btn{padding:11px 13px;font-size:.88rem}}html.rv-on [data-reveal].rv-boot{transition:none}@media (max-width:760px){.container,.hero-inner,.quote-inner,.strip-inner{padding-right:20px;padding-left:20px}}@media (min-width:1081px){#services-detail .detail-card:last-child{grid-column:1/-1}#services-detail .detail-card:last-child img{height:250px;object-fit:cover}}.svc-videos{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.svc-card video{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:var(--ink-deep)}@media (max-width:620px){.svc-videos{grid-template-columns:1fr}}.duct-pointer{display:grid;grid-template-columns:minmax(0,430px) 1fr;gap:30px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft)}.duct-pointer img{width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;display:block}.duct-pointer-body{padding:26px 30px 26px 0}.duct-pointer-body p{font-size:1.07rem;line-height:1.62;max-width:46ch}.duct-pointer-body .btn{margin-top:18px}@media (max-width:760px){.duct-pointer{grid-template-columns:1fr;gap:0}.duct-pointer-body{padding:20px 22px 24px}}


/* ==========================================================================
   POSTAL CODE & SERVICE AREA CHECKER
   ========================================================================== */
.postal-checker {
  margin-top: 28px;
  padding: 24px 28px;
  background: var(--paper);
  border: 1.5px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 18px 28px;
  align-items: center;
}
.postal-kicker {
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cta-dark);
  margin-bottom: 4px;
}
.postal-checker-copy h3 { font-size: 1.25rem; margin-bottom: 4px; }
.postal-checker-copy p { font-size: 0.94rem; color: var(--body); line-height: 1.5; margin: 0; }
.postal-form { display: flex; flex-direction: column; gap: 10px; }
.postal-input-row { display: flex; gap: 10px; }
.postal-input-row input {
  flex: 1; min-width: 0;
  padding: 13px 16px;
  border-radius: 999px;
  border: 1.5px solid var(--line);
  background: var(--ivory);
  color: var(--ink);
  font: inherit;
  font-weight: 600;
}
.postal-input-row input:focus { outline: 2px solid var(--cta); border-color: var(--cta); }
.postal-result {
  padding: 12px 16px;
  border-radius: 12px;
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.5;
}
.postal-result[hidden] { display: none !important; }
.postal-result.is-ok {
  background: var(--cta-tint);
  border: 1.5px solid rgba(46, 158, 91, 0.4);
  color: var(--cta-dark);
}
.postal-result.is-warn {
  background: #FBF6E9;
  border: 1.5px solid var(--gold);
  color: var(--ink);
}
@media (max-width: 820px) {
  .postal-checker { grid-template-columns: 1fr; padding: 20px; }
  .postal-input-row { flex-direction: column; }
}

/* ==========================================================================
   SIGNATURE INTERACTIVE TOOLS:
   1) Crew/Duration Meta & Bundle Banner
   2) 50-Point Room-by-Room Inspection Scope Comparator (.insp-explorer)
   3) 60-Second Edmonton Air & Furnace Diagnostic (.air-diag)
   4) Global Instant Command Palette (Ctrl+K / .cmd-backdrop)
   5) Zero-Load Luxury GPU Micro-Animations
   ========================================================================== */
.calc-crew-meta {
  display: inline-block;
  margin: -4px 0 12px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(46, 158, 91, 0.16);
  border: 1px solid rgba(159, 232, 180, 0.32);
  color: #9FE8B4;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
}
.bundle-banner {
  margin-top: 26px;
  padding: 24px 28px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #0B2A4A 0%, #103B32 100%);
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  box-shadow: var(--shadow-soft);
}
.bundle-kicker {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(46, 158, 91, 0.28);
  color: #9FE8B4;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.bundle-banner h3 { color: #fff; font-size: 1.3rem; margin-bottom: 4px; }
.bundle-banner p { color: rgba(255, 255, 255, 0.82); font-size: 0.94rem; max-width: 60ch; margin: 0; }

/* ---------- 50-Point Room-by-Room Inspection Explorer ---------- */
.insp-explorer {
  margin-top: 34px;
  padding: 32px 34px;
  background: var(--paper);
  border: 1.5px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}
.insp-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}
.insp-head h3 { font-size: clamp(1.35rem, 2.3vw, 1.75rem); margin-bottom: 6px; }
.insp-sub { color: var(--body); font-size: 0.95rem; max-width: 58ch; margin: 0; }
.insp-tier-switch {
  display: inline-flex;
  flex-wrap: wrap;
  background: var(--ivory);
  padding: 5px;
  border-radius: 14px;
  border: 1px solid var(--line);
  gap: 4px;
}
.insp-tier {
  border: 0;
  background: transparent;
  padding: 9px 14px;
  border-radius: 10px;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 800;
  color: var(--ink);
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.insp-tier.is-on {
  background: var(--cta);
  color: #fff;
  box-shadow: 0 4px 12px rgba(31, 122, 68, 0.25);
}
.insp-rooms {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 18px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.insp-room {
  padding: 8px 15px;
  border-radius: 999px;
  border: 1.5px solid var(--line);
  background: var(--paper);
  font: inherit;
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--body);
  cursor: pointer;
  transition: all 0.16s ease;
}
.insp-room span {
  font-size: 0.76rem;
  opacity: 0.72;
  margin-left: 4px;
}
.insp-room.is-on {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
}
.insp-grid {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(265px, 1fr));
  gap: 10px 14px;
}
.insp-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 14px;
  border-radius: 11px;
  border: 1px solid var(--line);
  background: var(--ivory);
  font-size: 0.9rem;
  line-height: 1.4;
  transition: all 0.18s ease;
}
.insp-item.is-inc {
  background: #F4FBF6;
  border-color: rgba(46, 158, 91, 0.38);
  color: var(--ink);
  font-weight: 600;
}
.insp-item.is-dim {
  opacity: 0.48;
  background: var(--ivory);
}
.insp-check {
  flex-shrink: 0;
  width: 20px; height: 20px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 800;
  margin-top: 1px;
  background: var(--cta);
  color: #fff;
}
.insp-item.is-dim .insp-check { background: var(--line); color: var(--body); }
.insp-badge {
  display: inline-block;
  margin-left: auto;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: rgba(31, 122, 68, 0.13);
  color: var(--cta-dark);
  white-space: nowrap;
}
.insp-badge-deep { background: rgba(11, 42, 74, 0.12); color: var(--ink); }
.insp-badge-move { background: rgba(194, 155, 64, 0.22); color: #7A5C12; }
.insp-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 16px;
  border-top: 1px dashed var(--line);
  font-size: 0.92rem;
}

/* ---------- 60-Second Edmonton Air & Furnace Diagnostic ---------- */
.air-diag {
  margin: 34px 0 0;
  padding: 32px 34px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #0B2540 0%, #0E3328 100%);
  color: #fff;
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 28px 34px;
  align-items: stretch;
  box-shadow: var(--shadow-soft);
}
.air-diag-left .eyebrow { color: #9FE8B4; }
.air-diag-left h3 { color: #fff; font-size: clamp(1.35rem, 2.3vw, 1.75rem); margin-bottom: 8px; }
.air-diag-sub { color: rgba(255, 255, 255, 0.78); font-size: 0.94rem; line-height: 1.55; margin-bottom: 18px; }
.air-checks { display: flex; flex-direction: column; gap: 9px; }
.air-check {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 15px;
  border-radius: 12px;
  border: 1.5px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  font-size: 0.93rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.18s ease;
}
.air-check:hover { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.32); }
.air-check input { width: 18px; height: 18px; accent-color: var(--cta); flex: none; }

.air-diag-right {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
}
.air-meter-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 0.84rem; font-weight: 700; color: rgba(255, 255, 255, 0.8); }
.air-meter-val { color: #9FE8B4; font-size: 0.92rem; }
.air-meter-bar { height: 11px; border-radius: 999px; background: rgba(255, 255, 255, 0.12); overflow: hidden; }
.air-meter-fill {
  height: 100%;
  border-radius: 999px;
  background: #2F9E4F;
  transition: width 0.35s cubic-bezier(0.22, 1, 0.36, 1), background 0.25s ease;
}
.air-rec-badge {
  display: inline-block;
  align-self: flex-start;
  padding: 4px 11px;
  border-radius: 999px;
  background: rgba(47, 158, 79, 0.25);
  color: #9FE8B4;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.air-diag-right h4 { color: #fff; font-size: 1.2rem; margin: 0; }
.air-rec-desc { color: rgba(255, 255, 255, 0.82); font-size: 0.9rem; line-height: 1.55; margin: 0; }
.air-rec-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }

@media (max-width: 900px) {
  .insp-explorer, .air-diag { padding: 22px 20px; }
  .air-diag { grid-template-columns: 1fr; }
}

/* ---------- Global Instant Command Palette (Ctrl+K) ---------- */
.cmd-trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1.5px solid var(--line);
  background: var(--ivory);
  color: var(--ink);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.16s ease;
}
.cmd-trigger:hover { border-color: var(--cta); background: #fff; }
.cmd-trigger kbd {
  padding: 2px 6px;
  border-radius: 5px;
  background: var(--paper);
  border: 1px solid var(--line);
  font-family: inherit;
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--body);
}
@media (max-width: 1120px) { .cmd-trigger kbd { display: none; } }
@media (max-width: 900px) { .cmd-trigger { display: none; } }
.cmd-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(11, 42, 74, 0.58);
  backdrop-filter: blur(5px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 10vh 16px 24px;
}
.cmd-backdrop[hidden] { display: none !important; }
.cmd-dialog {
  width: 100%;
  max-width: 620px;
  background: var(--paper);
  border: 1.5px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(11, 42, 74, 0.32);
  overflow: hidden;
}
.cmd-search-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 18px;
  border-bottom: 1px solid var(--line);
}
.cmd-search-input {
  flex: 1;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 1.02rem;
  font-weight: 600;
  color: var(--ink);
  outline: none;
}
.cmd-close-btn {
  padding: 4px 9px;
  border-radius: 7px;
  border: 1px solid var(--line);
  background: var(--ivory);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--body);
  cursor: pointer;
}
.cmd-list {
  list-style: none;
  margin: 0;
  padding: 8px;
  max-height: 360px;
  overflow-y: auto;
}
.cmd-item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 14px;
  border-radius: 11px;
  text-decoration: none;
  color: var(--ink);
  transition: background 0.14s ease;
}
.cmd-item a:hover, .cmd-item a:focus {
  background: var(--cta-tint);
  outline: none;
}
.cmd-item-title { font-weight: 700; font-size: 0.94rem; display: block; }
.cmd-item-sub { font-size: 0.8rem; color: var(--body); display: block; margin-top: 1px; }
.cmd-item-tag {
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--ivory);
  border: 1px solid var(--line);
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--cta-dark);
  white-space: nowrap;
}
.cmd-foot {
  padding: 10px 18px;
  background: var(--ivory);
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  font-size: 0.78rem;
  color: var(--body);
}

/* ==========================================================================
   ZERO-LOAD LUXURY GPU MICRO-ANIMATIONS
   1) Top Scroll Progress Hairline (.scroll-progress-bar)
   2) 3D Perspective Tilt & Radial Spotlight on Cards (desktop fine pointer)
   3) Spring-Physics Checkmark & Badge Pop
   ========================================================================== */
.scroll-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 9998;
  background: linear-gradient(90deg, var(--cta) 0%, #5CD68D 55%, var(--gold) 100%);
  transform-origin: 0 50%;
  transform: scaleX(0);
  pointer-events: none;
  will-change: transform;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .price-card, .svc-card, .g-item, .freq-card {
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.22s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.25s ease, border-color 0.25s ease;
    background-image: radial-gradient(
      420px circle at var(--spot-x, 50%) var(--spot-y, -200%),
      rgba(47, 158, 79, 0.08),
      transparent 70%
    );
  }
}

@media (prefers-reduced-motion: no-preference) {
  .insp-item.is-inc .insp-check,
  .air-check input:checked + span {
    animation: epSpringPop 0.34s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  @keyframes epSpringPop {
    0% { transform: scale(0.82); }
    60% { transform: scale(1.08); }
    100% { transform: scale(1); }
  }
}

/* ---------- Forensic Polish: .svc-link, .is-active alias & reduced-motion video guard ---------- */
.svc-link {
  font-weight: 800;
  color: var(--cta-dark);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
}
.svc-link:hover { text-decoration: underline; }
.main-nav a.is-active { color: #fff; background: rgba(255, 255, 255, 0.12); }
.mobile-menu nav a[aria-current="page"] { color: var(--cta-dark); font-weight: 800; }
@media (prefers-reduced-motion: reduce) {
  .page-hero-video, .svc-video { display: none !important; }
}

/* ---------- WCAG AA 4.5:1+ Contrast & Active Area Chip Specificity Fixes ---------- */
:root {
  --cta: #1E7E3A;
  --cta-dark: #145928;
  --muted: #4A5A6A;
}
.btn-primary,
.float-quote,
.insp-tier.is-on {
  background: #1E7E3A;
  color: #ffffff;
}
.btn-primary:hover,
.float-quote:hover {
  background: #145928;
}
.insp-room span {
  opacity: 1 !important;
  color: #4A5A6A !important;
}
.insp-room.is-on span {
  opacity: 1 !important;
  color: #ffffff !important;
}
.insp-badge-std {
  background: #D8EADF;
  color: #145928;
}
.insp-badge-deep {
  background: #E2ECF7;
  color: #0B2A4A;
}
.insp-badge-move {
  background: #F5E6C8;
  color: #5C3D06;
}
.area-list .area-main .area-chip.is-active,
.area-chip.is-active {
  background: #0B2A4A !important;
  border-color: #0B2A4A !important;
  color: #ffffff !important;
}
.area-list .area-main .area-chip.is-active span,
.area-chip.is-active span {
  color: #E2ECF7 !important;
  opacity: 1 !important;
}

/* ---------- Executive Conversion Engine: Calculator Promo Lock & Neighbourhood SEO Hub ---------- */
.calc-quick-lock {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.calc-promo-pill {
  appearance: none;
  width: 100%;
  background: rgba(255, 255, 255, 0.10);
  border: 1px dashed rgba(255, 255, 255, 0.38);
  color: #ffffff;
  border-radius: 10px;
  padding: 9px 12px;
  font-family: inherit;
  font-size: 0.84rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
  text-align: center;
}
.calc-promo-pill:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: #8FDCA6;
}
.calc-promo-pill.is-active {
  background: #145928;
  border: 1px solid #8FDCA6;
  color: #ffffff;
}
.pg-res #home-calc .calc-promo-pill {
  background: #F4F8F5;
  border: 1px dashed #1E7E3A;
  color: #145928;
}
.pg-res #home-calc .calc-promo-pill.is-active {
  background: #145928;
  border-style: solid;
  color: #ffffff;
}
.calc-wa-lock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.83rem;
  font-weight: 700;
  color: #D8EADF;
  text-decoration: underline;
  text-underline-offset: 3px;
  padding: 4px 0;
  text-align: center;
}
.calc-wa-lock:hover {
  color: #ffffff;
}
.pg-res #home-calc .calc-wa-lock {
  color: #145928;
}
.pg-res #home-calc .calc-wa-lock:hover {
  color: #0B2A4A;
}
.hood-seo-hub {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.hood-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 20px;
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hood-fsa {
  display: inline-block;
  align-self: flex-start;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: #E8F4EC;
  color: #145928;
  padding: 4px 9px;
  border-radius: 999px;
}
.hood-card h3 {
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--ink);
  margin: 0;
}
.hood-card p {
  font-size: 0.87rem;
  line-height: 1.55;
  color: var(--body);
  margin: 0;
}
.hood-link {
  margin-top: auto;
  padding-top: 6px;
  font-size: 0.85rem;
  font-weight: 800;
  color: #145928;
  text-decoration: none;
}
.hood-link:hover {
  text-decoration: underline;
}
@media (max-width: 980px) {
  .hood-seo-hub { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .hood-seo-hub { grid-template-columns: 1fr; }
}

/* ---------- Luxury Transparent Brand Lockup Sizing ---------- */
.brand-logo {
  height: 52px;
  width: auto;
  border-radius: 0;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.18));
}
@media (max-width: 600px) {
  .brand-logo {
    height: 44px;
  }
}


/* ---------- Mobile Performance, Skip-Link & Viewport Fixes ---------- */
.skip-link {
  position: fixed;
  top: -100px;
  left: 16px;
  z-index: 10001;
  background: var(--cta);
  color: #fff;
  font-weight: 800;
  padding: 12px 20px;
  border-radius: 10px;
  text-decoration: none;
  box-shadow: var(--shadow-card);
  transition: top 0.2s ease;
}
.skip-link:focus {
  top: 14px;
  color: #fff;
}
.mobile-menu {
  max-height: calc(100dvh - var(--header-h));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.svc-grid, .check-grid, .detail-grid, .faq-wrap, .footer {
  content-visibility: auto;
  contain-intrinsic-size: 1px 600px;
}
@media (max-width: 900px) {
  body {
    padding-bottom: calc(68px + env(safe-area-inset-bottom));
  }
  .float-cluster {
    right: 14px;
    bottom: calc(76px + env(safe-area-inset-bottom));
    gap: 8px;
  }
  .float-call, .float-wa {
    width: 48px;
    height: 48px;
  }
  .float-call svg { width: 20px; height: 20px; }
  .float-wa svg { width: 25px; height: 25px; }
  .calc-select, .postal-input-row input, .qform input, .qform select, .qform textarea {
    font-size: 16px !important;
  }
}

/* ==========================================================================
   PRODUCTION RESPONSIVE & LAYOUT INTEGRITY OVERRIDES
   ========================================================================== */

/* Prevent horizontal overflow across entire root and body */
html, body {
  overflow-x: clip !important;
  max-width: 100vw;
}

/* Header container elasticity: fluid maxWidth accommodates full brand + nav + actions */
.header-inner {
  width: 100%;
  max-width: min(1540px, 94vw) !important;
  box-sizing: border-box;
}

/* Fluid responsive navigation & action gap compression for 901px - 1440px */
@media (min-width: 901px) and (max-width: 1440px) {
  .header-inner {
    padding-inline: clamp(12px, 1.8vw, 24px) !important;
    gap: clamp(8px, 1.2vw, 20px) !important;
  }
  .brand-logo {
    height: clamp(36px, 2.8vw, 48px) !important;
  }
  .main-nav {
    gap: clamp(6px, 1.1vw, 16px) !important;
  }
  .main-nav a {
    font-size: clamp(0.80rem, 0.9vw, 0.94rem) !important;
    padding: 6px 0 !important;
  }
  .header-actions {
    gap: clamp(6px, 1vw, 14px) !important;
  }
  .header-phone {
    font-size: clamp(0.80rem, 0.9vw, 0.94rem) !important;
    gap: 5px !important;
  }
  .header-actions .btn-sm {
    padding: 8px clamp(8px, 1vw, 16px) !important;
    font-size: clamp(0.80rem, 0.88vw, 0.90rem) !important;
    white-space: nowrap !important;
  }
}

/* Extra breakpoint protection for ultra-compact desktop/tablets around 901px - 1100px */
@media (min-width: 901px) and (max-width: 1100px) {
  .cmd-trigger {
    display: none !important;
  }
  .header-phone span {
    display: none !important;
  }
}

/* Small mobile (<= 480px down to 320px) header adjustments */
@media (max-width: 480px) {
  .header-inner {
    padding-inline: 14px !important;
    gap: 10px !important;
  }
  .brand-logo {
    height: 38px !important;
    max-width: 175px !important;
  }
  .header-actions {
    gap: 8px !important;
  }
  .menu-btn {
    padding: 8px !important;
  }
  .menu-btn span {
    width: 22px !important;
  }
}

/* Ultra small devices (320px - 360px) */
@media (max-width: 360px) {
  .header-inner {
    padding-inline: 10px !important;
  }
  .brand-logo {
    height: 34px !important;
    max-width: 155px !important;
  }
  .header-actions {
    gap: 6px !important;
  }
}

/* Ensure reveal animations never cause horizontal scrollbar or bleed */
html.rv-on [data-reveal].rv-arm:not(.rv-in) {
  --rvx: 0px !important;
  transform: translateY(22px) !important;
}

/* Component Grid & Container Fluidity Overrides (Mobile) */
.duct-pointer {
  grid-template-columns: minmax(0, 1fr) !important;
}
@media (min-width: 761px) {
  .duct-pointer {
    grid-template-columns: minmax(0, 430px) minmax(0, 1fr) !important;
  }
}

.air-diag {
  grid-template-columns: minmax(0, 1fr) !important;
}
@media (min-width: 901px) {
  .air-diag {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important;
  }
}

@media (max-width: 480px) {
  .air-diag {
    padding: 18px 14px !important;
  }
  .air-diag-right {
    padding: 16px 14px !important;
  }
  .air-rec-actions .btn {
    white-space: normal !important;
    width: 100% !important;
    padding: 12px 14px !important;
    font-size: 0.92rem !important;
    text-align: center !important;
  }
  .duct-pointer-body {
    padding: 18px 16px !important;
  }
}

/* Booking Layout Fluidity Overrides */
.bk-layout {
  grid-template-columns: minmax(0, 1fr) !important;
}
@media (min-width: 961px) {
  .bk-layout {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr) !important;
  }
}
.bk-card, .bk-receipt {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
@media (max-width: 480px) {
  .bk-card {
    padding: 20px 14px !important;
  }
  .bk-receipt {
    padding: 20px 14px !important;
  }
}

/* Breadcrumbs Link Contrast & Visual Underline (WCAG 2.2 AA) */
.crumbs a {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  font-weight: 700 !important;
}

/* 404 Footer h2 semantics styling matching existing h3 */
.footer h2 {
  font-size: 1.28rem;
  line-height: 1.25;
  color: var(--ink);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 14px;
}
