@font-face{font-family:"Archivo";src:url(../fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}@font-face{font-family:"DM Sans";src:url(../fonts/dm-sans-var.woff2) format("woff2");font-weight:100 1000;font-display:swap}@font-face{font-family:"Caveat";src:url(../fonts/caveat-600.woff2) format("woff2");font-weight:600;font-display:swap}
/* ---- */

/* =====================================================================
   EFFICIENCY HEATING & COOLING — "THERMAL LINE" DESIGN SYSTEM
   Concept: the brand mark splits warm rays (heat) above a horizontal
   line and cool rays (cool) below it. The whole site is built on that
   line — a warm→cool axis, radial sunburst geometry, and a temperature
   register (mono readouts) that make it feel like a precision climate
   company rather than a generic contractor.
   ===================================================================== */
:root{
  /* brand (pulled from live site computed styles) */
  --heat:#DF6200;        /* brand orange */
  --heat-hi:#F59A55;     /* orange for text on dark, glows */
  --heat-deep:#B04D00;
  --heat-btn:#DF6200;    /* brand orange button fill; white bold text 4.25:1 (AA large) */
  --heat-text:#B04D00;   /* AA-safe orange for small text on light surfaces (4.8:1) */
  --cool:#145E95;        /* brand blue */
  --cool-hi:#7DAECF;     /* sky for text/accents on dark */
  --cool-deep:#0E3656;
  --ink:#092C47;         /* brand deep navy text */
  --navy:#092C47;        /* dark surface */
  --navy-2:#0E3656;      /* dark surface raised */
  --paper:#f7f9fb;       /* brand light */
  --paper-warm:#fbf4ec;
  --white:#fff;
  --mist:#dfe7ee;        /* borders on light */
  --slate:#4d6474;       /* secondary text on light (7:1 on paper) */
  --fog:#a9bccb;         /* secondary text on dark (7.4:1 on navy) */

  --grad-heat:linear-gradient(135deg,#F59A55 0%,#DF6200 55%,#B04D00 100%);
  --grad-cool:linear-gradient(135deg,#7DAECF 0%,#145E95 55%,#0E3656 100%);
  --grad-thermal:linear-gradient(90deg,#F59A55 0%,#DF6200 30%,#7DAECF 70%,#145E95 100%);

  /* type */
  --font-display:"Archivo",ui-sans-serif,system-ui,sans-serif;
  --font-body:"DM Sans",ui-sans-serif,system-ui,sans-serif;
  --font-mono:"DM Sans",ui-sans-serif,system-ui,sans-serif;

  /* scale */
  --fs-hero:clamp(2.75rem,2rem + 5vw,6.25rem);
  --fs-h2:clamp(2.125rem,1.5rem + 2.6vw,4rem);
  --fs-h3:clamp(1.375rem,1.15rem + .8vw,1.875rem);
  --fs-body:1.0625rem;
  --fs-small:.9375rem;
  --fs-label:.75rem;

  /* geometry */
  --r-xs:8px; --r-sm:12px; --r-md:18px; --r-lg:28px; --r-xl:40px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(9,44,71,.06),0 2px 8px rgba(9,44,71,.06);
  --sh-2:0 8px 24px -8px rgba(9,44,71,.18),0 2px 6px rgba(9,44,71,.06);
  --sh-3:0 24px 60px -20px rgba(9,44,71,.35);
  --sh-heat:0 18px 40px -14px rgba(223,98,0,.55);
  --sh-cool:0 18px 40px -14px rgba(20,94,149,.55);

  /* spacing (4pt) */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px; --s-10:128px;
  --gutter:clamp(16px,4vw,48px);
  --container:1240px;

  /* motion */
  --ease-out:cubic-bezier(.2,.8,.2,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --dur-fast:160ms; --dur-base:240ms; --dur-slow:420ms;

  /* header */
  --header-h:76px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;font-family:var(--font-body);font-size:var(--fs-body);line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:clip;touch-action:manipulation}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:800;letter-spacing:-.025em;line-height:1.02;text-wrap:balance}
p{margin:0}
:focus-visible{outline:3px solid var(--cool);outline-offset:3px;border-radius:4px}
.dark :focus-visible{outline-color:var(--heat-hi)}
.skip{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r-xs);font-weight:600}
.skip:focus{top:12px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.container{width:min(var(--container),100% - 2*var(--gutter));margin-inline:auto}
.dark{background:var(--navy);color:#fff}
.dark h1,.dark h2,.dark h3{color:#fff}

/* type helpers */
.eyebrow{font-family:var(--font-body);font-size:var(--fs-label);font-weight:600;display:inline-flex;align-items:center;gap:10px;color:var(--cool)}
.dark .eyebrow,.hero .eyebrow,.cta .eyebrow,.reviews .eyebrow,.plan .eyebrow,.b-fin .eyebrow,.aside-cta .eyebrow,.vs.replace .eyebrow,.s-hero .eyebrow,.em-card .eyebrow,.footer .eyebrow{color:var(--cool-hi)}
.eyebrow.heat{color:var(--heat-text)}.dark .eyebrow.heat,.hero .eyebrow.heat,.cta .eyebrow.heat,.plan .eyebrow.heat,.s-hero .eyebrow.heat,.em-card .eyebrow.heat,.vs.repair .eyebrow.heat{color:var(--heat-hi)}
.vs.repair .eyebrow.heat{color:var(--heat-text)}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.h2{font-size:var(--fs-h2)}
.lede{font-size:clamp(1.0625rem,1rem + .35vw,1.25rem);line-height:1.55;color:var(--slate);max-width:58ch}
.dark .lede,.hero .lede,.cta .lede,.s-hero .lede,.plan .lede,.reviews .lede{color:var(--fog)}
.warm{background:var(--grad-heat);-webkit-background-clip:text;background-clip:text;color:transparent}
.cold{background:var(--grad-cool);-webkit-background-clip:text;background-clip:text;color:transparent}
.dark .cold{background:linear-gradient(135deg,#7DAECF,#7DAECF 60%,#145E95);-webkit-background-clip:text;background-clip:text}
.dark .warm{background:linear-gradient(135deg,#F59A55,#F59A55 60%,#DF6200);-webkit-background-clip:text;background-clip:text}
.mono{font-family:var(--font-body);font-weight:600;}

/* thermal line — the signature divider */
.tline{height:2px;background:var(--grad-thermal);border-radius:2px;position:relative}
.tline::after{content:"";position:absolute;inset:-6px 0;background:var(--grad-thermal);filter:blur(10px);opacity:.45}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 24px;border-radius:var(--r-pill);font-family:var(--font-display);font-weight:700;font-size:1.0625rem;letter-spacing:-.01em;line-height:1;white-space:nowrap;cursor:pointer;position:relative;isolation:isolate;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background-color var(--dur-base),color var(--dur-base),border-color var(--dur-base)}
.btn svg{width:18px;height:18px;flex-shrink:0}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98);transition-duration:80ms}
.btn-heat{background:var(--heat-btn);color:#fff;box-shadow:var(--sh-heat)}
.btn-heat::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 60%);z-index:-1;opacity:0;transition:opacity var(--dur-base)}
.btn-heat:hover{background:var(--heat);box-shadow:0 22px 44px -14px rgba(223,98,0,.7)}
.btn-heat:hover::before{opacity:1}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:var(--navy)}
.btn-white{background:#fff;color:var(--ink);box-shadow:var(--sh-2)}
.btn-white:hover{background:var(--paper)}
.btn-ghost{background:transparent;color:var(--ink);border:2px solid rgba(9,44,71,.22)}
.btn-ghost:hover{border-color:var(--ink);background:rgba(9,44,71,.04)}
.dark .btn-ghost,.hero .btn-ghost,.s-hero .btn-ghost,.aside-cta .btn-ghost,.emergency .btn-ghost,.em-card .btn-ghost,.reviews .btn-ghost,.plan .btn-ghost,.cta .btn-ghost,.footer .btn-ghost,.drawer .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.dark .btn-ghost:hover,.hero .btn-ghost:hover,.s-hero .btn-ghost:hover,.aside-cta .btn-ghost:hover,.emergency .btn-ghost:hover,.em-card .btn-ghost:hover,.cta .btn-ghost:hover,.footer .btn-ghost:hover,.drawer .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-sm{min-height:44px;padding:10px 18px;font-size:.9375rem}
.btn-lg{min-height:64px;padding:18px 32px;font-size:1.1875rem}
.btn-stack{display:flex;flex-direction:column;line-height:1;gap:4px;text-align:left}
.btn-stack small{font-family:var(--font-body);font-size:11px;opacity:1;font-weight:600}
.btn-stack strong{font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.01em;font-weight:800;white-space:nowrap}
.btn-lg .btn-stack strong{font-size:1.625rem}
.btn .arrow{transition:transform var(--dur-base) var(--ease-out)}
.btn:hover .arrow{transform:translateX(4px)}

/* ---------- cards ---------- */
.card{background:#fff;border:1px solid var(--mist);border-radius:var(--r-lg);box-shadow:var(--sh-1);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base)}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:rgba(20,94,149,.25)}
.dark .card{background:var(--navy-2);border-color:rgba(255,255,255,.08);box-shadow:none}
.dark .card:hover{border-color:rgba(125,174,207,.35)}

/* ---------- icon chip ---------- */
.ic{width:52px;height:52px;border-radius:16px;display:grid!important;place-items:center;flex-shrink:0;margin:0;font-size:0}
.ic svg{width:24px;height:24px}
.ic.heat{background:linear-gradient(135deg,rgba(223,98,0,.16),rgba(223,98,0,.06));color:var(--heat)}
.ic.cool{background:linear-gradient(135deg,rgba(20,94,149,.16),rgba(20,94,149,.06));color:var(--cool)}
.dark .ic.heat{background:rgba(245,154,85,.14);color:var(--heat-hi)}
.dark .ic.cool{background:rgba(125,174,207,.14);color:var(--cool-hi)}

/* ---------- reveal on scroll ---------- */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}.rv-d4{transition-delay:.32s}

/* ===================================================================
   TOP BAR
   =================================================================== */
.topbar{background:var(--navy);color:#fff;font-size:.8125rem;position:relative;z-index:60}
.topbar .container{display:flex;align-items:center;justify-content:space-between;min-height:40px;gap:16px}
.topbar-left{display:flex;align-items:center;flex-wrap:nowrap;overflow:hidden}
.topbar-left>*{display:inline-flex;align-items:center;gap:8px;padding:0 16px;position:relative;white-space:nowrap;color:var(--fog)}
.topbar-left>*+*::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:14px;background:rgba(255,255,255,.18)}
.topbar-left>*:first-child{padding-left:0}
.topbar-left svg{width:14px;height:14px;color:var(--cool-hi)}
.topbar-right{display:flex;align-items:center;gap:14px}
.emergency-pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:4px 0;margin:-2px 0;font-family:var(--font-body);font-size:0.8125rem;font-weight:600;color:var(--heat-hi)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--heat-hi);position:relative;box-shadow:0 0 10px var(--heat-hi)}
.dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;background:var(--heat-hi);opacity:.5;animation:ping 2s ease-out infinite}
.dot.green,.dot.green::after{background:#3ddc84;box-shadow:0 0 10px #3ddc84}
@keyframes ping{0%{transform:scale(.6);opacity:.6}100%{transform:scale(2.2);opacity:0}}
@media(max-width:760px){.topbar-left>*:nth-child(n+2){display:none}.topbar-left>*:first-child{padding-left:0}}

/* ===================================================================
   HEADER
   =================================================================== */
.header{position:sticky;top:0;z-index:50;background:rgba(247,249,251,.82);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color var(--dur-base),box-shadow var(--dur-base),background var(--dur-base)}
.header.scrolled{border-bottom-color:var(--mist);box-shadow:0 8px 30px -18px rgba(9,44,71,.35);background:rgba(247,249,251,.94)}
.header .container{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);gap:16px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand-mark{width:48px;height:48px;border-radius:50%;background:conic-gradient(from -90deg,var(--heat) 0 180deg,var(--cool) 180deg 360deg);position:relative;display:grid;place-items:center;transition:transform var(--dur-slow) var(--ease-spring)}
.brand:hover .brand-mark{transform:rotate(180deg)}
.brand-mark::before{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,transparent 0 5deg,var(--paper) 5deg 10deg);mask:radial-gradient(circle,transparent 32%,#000 33%);-webkit-mask:radial-gradient(circle,transparent 32%,#000 33%)}
.brand-mark::after{content:"";position:absolute;width:56%;height:56%;border-radius:50%;background:var(--paper)}
.brand-mark span{position:absolute;left:50%;top:50%;width:52%;height:2.5px;background:var(--ink);transform:translate(-4%,-50%);border-radius:2px;z-index:2}
.brand-name{display:flex;flex-direction:column;line-height:1}
.brand-name strong{font-family:var(--font-display);font-weight:800;font-size:1.25rem;letter-spacing:-.02em;color:var(--ink)}
.brand-name small{font-family:var(--font-body);font-size:0.8125rem;color:var(--heat-text);margin-top:3px;font-weight:600}
.nav{display:flex;align-items:center;gap:2px}
.nav>li{position:relative}
.nav-link{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:10px 14px;border-radius:var(--r-pill);font-weight:600;font-size:.9375rem;color:var(--ink);transition:background var(--dur-fast),color var(--dur-fast)}
.nav-link svg{width:14px;height:14px;transition:transform var(--dur-base) var(--ease-out)}
.nav-link:hover,.nav>li:hover>.nav-link,.nav>li:focus-within>.nav-link{background:rgba(20,94,149,.08);color:var(--cool)}
.nav>li:hover>.nav-link svg,.nav>li:focus-within>.nav-link svg{transform:rotate(180deg)}
.header-cta{display:flex;align-items:center;gap:10px}
.btn-call{display:inline-flex;align-items:center;gap:10px;background:var(--heat-btn);color:#fff;border-radius:var(--r-pill);padding:7px 20px 7px 8px;min-height:48px;box-shadow:var(--sh-heat);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base),background var(--dur-base)}
.btn-call:hover{transform:translateY(-2px);background:var(--heat)}
.btn-call .ring{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center}
.btn-call .ring svg{width:16px;height:16px}
.burger{display:none;width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;place-items:center}
.burger svg{width:22px;height:22px}

/* mega menu */
.mega{position:fixed;left:50%;top:calc(var(--header-h) + 40px);transform:translateX(-50%) translateY(8px);width:min(1000px,calc(100vw - 48px));background:#fff;border:1px solid var(--mist);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:28px;display:grid;grid-template-columns:1.1fr 1.1fr 1fr 1.15fr;gap:24px;opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),visibility 0s linear var(--dur-base);z-index:70}
.header.scrolled .mega{top:var(--header-h)}
.nav>li:hover>.mega,.nav>li.kb-open>.mega{opacity:1;pointer-events:auto;visibility:visible;transform:translateX(-50%) translateY(0);transition-delay:0s}
.mega-col h3{font-family:var(--font-body);font-size:0.8125rem;color:var(--slate);margin-bottom:12px;display:flex;align-items:center;gap:8px;font-weight:600}
.mega-col h4 i{width:8px;height:8px;border-radius:50%;display:inline-block}
.mega-col a{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;margin:0 -10px;border-radius:10px;font-size:.9375rem;font-weight:500;color:var(--ink);transition:background var(--dur-fast),color var(--dur-fast),padding-left var(--dur-fast)}
.mega-col a:hover{background:var(--paper);color:var(--cool);padding-left:14px}
.mega-col a svg{width:14px;height:14px;opacity:0;transition:opacity var(--dur-fast)}
.mega-col a:hover svg{opacity:1}
.mega-feature{background:var(--navy);color:#fff;border-radius:var(--r-md);padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;position:relative;overflow:hidden}
.mega-feature::before{content:"";position:absolute;width:260px;height:260px;right:-100px;top:-100px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(245,154,85,.35) 0 4deg,transparent 4deg 9deg);mask:radial-gradient(circle,transparent 30%,#000 31%,#000 60%,transparent 61%);-webkit-mask:radial-gradient(circle,transparent 30%,#000 31%,#000 60%,transparent 61%);animation:spin 40s linear infinite}
.mega-feature strong{font-family:var(--font-display);font-size:1.375rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;position:relative}
.mega-feature p{color:var(--fog);font-size:.875rem;position:relative}
@keyframes spin{to{transform:rotate(360deg)}}
.dd{position:absolute;left:0;top:calc(100% + 8px);min-width:240px;background:#fff;border:1px solid var(--mist);border-radius:var(--r-md);box-shadow:var(--sh-3);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--dur-base),transform var(--dur-base),visibility 0s linear var(--dur-base);z-index:70}
.nav>li:hover>.dd,.nav>li.kb-open>.dd{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.dd a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-size:.9375rem;font-weight:500;transition:background var(--dur-fast)}
.dd a:hover{background:var(--paper)}
.dd a svg{width:18px;height:18px;color:var(--cool)}

@media(max-width:1480px){.header-cta .btn-ghost{display:none}}
@media(max-width:1100px){.nav{display:none}.burger{display:grid}.header-cta .btn-ghost{display:none}}
@media(max-width:560px){.header .brand-name{display:none}.btn-call .btn-stack strong{font-size:1rem}.btn-call .btn-stack small{display:none}}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:90;visibility:hidden;pointer-events:none;overflow:hidden}
.drawer.open{visibility:visible;pointer-events:auto}
.drawer-scrim{position:absolute;inset:0;background:rgba(9,44,71,.55);opacity:0;transition:opacity var(--dur-slow)}
.drawer.open .drawer-scrim{opacity:1}
.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(420px,92vw);background:var(--navy);color:#fff;transform:translateX(100%);transition:transform var(--dur-slow) var(--ease-out);display:flex;flex-direction:column;overflow:auto;padding:20px 22px 120px}
.drawer.open .drawer-panel{transform:none}
.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.drawer-close{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center}
.drawer-close svg{width:22px;height:22px}
.drawer details{border-top:1px solid rgba(255,255,255,.1)}
.drawer summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:16px 4px;font-family:var(--font-display);font-size:1.25rem;font-weight:700;cursor:pointer;min-height:56px}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary svg{width:18px;height:18px;transition:transform var(--dur-base)}
.drawer details[open] summary svg{transform:rotate(180deg)}
.drawer details a{display:block;padding:12px 4px 12px 16px;color:var(--fog);font-size:1rem;border-left:2px solid rgba(255,255,255,.1);margin-left:4px;min-height:44px}
.drawer details a:hover{color:#fff;border-left-color:var(--heat-hi)}
.drawer>.drawer-panel>a.single{display:flex;align-items:center;justify-content:space-between;padding:16px 4px;font-family:var(--font-display);font-size:1.25rem;font-weight:700;border-top:1px solid rgba(255,255,255,.1);min-height:56px}
.drawer-cta{margin-top:24px;display:grid;gap:10px}

/* ===================================================================
   HERO
   =================================================================== */
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;isolation:isolate;--mix:0}
.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-glow-heat,.hero-glow-cool{position:absolute;width:70vmax;height:70vmax;border-radius:50%;filter:blur(90px);opacity:.42;transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}
.hero-glow-heat{background:radial-gradient(circle,rgba(245,154,85,.9),rgba(223,98,0,.2) 45%,transparent 70%);left:-20vmax;top:-30vmax}
.hero-glow-cool{background:radial-gradient(circle,rgba(125,174,207,.85),rgba(20,94,149,.25) 45%,transparent 70%);right:-25vmax;bottom:-35vmax}
.hero.is-heat .hero-glow-cool{opacity:.15}.hero.is-heat .hero-glow-heat{opacity:.6;transform:scale(1.15)}
.hero.is-cool .hero-glow-heat{opacity:.12}.hero.is-cool .hero-glow-cool{opacity:.6;transform:scale(1.15)}
.hero-rays{position:absolute;right:-18vw;top:50%;width:min(1100px,110vw);aspect-ratio:1;transform:translateY(-50%);border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.055) 0 2deg,transparent 2deg 7.5deg);mask:radial-gradient(circle,transparent 27%,#000 30%,#000 56%,transparent 64%);-webkit-mask:radial-gradient(circle,transparent 27%,#000 30%,#000 56%,transparent 64%);animation:spin 120s linear infinite;opacity:.75}
.hero-rays::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(180deg,rgba(245,154,85,.34) 0 49.5%,rgba(125,174,207,.34) 50.5% 100%);mix-blend-mode:overlay}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask:radial-gradient(ellipse at 30% 40%,#000 20%,transparent 75%);-webkit-mask:radial-gradient(ellipse at 30% 40%,#000 20%,transparent 75%)}
.hero .container{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center;padding:clamp(56px,7vw,110px) 0 clamp(64px,7vw,110px)}
.hero-copy{position:relative}
.hero-kicker{display:inline-flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;border-radius:var(--r-pill);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:.875rem;font-weight:500;color:var(--fog);margin-bottom:28px;backdrop-filter:blur(8px)}
.hero-kicker .badge{display:inline-flex;align-items:center;gap:6px;background:var(--heat-btn);color:#fff;border-radius:var(--r-pill);padding:4px 10px;font-family:var(--font-body);font-size:0.8125rem;font-weight:600}
.hero-kicker .badge svg{width:12px;height:12px}
.hero h1{font-size:var(--fs-hero);font-weight:800;letter-spacing:-.04em;line-height:.95;margin-bottom:24px}
.hero h1 .line{display:block}
.hero h1 .w{display:inline-block;position:relative;transition:opacity .6s}
.hero.is-cool h1 .w.heat-word{opacity:.45}.hero.is-heat h1 .w.cool-word{opacity:.45}
.hero h1 .w.small{font-weight:500;letter-spacing:-.03em;color:#fff}
.hero .lede{margin-bottom:34px;font-size:clamp(1.0625rem,1rem + .4vw,1.3125rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:38px}
.hero-proof{display:flex;flex-wrap:wrap;gap:22px 32px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}
.proof{display:flex;flex-direction:column;gap:2px}
.proof strong{font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:-.02em;line-height:1;display:flex;align-items:center;gap:6px}
.proof strong svg{width:18px;height:18px;color:#ffb020}
.proof span{font-size:.8125rem;color:var(--fog)}

/* hero visual: layered stage */
.hero-stage{position:relative;aspect-ratio:1/1.02;max-width:600px;margin-inline:auto;width:100%}
.stage-photo{position:absolute;inset:8% 4% 10% 6%;border-radius:44% 56% 52% 48%/48% 44% 56% 52%;overflow:hidden;box-shadow:var(--sh-3),0 0 0 1px rgba(255,255,255,.08);animation:morph 18s ease-in-out infinite alternate;background:var(--navy-2)}
.stage-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease-out)}
.hero-stage:hover .stage-photo img{transform:scale(1.09)}
.stage-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(9,44,71,.55));pointer-events:none}
@keyframes morph{0%{border-radius:44% 56% 52% 48%/48% 44% 56% 52%}50%{border-radius:52% 48% 44% 56%/44% 56% 48% 52%}100%{border-radius:48% 52% 56% 44%/56% 48% 52% 44%}}
.stage-ring{position:absolute;inset:-2%;border-radius:50%;border:1.5px dashed rgba(255,255,255,.14);animation:spin 90s linear infinite reverse}
.stage-ring i{position:absolute;width:10px;height:10px;border-radius:50%;left:50%;top:-5px;transform:translateX(-50%);background:var(--heat-hi);box-shadow:0 0 14px var(--heat-hi)}
.stage-ring i:nth-child(2){top:auto;bottom:-5px;background:var(--cool-hi);box-shadow:0 0 14px var(--cool-hi)}
.chip{position:absolute;display:flex;align-items:center;gap:12px;background:rgba(14,54,86,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:12px 16px 12px 12px;box-shadow:var(--sh-3);animation:float 7s ease-in-out infinite}
.chip .ic{width:42px;height:42px;border-radius:12px}
.chip .ic svg{width:20px;height:20px}
.chip strong{display:block;font-family:var(--font-display);font-size:1.125rem;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.chip span:not(.ic){display:block;font-size:.75rem;color:var(--fog);margin-top:2px}
.chip-1{left:-4%;top:14%;animation-delay:-1s}
.chip-2{right:-3%;top:44%;animation-delay:-3.5s}
.chip-3{left:6%;bottom:2%;animation-delay:-6s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* thermostat control */
.thermo{position:absolute;right:2%;bottom:-2%;width:132px;height:132px;border-radius:50%;background:var(--navy);border:1px solid rgba(255,255,255,.12);box-shadow:var(--sh-3),inset 0 0 0 10px var(--navy-2);display:grid;place-items:center;cursor:ew-resize;user-select:none;touch-action:none}
.thermo::before{content:"";position:absolute;inset:6px;border-radius:50%;background:conic-gradient(from 225deg,var(--cool-hi) 0deg,var(--cool) 100deg,transparent 100deg 170deg,var(--heat) 170deg,var(--heat-hi) 270deg,transparent 270deg);mask:radial-gradient(circle,transparent 82%,#000 83%);-webkit-mask:radial-gradient(circle,transparent 82%,#000 83%);opacity:.9}
.thermo-read{text-align:center;pointer-events:none}
.thermo-read b{display:block;font-family:var(--font-display);font-size:1.75rem;font-weight:800;letter-spacing:-.03em;line-height:1}
.thermo-read small{display:block;font-family:var(--font-body);font-size:0.8125rem;color:var(--fog);margin-top:4px}
.thermo-needle{position:absolute;left:50%;top:50%;width:4px;height:50%;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(var(--deg,0deg));pointer-events:none;transition:transform .35s var(--ease-out)}
.thermo-needle::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff}
.thermo-hint{position:absolute;right:calc(2% + 140px);bottom:22px;font-family:var(--font-body);font-size:0.8125rem;color:var(--fog);white-space:nowrap;display:flex;align-items:center;gap:8px}
.thermo-hint::after{content:"";width:28px;height:1px;background:var(--fog)}

@media(max-width:980px){
  .hero .container{grid-template-columns:1fr;padding-top:40px}
  .hero-stage{max-width:520px;aspect-ratio:1/.95}
  .hero-actions .btn{flex:1 1 auto}
}
@media(max-width:560px){
  .hero h1{letter-spacing:-.035em}
  .chip-1{left:-2%;top:8%}.chip-2{right:-2%}.chip-3{display:none}
  .thermo{width:104px;height:104px;box-shadow:var(--sh-3),inset 0 0 0 7px var(--navy-2)}
  .thermo-read b{font-size:1.375rem}.thermo-hint{display:none}
  .hero-proof{gap:16px 22px}.proof strong{font-size:1.25rem}
}

/* ===================================================================
   TRUST MARQUEE (thermal strip)
   =================================================================== */
.strip{background:var(--paper);position:relative;overflow:hidden;border-bottom:1px solid var(--mist)}
.strip .tline{position:absolute;left:0;right:0;top:0}
.marquee{display:flex;gap:0;padding:18px 0;white-space:nowrap;overflow:hidden;mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;gap:44px;padding-right:44px;animation:marquee 46s linear infinite;flex-shrink:0}
.strip:hover .marquee-track{animation-play-state:paused}
.marquee-track span{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:0.8125rem;font-weight:600;color:var(--ink)}
.marquee-track span svg{width:14px;height:14px;color:var(--heat)}
.marquee-track span:nth-child(even) svg{color:var(--cool)}
@keyframes marquee{to{transform:translateX(-100%)}}

/* ===================================================================
   SECTION SCAFFOLD
   =================================================================== */
.section{padding:clamp(72px,9vw,128px) 0;position:relative}
.section-head{display:grid;grid-template-columns:1fr auto;gap:24px 48px;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.section-head .eyebrow{margin-bottom:16px}
.section-head .lede{margin-top:18px}
@media(max-width:800px){.section-head{grid-template-columns:1fr}}

/* ===================================================================
   SERVICES — interactive climate selector
   =================================================================== */
.services{background:var(--paper);overflow:hidden}
.services::before{content:"";position:absolute;left:-30vw;top:-20vw;width:70vw;height:70vw;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(20,94,149,.06) 0 2deg,transparent 2deg 8deg);mask:radial-gradient(circle,transparent 35%,#000 36%,#000 65%,transparent 66%);-webkit-mask:radial-gradient(circle,transparent 35%,#000 36%,#000 65%,transparent 66%);pointer-events:none}
.services .section-head{grid-template-columns:1fr;justify-items:start;gap:28px}
.seg{display:inline-flex;padding:6px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--mist);box-shadow:var(--sh-1);position:relative;gap:4px}
.seg button{position:relative;z-index:1;padding:12px 22px;border-radius:var(--r-pill);font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--slate);display:inline-flex;align-items:center;gap:8px;min-height:48px;transition:color var(--dur-base)}
.seg button svg{width:18px;height:18px}
.seg button[aria-selected=true]{color:#fff}
.seg-thumb{position:absolute;top:6px;bottom:6px;left:6px;border-radius:var(--r-pill);background:var(--ink);transition:left var(--dur-slow) var(--ease-spring),width var(--dur-slow) var(--ease-spring),background var(--dur-slow)}
.seg[data-mode=heat] .seg-thumb{background:linear-gradient(135deg,#DF6200,#B04D00)}
.seg[data-mode=cool] .seg-thumb{background:var(--grad-cool)}
.seg[data-mode=air] .seg-thumb{background:linear-gradient(135deg,#2c8f7c,#092C47)}
.svc-stage{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,56px);align-items:start}
.svc-panel{display:none}
.svc-panel.active{display:contents}
.svc-list{counter-reset:svc}
.svc-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:22px 8px;border-bottom:1px solid var(--mist);position:relative;color:var(--ink);transition:padding-left var(--dur-base) var(--ease-out);cursor:pointer;min-height:64px}
.svc-row:first-child{border-top:1px solid var(--mist)}
.svc-row::before{counter-increment:svc;content:"0" counter(svc);font-family:var(--font-body);font-size:0.8125rem;color:var(--slate);width:28px}
.svc-row .t{display:flex;flex-direction:column;gap:4px}
.svc-row .t strong{font-family:var(--font-display);font-size:clamp(1.25rem,1rem + 1vw,1.875rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;transition:color var(--dur-base)}
.svc-row .t span{font-size:1.0625rem;line-height:1.55;color:var(--slate);max-width:44ch}
.svc-row .go{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--mist);display:grid;place-items:center;transition:background var(--dur-base),border-color var(--dur-base),transform var(--dur-base) var(--ease-out),color var(--dur-base)}
.svc-row .go svg{width:18px;height:18px}
.svc-row::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--accent,var(--heat));transition:width var(--dur-slow) var(--ease-out)}
.svc-row:hover,.svc-row.active{padding-left:14px}
.svc-row:hover .t strong,.svc-row.active .t strong{color:var(--accent,var(--heat))}
.svc-row:hover .go,.svc-row.active .go{background:var(--accent,var(--heat));border-color:var(--accent,var(--heat));color:#fff;transform:rotate(-45deg)}
.svc-row:hover::after,.svc-row.active::after{width:100%}
.svc-panel[data-mode=heat]{--accent:var(--heat)}
.svc-panel[data-mode=cool]{--accent:var(--cool)}
.svc-panel[data-mode=air]{--accent:#1f7a69}
.svc-visual{position:sticky;top:calc(var(--header-h) + 24px)}
.svc-card{border-radius:var(--r-xl);overflow:hidden;position:relative;aspect-ratio:4/4.6;background:var(--navy);color:#fff;box-shadow:var(--sh-3)}
.svc-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s var(--ease-out),transform 1.4s var(--ease-out);transform:scale(1.06)}
.svc-card img.show{opacity:1;transform:scale(1)}
.svc-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,44,71,.1),rgba(9,44,71,.35) 50%,rgba(9,44,71,.9))}
.svc-card-body{position:absolute;inset:auto 0 0 0;padding:28px;z-index:1;display:flex;flex-direction:column;gap:14px}
.svc-card-body .eyebrow{color:var(--heat-hi)}
.svc-card-body h3{font-size:clamp(1.5rem,1.2rem + 1vw,2.25rem);letter-spacing:-.03em}
.svc-card-body p{color:var(--fog);font-size:.9375rem;max-width:40ch}
.svc-card-body .price{font-family:var(--font-body);font-size:0.8125rem;color:#fff;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-xs);background:rgba(255,255,255,.1);width:fit-content}
.svc-card-body .price b{color:var(--heat-hi)}
.svc-glyph{position:absolute;right:-40px;top:-40px;width:260px;height:260px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.14) 0 3deg,transparent 3deg 9deg);mask:radial-gradient(circle,transparent 30%,#000 31%,#000 58%,transparent 59%);-webkit-mask:radial-gradient(circle,transparent 30%,#000 31%,#000 58%,transparent 59%);animation:spin 60s linear infinite;z-index:1}
@media(max-width:900px){.svc-stage{grid-template-columns:1fr}.svc-visual{position:relative;top:0;order:-1}.svc-card{aspect-ratio:16/12}.svc-card::after{background:linear-gradient(180deg,rgba(9,44,71,0) 20%,rgba(9,44,71,.55) 55%,rgba(9,44,71,.95))}.svc-card-body{padding:20px}.svc-card-body p{display:none}.svc-card-body h3{font-size:1.5rem}.seg{width:100%;justify-content:space-between}.seg button{flex:1;justify-content:center;padding:12px 10px;font-size:.9375rem}.seg button span{display:none}}

/* ---- */

/* ===================================================================
   BRANDS — manufacturer support
   =================================================================== */
.brands{background:#fff;border-top:1px solid var(--mist);border-bottom:1px solid var(--mist);padding:clamp(64px,7vw,96px) 0}
.brands .section-head{grid-template-columns:1fr;justify-items:center;text-align:center;margin-bottom:clamp(32px,4vw,48px)}
.brands .lede{margin-inline:auto;text-align:center}
.brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bcard{padding:26px 22px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;border-radius:var(--r-lg);position:relative;overflow:hidden}
.bcard::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad-thermal);opacity:0;transition:opacity var(--dur-base)}
.bcard:hover::before{opacity:1}
.bcard .logo{height:56px;width:100%;display:grid;place-items:center;margin-bottom:6px}
.bcard .logo img{max-height:44px;max-width:150px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.85;transition:filter var(--dur-base),opacity var(--dur-base)}
.bcard:hover .logo img{filter:none;opacity:1}
.bcard .logo .wm{font-family:var(--font-display);font-weight:800;font-size:1.5rem;letter-spacing:-.03em;color:var(--ink);text-transform:uppercase;display:none}
.bcard .logo.nologo img{display:none}.bcard .logo.nologo .wm{display:block;line-height:1}
.bcard:has(.nologo) strong{display:none}
.bcard strong{font-family:var(--font-display);font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.bcard span{font-size:.8125rem;color:var(--slate)}
.brands-foot{margin-top:26px;text-align:center;font-size:.9375rem;color:var(--slate)}
.brands-foot a{color:var(--cool);font-weight:600;text-decoration:underline;text-underline-offset:4px}
@media(max-width:980px){.brand-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.brand-grid{grid-template-columns:1fr 1fr;gap:10px}.bcard{padding:20px 14px 18px}.bcard .logo{height:44px}.bcard .logo img{max-height:34px;max-width:120px}.bcard .logo .wm{font-size:1.125rem}.bcard span{display:none}}

/* ===================================================================
   EMERGENCY — dispatch console on navy with a heat bleed
   =================================================================== */
.emergency{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:clamp(80px,9vw,128px) 0;isolation:isolate}
.emergency::before{content:"";position:absolute;right:-10vw;top:50%;transform:translateY(-50%);width:min(900px,80vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(245,154,85,.55),rgba(223,98,0,.18) 40%,transparent 68%);filter:blur(40px);z-index:-1}
.emergency::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad-heat);box-shadow:0 0 30px rgba(245,154,85,.6)}
.em-rays{position:absolute;right:-14vw;top:50%;width:min(1000px,90vw);aspect-ratio:1;transform:translateY(-50%);border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(245,154,85,.14) 0 1.5deg,transparent 1.5deg 7deg);mask:radial-gradient(circle,transparent 36%,#000 38%,#000 58%,transparent 66%);-webkit-mask:radial-gradient(circle,transparent 36%,#000 38%,#000 58%,transparent 66%);animation:spin 100s linear infinite;z-index:-1;pointer-events:none}
.em-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,96px);align-items:center;position:relative}
.em-live{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:0.8125rem;font-weight:600;color:var(--heat-hi);margin-bottom:26px}
.emergency h2{font-size:clamp(2.75rem,2rem + 4vw,5.75rem);letter-spacing:-.045em;line-height:.93;color:#fff}
.emergency h2 em{font-style:normal;color:var(--heat-hi)}
.emergency .lede{color:var(--fog);margin-top:24px;max-width:50ch}
.em-points{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px}
.em-points li{display:inline-flex;align-items:center;gap:8px;font-size:.9375rem;color:#fff;font-weight:500}
.em-points svg{width:18px;height:18px;color:var(--heat-hi);flex-shrink:0}
/* console */
.console{position:relative;border-radius:var(--r-xl);padding:clamp(26px,3vw,40px);background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--sh-3),inset 0 1px 0 rgba(255,255,255,.12)}
.console-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px}
.console-head .eyebrow{color:var(--fog);margin:0;white-space:nowrap}
.console-head .status{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--r-pill);background:rgba(61,220,132,.12);border:1px solid rgba(61,220,132,.35);font-family:var(--font-body);font-size:0.8125rem;color:#7fe6a9;font-weight:600;white-space:nowrap}
.console-head .status .dot,.console-head .status .dot::after{width:7px;height:7px;background:#3ddc84;box-shadow:0 0 10px #3ddc84}
.bigcall{display:block;color:#fff;font-family:var(--font-display);font-weight:800;font-size:clamp(2.25rem,1.6rem + 2.4vw,3.75rem);letter-spacing:-.045em;line-height:1;white-space:nowrap;transition:color var(--dur-base)}
.bigcall:hover{color:var(--heat-hi)}
.bigcall small{display:block;font-family:var(--font-body);font-size:0.8125rem;color:var(--fog);font-weight:600;margin-bottom:10px}
.console-actions{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}
.console-actions .btn{flex:1 1 auto}
.gauges{display:grid;grid-template-columns:auto 1fr 1fr;gap:18px;align-items:center;margin-top:28px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12)}
.gring{--p:75;width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--heat-hi) calc(var(--p)*1%),rgba(255,255,255,.1) 0);display:grid;place-items:center;position:relative;flex-shrink:0}
.gring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--navy)}
.gring div{position:relative;text-align:center;line-height:1}
.gring b{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:-.03em}
.gring small{display:block;font-family:var(--font-body);font-size:0.8125rem;color:var(--fog);margin-top:3px;font-weight:600}
.gauge b{display:block;font-family:var(--font-display);font-size:1.75rem;font-weight:800;letter-spacing:-.03em;line-height:1}
.gauge span{display:block;font-size:.75rem;color:var(--fog);margin-top:5px;line-height:1.35}
@media(max-width:900px){.em-grid{grid-template-columns:1fr}.emergency::before{right:-40vw;top:auto;bottom:-30vw;transform:none}.em-rays{display:none}.gauges{grid-template-columns:auto 1fr 1fr;gap:14px}.bigcall{font-size:clamp(2rem,1.4rem + 4vw,2.75rem)}}
@media(max-width:480px){.gauges{grid-template-columns:auto 1fr}.gauge:last-child{grid-column:2}.gring{width:80px;height:80px}}

/* ===================================================================
   WHY US — editorial ghost numerals
   =================================================================== */
.why{background:var(--paper-warm);overflow:hidden}
.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,80px);align-items:center}
.why-photo{position:relative}
.why-photo .frame{border-radius:var(--r-xl) var(--r-xl) var(--r-xl) 120px;overflow:hidden;aspect-ratio:4/4.4;box-shadow:var(--sh-3);position:relative}
.why-photo .frame img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.why-photo .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(9,44,71,.45))}
.why-photo .since{position:absolute;right:-18px;top:-18px;width:132px;height:132px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;text-align:center;box-shadow:var(--sh-3);animation:spin 30s linear infinite}
.why-photo .since svg{position:absolute;inset:0;width:100%;height:100%}
.why-photo .since svg text{font-family:var(--font-body);font-size:10px;letter-spacing:2.2px;fill:var(--fog);font-weight:600}
.why-photo .since b{font-family:var(--font-display);font-size:1.75rem;font-weight:800;letter-spacing:-.03em;animation:spin 30s linear infinite reverse;display:block}
.why-photo .quote{position:absolute;left:-12px;bottom:32px;max-width:280px;background:#fff;border-radius:var(--r-md);padding:18px 20px;box-shadow:var(--sh-2);border-left:4px solid var(--heat)}
.why-photo .quote p{font-family:var(--font-display);font-weight:600;font-size:1.0625rem;line-height:1.3;letter-spacing:-.01em}
.why-photo .quote span{display:block;font-family:var(--font-body);font-size:0.8125rem;color:var(--slate);margin-top:8px}
.why-copy .h2{margin:16px 0 20px}
.why-points{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin-top:32px}
.why-points li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid rgba(9,44,71,.1)}
.why-points .ic{width:44px;height:44px;border-radius:12px}
.why-points .ic svg{width:20px;height:20px}
.why-points strong{display:block;font-family:var(--font-display);font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.why-points span:not(.ic){display:block;font-size:.875rem;color:var(--slate);margin-top:3px;line-height:1.45}
.stats-band{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:repeat(4,1fr)}
.stat{position:relative;padding:8px 32px 0 0}
.stat+.stat{padding-left:32px}
.stat+.stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:2px;background:var(--grad-thermal);opacity:.5}
.stat b{display:block;font-family:var(--font-display);font-size:clamp(2.5rem,2rem + 2.2vw,4.25rem);font-weight:800;letter-spacing:-.045em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.stat b .num{font:inherit;letter-spacing:inherit}
.stat b i{font-style:normal;color:var(--heat-text)}
.stat b i svg{width:.6em;height:.6em;vertical-align:-.02em;margin-left:.06em}
.stat>span{display:block;margin-top:10px;font-size:1rem;color:var(--slate);max-width:18ch;line-height:1.45}
@media(max-width:980px){.why-grid{grid-template-columns:1fr}.why-photo{max-width:560px}.stats-band{grid-template-columns:1fr 1fr;row-gap:36px}.stat:nth-child(3){padding-left:0}.stat:nth-child(3)::before{display:none}}
@media(max-width:560px){.why-points{grid-template-columns:1fr}.why-photo .since{width:104px;height:104px;right:-6px}.why-photo .since b{font-size:1.375rem}.why-photo .quote{left:0;max-width:240px;bottom:16px}.stats-band{row-gap:28px}.stat+.stat{padding-left:18px}.stat:nth-child(3){padding-left:0}.stat{padding-right:12px}.stat b{font-size:2.125rem}.stat>span{font-size:.9375rem}}

/* ===================================================================
   REVIEWS — score panel + editorial quotes
   =================================================================== */
.reviews{background:var(--navy);color:#fff;overflow:hidden}
.reviews::before{content:"";position:absolute;left:-20vw;bottom:-40vw;width:70vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(125,174,207,.28),transparent 65%);filter:blur(50px);pointer-events:none}
.rev-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,96px);align-items:start}
.score{position:sticky;top:calc(var(--header-h) + 32px)}
.score .h2{margin:16px 0 30px}
.score-big{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}
.score-big b{font-family:var(--font-display);font-size:clamp(5rem,4rem + 4vw,8.5rem);font-weight:800;letter-spacing:-.06em;line-height:.85;background:linear-gradient(180deg,#fff,#cfe0ec);-webkit-background-clip:text;background-clip:text;color:transparent}
.score-big .stars{display:flex;gap:4px;color:#ffb020;margin-bottom:8px}
.score-big .stars svg{width:22px;height:22px}
.score-big small{display:block;font-size:.9375rem;color:var(--fog);margin-top:6px}
.score-big small strong{color:#fff;font-weight:600}
.locbars{margin-top:34px;display:grid;gap:14px}
.locbar{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:14px;font-size:.9375rem}
.locbar .n{font-weight:600}
.locbar .bar{height:8px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.locbar .bar i{display:block;height:100%;width:var(--w);border-radius:4px;background:var(--grad-thermal);transform-origin:left;transform:scaleX(0);transition:transform 1.1s var(--ease-out)}
.rv.in .locbar .bar i,.locbars.in .bar i{transform:scaleX(1)}
.locbar .c{font-family:var(--font-body);font-size:0.8125rem;color:var(--fog);white-space:nowrap}
.locbar .c b{color:#fff;font-weight:600}
.gbadge{display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:11px 14px;min-height:44px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.14);font-size:.8125rem;color:var(--fog)}
.gbadge i{width:20px;height:20px;border-radius:50%;background:conic-gradient(#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%);display:inline-block;mask:radial-gradient(circle,transparent 40%,#000 41%);-webkit-mask:radial-gradient(circle,transparent 40%,#000 41%)}
/* quotes */
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quotes>*:nth-child(even){transform:translateY(36px)}
.review{position:relative;padding:26px 26px 24px 28px;display:flex;flex-direction:column;gap:16px;background:rgba(255,255,255,.04);border-radius:var(--r-lg);border:1px solid rgba(255,255,255,.07);transition:background var(--dur-base),border-color var(--dur-base)}
.review::before{content:"";position:absolute;left:0;top:26px;bottom:26px;width:3px;border-radius:3px;background:var(--grad-thermal)}
.review:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}
.review.lead{grid-column:span 2;padding:34px 36px 30px;background:linear-gradient(135deg,rgba(245,154,85,.12),rgba(125,174,207,.08));border-color:rgba(255,255,255,.12)}
.review.lead::before{display:none}
.review.lead blockquote{font-size:clamp(1.375rem,1.15rem + 1vw,1.875rem);font-weight:600;letter-spacing:-.02em;line-height:1.3}
.review .stars{display:flex;gap:3px;color:#ffb020}
.review .stars svg{width:15px;height:15px}
.review blockquote{margin:0;font-family:var(--font-display);font-weight:500;font-size:1.0625rem;line-height:1.45;letter-spacing:-.01em;color:#fff;flex:1}
.review.lead blockquote::before{content:"“";display:block;font-size:4rem;line-height:.5;color:var(--heat-hi);margin-bottom:14px;font-weight:800}
.review footer{display:flex;align-items:center;gap:12px}
.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:.8125rem;letter-spacing:.02em;color:#fff;background:conic-gradient(from -90deg,var(--heat) 0 180deg,var(--cool) 180deg 360deg);flex-shrink:0}
.review footer b{display:block;font-size:.9375rem;font-weight:600}
.review footer div span{display:block;font-size:0.8125rem;color:var(--fog);font-family:var(--font-body);margin-top:2px}
.review footer .g{margin-left:auto;font-family:var(--font-body);font-size:0.8125rem;color:var(--fog);display:inline-flex;align-items:center;gap:6px}
.review footer .g i{width:12px;height:12px;border-radius:50%;background:conic-gradient(#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%);display:inline-block;mask:radial-gradient(circle,transparent 40%,#000 41%);-webkit-mask:radial-gradient(circle,transparent 40%,#000 41%)}
.rev-cta{grid-column:span 2;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-top:36px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1);color:var(--fog);font-size:.9375rem}
@media(max-width:980px){.rev-grid{grid-template-columns:1fr}.score{position:static}.quotes>*:nth-child(even){transform:none}}
@media(max-width:600px){.quotes{grid-template-columns:1fr}.review.lead{grid-column:span 1;padding:28px 24px}.rev-cta{grid-column:span 1}.locbar{grid-template-columns:90px 1fr auto;gap:10px}.review footer .g{display:none}}

/* ===================================================================
   PRICING + FINANCING — bento
   =================================================================== */
.money{background:var(--paper)}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.b-price{grid-column:span 7;padding:clamp(26px,3vw,40px);position:relative;overflow:hidden}
.b-fin{grid-column:span 5;padding:clamp(26px,3vw,40px);background:var(--navy);color:#fff;border-color:transparent;position:relative;overflow:hidden}
.b-fin::before{content:"";position:absolute;right:-90px;bottom:-90px;width:300px;height:300px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(125,174,207,.25) 0 3deg,transparent 3deg 9deg);mask:radial-gradient(circle,transparent 30%,#000 31%,#000 60%,transparent 61%);-webkit-mask:radial-gradient(circle,transparent 30%,#000 31%,#000 60%,transparent 61%);animation:spin 50s linear infinite}
.b-diag{grid-column:span 4;padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;background:var(--grad-heat);color:#fff;border-color:transparent}
.b-diag .eyebrow{color:#fff}
.b-diag .big{font-family:var(--font-display);font-size:clamp(3.5rem,2.5rem + 2.5vw,5rem);font-weight:800;letter-spacing:-.05em;line-height:.9}
.b-diag .big sup{font-size:.4em;vertical-align:top;top:.4em;position:relative;font-weight:600}
.b-warr{grid-column:span 4;padding:26px;display:flex;flex-direction:column;gap:14px}
.b-brand{grid-column:span 4;padding:26px;display:flex;flex-direction:column;gap:14px}
.card h3{font-size:var(--fs-h3);letter-spacing:-.025em;margin-top:14px}
.card .eyebrow+h3{margin-top:14px}
.card p{color:var(--slate);font-size:.9375rem;margin-top:10px}
.dark.card p,.b-fin p{color:var(--fog)}
.price-list{margin-top:24px;display:grid;gap:0}
.price-list li{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:16px;padding:14px 0;border-top:1px solid var(--mist);font-size:.9375rem}
.price-list li:last-child{border-bottom:1px solid var(--mist)}
.price-list li strong{font-weight:600}
.price-list li div>span{color:var(--slate);display:block;font-size:.8125rem;margin-top:2px}
.price-list strong span{display:inline;font:inherit;color:inherit;margin:0}
.price-list li .amt{font-family:var(--font-body);font-weight:600;color:var(--ink);font-size:1.0rem;white-space:nowrap}
.price-list li .amt em{font-style:normal;color:var(--heat-text)}
.b-price .note{margin-top:18px;font-size:.8125rem;color:var(--slate);display:flex;gap:8px;align-items:flex-start}
.b-price .note svg{width:16px;height:16px;flex-shrink:0;color:var(--cool);margin-top:2px}
.fin-list{display:grid;gap:12px;margin-top:22px}
.fin-list li{display:flex;gap:12px;align-items:center;font-size:.9375rem}
.fin-list li svg{width:20px;height:20px;color:var(--cool-hi);flex-shrink:0}
.b-fin .btn{margin-top:26px;width:100%}
.brand-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.brand-row span{font-family:var(--font-display);font-weight:700;font-size:.875rem;letter-spacing:.02em;padding:8px 12px;border-radius:var(--r-xs);background:var(--paper);border:1px solid var(--mist);color:var(--ink);transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}
.brand-row span:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
@media(max-width:980px){.b-price{grid-column:span 12}.b-fin{grid-column:span 12}.b-diag,.b-warr,.b-brand{grid-column:span 12}}
@media(min-width:640px) and (max-width:980px){.b-diag,.b-warr{grid-column:span 6}}

/* ===================================================================
   SERVICE AREA — coverage map panel + grouped cities
   =================================================================== */
.areas{background:var(--paper);overflow:hidden;border-top:1px solid var(--mist)}
.areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.gmap{position:relative;width:100%;aspect-ratio:1/1.02;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-3);background:#e6edf2;border:1px solid var(--mist)}
.gmap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.55) contrast(1.05) brightness(1.02)}
.gmap::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(9,44,71,.08),inset 0 -80px 80px -60px rgba(9,44,71,.35)}
.gmap .ov{position:absolute;left:18px;right:18px;bottom:18px;display:flex;gap:8px;flex-wrap:wrap;z-index:2}
.gmap .ov a{background:#fff;color:var(--ink);border-radius:var(--r-pill);padding:9px 14px;font-size:.8125rem;font-weight:600;box-shadow:var(--sh-2);display:inline-flex;align-items:center;gap:8px;min-height:44px;transition:transform var(--dur-fast),background var(--dur-fast),color var(--dur-fast)}
.gmap .ov a:hover{transform:translateY(-2px);background:var(--ink);color:#fff}
.gmap .ov a i{width:9px;height:9px;border-radius:50%;background:var(--cool);display:inline-block;flex-shrink:0}
.gmap .ov a.hq i{background:var(--heat)}
.gmap .badge{position:absolute;left:18px;top:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border-radius:var(--r-pill);padding:8px 14px;font-family:var(--font-body);font-size:0.8125rem;font-weight:600;box-shadow:var(--sh-2)}
.gmap .badge svg{width:14px;height:14px;color:var(--heat-hi)}
.areas-copy .h2{margin:16px 0 18px}
.city-groups{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin-top:30px}
.city-groups h3{font-family:var(--font-body);font-size:0.8125rem;color:var(--slate);font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.city-groups h3 i{width:8px;height:8px;border-radius:50%;display:inline-block}
.city-cloud{display:flex;flex-wrap:wrap;gap:8px}
.city-cloud a{padding:8px 13px;border-radius:var(--r-pill);border:1px solid var(--mist);background:#fff;font-size:.875rem;font-weight:500;color:var(--ink);transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast);min-height:44px;display:inline-flex;align-items:center}
.city-cloud a:hover{background:var(--cool);border-color:var(--cool);color:#fff;transform:translateY(-2px)}
.city-cloud a.more{background:transparent;border-style:dashed;color:var(--slate)}
.city-cloud a.more:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.locs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}
.loc{padding:18px 18px 16px;border-radius:var(--r-md);background:#fff;border:1px solid var(--mist);font-size:.875rem;color:var(--slate);line-height:1.5;transition:border-color var(--dur-base),transform var(--dur-base) var(--ease-out);display:flex;flex-direction:column;gap:8px;position:relative}
.loc:hover{border-color:var(--cool);transform:translateY(-3px)}
.loc .tag{font-family:var(--font-body);font-size:0.8125rem;color:var(--cool);font-weight:600}
.loc.hq .tag{color:var(--heat-text)}
.loc b{display:block;font-family:var(--font-display);font-size:1.0625rem;color:var(--ink);letter-spacing:-.01em;line-height:1.2}
.loc small{display:block;margin-top:auto;padding-top:8px;border-top:1px solid var(--mist);font-family:var(--font-body);font-size:0.8125rem;color:var(--slate)}
.loc small b{display:inline;font:inherit;color:var(--ink)}
@media(max-width:980px){.areas-grid{grid-template-columns:1fr}.gmap{aspect-ratio:4/3}}
@media(max-width:600px){.locs{grid-template-columns:1fr}.city-groups{grid-template-columns:1fr}.gmap{aspect-ratio:1/1.1}.gmap .ov a{font-size:.75rem;padding:8px 12px}}

/* ===================================================================
   MAINTENANCE PLAN — split card
   =================================================================== */
.plan{background:var(--navy);color:#fff;overflow:hidden}
.plan-card{display:grid;grid-template-columns:.9fr 1.1fr;border-radius:var(--r-xl);overflow:hidden;background:var(--navy-2);border:1px solid rgba(255,255,255,.08);box-shadow:var(--sh-3)}
.plan-price{padding:clamp(32px,4vw,56px);background:linear-gradient(160deg,#0E3656,#092C47 70%);position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:28px;overflow:hidden}
.plan-price::before{content:"";position:absolute;left:-30%;bottom:-40%;width:120%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from -90deg,rgba(245,154,85,.35) 0 180deg,rgba(125,174,207,.35) 180deg 360deg);mask:repeating-conic-gradient(from 0deg,#000 0 2deg,transparent 2deg 8deg);-webkit-mask:repeating-conic-gradient(from 0deg,#000 0 2deg,transparent 2deg 8deg);opacity:.5;animation:spin 100s linear infinite}
.plan-price>*{position:relative}
.plan-price .amount{display:flex;align-items:flex-start;gap:6px;font-family:var(--font-display);font-weight:800;letter-spacing:-.05em;line-height:.9}
.plan-price .amount .cur{font-size:2rem;margin-top:.5rem;font-weight:600}
.plan-price .amount .num{font-size:clamp(5rem,4rem + 4vw,8rem)}
.plan-price .amount .per{align-self:flex-end;font-family:var(--font-body);font-size:0.875rem;color:var(--fog);margin-bottom:1rem;}
.plan-price h3,.plan-price .plan-h{font-size:clamp(1.75rem,1.4rem + 1.2vw,2.5rem);letter-spacing:-.03em;margin-top:8px}
.plan-price p{color:var(--fog);margin-top:12px;max-width:34ch}
.plan-body{padding:clamp(32px,4vw,56px)}
.plan-body .eyebrow{margin-bottom:16px}
.perks{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin-top:8px}
.perk{display:flex;gap:14px}
.perk .ic{width:44px;height:44px;border-radius:12px}
.perk .ic svg{width:20px;height:20px}
.perk strong{display:block;font-family:var(--font-display);font-size:1.0625rem;font-weight:700;letter-spacing:-.01em}
.perk span:not(.ic){display:block;font-size:.875rem;color:var(--fog);margin-top:3px;line-height:1.45}
.plan-body .fine{margin-top:28px;font-size:0.8125rem;color:var(--fog);font-family:var(--font-body);}
@media(max-width:900px){.plan-card{grid-template-columns:1fr}.perks{grid-template-columns:1fr}}

/* ===================================================================
   RESOURCES — editorial
   =================================================================== */
.resources{background:var(--paper)}
.res-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}
.post{display:flex;flex-direction:column;overflow:hidden;color:var(--ink)}
.post .thumb{aspect-ratio:16/10;overflow:hidden;position:relative;background:var(--navy)}
.post .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}
.post:hover .thumb img{transform:scale(1.06)}
.post .thumb .tag{position:absolute;left:14px;top:14px;background:#fff;color:var(--ink);font-family:var(--font-body);font-size:0.8125rem;padding:6px 10px;border-radius:var(--r-pill);font-weight:600}
.post .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.post h3{font-size:1.25rem;letter-spacing:-.02em;line-height:1.2}
.post.lead h3{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.post p{color:var(--slate);font-size:.9375rem}
.post .meta{margin-top:auto;padding-top:14px;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-body);font-size:0.8125rem;color:var(--slate)}
.post .meta svg{width:16px;height:16px;transition:transform var(--dur-base) var(--ease-out)}
.post:hover .meta svg{transform:translateX(4px)}
.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.tool{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--r-md);background:#fff;border:1px solid var(--mist);font-weight:600;font-size:.9375rem;transition:border-color var(--dur-base),transform var(--dur-base) var(--ease-out),background var(--dur-base)}
.tool:hover{border-color:var(--cool);transform:translateY(-3px)}
.tool .ic{width:40px;height:40px;border-radius:10px}
.tool .ic svg{width:18px;height:18px}
@media(max-width:980px){.res-grid{grid-template-columns:1fr 1fr}.post.lead{grid-column:span 2}.tools{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.res-grid{grid-template-columns:1fr}.post.lead{grid-column:span 1}.tools{grid-template-columns:1fr 1fr;gap:10px}.tool{flex-direction:column;align-items:flex-start;gap:10px;font-size:.875rem;padding:14px}}

/* ===================================================================
   FAQ
   =================================================================== */
.faq{background:var(--paper-warm);border-top:1px solid rgba(9,44,71,.08)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,80px);align-items:start}
.faq-side{position:sticky;top:calc(var(--header-h) + 24px)}
.faq-side .btn{margin-top:26px}
.acc{border-top:1px solid rgba(9,44,71,.14)}
.acc details{border-bottom:1px solid rgba(9,44,71,.14)}
.acc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 4px;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:clamp(1.0625rem,1rem + .4vw,1.3125rem);letter-spacing:-.015em;line-height:1.3;min-height:64px;transition:color var(--dur-fast)}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:var(--cool)}
.acc summary .pm{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(9,44,71,.2);display:grid;place-items:center;flex-shrink:0;transition:background var(--dur-base),transform var(--dur-slow) var(--ease-spring),border-color var(--dur-base)}
.acc summary .pm svg{width:16px;height:16px}
.acc details[open] summary .pm{background:var(--ink);color:#fff;border-color:var(--ink);transform:rotate(135deg)}
.acc .ans{padding:0 56px 24px 4px;color:var(--slate);font-size:1rem;line-height:1.65;max-width:62ch}
.acc details[open] .ans{animation:fadeDown .4s var(--ease-out)}
@keyframes fadeDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:900px){.faq-grid{grid-template-columns:1fr}.faq-side{position:static}.acc .ans{padding-right:4px}}

/* ===================================================================
   FINAL CTA + FORM
   =================================================================== */
.cta{background:var(--navy);color:#fff;overflow:hidden;padding-bottom:clamp(72px,9vw,128px)}
.cta::before{content:"";position:absolute;left:50%;top:-30%;transform:translateX(-50%);width:min(1600px,160vw);aspect-ratio:1;border-radius:50%;background:conic-gradient(from -90deg,rgba(245,154,85,.16) 0 180deg,rgba(125,174,207,.16) 180deg 360deg);mask:repeating-conic-gradient(from 0deg,#000 0 1.5deg,transparent 1.5deg 6deg);-webkit-mask:repeating-conic-gradient(from 0deg,#000 0 1.5deg,transparent 1.5deg 6deg);animation:spin 160s linear infinite;pointer-events:none}
.cta::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 20%,transparent 30%,var(--navy) 75%);pointer-events:none}
.cta .container{position:relative;z-index:1}
.cta-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,80px);align-items:center}
.cta h2{font-size:clamp(2.75rem,2rem + 4vw,5.5rem);letter-spacing:-.045em;line-height:.93;margin:20px 0 22px}
.cta h2 .u{position:relative;display:inline-block}
.cta h2 .u::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.1em;background:var(--grad-thermal);border-radius:3px}
.cta .btn-lg{margin-top:30px}
.cta .or{display:inline-flex;align-items:center;gap:10px;margin-top:18px;margin-left:8px;color:var(--fog);font-size:.9375rem}
.cta .or a{color:#fff;font-weight:600;display:inline-block;padding:10px 0;text-decoration:underline;text-decoration-color:var(--cool-hi);text-underline-offset:4px}
.cta-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12)}
.cta-trust b{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.cta-trust span{display:block;font-size:0.8125rem;color:var(--fog);margin-top:4px;font-family:var(--font-body);}
.form{background:#fff;color:var(--ink);border-radius:var(--r-xl);padding:clamp(24px,3vw,36px);box-shadow:var(--sh-3);position:relative}
.form::before{content:"";position:absolute;left:32px;right:32px;top:0;height:3px;background:var(--grad-thermal);border-radius:0 0 3px 3px}
.form h3{font-size:1.5rem;letter-spacing:-.025em}
.form>p{color:var(--slate);font-size:.9375rem;margin-top:6px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:span 2}
.field label{font-size:.8125rem;font-weight:600;color:var(--ink)}
.field label i{color:var(--heat-text);font-style:normal}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;min-height:52px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--mist);background:var(--paper);color:var(--ink);width:100%;transition:border-color var(--dur-fast),box-shadow var(--dur-fast),background var(--dur-fast)}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cool);background:#fff;box-shadow:0 0 0 4px rgba(20,94,149,.14)}
.field small{font-size:.75rem;color:var(--slate)}
.urgency{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.urgency label{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;border:1.5px solid var(--mist);background:var(--paper);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--dur-fast)}
.urgency input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.urgency input:checked+span{color:#fff}
.urgency label:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}
.urgency label:has(input:checked)[data-em]{background:var(--heat);border-color:var(--heat)}
.urgency label:has(input:focus-visible){box-shadow:0 0 0 4px rgba(20,94,149,.2)}
.form .btn{width:100%;margin-top:18px}
.form .privacy{margin-top:12px;font-size:.75rem;color:var(--slate);text-align:center}
@media(max-width:980px){.cta-grid{grid-template-columns:1fr}.cta-trust{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fields{grid-template-columns:1fr}.field.full{grid-column:span 1}}

/* ===================================================================
   FOOTER — 3 band
   =================================================================== */
.footer{background:var(--navy);color:#fff}
.f-strip{border-top:2px solid rgba(255,255,255,.08);background:var(--navy-2);border-bottom:1px solid rgba(255,255,255,.08)}
.f-strip .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:26px 0}
.f-strip .em{display:inline-flex;align-items:center;gap:14px;padding:14px 20px;border-radius:14px;background:linear-gradient(135deg,rgba(245,154,85,.18),rgba(223,98,0,.08));border:1px solid rgba(245,154,85,.45);box-shadow:0 0 0 4px rgba(245,154,85,.06);transition:transform var(--dur-base) var(--ease-out)}
.f-strip .em:hover{transform:translateY(-2px)}
.f-strip .em strong{display:block;font-family:var(--font-display);font-size:1.125rem;font-weight:800;letter-spacing:-.01em;line-height:1.1}
.f-strip .em span{display:block;font-family:var(--font-body);font-size:0.8125rem;color:var(--heat-hi);margin-top:3px;font-weight:600}
.f-main .container{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:40px;padding:clamp(48px,6vw,80px) 0}
.f-brand p{color:var(--fog);font-size:.9375rem;margin-top:18px;max-width:34ch}
.f-brand .brand-name strong{color:#fff}
.f-brand .brand-name small,.drawer .brand-name small{color:var(--heat-hi)}
.f-brand .brand-mark::before,.f-brand .brand-mark::after{background-color:var(--navy)}
.f-brand .brand-mark::before{background:repeating-conic-gradient(from 0deg,transparent 0 5deg,var(--navy) 5deg 10deg)}
.f-brand .brand-mark span{background:#fff}
.f-col h3{font-family:var(--font-body);font-size:0.8125rem;color:var(--fog);margin-bottom:18px;font-weight:600}
.f-col li{margin-bottom:10px}
.f-col a{color:#dbe6ee;font-size:.9375rem;transition:color var(--dur-fast);position:relative}
.f-col a:hover{color:var(--heat-hi)}
.f-contact li{display:flex;gap:12px;align-items:flex-start;color:#dbe6ee;font-size:.9375rem;margin-bottom:14px;line-height:1.45}
.f-contact svg{width:18px;height:18px;flex-shrink:0;color:var(--cool-hi);margin-top:3px}
.f-contact b{display:block;font-weight:600;color:#fff}
.social{display:flex;gap:8px;margin-top:22px}
.social a{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;color:#fff;transition:background var(--dur-base),border-color var(--dur-base),transform var(--dur-base)}
.social a:hover{background:#fff;color:var(--navy);transform:translateY(-3px)}
.social svg{width:16px;height:16px}
.f-legal{border-top:1px solid rgba(255,255,255,.08)}
.f-legal .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding:20px 0 calc(20px + 84px);font-size:.8125rem;color:var(--fog)}
.f-legal a{color:var(--fog);display:inline-flex;align-items:center;min-height:44px}.f-legal a:hover{color:#fff}
.f-legal .mono{color:var(--cool-hi)}
@media(max-width:1000px){.f-main .container{grid-template-columns:1fr 1fr 1fr}.f-brand{grid-column:span 3}}
@media(max-width:600px){.f-main .container{grid-template-columns:1fr 1fr}.f-brand{grid-column:span 2}.f-contact{grid-column:span 2}}
@media(min-width:1101px){.f-legal .container{padding-bottom:20px}}

/* ===================================================================
   MOBILE ACTION BAR
   =================================================================== */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(6,30,48,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.1);gap:8px;transform:translateY(110%);transition:transform var(--dur-slow) var(--ease-out)}
.mbar.show{transform:none}
.mbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;border-radius:14px;font-family:var(--font-display);font-weight:700;font-size:.8125rem;letter-spacing:-.01em;color:#fff;background:rgba(255,255,255,.08);transition:transform var(--dur-fast)}
.mbar a:active{transform:scale(.96)}
.mbar a svg{width:20px;height:20px}
.mbar a.call{background:var(--heat-btn);flex:1.4}
.mbar a.sched{background:var(--cool)}
@media(max-width:1100px){.mbar{display:flex}}

/* ===================================================================
   REDUCED MOTION — non-negotiable
   =================================================================== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv,.js .rv{opacity:1;transform:none}
  .marquee-track{animation:none}
  .marquee{overflow-x:auto}
  .stage-photo{border-radius:48%}
}

/* ===== HERO TEAM LINK ===== */
.hero-team{display:inline-flex;align-items:center;gap:14px;margin:22px 0 -6px;padding:8px 18px 8px 8px;border-radius:var(--r-pill);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:var(--fog);font-size:.9375rem;transition:background var(--dur-fast),border-color var(--dur-fast)}
.hero-team:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}
.hero-team b{color:#fff;font-weight:600}
.hero-team svg{width:15px;height:15px;vertical-align:-2px;margin-left:4px;color:var(--heat-hi)}
.faces{display:flex}
.faces img,.faces i{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--navy);margin-left:-10px;background:var(--grad-cool);display:grid;place-items:center;font:700 .6875rem/1 var(--font-display);font-style:normal;color:#fff}
.faces>:first-child{margin-left:0}
.faces>:nth-child(even){background:var(--grad-heat)}

/* ===== TEAM / OWNER ===== */
.team{background:#fff;border-top:1px solid var(--mist)}
.owner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,88px);align-items:center}
.owner-photo{position:relative;padding:0 0 40px 0}
.owner-photo figure,.tm figure{position:relative;margin:0;overflow:hidden;background:linear-gradient(160deg,#0E3656,#092C47)}
.owner-photo figure{aspect-ratio:4/5;border-radius:var(--r-xl);box-shadow:var(--sh-3)}
.owner-photo figure::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,transparent,rgba(9,44,71,.55))}
.owner-photo img,.tm img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tm-ini{position:absolute;inset:0;display:grid;place-items:center;font:800 clamp(2rem,4vw,3.5rem)/1 var(--font-display);letter-spacing:-.04em;color:rgba(255,255,255,.28)}
.owner-tag{position:absolute;left:28px;bottom:68px;color:#fff;z-index:2;display:flex;flex-direction:column;gap:4px}
.owner-tag b{font:800 1.5rem/1 var(--font-display);letter-spacing:-.02em}
.owner-tag span{font:600 0.8125rem/1 var(--font-body);color:rgba(255,255,255,.8)}
.owner-origin{position:absolute;right:-24px;top:32px;display:flex;gap:14px;align-items:center;background:#fff;border-radius:var(--r-lg);padding:16px 20px 16px 16px;box-shadow:var(--sh-3);max-width:320px;z-index:3}
.owner-origin b{display:block;font:700 1rem/1.2 var(--font-display);color:var(--ink)}
.owner-origin div>span{display:block;font-size:.8125rem;color:var(--slate);margin-top:3px}
.letter{margin-top:22px;display:grid;gap:14px}
.letter p{font-size:1.125rem;line-height:1.7;color:var(--slate);max-width:56ch}
.sig{margin-top:22px;display:flex;flex-direction:column;gap:4px}
.sig-name{font-family:"Caveat","Segoe Script","Bradley Hand",cursive;font-size:2.5rem;line-height:1;color:var(--ink);transform:rotate(-3deg);transform-origin:left;display:inline-block}
.sig-role{font:600 0.8125rem/1 var(--font-body);color:var(--slate)}
.promise{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.promise>div{display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:var(--r-md);background:var(--paper-warm);border:1px solid rgba(223,98,0,.14)}
.promise svg{width:20px;height:20px;flex:none;color:var(--heat-text);margin-top:1px}
.promise span{font-size:.8125rem;line-height:1.35;color:var(--slate)}
.promise b{display:block;color:var(--ink);font-size:.875rem}
.crew-head{display:grid;grid-template-columns:1fr minmax(0,440px);gap:32px;align-items:end;margin:clamp(72px,9vw,120px) 0 28px}
.crew-head .h3{margin-top:12px;font-size:clamp(1.75rem,1.2rem + 1.8vw,2.5rem)}
.crew-head p{color:var(--slate);line-height:1.6}
.crew{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0}
.tm figure{aspect-ratio:4/5;border-radius:var(--r-lg);margin-bottom:12px;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}
.tm:nth-child(3n+2) figure{background:linear-gradient(160deg,#DF6200,#B04D00)}
.tm img{filter:saturate(.9);transition:transform var(--dur-slow) var(--ease-out),filter var(--dur-base)}
.tm:hover figure{transform:translateY(-4px);box-shadow:var(--sh-2)}
.tm:hover img{transform:scale(1.04);filter:none}
.tm>b{display:block;font:700 1.0625rem/1.2 var(--font-display);color:var(--ink);letter-spacing:-.01em}
.tm>span{display:block;font-size:.875rem;color:var(--slate)}
.tm-join a{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;aspect-ratio:4/5;padding:20px;border-radius:var(--r-lg);border:2px dashed rgba(223,98,0,.35);background:var(--paper-warm);transition:border-color var(--dur-fast),background var(--dur-fast)}
.tm-join a:hover{border-color:var(--heat);background:#fff3e6}
.tm-join .ic{margin-bottom:auto}
.tm-join b{font:800 1.25rem/1.1 var(--font-display);color:var(--ink)}
.tm-join span{font-size:.8125rem;color:var(--slate);line-height:1.4}
.tm-join em{font-style:normal;font-weight:600;font-size:.875rem;color:var(--heat-text);display:inline-flex;align-items:center;gap:6px}
.tm-join em svg{width:14px;height:14px}
.verify{margin-top:clamp(56px,7vw,88px);display:grid;grid-template-columns:1.25fr repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}
.verify-lead{display:flex;flex-direction:column;justify-content:center;gap:8px;padding-right:12px}
.verify-lead b{font:800 1.375rem/1.15 var(--font-display);color:var(--ink);letter-spacing:-.02em}
.vchip{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:4px 12px;padding:16px;border-radius:var(--r-md);background:var(--paper);border:1px solid var(--mist);transition:border-color var(--dur-fast),transform var(--dur-fast),box-shadow var(--dur-fast)}
.vchip:hover{border-color:var(--cool);transform:translateY(-2px);box-shadow:var(--sh-1)}
.vchip svg{width:22px;height:22px;color:var(--cool);grid-row:1/3;margin-top:2px}
.vchip span{font-size:.75rem;line-height:1.35;color:var(--slate)}
.vchip b{display:block;font-size:.875rem;color:var(--ink);margin-bottom:2px}
.vchip em{grid-column:2;font-style:normal;font:600 0.8125rem/1 var(--font-body);color:var(--cool);margin-top:6px}
.community{margin-top:20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);border-radius:var(--r-xl);overflow:hidden;background:var(--navy);color:#fff}
.community-photo{min-height:340px;position:relative}
.community-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.community-copy{padding:clamp(28px,4vw,56px)}
.community-copy .eyebrow{color:var(--heat-hi)}
.community-copy .h3{color:#fff;margin:12px 0 14px;font-size:clamp(1.75rem,1.2rem + 1.6vw,2.5rem)}
.community-copy p{color:var(--fog);line-height:1.65;max-width:52ch}
.community-copy ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.community-copy li{display:flex;gap:10px;align-items:center;font-weight:500}
.community-copy li svg{width:18px;height:18px;color:var(--heat-hi);flex:none}
@media(max-width:1100px){.crew{grid-template-columns:repeat(3,minmax(0,1fr))}.verify{grid-template-columns:repeat(2,1fr)}.verify-lead{grid-column:1/-1}}
@media(max-width:900px){.owner{grid-template-columns:1fr}.owner-photo{max-width:460px}.owner-origin{right:16px}.crew-head{grid-template-columns:1fr}.community{grid-template-columns:1fr}.community-photo{min-height:240px}}
@media(max-width:640px){.crew{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.promise{grid-template-columns:1fr}.verify{grid-template-columns:1fr}.hero-team{font-size:.8125rem}.owner-origin{position:relative;right:auto;top:auto;margin-top:-28px;margin-left:16px}.owner-photo{padding-bottom:0}.owner-tag{bottom:24px}}


/* ===== ON THE JOB MOSAIC ===== */
.onjob{margin-top:clamp(72px,9vw,120px)}
.onjob-head{display:grid;grid-template-columns:auto 1fr;gap:12px 48px;align-items:end;margin-bottom:28px}
.onjob-head .eyebrow{grid-column:1/-1}
.onjob-head .h3{font-size:clamp(1.75rem,1.2rem + 1.8vw,2.5rem)}
.onjob-head p{color:var(--slate);line-height:1.6;max-width:46ch;justify-self:end}
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:14px}
.mosaic figure{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--mist)}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}
.mosaic figure:hover img{transform:scale(1.04)}
.mosaic figcaption{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:var(--r-pill);background:rgba(9,44,71,.72);backdrop-filter:blur(6px);color:#fff;font:600 0.8125rem/1.2 var(--font-body);}
.m1{grid-column:1/4;grid-row:span 3}
.m2{grid-column:4/9;grid-row:span 2}
.m3{grid-column:9/13;grid-row:span 2}
.m4{grid-column:4/6;grid-row:span 2}
.m5{grid-column:6/9;grid-row:span 1}
.m6{grid-column:9/11;grid-row:span 1}
.m7{grid-column:11/13;grid-row:span 1}
.m5,.m6,.m7{grid-row-start:3}
.m4{grid-row:3/5}.m1{grid-row:1/5}.m5{grid-row:3/5}.m6{grid-row:3/5}.m7{grid-row:3/5}
@media(max-width:900px){.onjob-head{grid-template-columns:1fr}.onjob-head p{justify-self:start}.mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}.mosaic figure{grid-column:auto!important;grid-row:auto!important}.mosaic .m1,.mosaic .m2{grid-column:1/-1!important;grid-row:span 2!important}.mosaic .m7{grid-column:1/-1!important}}
@media(max-width:640px){.mosaic{grid-auto-rows:140px;gap:10px}.mosaic figcaption{font-size:.5625rem;left:8px;bottom:8px}}
.owner-photo figure img{object-position:center 60%}

/* =====================================================================
   HUMANIZE PASS — strip template/AI tells: gradient text, glows, rays,
   live dots, tiny tracked labels, numbered rows, glass chips.
   ===================================================================== */
.eyebrow{font-family:var(--font-body);font-size:.9375rem;font-weight:600;letter-spacing:0;text-transform:none;gap:0}
.eyebrow::before,.eyebrow::after{display:none!important}
.warm,.dark .warm{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--heat)}
.cold,.dark .cold{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--cool)}
.dark .warm{color:var(--heat-hi)}.dark .cold{color:var(--cool-hi)}
.score-big b{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;color:#fff!important;-webkit-text-fill-color:#fff}
.services::before,.svc-glyph,.mega-feature::before,.b-fin::before,.plan-price::before,.cta::before,.section::before{display:none!important}
.dot,.em-live .dot,.status .dot{animation:none!important}
.svc-num,.svc-row .num{display:none!important}
.tline{height:1px;background:var(--mist)}
/* hero */
.hero{background:var(--navy)}
.hero .container{grid-template-columns:1fr 1fr;align-items:center;padding:clamp(48px,6vw,88px) 0}
.hero-kicker{display:block;padding:0;border:0;background:none;font-size:1rem;font-weight:600;color:var(--heat-hi);margin:0 0 16px}
.hero .hx-title{font-size:clamp(2.5rem,1.5rem + 3.6vw,4.5rem);letter-spacing:-.03em;line-height:1.02;margin-bottom:22px;font-weight:800}
.hero .hx-title .hl{color:var(--heat-hi)}
.hero .lede{max-width:34em}
.hero-photo{margin:0;position:relative}
.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;display:block}
.hero-photo figcaption{margin-top:10px;font-size:.875rem;color:var(--fog)}
.hero-team{background:none;border:0;padding:0;margin:22px 0 0;font-size:.9375rem}
.hero-team span:last-child{text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.35)}
@media(max-width:980px){.hero .container{grid-template-columns:1fr}.hero-photo{order:-1;max-width:640px}}
/* trust strip: static, wraps */
.marquee{mask:none;-webkit-mask:none;overflow:visible}
.marquee-track.static{animation:none!important;flex-wrap:wrap;justify-content:center;gap:10px 28px;width:auto;padding:18px var(--gutter);max-width:1240px;margin:0 auto}
/* emergency */
.emergency h2{font-size:clamp(2.25rem,1.6rem + 2.6vw,3.75rem);line-height:1.05}
.emergency .eyebrow{color:var(--heat-hi)}
.em-side{display:grid;gap:0;border-radius:14px;overflow:hidden;background:var(--navy-2);border:1px solid rgba(255,255,255,.08);max-width:460px;justify-self:end;width:100%}
.em-photo{margin:0}
.em-photo img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:center 30%;display:block}
.em-call{padding:22px 24px 24px;display:grid;gap:6px}
.em-call span{font-size:.9375rem;color:var(--fog)}
.em-call a[href^="tel"]{font:800 clamp(2rem,1.5rem + 1.6vw,2.75rem)/1.05 var(--font-display);color:#fff;letter-spacing:-.02em}
.em-call a[href^="tel"]:hover{color:var(--heat-hi)}
.em-book{font-size:.9375rem;color:var(--cool-hi);text-decoration:underline;text-underline-offset:4px;margin-top:6px}
@media(max-width:980px){.em-side{justify-self:start}}
/* calmer cards & motion */
.card:hover,.tm:hover figure,.vchip:hover{transform:none}
.rv{transition-duration:.45s!important}
.cta h2{font-size:clamp(2rem,1.4rem + 2.2vw,3.25rem);line-height:1.08}
.cta h2 .u::after{display:none}
.owner-photo figure{aspect-ratio:4/3.4}
.owner-photo{padding:0}
.h2{letter-spacing:-.025em}
.svc-row::before{display:none}
.svc-row{grid-template-columns:1fr auto}
.hero .container{grid-template-columns:1.1fr .9fr}
.hero .hx-title{font-size:clamp(2.5rem,1.6rem + 3vw,4rem)}
.hero-photo{aspect-ratio:4/3;overflow:hidden;border-radius:14px}
.hero-photo img{height:100%;aspect-ratio:auto;border-radius:0}
.hero-photo figcaption{position:absolute;left:12px;bottom:12px;margin:0;padding:6px 10px;border-radius:6px;background:rgba(9,44,71,.75);color:#fff;font-size:.8125rem}
.em-photo{aspect-ratio:5/4;overflow:hidden}
.em-photo img{height:100%;aspect-ratio:auto}
.hero-photo{width:100%}
.hero::before,.hero::after,.emergency::before,.emergency::after,.em-grid::before{display:none!important}
@media(max-width:980px){.hero .container{grid-template-columns:1fr}}

/* ===== CREDENTIALS STRIP (rebuilt) ===== */
.verify{display:none}
.community{margin-top:clamp(56px,7vw,88px)}
.community-copy{display:flex;flex-direction:column;justify-content:center}
.creds{margin-top:16px;display:grid;grid-template-columns:minmax(220px,.9fr) 3fr;gap:0;border:1px solid var(--mist);border-radius:var(--r-xl);background:#fff;overflow:hidden}
.creds-lead{padding:28px 28px;background:var(--paper);border-right:1px solid var(--mist);display:flex;flex-direction:column;justify-content:center;gap:8px}
.creds-lead h3{font:800 1.25rem/1.2 var(--font-display);letter-spacing:-.01em;color:var(--ink)}
.creds-lead p{font-size:.9375rem;line-height:1.5;color:var(--slate)}
.creds-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.creds-list li{position:relative;border-left:1px solid var(--mist)}
.creds-list li:first-child{border-left:0}
.cred{height:100%;display:flex;flex-direction:column;gap:4px;padding:24px 22px;transition:background var(--dur-base),transform var(--dur-base) var(--ease-out);will-change:transform}
.cred:hover,.cred:focus-visible{background:#f3f7fa}
.cred-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(20,94,149,.08);color:var(--cool);margin-bottom:10px;transition:background var(--dur-base),color var(--dur-base),transform var(--dur-base) var(--ease-spring)}
.cred-ic svg{width:20px;height:20px}
.cred:hover .cred-ic{background:var(--cool);color:#fff;transform:scale(1.08) rotate(-4deg)}
.cred b{font:700 1rem/1.25 var(--font-display);color:var(--ink);white-space:nowrap}
.cred>span:not(.cred-ic){font-size:.875rem;line-height:1.4;color:var(--slate)}
.cred em{margin-top:auto;padding-top:14px;font-style:normal;font-weight:600;font-size:.875rem;color:var(--cool);display:inline-flex;align-items:center;gap:6px}
.cred em svg{width:14px;height:14px;transition:transform var(--dur-base) var(--ease-out)}
.cred:hover em svg{transform:translateX(4px)}
.cred-copy{position:absolute;top:22px;right:18px;font:600 .75rem/1 var(--font-body);padding:6px 9px;border-radius:999px;border:1px solid var(--mist);background:#fff;color:var(--slate);cursor:pointer;transition:all var(--dur-fast)}
.cred-copy:hover{border-color:var(--cool);color:var(--cool)}
@media(max-width:1100px){.creds{grid-template-columns:1fr}.creds-lead{border-right:0;border-bottom:1px solid var(--mist)}.creds-list{grid-template-columns:repeat(2,minmax(0,1fr))}.creds-list li:nth-child(3){border-left:0}.creds-list li:nth-child(n+3){border-top:1px solid var(--mist)}}
@media(max-width:520px){.creds-list{grid-template-columns:1fr}.creds-list li{border-left:0!important;border-top:1px solid var(--mist)}.creds-list li:first-child{border-top:0}.cred{padding:18px 20px}}

/* ===== MOTION & INTERACTION LAYER ===== */
.scroll-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:80;pointer-events:none}
.scroll-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--heat),var(--cool));transform-origin:0 50%;transform:scaleX(0)}
.header{transition:transform .35s var(--ease-out),border-color var(--dur-base),box-shadow var(--dur-base),background var(--dur-base)}
.header.hide{transform:translateY(-110%)}
/* image wipe reveal */
.reveal-img{overflow:hidden}
.js .reveal-img:not(.shown) img{clip-path:inset(0 0 100% 0);transform:scale(1.12)}
.reveal-img img{clip-path:inset(0 0 0 0);transition:clip-path 1s cubic-bezier(.7,0,.2,1),transform 1.4s cubic-bezier(.2,.8,.2,1)}
.reveal-img.shown img{transition:clip-path 1s cubic-bezier(.7,0,.2,1),transform .2s linear}
/* buttons */
.btn svg,.btn-call svg{transition:transform var(--dur-base) var(--ease-spring)}
.btn:hover .arrow,.btn:hover svg[class~=arrow]{transform:translateX(4px)}
.btn-heat:hover svg:first-child,.btn-call:hover .ring svg{animation:ring .6s ease}
@keyframes ring{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}}
.btn:active,.btn-call:active{transform:scale(.97)}
/* links underline grow */
.hero-team span:last-child,.em-book,.or a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;text-decoration:none!important;transition:background-size .3s var(--ease-out)}
.hero-team:hover span:last-child,.em-book:hover,.or a:hover{background-size:100% 1.5px}
.hero-team .faces>*{transition:transform var(--dur-base) var(--ease-spring)}
.hero-team:hover .faces>*{transform:translateY(-3px)}
.hero-team:hover .faces>:nth-child(2){transition-delay:.03s}.hero-team:hover .faces>:nth-child(3){transition-delay:.06s}.hero-team:hover .faces>:nth-child(4){transition-delay:.09s}.hero-team:hover .faces>:nth-child(5){transition-delay:.12s}
/* crew */
.tm figure{transition:transform .25s var(--ease-out),box-shadow var(--dur-base);will-change:transform}
.tm>b{background:linear-gradient(var(--heat),var(--heat)) 0 100%/0 2px no-repeat;display:inline-block;transition:background-size .3s var(--ease-out)}
.tm:hover>b{background-size:100% 2px}
/* mosaic */
.mosaic figure{cursor:zoom-in}
.mosaic figure::after{content:"";position:absolute;inset:0;background:rgba(9,44,71,0);transition:background var(--dur-base)}
.mosaic figure:hover::after,.mosaic figure:focus-visible::after{background:rgba(9,44,71,.18)}
.mosaic figcaption{transition:transform var(--dur-base) var(--ease-out);z-index:1}
.mosaic figure:hover figcaption{transform:translateY(-4px)}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:120;background:rgba(5,24,39,.92);display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:12px;padding:24px;opacity:0;transition:opacity .25s}
.lightbox.on{opacity:1}
.lightbox figure{margin:0;display:grid;justify-items:center;gap:14px;transform:scale(.96);transition:transform .3s var(--ease-out)}
.lightbox.on figure{transform:none}
.lightbox img{max-width:100%;max-height:78vh;border-radius:10px;object-fit:contain}
.lightbox figcaption{color:#dfe7ee;font-size:.9375rem}
.lightbox button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background var(--dur-fast)}
.lightbox button:hover{background:rgba(255,255,255,.16)}
.lightbox button svg{width:20px;height:20px}
.lb-prev svg{transform:rotate(180deg)}
.lb-close{position:absolute;top:18px;right:18px}
@media(max-width:640px){.lightbox{grid-template-columns:1fr;padding:64px 12px}.lb-prev,.lb-next{position:absolute;bottom:18px}.lb-prev{left:calc(50% - 60px)}.lb-next{right:calc(50% - 60px)}}
/* toast */
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;font-size:.9375rem;font-weight:600;opacity:0;pointer-events:none;transition:all .3s var(--ease-out);z-index:130;box-shadow:var(--sh-3)}
.toast.on{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.toast{bottom:92px}}
/* reviews */
.reviews .review:not(.lead){transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base),background var(--dur-base)}
.reviews .review:not(.lead):hover,.reviews .review:not(.lead):focus-visible{transform:translateY(-3px);border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.06)}
/* service rows */
.svc-row{transition:padding-left .3s var(--ease-out),background var(--dur-base)}
.svc-row:hover{padding-left:16px}
.svc-row .go{transition:transform .3s var(--ease-spring),background var(--dur-base)}
.svc-row:hover .go{transform:rotate(-45deg)}
/* stats */
.stats-band .stat b{transition:color var(--dur-base)}
.stats-band .stat:hover b{color:var(--heat)}
/* price rows */
.b-install li,.price-row{transition:background var(--dur-fast)}
/* faq */
.faq details .ans{overflow:hidden}
.faq summary{transition:color var(--dur-fast)}
.faq summary:hover{color:var(--cool)}
.faq .pm{transition:transform .3s var(--ease-spring),background var(--dur-base)}
/* cursor-follow sheen on primary buttons */
.btn-heat{position:relative;overflow:hidden}
.btn-heat::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);transition:left .6s var(--ease-out)}
.btn-heat:hover::after{left:120%}
@media (prefers-reduced-motion:reduce){.js .reveal-img:not(.shown) img{clip-path:none;transform:none}.header.hide{transform:none}.btn-heat::after{display:none}.lightbox,.lightbox figure,.toast{transition:none}}
.lightbox[hidden]{display:none!important}

/* ================= MOTION SYSTEM v2 ================= */
:root{--m-ease:cubic-bezier(.2,.8,.2,1);--m-spring:cubic-bezier(.34,1.56,.64,1)}
/* word rise */
.split .wd{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split .wd>span{display:inline-block;transform:translateY(105%);transition:transform .8s var(--m-ease);transition-delay:calc(var(--i)*45ms)}
.split.words-in .wd>span{transform:none}
.hero .hx-title.split .wd>span{transition-delay:calc(120ms + var(--i)*60ms)}
/* icon draw */
svg.draw{stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1.1s var(--m-ease) .15s}
svg.draw.drawn{stroke-dashoffset:0}
/* stagger groups */
.stg{opacity:0;transform:translateY(16px);transition:opacity .55s var(--m-ease),transform .6s var(--m-ease);transition-delay:calc(var(--si)*60ms)}
.stg-in>.stg,.stg-in .stg{opacity:1;transform:none}
.crew .stg{transform:translateY(22px) scale(.97);transition-delay:calc(var(--si)*45ms)}
.city-cloud .stg{transform:scale(.8);transition:opacity .35s,transform .45s var(--m-spring);transition-delay:calc(var(--si)*35ms)}
.city-cloud a{transition:background var(--dur-fast),color var(--dur-fast),transform .2s var(--m-spring)}
.city-cloud a:hover{transform:translateY(-2px)}
.stg-in .stg:hover{transition-delay:0s}
/* hero proof + kicker intro */
.hero-proof .proof{animation:rise .7s var(--m-ease) both}
.hero-proof .proof:nth-child(2){animation-delay:.08s}.hero-proof .proof:nth-child(3){animation-delay:.16s}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero .faces>*{animation:pop .5s var(--m-spring) both;animation-delay:calc(.9s + var(--fi,0)*70ms)}
.hero .faces>:nth-child(2){--fi:1}.hero .faces>:nth-child(3){--fi:2}.hero .faces>:nth-child(4){--fi:3}.hero .faces>:nth-child(5){--fi:4}
@keyframes pop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
/* nav pill */
.nav{position:relative}
.nav-pill{position:absolute;left:0;top:50%;height:40px;margin-top:-20px;border-radius:999px;background:rgba(20,94,149,.08);opacity:0;pointer-events:none;transition:transform .35s var(--m-ease),width .35s var(--m-ease),opacity .2s;z-index:0}
.nav-pill.on{opacity:1}
.nav>li{z-index:1}
.nav .nav-link:hover,.nav>li:hover>.nav-link{background:transparent!important}
.mega-col a,.dd a{transition:transform .2s var(--m-ease),background var(--dur-fast),color var(--dur-fast)}
.mega-col a:hover,.dd a:hover{transform:translateX(4px)}
.nav>li:hover .mega-col{animation:rise .45s var(--m-ease) both}
.nav>li:hover .mega-col:nth-child(2){animation-delay:.05s}.nav>li:hover .mega-col:nth-child(3){animation-delay:.1s}.nav>li:hover .mega-feature{animation:rise .45s var(--m-ease) .15s both}
/* magnetic buttons need smooth return */
.btn-heat.btn-lg,.btn-call,.em-call a[href^="tel"]{transition:transform .35s var(--m-ease),background var(--dur-base),box-shadow var(--dur-base)}
.em-call a[href^="tel"]{display:inline-block;width:max-content}
/* stats rule */
.stats-band{position:relative}
.stats-band::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--heat),var(--heat-hi) 35%,var(--cool-hi) 65%,var(--cool));transform:scaleX(0);transform-origin:0 50%;transition:transform 1.2s var(--m-ease)}
.stats-band.drawn::before{transform:scaleX(1)}
.stats-band .stat{opacity:0;transform:translateY(14px);transition:opacity .6s var(--m-ease),transform .6s var(--m-ease)}
.stats-band.drawn .stat{opacity:1;transform:none}
.stats-band.drawn .stat:nth-child(2){transition-delay:.1s}.stats-band.drawn .stat:nth-child(3){transition-delay:.2s}.stats-band.drawn .stat:nth-child(4){transition-delay:.3s}
/* signature */
.sig-name{clip-path:inset(0 100% 0 0);transition:clip-path 1.6s cubic-bezier(.6,.1,.3,1)}
.sig.write .sig-name{clip-path:inset(-10% -5% -20% 0)}
.sig-role{opacity:0;transition:opacity .6s 1.2s}.sig.write .sig-role{opacity:1}
/* emergency timeline */
.em-steps{list-style:none;margin:18px 0 6px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);position:relative;gap:8px}
.em-steps::before,.em-steps::after{content:"";position:absolute;left:8px;right:calc(33.3% - 8px);top:7px;height:2px;border-radius:2px;background:rgba(255,255,255,.12)}
.em-steps::after{background:linear-gradient(90deg,var(--heat-hi),var(--cool-hi));transform:scaleX(0);transform-origin:0 50%;transition:transform 2.2s cubic-bezier(.5,0,.3,1) .2s}
.em-steps.run::after{transform:scaleX(1)}
.em-steps li{position:relative;z-index:1;display:grid;gap:2px;font-size:.8125rem}
.em-steps i{width:16px;height:16px;border-radius:50%;background:var(--navy-2);border:2px solid rgba(255,255,255,.25);margin-bottom:8px;transition:background .3s,border-color .3s,transform .4s var(--m-spring)}
.em-steps.run li:nth-child(1) i{transition-delay:.2s}.em-steps.run li:nth-child(2) i{transition-delay:1.25s}.em-steps.run li:nth-child(3) i{transition-delay:2.3s}
.em-steps.run i{background:var(--heat-hi);border-color:var(--heat-hi);transform:scale(1.15)}
.em-steps.run li:nth-child(3) i{background:var(--cool-hi);border-color:var(--cool-hi)}
.em-steps b{color:#fff;font-weight:600;font-size:.875rem}
.em-steps span{color:var(--fog);line-height:1.3}
.em-steps li{opacity:.45;transition:opacity .4s}
.em-steps.run li{opacity:1}.em-steps.run li:nth-child(2){transition-delay:1.2s}.em-steps.run li:nth-child(3){transition-delay:2.25s}
/* reviews */
.stars svg{transform:scale(0);transition:transform .45s var(--m-spring)}
.stars.pop svg{transform:none}
.stars.pop svg:nth-child(2){transition-delay:.06s}.stars.pop svg:nth-child(3){transition-delay:.12s}.stars.pop svg:nth-child(4){transition-delay:.18s}.stars.pop svg:nth-child(5){transition-delay:.24s}
.review.lead{position:relative}
.rot-bar{position:absolute;left:28px;right:28px;bottom:14px;height:2px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden}
.rot-bar i{display:block;height:100%;background:var(--heat-hi);transform:scaleX(0);transform-origin:0 50%}
.rot-bar.go i{animation:rot 8s linear forwards}
@keyframes rot{to{transform:scaleX(1)}}
.rot-dots{display:flex;gap:6px;margin-top:18px}
.rot-dots button{width:8px;height:8px;border-radius:999px;border:0;padding:0;background:rgba(255,255,255,.25);cursor:pointer;transition:width .35s var(--m-ease),background .3s}
.rot-dots button[aria-current=true]{width:26px;background:var(--heat-hi)}
.rot-dots button::before{content:"";position:absolute;inset:-12px}
.rot-dots button{position:relative}
.reviews .review.is-featured{border-color:var(--heat-hi)!important;box-shadow:0 0 0 1px var(--heat-hi) inset}
/* map pins linked to office cards */
.gmap .ov a{transition:transform .3s var(--m-spring),box-shadow .3s,background .3s}
.gmap .ov a.lit{transform:translateY(-4px) scale(1.06);box-shadow:0 10px 24px -8px rgba(9,44,71,.5)}
.gmap .badge{animation:rise .6s var(--m-ease) .3s both}
/* form */
.form-meter{display:flex;align-items:center;gap:12px;margin:4px 0 18px}
.form-meter span{flex:1;height:4px;border-radius:4px;background:var(--mist);overflow:hidden}
.form-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--heat),var(--heat-hi));transform:scaleX(0);transform-origin:0 50%;transition:transform .45s var(--m-ease)}
.form-meter.done i{background:#1f7a69}
.form-meter em{font-style:normal;font-size:.8125rem;color:var(--slate);white-space:nowrap;min-width:10.5em;text-align:right}
.form-meter.done em{color:#1f7a69;font-weight:600}
.field{position:relative}
.field input,.field select,.field textarea{transition:border-color .2s,box-shadow .25s,background .2s}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 4px rgba(20,94,149,.12)}
.field.ok::after{content:"";position:absolute;right:14px;top:40px;width:14px;height:8px;border-left:2px solid #1f7a69;border-bottom:2px solid #1f7a69;transform:rotate(-45deg) scale(.4);opacity:0;animation:okc .35s var(--m-spring) forwards}
@keyframes okc{to{opacity:1;transform:rotate(-45deg) scale(1)}}
.zip-msg{transition:color .2s}
.zip-msg.yes{color:#1f7a69;font-weight:600}.zip-msg.no{color:var(--heat-text);font-weight:600}
.urgency{position:relative;isolation:isolate}
.urg-thumb{position:absolute;top:0;bottom:0;left:0;border-radius:12px;background:var(--ink);z-index:-1;transition:transform .35s var(--m-ease),width .35s var(--m-ease),background .3s}
.urgency[data-v=emergency] .urg-thumb{background:var(--heat-btn)}
.urgency label span{transition:color .25s}
.urgency input:checked+span{background:transparent!important;color:#fff!important;border-color:transparent!important}
.urgency label:has(input:checked){background:transparent!important;border-color:transparent!important}
button.sending{pointer-events:none}
button.sending::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite;margin-right:8px}
@keyframes spin{to{transform:rotate(360deg)}}
.ok-check{fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;animation:ck .5s var(--m-ease) .1s forwards;margin-right:8px}
@keyframes ck{to{stroke-dashoffset:0}}
.form.is-sent .fields{opacity:.55;transition:opacity .4s}
/* resources + tools */
.post{transition:transform .3s var(--m-ease),box-shadow .3s}
.post:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.post .thumb img{transition:transform .8s var(--m-ease)}
.post:hover .thumb img{transform:scale(1.05)}
.tool{transition:transform .25s var(--m-ease),border-color .25s,box-shadow .25s}
.tool:hover{transform:translateY(-3px);box-shadow:var(--sh-1)}
.tool:hover .ic{transform:rotate(-8deg) scale(1.08)}
.ic{transition:transform .35s var(--m-spring)}
/* pricing bento */
.bento>*{transition:transform .3s var(--m-ease),box-shadow .3s}
.bento>*:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.price-list li{transition:background .2s,padding .3s var(--m-ease)}
.price-list li:hover{background:var(--paper);padding-left:10px;padding-right:10px}
.perk{transition:transform .3s var(--m-ease),background .3s}
.perk:hover{transform:translateX(4px)}
/* FAQ */
.faq details[open] .pm{transform:rotate(45deg)}
.faq summary{transition:color .2s,padding-left .3s var(--m-ease)}
.faq summary:hover{padding-left:6px}
/* footer links */
.f-col a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .3s var(--m-ease),color .2s}
.f-col a:hover{background-size:100% 1px}
/* mobile bar entrance bounce */
.mbar.show a{animation:rise .45s var(--m-spring) both}.mbar.show a:nth-child(2){animation-delay:.05s}.mbar.show a:nth-child(3){animation-delay:.1s}
@media (prefers-reduced-motion:reduce){
  .split .wd>span,.stg,.stats-band .stat,.stats-band::before,.sig-name,.em-steps::after,.stars svg,svg.draw{transition:none!important;transform:none!important;opacity:1!important;clip-path:none!important;stroke-dashoffset:0!important}
  .hero-proof .proof,.hero .faces>*,.mbar.show a,.nav>li:hover .mega-col{animation:none!important}
  .em-steps li{opacity:1}.em-steps::after{transform:scaleX(1)!important}
}
.stats-band{padding-top:32px}
.em-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.emergency .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.emergency .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.em-steps li{align-content:start}
.em-call{padding-bottom:26px}
@media(max-width:560px){.em-actions .btn{width:100%;justify-content:center}}
.em-actions .btn-lg{padding-left:22px;padding-right:22px;font-size:1rem}
.em-actions .btn-lg .btn-stack strong{font-size:1.125rem}

/* fix: stagger end-state must beat per-group start transforms */
.stg-in .stg,.city-cloud.stg-in .stg,.crew.stg-in .stg{opacity:1;transform:none}
.city-cloud.stg-in a:hover{transform:translateY(-2px)}
/* city chips: tidy rhythm */
.city-groups{gap:28px 40px}
.city-groups h3{font-size:.875rem;margin-bottom:12px}
.city-cloud{gap:8px}
.city-cloud a{padding:9px 14px;line-height:1.2}
/* plan perks: clearer, consistent */
.perks{gap:14px;margin-top:4px}
.perk{gap:14px;align-items:flex-start;padding:16px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);transition:background .25s,border-color .25s,transform .3s var(--m-ease)}
.perk:hover{transform:none;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.perk .ic{width:40px;height:40px;flex:none;border-radius:10px;background:rgba(255,255,255,.07)!important}
.perk .ic.heat{color:var(--heat-hi)}.perk .ic.cool{color:var(--cool-hi)}
.perk .ic svg{width:20px;height:20px}
.perk strong{font-size:1rem;line-height:1.25;color:#fff}
.perk span:not(.ic){font-size:.875rem;line-height:1.5;color:#b9c8d4;margin-top:4px}
.perk:hover .ic{transform:rotate(-6deg) scale(1.06)}

/* ================= REVIEWS v3 ================= */
.rvw{background:var(--navy);color:#fff}
.rvw .eyebrow{color:var(--cool-hi)}
.rvw .h2{color:#fff;margin-top:10px}
.rvw-head{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:40px}
.rvw-sub{color:var(--fog);font-size:1.0625rem;line-height:1.6;margin-top:14px;max-width:44ch}
.rvw-score{display:grid;grid-template-columns:auto auto;grid-template-areas:"g num" "p p" "a a";gap:14px 16px;align-items:center;padding:24px 26px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);min-width:320px}
.rvw-g{grid-area:g;width:48px;height:48px;border-radius:14px;background:#fff;display:grid;place-items:center}
.rvw-g i{width:24px;height:24px;border-radius:50%;background:conic-gradient(#ea4335 0 25%,#fbbc05 25% 50%,#34a853 50% 75%,#4285f4 75%);mask:radial-gradient(circle,transparent 42%,#000 43%);-webkit-mask:radial-gradient(circle,transparent 42%,#000 43%)}
.rvw-num{grid-area:num;display:flex;align-items:center;gap:12px}
.rvw-num b{font:800 3rem/1 var(--font-display);letter-spacing:-.03em;min-width:2.1ch}
.rvw-num .stars svg{width:20px;height:20px}
.rvw-score p{grid-area:p;color:var(--fog);font-size:.9375rem;line-height:1.45;margin:0}
.rvw-score p strong{color:#fff}
.rvw-score-actions{grid-area:a;display:flex;align-items:center;gap:16px}
.rvw-write{color:var(--cool-hi);font-weight:600;font-size:.9375rem;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .3s var(--m-ease)}
.rvw-write:hover{background-size:100% 1.5px}
.stars{display:flex;gap:2px;color:var(--star,#ffb020)}
.stars svg{width:16px;height:16px;fill:currentColor}
/* bar */
.rvw-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;flex-wrap:wrap}
.rvw-filters{position:relative;display:inline-flex;gap:4px;padding:5px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);isolation:isolate;max-width:100%;overflow-x:auto;scrollbar-width:none}
.rvw-filters::-webkit-scrollbar{display:none}
.rvw-filters button{position:relative;white-space:nowrap;border:0;background:none;color:var(--fog);font:600 .9375rem/1 var(--font-body);padding:11px 16px;border-radius:999px;cursor:pointer;transition:color .25s}
.rvw-filters button em{font-style:normal;font-weight:500;opacity:.7;margin-left:6px;font-size:.8125rem}
.rvw-filters button[aria-selected=true]{color:var(--navy)}
.rvw-filters button:not([aria-selected=true]):hover{color:#fff}
.rvw-pill{position:absolute;top:5px;bottom:5px;left:0;border-radius:999px;background:#fff;z-index:-1;transition:transform .4s var(--m-ease),width .4s var(--m-ease)}
.rvw-nav{display:flex;align-items:center;gap:10px}
.rvw-count{color:var(--fog);font-size:.875rem;margin-right:6px;min-width:6.5em;text-align:right}
.rvw-nav button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s,opacity .2s,transform .2s var(--m-spring)}
.rvw-nav button:hover:not(:disabled){background:#fff;color:var(--navy);border-color:#fff}
.rvw-nav button:active:not(:disabled){transform:scale(.92)}
.rvw-nav button:disabled{opacity:.3;cursor:default}
.rvw-nav svg{width:18px;height:18px}
.rvw-prev svg{transform:rotate(180deg)}
/* track */
.rvw-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;padding:6px 2px 24px;margin:0 -2px;scrollbar-width:none;cursor:grab;outline:none}
.rvw-track::-webkit-scrollbar{display:none}
.rvw-track.grab{cursor:grabbing;scroll-snap-type:none;user-select:none}
.rvw-track.grab *{pointer-events:none}
.rvw-track:focus-visible{box-shadow:0 0 0 3px var(--heat-hi);border-radius:20px}
.rcard{flex:0 0 calc((100% - 54px)/4);min-width:260px;scroll-snap-align:start;display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 20px 40px -24px rgba(0,0,0,.5);transition:transform .35s var(--m-ease),box-shadow .35s}
.rcard:hover{transform:translateY(-6px);box-shadow:0 30px 50px -24px rgba(0,0,0,.6)}
.rcard[hidden]{display:none}
.rcard header{display:flex;align-items:center;gap:12px}
.rcard header div{flex:1;min-width:0}
.rcard header b,.rcard-photo footer b{display:block;font-size:.9375rem;font-weight:600}
.rcard header span:not(.avatar):not(.g){display:block;font-size:.8125rem;color:var(--slate)}
.rcard .avatar{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font:700 .875rem/1 var(--font-display);color:#fff;background:linear-gradient(135deg,#7DAECF,#145E95)}
.rcard .avatar.heat{background:linear-gradient(135deg,#F59A55,#DF6200)}
.rcard .g{width:22px;height:22px;display:grid;place-items:center}
.rcard .g i{width:18px;height:18px;border-radius:50%;background:conic-gradient(#ea4335 0 25%,#fbbc05 25% 50%,#34a853 50% 75%,#4285f4 75%);mask:radial-gradient(circle,transparent 40%,#000 41%);-webkit-mask:radial-gradient(circle,transparent 40%,#000 41%)}
.rcard blockquote{margin:0;font-size:1rem;line-height:1.6;color:var(--ink);flex:1}
.rchip{align-self:flex-start;font-size:.8125rem;font-weight:600;color:var(--cool);background:rgba(20,94,149,.08);padding:6px 11px;border-radius:999px}
/* photo cards */
.rcard-photo{position:relative;padding:0;overflow:hidden;background:var(--navy-2);color:#fff;min-height:380px;justify-content:flex-end}
.rcard-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--m-ease)}
.rcard-photo:hover>img{transform:scale(1.06)}
.rcard-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,44,71,0) 25%,rgba(9,44,71,.72) 55%,rgba(9,44,71,.95))}
.rcard-in{position:relative;z-index:1;padding:22px;display:grid;gap:12px}
.rcard-photo blockquote{color:#fff;font-size:1.0625rem;font-weight:500}
.rcard-photo footer{display:flex;align-items:center;gap:12px}
.rcard-photo footer span:not(.avatar){display:block;font-size:.8125rem;color:#c9d6e0}
.rcard-photo{flex-basis:calc((100% - 54px)/4 * 1.35)}
.rvw-progress{height:3px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:6px}
.rvw-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--heat-hi),var(--cool-hi));transform-origin:0 50%;transform:scaleX(.3);transition:transform .2s linear}
@media(max-width:1100px){.rcard{flex-basis:calc((100% - 36px)/3)}.rcard-photo{flex-basis:calc((100% - 36px)/3*1.3)}}
@media(max-width:860px){.rvw-head{grid-template-columns:1fr}.rvw-score{min-width:0}.rcard{flex-basis:calc((100% - 18px)/2)}.rcard-photo{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:560px){.rcard,.rcard-photo{flex-basis:84%;min-width:0}.rvw-nav{width:100%;justify-content:flex-end}.rvw-count{margin-right:auto;text-align:left}.rvw-filters{width:100%}}

/* ================= SERVICE AREA v3 ================= */
.sa{background:var(--paper)}
.sa-head{display:grid;grid-template-columns:1fr minmax(320px,420px);gap:48px;align-items:end;margin-bottom:36px}
.sa-head .h2{margin-top:10px}
.sa-head .lede{margin-top:14px;max-width:48ch}
.sa-check{background:#fff;border:1px solid var(--mist);border-radius:20px;padding:20px;box-shadow:var(--sh-1)}
.sa-check label{display:block;font:700 1rem/1.2 var(--font-display);color:var(--ink);margin-bottom:12px}
.sa-field{display:flex;align-items:center;gap:8px;border:1.5px solid var(--mist);border-radius:14px;padding:5px 5px 5px 14px;background:var(--paper);transition:border-color .2s,box-shadow .25s}
.sa-field:focus-within{border-color:var(--cool);box-shadow:0 0 0 4px rgba(20,94,149,.12);background:#fff}
.sa-field>svg{width:18px;height:18px;color:var(--slate);flex:none}
.sa-field input{flex:1;min-width:0;border:0;background:transparent;font:500 1rem/1.2 var(--font-body);color:var(--ink);padding:10px 0;outline:none}
.sa-field .btn{flex:none;min-height:44px}
.sa-result{margin:12px 2px 0;font-size:.875rem;color:var(--slate);min-height:1.3em;transition:color .2s}
.sa-result.yes{color:#1f7a69;font-weight:600}.sa-result.no{color:var(--heat-text);font-weight:600}
.sa-result.yes::before{content:"✓ "}
/* panel */
.sa-panel{display:grid;grid-template-columns:360px 1fr;border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--mist);box-shadow:var(--sh-2);min-height:500px}
.sa-offices{display:flex;flex-direction:column;border-right:1px solid var(--mist)}
.sa-office{all:unset;box-sizing:border-box;position:relative;display:grid;gap:6px;padding:22px 24px;cursor:pointer;border-bottom:1px solid var(--mist);transition:background .25s;flex:1}
.sa-office:last-child{border-bottom:0}
.sa-office::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--heat);transform:scaleY(0);transition:transform .35s var(--m-ease)}
.sa-office[aria-selected=true]{background:var(--paper-warm)}
.sa-office[aria-selected=true]::before{transform:scaleY(1)}
.sa-office:hover:not([aria-selected=true]){background:var(--paper)}
.sa-office:focus-visible{outline:3px solid var(--cool);outline-offset:-3px}
.sa-o-top{display:flex;justify-content:space-between;align-items:center}
.sa-tag{font-size:.8125rem;font-weight:600;color:var(--cool)}
.sa-office#sa-milwaukie .sa-tag{color:var(--heat-text)}
.sa-rating{display:inline-flex;align-items:center;gap:4px;font-size:.8125rem;color:var(--slate)}
.sa-rating svg{width:13px;height:13px;color:#ffb020;fill:currentColor}
.sa-office b{font:800 1.375rem/1.15 var(--font-display);color:var(--ink);letter-spacing:-.01em}
.sa-addr{font-size:.9375rem;line-height:1.5;color:var(--slate)}
.sa-o-actions{display:flex;gap:16px;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s var(--m-ease),opacity .3s,margin .3s}
.sa-office[aria-selected=true] .sa-o-actions{max-height:40px;opacity:1;margin-top:8px}
.sa-o-actions a{font-size:.875rem;font-weight:600;color:var(--cool);display:inline-flex;align-items:center;gap:5px}
.sa-o-actions a svg{width:14px;height:14px;transition:transform .25s var(--m-ease)}
.sa-o-actions a:hover svg{transform:translateX(3px)}
.sa-o-actions a:hover{text-decoration:underline;text-underline-offset:3px}
.sa-frame{position:relative;background:#e6edf2 linear-gradient(135deg,#e9eff4,#dde6ed)}
.sa-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;transition:opacity .35s}
.sa-frame.loading iframe{opacity:.35}
.sa-radius{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--ink);font-size:.8125rem;font-weight:600;padding:8px 12px;border-radius:999px;box-shadow:var(--sh-1);pointer-events:none}
.sa-radius svg{width:14px;height:14px;color:var(--heat)}
/* cities */
.sa-cities{display:grid;grid-template-columns:repeat(3,1fr) 1.2fr;gap:0;margin-top:20px;border:1px solid var(--mist);border-radius:20px;background:#fff;overflow:hidden}
.sa-col,.sa-more{padding:22px 24px;border-left:1px solid var(--mist)}
.sa-col:first-child{border-left:0}
.sa-col h3{display:flex;align-items:center;gap:8px;font:600 .875rem/1 var(--font-body);color:var(--slate);margin-bottom:14px}
.sa-col h3 i{width:8px;height:8px;border-radius:50%;background:var(--ink)}
.sa-col h3 i.cool{background:var(--cool)}.sa-col h3 i.heat{background:var(--heat)}
.sa-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sa-col li{font-size:1rem;color:var(--ink);cursor:pointer;width:max-content;border-radius:6px;padding:2px 6px;margin-left:-6px;transition:background .2s,color .2s}
.sa-col li:hover{color:var(--cool)}
.sa-col li.hit{background:rgba(31,122,105,.12);color:#1f7a69;font-weight:600;animation:hit .5s var(--m-spring)}
@keyframes hit{0%{transform:scale(.9)}60%{transform:scale(1.06)}100%{transform:none}}
.sa-more{background:var(--paper);display:flex;flex-direction:column;gap:6px}
.sa-more b{font:800 1.5rem/1 var(--font-display);color:var(--ink)}
.sa-more span{font-size:.9375rem;line-height:1.5;color:var(--slate)}
.sa-more a{margin-top:auto;padding-top:10px;font-weight:600;font-size:.9375rem;color:var(--cool);display:inline-flex;align-items:center;gap:6px}
.sa-more a svg{width:14px;height:14px;transition:transform .25s var(--m-ease)}
.sa-more a:hover svg{transform:translateX(3px)}
@media(max-width:1000px){.sa-head{grid-template-columns:1fr;gap:24px}.sa-panel{grid-template-columns:1fr}.sa-offices{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--mist)}.sa-office{flex:0 0 min(300px,80%);border-bottom:0;border-right:1px solid var(--mist)}.sa-office::before{top:auto;right:0;width:auto;height:4px;transform:scaleX(0)}.sa-office[aria-selected=true]::before{transform:scaleX(1)}.sa-frame{min-height:360px}.sa-cities{grid-template-columns:1fr 1fr}.sa-col:nth-child(3){border-left:0}.sa-col:nth-child(n+3),.sa-more{border-top:1px solid var(--mist)}}
@media(max-width:560px){.sa-cities{grid-template-columns:1fr}.sa-col,.sa-more{border-left:0!important}.sa-col+.sa-col{border-top:1px solid var(--mist)}.sa-col ul{grid-template-columns:1fr 1fr}.sa-frame{min-height:300px}.sa-office{padding:18px}}
@media(max-width:1000px){.sa-head{grid-template-columns:minmax(0,1fr)}.sa-panel{grid-template-columns:minmax(0,1fr)}}
.sa-check{min-width:0}

/* ================= AUDIT FIXES (1–18) ================= */
/* 1 hero proof numbers keep display size */
.proof strong span{font-size:inherit;color:inherit;display:inline}
.proof strong span[style]{font-size:.6em!important;color:inherit}
/* 2 trust strip wraps on every width */
.strip .marquee{white-space:normal;mask:none;-webkit-mask:none}
.marquee-track.static{flex-wrap:wrap;justify-content:center}
.marquee-track.static span{white-space:nowrap}
@media(max-width:640px){.marquee-track.static{gap:10px 18px;padding:16px;justify-content:flex-start}.marquee-track.static span{font-size:.8125rem}}
/* 3 top bar */
@media(max-width:560px){.tb-long{display:none}.emergency-pill{white-space:nowrap}}
/* 4 hero proof row on mobile */
@media(max-width:560px){.hero-proof{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.proof>span{font-size:.75rem;line-height:1.3}.proof strong{font-size:1.25rem}}
/* 5 avatar contrast */
.rcard .avatar,.rcard-photo .avatar{background:linear-gradient(135deg,#145E95,#0E3656)}
.rcard .avatar.heat,.rcard-photo .avatar.heat{background:linear-gradient(135deg,#DF6200,#B04D00)}
.faces img,.faces i{background:linear-gradient(135deg,#145E95,#0E3656)}
.faces>:nth-child(even){background:linear-gradient(135deg,#DF6200,#B04D00)}
.faces i{font-size:.75rem}
/* 6 tap targets ≥44px */
.hero-team{min-height:44px}
.cred-copy{min-height:32px;padding:8px 11px}.cred-copy::before{content:"";position:absolute;inset:-6px}
.rvw-write{display:inline-flex;align-items:center;min-height:44px}
.rvw-filters button{min-height:44px;padding:0 16px;display:inline-flex;align-items:center}
.rvw-pill{top:5px;bottom:5px}
.sa-field input{min-height:44px}
.sa-o-actions a{min-height:44px;display:inline-flex;align-items:center}
.sa-office[aria-selected=true] .sa-o-actions{max-height:48px;margin-top:0}
.sa-more a{min-height:44px}
.em-call a[href^="tel"]{min-height:44px;display:inline-flex;align-items:center}
/* 7 mosaic captions */
@media(max-width:640px){.mosaic figcaption{font-size:.75rem;padding:5px 9px;left:8px;bottom:8px}}
/* 9 radius system: 12 small · 20 card · 28 panel */
.hero-photo,.em-side,.rcard,.sa-check,.sa-cities,.mosaic figure,.card,.bcard,.post,.bento>*{border-radius:20px}
.community,.creds,.plan-card,.form,.sa-panel{border-radius:28px}
.perk,.promise>div,.cred-ic,.sa-field{border-radius:12px}
/* 10 eyebrows: cool on light, heat-hi on dark */
.eyebrow{color:var(--cool)!important}
.hero .eyebrow,.hero-kicker,.emergency .eyebrow,.rvw .eyebrow,.plan .eyebrow,.cta .eyebrow,.community-copy .eyebrow,.b-fin .eyebrow,.svc-card .eyebrow,.b-diag .eyebrow{color:var(--heat-hi)!important}
/* 11 brands heading aligned left like every other section */
.brands .section-head{justify-items:start;text-align:left}
.brands .section-head>div{text-align:left!important}
.brands .lede{margin-inline:0;text-align:left}
.brands-foot{text-align:left}
/* 12 one h2 size everywhere */
.emergency h2,.cta h2{font-size:var(--fs-h2);line-height:1.02;letter-spacing:-.025em}
.cta h2{max-width:16ch}
/* 13 break the grey run: service area on white */
.sa{background:#fff}
.sa-check{background:var(--paper);box-shadow:none}
.sa-field{background:#fff}
/* 14 footer without the duplicate emergency band */
.footer .f-main{padding-top:clamp(56px,6vw,80px)}
/* 15 plan card: no dead gap */
.plan-price{justify-content:flex-start}
.plan-price>.btn{margin-top:8px}
/* 16 learning center cards line up */
.res-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.post .thumb,.post.lead .thumb{aspect-ratio:16/10}
.post.lead h3{font-size:1.375rem}
.post .body h3{font-size:1.25rem;line-height:1.2}
@media(max-width:980px){.post.lead{grid-column:span 2}}
@media(max-width:600px){.post.lead{grid-column:span 1}}
.b-diag{background:linear-gradient(145deg,#DF6200,#B04D00)!important}
.b-diag .eyebrow{color:#fff!important;opacity:.92}
.hero .eyebrow,.hero-kicker,.emergency .eyebrow,.rvw .eyebrow,.plan .eyebrow,.cta .eyebrow,.community-copy .eyebrow,.b-fin .eyebrow,.svc-card .eyebrow{color:#F59A55!important}
.marquee-track.static{width:100%!important;max-width:1240px;flex:1 1 auto;box-sizing:border-box}

/* ===== REVIEWS: tabs in header ===== */
.rvw-tabs{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.rvw-total{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin:0;font-size:.9375rem;color:var(--fog)}
.rvw-total strong{color:#fff}
.rvw-total .stars svg{width:15px;height:15px}
.rvw-total a{color:var(--cool-hi);font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.rvw-total a:hover{text-decoration:underline;text-underline-offset:3px}
.rvw-bar{justify-content:flex-end;margin-bottom:16px}
@media(max-width:860px){.rvw-tabs{align-items:stretch}.rvw-total{justify-content:flex-start}}

/* ===== HERO XL: full-bleed photo ===== */
.hero-xl{position:relative;min-height:min(88vh,860px);display:flex;align-items:center;isolation:isolate;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:62% 55%;transform:scale(1.08);animation:kenburns 18s ease-out forwards}
@keyframes kenburns{to{transform:scale(1)}}
.hero-shade{position:absolute;inset:0;z-index:-1;background:
 linear-gradient(90deg,rgba(9,44,71,.97) 0%,rgba(9,44,71,.9) 34%,rgba(9,44,71,.55) 58%,rgba(9,44,71,.15) 100%),
 linear-gradient(0deg,rgba(9,44,71,.85) 0%,rgba(9,44,71,0) 35%)}
.hero-xl>.container{display:block;padding:clamp(72px,9vw,128px) 0 clamp(88px,9vw,128px)}
.hero-xl .hero-copy{max-width:780px}
.hero-xl h1{font-size:clamp(2.75rem,1.4rem + 4.4vw,5.25rem);max-width:13ch;line-height:.98;letter-spacing:-.035em;margin-bottom:26px;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.hero-xl h1 .hl{position:relative;display:inline-block;white-space:nowrap}
.hl-line{position:absolute;left:0;right:0;bottom:-.12em;width:100%;height:.22em;overflow:visible}
.hl-line path{fill:none;stroke:var(--heat-hi);stroke-width:5;stroke-linecap:round;stroke-dasharray:320;stroke-dashoffset:320;animation:hlDraw 1.1s cubic-bezier(.6,.1,.2,1) 1.1s forwards}
@keyframes hlDraw{to{stroke-dashoffset:0}}
.hero-xl .lede{font-size:clamp(1.0625rem,.95rem + .4vw,1.3125rem);color:#d5e0e8;max-width:36em}
.hero-xl .hero-kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:rgba(245,154,85,.14);border:1px solid rgba(245,154,85,.35);color:#F59A55!important;font-size:.9375rem}
.hero-xl .hero-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--heat-hi);box-shadow:0 0 0 0 rgba(245,154,85,.6);animation:kpulse 2.4s infinite}
@keyframes kpulse{70%{box-shadow:0 0 0 10px rgba(245,154,85,0)}100%{box-shadow:0 0 0 0 rgba(245,154,85,0)}}
.hero-xl .hero-actions{margin-top:34px}
.hero-xl .btn-ghost{background:rgba(255,255,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:rgba(255,255,255,.35)}
.hero-xl .btn-ghost:hover{background:rgba(255,255,255,.16)}
.hero-xl .hero-proof{margin-top:36px;padding:18px 22px;border-radius:20px;background:rgba(9,44,71,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);display:flex;gap:28px;width:max-content;max-width:100%;border-top:1px solid rgba(255,255,255,.12)}
.hero-xl .proof+.proof{padding-left:28px;border-left:1px solid rgba(255,255,255,.14)}
.hero-xl .proof strong{font-size:1.75rem}
.hero-xl .hero-team{margin-top:26px}
.hero-caption{position:absolute;right:max(var(--gutter),calc((100vw - 1240px)/2));bottom:28px;margin:0;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(9,44,71,.6);backdrop-filter:blur(8px);color:#e4ecf2;font-size:.8125rem;border:1px solid rgba(255,255,255,.12)}
.hero-caption svg{width:14px;height:14px;color:var(--heat-hi)}
@media(max-width:980px){
 .hero-xl{min-height:0;align-items:flex-end}
 .hero-media img{object-position:70% 40%}
 .hero-shade{background:linear-gradient(180deg,rgba(9,44,71,.35) 0%,rgba(9,44,71,.75) 30%,rgba(9,44,71,.97) 55%)}
 .hero-xl .container{padding-top:clamp(220px,48vw,360px);padding-bottom:64px}
 .hero-caption{top:16px;bottom:auto;right:16px}
}
@media(max-width:560px){
 .hero-xl h1{font-size:clamp(2.5rem,9.5vw,3rem)}
 .hero-xl h1 .hl{white-space:normal}
 .hero-xl .hero-proof{width:100%;padding:14px;gap:10px;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))}
 .hero-xl .proof+.proof{padding-left:10px}
 .hero-xl .proof strong{font-size:1.25rem}
}
@media (prefers-reduced-motion:reduce){.hero-media img{animation:none;transform:none}.hl-line path{animation:none;stroke-dashoffset:0}.hero-xl .hero-kicker::before{animation:none}}
@media(max-width:860px){.rvw-head{grid-template-columns:minmax(0,1fr)}.rvw-tabs{min-width:0}}
@media(max-width:980px){.hero-media img{object-position:78% 85%}.hero-shade{background:linear-gradient(180deg,rgba(9,44,71,.1) 0%,rgba(9,44,71,.55) 28%,rgba(9,44,71,.96) 50%)}}
@media(max-width:560px){.hero-xl .hero-kicker{font-size:.8125rem;padding:7px 12px}}
@media(max-width:980px){
 .hero-media{bottom:auto;height:clamp(260px,68vw,460px)}
 .hero-media img{object-position:center 60%}
 .hero-shade{bottom:auto;height:clamp(260px,68vw,460px);background:linear-gradient(180deg,rgba(9,44,71,0) 55%,var(--navy) 100%)}
 .hero-xl{background:var(--navy)}
 .hero-xl .container{padding-top:calc(clamp(260px,68vw,460px) - 36px)}
}
@media(max-width:1000px){.tb-long{display:none}.emergency-pill{white-space:nowrap}}

/* ================= HERO (reference style, amplified) ================= */
.hero.hx{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);color:#fff;--mix:.5}
.hx-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hx-glow{position:absolute;border-radius:50%;filter:blur(90px);transition:opacity 1.2s,transform 1.2s}
.hx-glow.heat{width:720px;height:720px;left:-260px;top:-300px;background:radial-gradient(circle,rgba(245,154,85,.55),rgba(223,98,0,0) 65%);opacity:calc(.35 + var(--mix)*.65);animation:gdrift 16s ease-in-out infinite alternate}
.hx-glow.cool{width:760px;height:760px;right:-260px;bottom:-320px;background:radial-gradient(circle,rgba(125,174,207,.5),rgba(20,94,149,0) 65%);opacity:calc(1 - var(--mix)*.65);animation:gdrift 18s ease-in-out infinite alternate-reverse}
@keyframes gdrift{to{transform:translate(60px,40px) scale(1.08)}}
.hx-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;mask:radial-gradient(ellipse 70% 60% at 70% 45%,#000 20%,transparent 75%);-webkit-mask:radial-gradient(ellipse 70% 60% at 70% 45%,#000 20%,transparent 75%)}
.hero.hx .container.hx-wrap{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,5vw,72px);align-items:center;padding:clamp(56px,7vw,104px) 0 clamp(64px,7vw,104px)}
/* kicker */
.hx-kicker{display:inline-flex;align-items:center;gap:12px;margin:0 0 26px;padding:6px 16px 6px 6px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);font-size:.9375rem;color:#dfe7ee}
.hx-kicker span{font:700 .75rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;background:var(--heat-btn);color:#fff;padding:7px 11px;border-radius:999px}
/* headline */
.hero.hx .hx-title{font-family:var(--font-display);font-stretch:88%;font-size:clamp(3rem,1.5rem + 5.4vw,6.4rem);line-height:.94;letter-spacing:-.045em;font-weight:800;margin:0 0 26px}
.hero.hx .hx-title .hx-l1,.hero.hx .hx-title .hx-l2{display:block}
.hero.hx .hx-title .hx-l2{color:#fff}
.hx-heat,.hx-heat .wd>span{background:linear-gradient(135deg,#F59A55,#F59A55 55%,#DF6200);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.hx-cool,.hx-cool .wd>span{background:linear-gradient(135deg,#7DAECF,#7DAECF 55%,#145E95);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}



.hx-lede{font-size:clamp(1.0625rem,.95rem + .45vw,1.3125rem);line-height:1.6;color:#b9c8d4;max-width:34em}
.hx-actions{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px}
.hx-actions .btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}
.hx-actions .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.hx-actions .btn-heat{box-shadow:0 18px 40px -14px rgba(245,154,85,.7)}
.hx-proof{display:flex;gap:40px;margin-top:40px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.hx-proof>div{display:flex;flex-direction:column;gap:6px}
.hx-proof strong{font:800 1.75rem/1 var(--font-display);letter-spacing:-.02em;display:flex;align-items:center;gap:6px;color:#fff}
.hx-proof strong svg{width:22px;height:22px;color:#fff;fill:currentColor}
.hx-proof>div>span{font-size:.9375rem;color:#a9bccb}
/* stage */
.hx-stage{position:relative;aspect-ratio:1;max-width:620px;width:100%;margin-inline:auto;transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--m-ease)}
.hx-ring{position:absolute;inset:0;border-radius:50%;border:1.5px dashed rgba(255,255,255,.18);animation:spin 60s linear infinite}
.hx-orbit{position:absolute;top:-6px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--heat-hi);box-shadow:0 0 16px 4px rgba(245,154,85,.6)}
.hx-photo{position:absolute;inset:9%;overflow:hidden;border-radius:47% 53% 44% 56% / 52% 45% 55% 48%;animation:blob 14s ease-in-out infinite;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.hx-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.2s var(--m-ease)}
.hx-stage:hover .hx-photo img{transform:scale(1.12)}
@keyframes blob{0%,100%{border-radius:47% 53% 44% 56% / 52% 45% 55% 48%}33%{border-radius:55% 45% 52% 48% / 44% 56% 46% 54%}66%{border-radius:44% 56% 58% 42% / 56% 48% 52% 44%}}
.hx-chip{position:absolute;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border-radius:18px;background:rgba(14,54,86,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 40px -20px rgba(0,0,0,.6);animation:bob 6s ease-in-out infinite}
.hx-chip .ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.07)!important;flex:none}
.hx-chip .ic.heat{color:var(--heat-hi)}.hx-chip .ic.cool{color:var(--cool-hi)}
.hx-chip strong{display:block;font:800 1.25rem/1.1 var(--font-display);color:#fff}
.hx-chip div>span{font-size:.875rem;color:#b9c8d4}
.hx-chip.c1{left:-4%;top:14%}
.hx-chip.c2{right:-2%;top:50%;animation-delay:-3s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
/* thermostat */
.hx-thermo{--p:.5;position:absolute;right:2%;bottom:2%;width:148px;height:148px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--navy);cursor:grab;touch-action:none;user-select:none;box-shadow:0 20px 40px -18px rgba(0,0,0,.7);outline:none;transition:transform .3s var(--m-spring)}
.hx-thermo:hover{transform:scale(1.04)}
.hx-thermo.grab{cursor:grabbing;transform:scale(1.07)}
.hx-thermo:focus-visible{box-shadow:0 0 0 4px var(--heat-hi)}
.hx-thermo-dial{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 220deg,var(--cool-hi) 0deg,#9fb8c8 calc(var(--p)*140deg),var(--heat-hi) calc(var(--p)*280deg),rgba(255,255,255,.08) calc(var(--p)*280deg) 280deg,transparent 280deg);mask:radial-gradient(circle,transparent 60%,#000 61%);-webkit-mask:radial-gradient(circle,transparent 60%,#000 61%);transition:background .3s}
.hx-thermo::after{content:"";position:absolute;inset:0;border-radius:50%;border:10px solid rgba(255,255,255,.06)}
.hx-thermo b{position:relative;font:800 2.25rem/1 var(--font-display);letter-spacing:-.03em;color:#fff}
.hx-thermo small{position:relative;margin-top:6px;font:600 .75rem/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:#b9c8d4}
.hero.hx.is-heat .hx-thermo small{color:var(--heat-hi)}.hero.hx.is-cool .hx-thermo small{color:var(--cool-hi)}
.hx-hint{position:absolute;right:calc(2% + 20px);bottom:-5%;font-size:.8125rem;color:#a9bccb;display:flex;align-items:center;gap:6px;white-space:nowrap}
.hx-hint::after{content:"→";color:var(--heat-hi);animation:nudge 1.6s ease-in-out infinite}
@keyframes nudge{50%{transform:translateX(4px)}}
@media(max-width:1100px){.hx-proof{gap:24px}.hx-chip.c1{left:0}}
@media(max-width:980px){
 .hero.hx .container.hx-wrap{grid-template-columns:minmax(0,1fr);padding-top:40px}
 .hx-stage{max-width:520px;order:2}
 .hx-hint{display:none}
}
@media(max-width:560px){
 .hero.hx .hx-title{font-size:clamp(2.75rem,13vw,3.5rem)}
 .hx-kicker{font-size:.8125rem;gap:8px;padding-right:12px}
 .hx-kicker span{font-size:.6875rem;padding:6px 9px}
 .hx-actions .btn{width:100%;justify-content:center}
 .hx-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .hx-proof strong{font-size:1.25rem}.hx-proof strong svg{width:16px;height:16px}
 .hx-proof>div>span{font-size:.75rem;line-height:1.3}
 .hx-chip{padding:8px 12px 8px 8px;gap:8px;border-radius:14px}
 .hx-chip .ic{width:34px;height:34px}
 .hx-chip strong{font-size:1rem}.hx-chip div>span{font-size:.75rem}
 .hx-chip.c1{top:6%}.hx-chip.c2{top:54%;right:0}
 .hx-thermo{width:112px;height:112px}.hx-thermo b{font-size:1.75rem}.hx-thermo small{font-size:.625rem}
}
@media (prefers-reduced-motion:reduce){.hx-glow,.hx-ring,.hx-photo,.hx-chip,.hx-hint::after{animation:none!important}.hx-stage{transform:none!important}}
.hx-kicker span{white-space:nowrap}
.hero.hx .container.hx-wrap{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
@media(max-width:980px){.hero.hx .container.hx-wrap{grid-template-columns:minmax(0,1fr)}}

/* ===== STATS: span the full bar ===== */
.stats-band{grid-template-columns:repeat(4,minmax(0,1fr))}
.stat,.stat+.stat{padding:12px 16px 0;text-align:center;display:flex;flex-direction:column;align-items:center}
.stat b{display:flex;justify-content:center;align-items:flex-start}
.stat>span{margin-inline:auto;max-width:22ch}
.stat+.stat::before{top:16px;bottom:4px;opacity:.45}
.stat b i{color:var(--heat)}
@media(max-width:980px){.stat:nth-child(3)::before{display:none}}

/* ===== BRAND DECOR (logo sunburst, dots, rings) ===== */
.section,.emergency,.cta{position:relative;isolation:isolate}
.section>.container,.emergency>.container,.cta>.container{position:relative;z-index:1}
.deco{position:absolute;z-index:0;pointer-events:none;overflow:visible}
.deco-rays{width:560px;height:560px;opacity:.07;--r1:#DF6200;--r2:#145E95;--r3:#092C47;animation:decoSpin 120s linear infinite}
.deco-rays.sm{width:380px;height:380px}
.deco-rays.dk{opacity:.12;--r1:#F59A55;--r2:#7DAECF;--r3:#7DAECF}
.deco-dots{width:220px;height:220px;opacity:.22;--d:#145E95}
.deco-dots.d-tr,.deco-dots.d-br{--d:#DF6200;opacity:.2}
.deco-rings{width:620px;height:620px;opacity:.16;--d:#145E95;--d2:#DF6200;animation:decoSpin 160s linear infinite reverse}
.deco-rings.dk{opacity:.2;--d:#7DAECF;--d2:#F59A55}
.d-tr{top:-180px;right:-180px}.d-tl{top:-120px;left:-120px}.d-br{bottom:-200px;right:-200px}.d-bl{bottom:-200px;left:-200px}
.deco-dots.d-tr{top:40px;right:40px}.deco-dots.d-tl{top:40px;left:32px}.deco-dots.d-br{bottom:40px;right:40px}.deco-dots.d-bl{bottom:40px;left:32px}
@keyframes decoSpin{to{transform:rotate(360deg)}}
.deco-dots{animation:decoFloat 9s ease-in-out infinite alternate}
@keyframes decoFloat{to{transform:translateY(-14px)}}
@media(max-width:760px){.deco-rays{width:340px;height:340px}.deco-rings{width:380px;height:380px}.deco-dots{width:120px;height:120px;opacity:.16}.d-tr{top:-120px;right:-140px}.d-br{bottom:-140px;right:-140px}.d-bl{bottom:-140px;left:-140px}.d-tl{top:-100px;left:-120px}}
/* two-tone accent before section labels */
.eyebrow::before{content:""!important;display:inline-block!important;width:28px;height:4px;border-radius:4px;background:linear-gradient(90deg,#DF6200 50%,#145E95 50%);margin-right:10px;vertical-align:middle}
.hero .eyebrow::before,.hx-kicker::before{display:none!important}
.emergency .eyebrow::before,.rvw .eyebrow::before,.plan .eyebrow::before,.cta .eyebrow::before,.community-copy .eyebrow::before,.b-fin .eyebrow::before,.svc-card .eyebrow::before,.b-diag .eyebrow::before{background:linear-gradient(90deg,#F59A55 50%,#7DAECF 50%)}
/* thermal line across the top of dark sections */
.emergency::before,.rvw::before,.plan::before,.cta::before{content:""!important;display:block!important;position:absolute!important;left:0!important;right:0!important;top:0!important;bottom:auto!important;width:auto!important;aspect-ratio:auto!important;border-radius:0!important;mask:none!important;-webkit-mask:none!important;opacity:1!important;filter:none!important;height:3px!important;background:linear-gradient(90deg,#DF6200,#F59A55 35%,#7DAECF 65%,#145E95)!important;z-index:2;transform:none!important}
/* heading highlight in brand colors */
.h2 .hl-o{color:#DF6200}.h2 .hl-b{color:#145E95}
@media (prefers-reduced-motion:reduce){.deco{animation:none!important}}

/* ===== TRUST TICKER ===== */
.strip .ticker{overflow:hidden;padding:18px 0;mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ticker-track{display:flex;width:max-content;gap:44px;padding-right:44px;animation:tick var(--dur,40s) linear infinite}
.ticker-track span,.ticker-track a{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-weight:600;font-size:.9375rem;color:var(--ink)}
.ticker-track svg{width:18px;height:18px;flex:none}
.ticker-track span:nth-child(odd) svg{color:#DF6200}.ticker-track span:nth-child(even) svg{color:#145E95}
.strip:hover .ticker-track{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;padding:0 16px}.ticker-track [aria-hidden]{display:none}.strip .ticker{mask:none;-webkit-mask:none}}
/* ===== STICKY NAV + mega gap fix ===== */
.header,.header.hide{position:sticky;top:0;transform:none!important}
.mega{top:calc(100% + 8px)!important}
.mega::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}
.mega-col h3{padding-left:0;margin-left:0}
.mega-col a{margin:0 -10px}
/* small orange text/fills use the deeper shade for AA contrast */
.hx-kicker span,.rcard .avatar.heat,.rcard-photo .avatar.heat,.faces>:nth-child(even),.btn-heat.btn-sm,.sa-field .btn{background:#B04D00!important}
.b-diag{background:linear-gradient(145deg,#B04D00,#8a3c00)!important}
.btn-call .btn-stack strong,.em-actions .btn-stack strong{font-size:1.1875rem}
.mega-col h3 i,.mega-col h4 i{display:none}
.mega-col h3{gap:0}
.stat>span{max-width:26ch}
.section,.emergency,.cta{overflow:clip}
.deco-dots{width:240px;height:88px}
.deco-dots.d-tr,.deco-dots.d-tl{top:24px}.deco-dots.d-br,.deco-dots.d-bl{bottom:24px}
@media(max-width:760px){.deco-dots{width:140px;height:60px}.deco-dots.d-tr,.deco-dots.d-tl{top:16px}}

/* ===== eyebrows: no dash ===== */
.eyebrow::before,.eyebrow::after{content:none!important;display:none!important}
/* ===== type system: Archivo (display, semi-condensed) + DM Sans (body) ===== */
h1,h2,h3,h4,.h2,.h3,.hx-proof strong,.hx-chip strong,.hx-thermo b,.stat b,.btn,.btn-call,.nav-link,.brand-name strong{font-stretch:88%}
h1,.hero.hx .hx-title{font-weight:800;letter-spacing:-.035em}
.h2,h2{font-weight:800;letter-spacing:-.03em}
.btn,.btn-call{font-family:var(--font-display);font-weight:700;letter-spacing:-.005em}
.eyebrow{font-weight:700;letter-spacing:.01em}
body{font-optical-sizing:auto}

/* ===== BRAND CARDS (client reference) ===== */
.brand-grid{gap:20px}
.bcard{background:#fff!important;border:2px solid #F59A55!important;border-radius:20px!important;padding:30px 20px 26px!important;box-shadow:0 10px 24px -18px rgba(9,44,71,.35);gap:8px!important;justify-content:center}
.bcard::before{display:none}
.bcard:hover{border-color:#DF6200!important;box-shadow:0 18px 34px -20px rgba(223,98,0,.45)}
.bcard .logo{height:72px;margin-bottom:6px}
.bcard .logo img{max-height:64px;max-width:170px;filter:none!important;opacity:1!important}
.bcard strong{font:700 1.125rem/1.2 var(--font-body)!important;color:#145E95!important;letter-spacing:0}
.bcard>span:not(.logo){font-size:.9375rem;color:var(--slate)}
.bcard .logo .wm{font-size:1.625rem;color:#092C47}
@media(max-width:600px){.bcard{padding:22px 12px 18px!important}.bcard .logo{height:52px}.bcard .logo img{max-height:44px;max-width:120px}.bcard>span:not(.logo){display:block;font-size:.8125rem}}
.brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:600px){.brand-grid{grid-template-columns:1fr!important}}
.brands-foot{text-align:center!important;margin-top:36px;display:flex;flex-direction:column;align-items:center;gap:18px}
.brands-foot p{margin:0;font-size:1.0625rem;color:var(--slate)}
.brands-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
@media(max-width:480px){.brands-cta{width:100%}.brands-cta .btn{flex:1 1 100%;justify-content:center}}
.brands-foot .btn{text-decoration:none!important;font-weight:700}
.brands-foot .btn-heat{color:#fff!important}
.brands-foot .btn-ghost{color:var(--ink)!important}

/* creds: static cards, more room */
.creds{margin-top:40px!important}
.cred{padding:26px 22px 28px}
.cred:hover{background:transparent}
.cred:hover .cred-ic{transform:none;background:rgba(20,94,149,.08);color:var(--cool)}
.cred em{display:none}
/* reviews: heading + carousel only */
.rvw-head{grid-template-columns:1fr!important;margin-bottom:28px}
/* service area: more space + stronger city list */
.sa-cities{margin-top:48px!important;border:0!important;background:transparent!important;display:block!important;overflow:visible!important}
.sa-cities-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.sa-cities-h h3{font:800 clamp(1.5rem,1.1rem + 1.2vw,2rem)/1.1 var(--font-display);font-stretch:88%;color:var(--ink);letter-spacing:-.02em}
.sa-cities-h p{margin:0;color:var(--slate);font-size:1rem}
.sa-cities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.1fr;gap:16px}
.sa-col,.sa-more{border:1px solid var(--mist)!important;border-radius:20px;background:var(--paper);padding:24px!important;border-top:4px solid var(--cool)!important}
.sa-col:nth-child(2){border-top-color:#092C47!important}.sa-col:nth-child(3){border-top-color:#DF6200!important}
.sa-more{background:#092C47!important;border-color:#092C47!important;border-top-color:#F59A55!important;color:#fff}
.sa-more b{color:#fff!important}.sa-more span{color:#c9d6e0!important}.sa-more a{color:#F59A55!important}
.sa-col h3{font:800 1.125rem/1.2 var(--font-display)!important;font-stretch:88%;color:var(--ink)!important;margin-bottom:14px!important}
.sa-col h3 i{width:10px!important;height:10px!important}
.sa-col ul{gap:10px!important}
.sa-col li{font-size:1.0625rem!important;font-weight:600;display:flex;align-items:center;gap:8px}
.sa-col li::before{content:"";width:6px;height:6px;border-radius:50%;background:#DF6200;flex:none}
@media(max-width:1000px){.sa-cities-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sa-cities-grid{grid-template-columns:1fr}.sa-col ul{grid-template-columns:1fr 1fr}}

/* ===== 2. H1 carries the location ===== */
.hero.hx .hx-seo{display:block;margin:0;font:700 clamp(1rem,.9rem + .4vw,1.25rem)/1.3 var(--font-body);letter-spacing:0;color:#F59A55;margin-bottom:14px;font-stretch:100%}
.hero.hx .hx-seo .wd>span{color:#F59A55}
/* ===== 3. merged story section ===== */
.why-from{margin:22px 0 4px;font-weight:700;color:var(--cool)}
.why-copy .letter{margin-top:6px}
.why-copy .letter p{font-size:1.0625rem}
.why-copy .sig{margin:14px 0 28px}
/* brands strip inside services */
.svc-brands{margin-top:56px;padding:22px 28px;border:2px solid #F59A55;border-radius:20px;background:#fff;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.svc-brands-copy{display:flex;flex-direction:column;gap:4px}
.svc-brands-copy b{font:800 1.25rem/1.2 var(--font-display);font-stretch:88%;color:var(--ink)}
.svc-brands-copy span{font-size:.9375rem;color:var(--slate)}
.svc-logos{list-style:none;margin:0;padding:0;display:flex;justify-content:center;align-items:center;gap:clamp(20px,3vw,44px)}
.svc-logos img{height:44px;width:auto;max-width:150px;object-fit:contain}
.svc-brands .brands-cta{display:flex;gap:10px;flex-wrap:nowrap}
@media(max-width:1100px){.svc-brands{grid-template-columns:1fr;text-align:center;justify-items:center;gap:18px}}
@media(max-width:560px){.svc-logos{gap:16px}.svc-logos img{height:30px;max-width:96px}.svc-brands{padding:20px 16px}.svc-brands .brands-cta{flex-wrap:wrap;width:100%}.svc-brands .brands-cta .btn{flex:1 1 100%;justify-content:center}}
/* mosaic: 4 tiles */
.mosaic{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:auto!important}
.mosaic figure{grid-column:auto!important;grid-row:auto!important;aspect-ratio:4/5}
.mosaic .m-more{display:none}
.mosaic-more{margin-top:20px}
@media(max-width:900px){.mosaic{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mosaic figure{aspect-ratio:1}}
/* credentials: one compact row */
.creds{grid-template-columns:1fr!important}
.creds-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.cred{flex-direction:row!important;align-items:center;gap:14px!important;padding:20px 22px!important;flex-wrap:wrap}
.cred-ic{margin:0!important;flex:none}
.cred b{white-space:normal}
.cred>span:not(.cred-ic){flex-basis:100%;margin-top:-6px;padding-left:54px}
.cred-copy{top:50%;transform:translateY(-50%)}
@media(max-width:1100px){.creds-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){.creds-list{grid-template-columns:1fr!important}}
/* ===== 4. stats 2x2 on small screens ===== */
@media(max-width:600px){
 .stats-band{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:28px}
 .stat,.stat+.stat{padding:8px 10px 0}
 .stat:nth-child(3)::before{display:none}
 .stat b{font-size:2.5rem}
 .stat>span{font-size:.875rem}
}
/* ===== 5. contrast: white on #DF6200 only at large-bold sizes ===== */
.btn-heat{font-size:max(1.1875rem,1em);font-weight:700}
.btn-heat .btn-stack strong{font-size:1.1875rem}
.btn-heat.btn-sm,.sa-field .btn,.cred-copy{background:#B04D00}
.mbar a:first-child,.mbar .call{background:#B04D00!important}
.seg-thumb{background:linear-gradient(135deg,#B04D00,#8a3c00)!important}
.svc-row.active .go{background:#B04D00!important}
.urgency[data-v=emergency] .urg-thumb{background:#B04D00}
.em-actions .btn-heat .btn-stack strong,.hx-actions .btn-heat .btn-stack strong{font-size:1.1875rem!important}
.cred-copy{color:#fff!important;border-color:#B04D00!important}
.cred-copy:hover{background:#8a3c00}
.creds-list li{display:flex;flex-direction:column}
.cred-copy{position:static!important;transform:none!important;align-self:flex-start;margin:-10px 0 18px 76px}
.svc-brands{grid-template-columns:minmax(200px,260px) 1fr auto}
@media(max-width:1100px){.svc-brands{grid-template-columns:1fr}}
@media(max-width:900px){.mosaic figure.m1,.mosaic figure.m2,.mosaic figure.m7{grid-column:auto!important;grid-row:auto!important}}

/* ===== CITIES: one card that matches the map panel ===== */
.sa-cities{margin-top:24px!important;display:grid!important;grid-template-columns:minmax(240px,300px) 1fr;border:1px solid var(--mist)!important;border-radius:28px;background:#fff!important;box-shadow:var(--sh-2);overflow:hidden!important}
.sa-cities-lead{padding:28px;background:var(--paper);border-right:1px solid var(--mist);display:flex;flex-direction:column;gap:10px}
.sa-cities-lead h3{font:800 1.5rem/1.15 var(--font-display);font-stretch:88%;letter-spacing:-.02em;color:var(--ink)}
.sa-cities-lead p{margin:0;font-size:.9375rem;line-height:1.55;color:var(--slate)}
.sa-cities-lead a{margin-top:auto;padding-top:8px;min-height:44px;display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--cool)}
.sa-cities-lead a svg{width:14px;height:14px;transition:transform .25s var(--m-ease)}
.sa-cities-lead a:hover svg{transform:translateX(3px)}
.sa-regions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.sa-region{padding:28px 26px;border-left:1px solid var(--mist)}
.sa-region:first-child{border-left:0}
.sa-region h4{display:flex;align-items:center;gap:8px;margin:0 0 14px;font:600 .875rem/1 var(--font-body);color:var(--slate)}
.sa-region h4 i{width:8px;height:8px;border-radius:50%;background:#092C47}
.sa-region h4 i.cool{background:#145E95}.sa-region h4 i.heat{background:#DF6200}
.sa-region ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sa-region li{cursor:pointer;font-size:.9375rem;font-weight:600;color:var(--ink);padding:9px 14px;border-radius:999px;background:var(--paper);border:1px solid var(--mist);transition:background .2s,border-color .2s,color .2s,transform .2s var(--m-spring)}
.sa-region li:hover{border-color:#145E95;color:#145E95;transform:translateY(-2px)}
.sa-region li.hit{background:rgba(31,122,105,.1);border-color:#1f7a69;color:#1f7a69;animation:hit .5s var(--m-spring)}
@media(max-width:1000px){.sa-cities{grid-template-columns:1fr}.sa-cities-lead{border-right:0;border-bottom:1px solid var(--mist)}.sa-cities-lead a{margin-top:0}}
@media(max-width:700px){.sa-regions{grid-template-columns:1fr}.sa-region{border-left:0;border-top:1px solid var(--mist);padding:22px 20px}.sa-region:first-child{border-top:0}.sa-cities-lead{padding:22px 20px}}

/* ===== ICON SYSTEM v2: duotone glyphs in soft chips ===== */
.ic{width:52px;height:52px;border-radius:16px;position:relative;isolation:isolate}
.ic svg{width:26px;height:26px;position:relative;z-index:1}
.ic.heat{background:linear-gradient(150deg,#FFF1E6 0%,#FDE0CA 100%)!important;color:#DF6200;box-shadow:inset 0 0 0 1px rgba(223,98,0,.22),0 6px 14px -8px rgba(223,98,0,.45)}
.ic.cool{background:linear-gradient(150deg,#EAF3FA 0%,#D5E6F2 100%)!important;color:#145E95;box-shadow:inset 0 0 0 1px rgba(20,94,149,.2),0 6px 14px -8px rgba(20,94,149,.45)}
.ic::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,0) 55%);z-index:0;pointer-events:none}
/* dark surfaces */
.dark .ic.heat,.emergency .ic.heat,.plan .ic.heat,.perk .ic.heat,.hx-chip .ic.heat,.cta .ic.heat,.svc-card .ic.heat,.rvw .ic.heat{background:linear-gradient(150deg,rgba(245,154,85,.28),rgba(223,98,0,.14))!important;color:#F59A55!important;box-shadow:inset 0 0 0 1px rgba(245,154,85,.35)}
.dark .ic.cool,.emergency .ic.cool,.plan .ic.cool,.perk .ic.cool,.hx-chip .ic.cool,.cta .ic.cool,.svc-card .ic.cool,.rvw .ic.cool{background:linear-gradient(150deg,rgba(125,174,207,.28),rgba(20,94,149,.18))!important;color:#9CC4DF!important;box-shadow:inset 0 0 0 1px rgba(125,174,207,.35)}
.dark .ic::after,.emergency .ic::after,.plan .ic::after,.perk .ic::after,.hx-chip .ic::after,.cta .ic::after{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0) 55%)}
.perk .ic,.hx-chip .ic{width:44px;height:44px;border-radius:13px}
.perk .ic svg,.hx-chip .ic svg{width:22px;height:22px}
/* credential + small inline icons match */
.cred-ic{background:linear-gradient(150deg,#EAF3FA,#D5E6F2)!important;box-shadow:inset 0 0 0 1px rgba(20,94,149,.2);color:#145E95;width:44px!important;height:44px!important;border-radius:13px!important}
.cred-ic svg{width:22px!important;height:22px!important}
.cred:hover .cred-ic{background:linear-gradient(150deg,#EAF3FA,#D5E6F2)!important;color:#145E95!important}
.ticker-track svg{width:20px;height:20px}
/* hover life */
.why-points li:hover .ic,.perk:hover .ic,.tool:hover .ic{transform:translateY(-2px) rotate(-6deg)}
/* dark-surface chips: solid brand fills, white glyphs */
.dark .ic.heat,.emergency .ic.heat,.plan .ic.heat,.perk .ic.heat,.hx-chip .ic.heat,.cta .ic.heat,.svc-card .ic.heat,.rvw .ic.heat{background:linear-gradient(150deg,#F07A22,#B04D00)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 8px 18px -8px rgba(223,98,0,.7)}
.dark .ic.cool,.emergency .ic.cool,.plan .ic.cool,.perk .ic.cool,.hx-chip .ic.cool,.cta .ic.cool,.svc-card .ic.cool,.rvw .ic.cool{background:linear-gradient(150deg,#2A7DBA,#145E95)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 8px 18px -8px rgba(20,94,149,.8)}
.dark .ic .duo,.emergency .ic .duo,.plan .ic .duo,.perk .ic .duo,.hx-chip .ic .duo,.cta .ic .duo{opacity:.25}

/* ===== CREDENTIALS: aligned grid cells ===== */
.creds-list li{display:block!important}
.cred{display:grid!important;grid-template-columns:44px 1fr!important;grid-template-rows:auto auto 1fr;column-gap:16px!important;row-gap:4px!important;align-items:start!important;padding:24px!important;height:100%;flex-wrap:nowrap!important}
.cred-ic{grid-row:1/4;margin:0!important}
.cred b{grid-column:2;align-self:end;min-height:22px;font-size:1.0625rem!important;line-height:1.3!important}
.cred>span:not(.cred-ic){grid-column:2;flex-basis:auto!important;margin:0!important;padding:0!important;font-size:.9375rem;line-height:1.45;color:var(--slate)}
.cred-copy{grid-column:2;justify-self:start;position:static!important;transform:none!important;margin:10px 0 0!important}
/* ===== CITIES: same card language as credentials ===== */
.sa-cities{grid-template-columns:repeat(4,minmax(0,1fr))!important;border-radius:28px!important;box-shadow:none!important;border:1px solid var(--mist)!important;background:#fff!important}
.sa-regions{display:contents!important}
.sa-cities-lead,.sa-region{display:grid!important;grid-template-columns:44px 1fr;grid-template-rows:auto auto 1fr;column-gap:16px;row-gap:4px;align-items:start;padding:24px!important;background:#fff!important;border:0!important;border-left:1px solid var(--mist)!important}
.sa-cities-lead{border-left:0!important}
.sa-cities-lead .cred-ic,.sa-region .cred-ic{grid-row:1/4}
.sa-cities-lead h3,.sa-region h4{grid-column:2;margin:0!important;font:700 1.0625rem/1.3 var(--font-display)!important;font-stretch:88%;color:var(--ink)!important;letter-spacing:0;display:block!important}
.sa-cities-lead p{grid-column:2;margin:0;font-size:.9375rem;line-height:1.45;color:var(--slate)}
.sa-cities-lead a{grid-column:2;margin:6px 0 0!important;padding:0!important;min-height:44px;align-self:start}
.sa-region ul{grid-column:2;margin-top:8px!important;gap:6px!important}
.sa-region li{font-size:.875rem!important;padding:7px 12px!important}
.sa-region:nth-child(3) .cred-ic,.sa-region:nth-of-type(3) .cred-ic{background:linear-gradient(150deg,#FFF1E6,#FDE0CA)!important;color:#DF6200;box-shadow:inset 0 0 0 1px rgba(223,98,0,.22)}
@media(max-width:1100px){.sa-cities{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sa-cities>.sa-region:nth-of-type(2),.sa-regions>.sa-region:nth-child(2){border-left:0!important}.sa-cities-lead,.sa-region{border-top:1px solid var(--mist)!important}.sa-cities-lead{border-top:0!important}.sa-regions>.sa-region:first-child{border-top:0!important}}
@media(max-width:620px){.sa-cities{grid-template-columns:1fr!important}.sa-cities-lead,.sa-region{border-left:0!important;border-top:1px solid var(--mist)!important}.sa-cities-lead{border-top:0!important}}
@media(max-width:620px){.sa-regions>.sa-region:first-child{border-top:1px solid var(--mist)!important}}

/* cities: one combined list */
.sa-region.sa-all{grid-column:2/-1;display:flex!important;align-items:center;padding:24px 28px!important}
.sa-all ul{margin:0!important;gap:10px!important}
.sa-all li{font-size:.9375rem!important;padding:9px 14px!important}
@media(max-width:1100px){.sa-region.sa-all{grid-column:auto;border-left:1px solid var(--mist)!important;border-top:0!important}}
@media(max-width:1100px){.sa-cities{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important}}
@media(max-width:620px){.sa-cities{grid-template-columns:1fr!important}.sa-region.sa-all{border-left:0!important;border-top:1px solid var(--mist)!important;padding:20px!important}}

/* ===== ICONS: flat, one consistent system ===== */
.ic,.cred-ic,.perk .ic,.hx-chip .ic{width:48px!important;height:48px!important;border-radius:12px!important;box-shadow:none!important;background-image:none!important;border:0!important}
.ic::after{display:none!important}
.ic svg,.cred-ic svg,.perk .ic svg,.hx-chip .ic svg{width:24px!important;height:24px!important;stroke-width:1.75}
.ic.heat{background:#FDEBDD!important;color:#DF6200!important}
.ic.cool,.cred-ic,.cred:hover .cred-ic{background:#E3EEF6!important;color:#145E95!important}
.sa-region:nth-of-type(3) .cred-ic,.sa-region:nth-child(3) .cred-ic{background:#E3EEF6!important;color:#145E95!important}
.dark .ic.heat,.emergency .ic.heat,.plan .ic.heat,.perk .ic.heat,.hx-chip .ic.heat,.cta .ic.heat,.svc-card .ic.heat,.rvw .ic.heat{background:#DF6200!important;color:#fff!important}
.dark .ic.cool,.emergency .ic.cool,.plan .ic.cool,.perk .ic.cool,.hx-chip .ic.cool,.cta .ic.cool,.svc-card .ic.cool,.rvw .ic.cool{background:#145E95!important;color:#fff!important}
.why-points li:hover .ic,.perk:hover .ic,.tool:hover .ic{transform:none}

/* one colour per surface so every chip matches */
.ic.heat,.ic.cool,.cred-ic{background:#E3EEF6!important;color:#145E95!important}
.dark .ic,.emergency .ic,.plan .ic,.perk .ic,.hx-chip .ic,.cta .ic,.svc-card .ic,.rvw .ic{background:#DF6200!important;color:#fff!important}
.ticker-track span svg,.ticker-track a svg{color:#145E95}
html body .dark .ic.heat,html body .dark .ic.cool,html body .emergency .ic.heat,html body .emergency .ic.cool,html body .plan .ic.heat,html body .plan .ic.cool,html body .perk .ic.heat,html body .perk .ic.cool,html body .hx-chip .ic.heat,html body .hx-chip .ic.cool,html body .cta .ic.heat,html body .cta .ic.cool,html body .svc-card .ic.heat,html body .svc-card .ic.cool,html body .rvw .ic.heat,html body .rvw .ic.cool{background:#DF6200!important;color:#fff!important}
html body .ic.heat,html body .ic.cool{box-shadow:none!important}

.rcard .g-logo{flex:none;width:22px;height:22px}
.rcard{flex-basis:calc((100% - 54px)/4)!important}
@media(max-width:1100px){.rcard{flex-basis:calc((100% - 36px)/3)!important}}
@media(max-width:860px){.rcard{flex-basis:calc((100% - 18px)/2)!important}}
@media(max-width:560px){.rcard{flex-basis:84%!important}}
.community{margin-top:0!important}
.onjob{margin-top:clamp(72px,8vw,112px)!important}
@media(max-width:640px){.mosaic{grid-template-columns:1fr!important;gap:14px!important}.mosaic figure{aspect-ratio:4/3!important}.mosaic figcaption{font-size:.8125rem!important;padding:6px 12px!important;left:12px!important;bottom:12px!important}.mosaic-more{width:100%;justify-content:center}}

/* static SVG map sits under the live Google embed (and replaces it in the portable file) */
.sa-svgmap{position:absolute;inset:0;width:100%;height:100%;display:block}
.sa-frame iframe{z-index:1}
.sa-radius{z-index:2}
.sa-pin .halo{transform-box:fill-box;transform-origin:center;opacity:0;transition:opacity .3s}
.sa-pin.is-on .halo{opacity:.25;animation:pinPulse 2s ease-out infinite}
.sa-pin{transition:transform .3s}
@keyframes pinPulse{0%{transform:scale(.6);opacity:.45}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.sa-pin.is-on .halo{animation:none}}

/* ===================== MOBILE AUDIT FIXES ===================== */
.sa-svgmap-m,.cta-talk,.sa-mdetail,.price-list .sm{display:none}
@media(max-width:760px){
 /* 3. chrome */
 .topbar{display:none!important}
 :root{--header-h:64px}
 .header .container{height:64px}
 .header .btn-call{padding-block:6px;transition:opacity .25s,transform .25s}
 body.mbar-on .header .btn-call{opacity:0;transform:translateY(-6px);pointer-events:none;visibility:hidden}
 /* 4. action bar */
 .mbar{padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
 .mbar a{flex-direction:row;gap:8px;min-height:48px;font-size:.9375rem}
 .mbar a.call{flex:1.25}
 main{padding-bottom:0}
 .footer{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
 /* 1. hero visible on load */
 .hx .rv{opacity:1!important;transform:none!important;filter:none!important}
 .hero.hx .hx-title.split .wd>span{transform:none!important}
 /* 2. compact hero */
 .hero.hx .container.hx-wrap{padding-top:24px!important;padding-bottom:36px!important;gap:28px!important}
 .hero.hx{min-height:0!important}
 .hero.hx .hx-title{margin-bottom:18px}
 .hx-lede{font-size:1.0625rem;line-height:1.55}
 .hx-actions{margin-top:24px;gap:10px}
 .hx-proof{margin-top:26px;padding-top:20px}
 .hx-stage{aspect-ratio:16/10!important;max-width:none!important;transform:none!important}
 .hx-ring,.hx-thermo,.hx-hint,.hx-chip.c1{display:none!important}
 .hx-photo{inset:0!important;border-radius:20px!important;animation:none!important}
 .hx-chip.c2{left:12px!important;right:auto!important;top:auto!important;bottom:12px!important;animation:none}
 /* 14. min text size */
 .hx-kicker{font-size:.875rem!important}
 .hx-kicker span{font-size:.8125rem!important}
 .hx-proof>div>span{font-size:.8125rem!important}
 .hx-chip div>span{font-size:.8125rem!important}
 .zip-msg,.cta .privacy,.form .privacy{font-size:.8125rem!important}
 /* 5. emergency */
 .em-call>span:first-child,.em-call>a[href^="tel"]{display:none!important}
 .em-call{padding:20px 20px 22px!important}
 .em-actions{flex-direction:column}
 .em-actions .btn{width:100%;justify-content:center}
 .em-photo,.em-photo img{aspect-ratio:16/10!important}
 /* 11. since badge */
 .why-photo .since{right:12px!important;top:12px!important;width:88px!important;height:88px!important}
 .why-photo .since b{font-size:1.125rem!important}
 /* 16. stats: drop repeat of 18 yrs */
 .stats-band{grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:0!important}
 .stats-band .stat:first-child{display:none!important}
 .stats-band .stat{padding:0 8px!important;border-left:1px solid var(--mist)}
 .stats-band .stat:nth-child(2){border-left:0;padding-left:0!important}
 .stats-band .stat b{font-size:1.75rem!important}
 .stats-band .stat>span{font-size:.8125rem!important;line-height:1.35}
 /* 7. team: compact creds + 2 photos */
 .creds-list{grid-template-columns:1fr 1fr!important}
 .creds-list li{border-top:1px solid var(--mist)!important;border-left:0!important}
 .creds-list li:nth-child(-n+2){border-top:0!important}
 .creds-list li:nth-child(even){border-left:1px solid var(--mist)!important}
 .cred{padding:16px 14px!important;gap:2px!important}
 .cred-ic{width:36px!important;height:36px!important;margin-bottom:8px!important}
 .cred b{white-space:normal!important;font-size:.9375rem!important}
 .cred>span:not(.cred-ic){font-size:.8125rem!important}
 .community-photo{min-height:200px!important}
 .mosaic figure:nth-child(n+3){display:none!important}
 .mosaic-more{width:100%;justify-content:center}
 .onjob{margin-top:56px!important}
 /* 8. money */
 .price-list li{grid-template-columns:1fr auto!important;gap:12px!important;padding:12px 0!important}
 .price-list li div>span{display:none}
 .price-list strong{font-size:.9375rem}
 .price-list .amt{white-space:nowrap;font-size:.9375rem}
 .b-price h3,.b-fin h3{font-size:1.375rem}
 .b-price>p:not(.note){display:none}
 .b-warr,.b-brand{display:grid!important;grid-template-columns:48px 1fr;column-gap:14px;row-gap:4px;padding:20px!important;align-items:start}
 .b-warr .ic,.b-brand .ic{grid-row:1/3}
 .b-warr h3,.b-brand h3{margin:0!important;font-size:1.0625rem}
 .b-warr p,.b-brand p{font-size:.9375rem;line-height:1.5;margin:0}
 .b-warr{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;border-bottom:0!important}
 .b-brand{margin-top:-18px;border-top-left-radius:0!important;border-top-right-radius:0!important;position:relative}
 .b-brand::before{content:"";position:absolute;top:0;left:20px;right:20px;height:1px;background:var(--mist)}
 /* 9. plan perks -> 2-col checklist */
 .perks{grid-template-columns:1fr 1fr!important;gap:14px 12px!important}
 .perk{padding:0!important;background:none!important;border:0!important;box-shadow:none!important;display:flex!important;gap:10px!important;align-items:center!important}
 .perk .ic{width:36px!important;height:36px!important;flex:none}
 .perk .ic svg{width:18px!important;height:18px!important}
 .perk div>span{display:none!important}
 .perk strong{font-size:.875rem!important;line-height:1.3}
 /* 12. office segmented control */
 .sa-offices{display:grid!important;grid-template-columns:repeat(3,1fr);overflow:visible!important;padding:6px;gap:4px;background:#F1F5F8}
 .sa-office{flex:none!important;padding:12px 6px!important;border:0!important;border-radius:12px;text-align:center;justify-items:center;min-height:48px;align-content:center}
 .sa-office::before{display:none!important}
 .sa-office .sa-o-top,.sa-office .sa-addr,.sa-office .sa-o-actions{display:none!important}
 .sa-office b{font-size:.9375rem!important;white-space:nowrap}
 .sa-office[aria-selected=true]{background:#fff;box-shadow:0 1px 3px rgba(9,44,71,.12),0 4px 12px -6px rgba(9,44,71,.2)}
 .sa-office[aria-selected=true] b{color:var(--heat-text,#B04D00)}
 .sa-mdetail{display:grid;gap:6px;padding:14px 18px 16px;border-bottom:1px solid var(--mist);font-size:.9375rem;color:var(--slate)}
 .sa-md-rate{display:inline-flex;align-items:center;gap:4px;font-size:.875rem}
 .sa-md-rate svg{width:14px;height:14px;color:#ffb020;fill:currentColor}
 .sa-md-act{display:flex;gap:20px;margin-top:4px}
 .sa-md-act a{font-weight:600;color:var(--cool);display:inline-flex;align-items:center;gap:6px;min-height:44px}
 .sa-md-act svg{width:14px;height:14px}
 .sa-frame{min-height:0!important;aspect-ratio:4/5;background:#EEF2F5!important}
 .sa-svgmap-m{display:none!important}
 .sa-svgmap:not(.sa-svgmap-m){display:block!important}
 .sa-frame iframe{display:block!important}
 .sa-radius{top:auto!important;left:auto!important;right:10px!important;bottom:10px!important;font-size:.8125rem!important}
 .drawer-cta{margin:20px 0 14px!important}
 /* 6. CTA: form first */
 .cta-grid{display:flex!important;flex-direction:column;gap:0!important}
 .cta-grid>div.rv{display:contents}
 .cta-grid .eyebrow{order:1;align-self:flex-start}
 .cta-grid h2{order:2;margin:16px 0 18px!important;max-width:none!important;align-self:stretch;text-align:left}
 .cta-grid .lede{order:3;margin-bottom:28px}
 .cta-grid .form{order:4}
 .cta-talk{display:block;order:5;margin:28px 0 12px;text-align:center;color:var(--fog);font-size:.9375rem}
 .cta-grid>div>.btn-heat{order:6;width:100%;justify-content:center}
 .cta .or,.cta-trust{display:none!important}
 /* 10. footer accordions */
 .f-acc{border-top:1px solid rgba(255,255,255,.1)}
 .f-acc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:52px;cursor:pointer}
 .f-acc summary::-webkit-details-marker{display:none}
 .f-acc summary h3{margin:0!important;font-size:.9375rem!important;color:#fff!important}
 .f-acc .f-chev{color:var(--fog);transition:transform .25s}
 .f-acc[open] .f-chev{transform:rotate(180deg)}
 .f-acc ul{padding-bottom:14px}
 .f-main .container{gap:0!important;grid-template-columns:1fr!important}
 .f-brand,.f-contact,.f-acc{grid-column:auto!important}
 .price-list .lg{display:none}
 .price-list .sm{display:inline}
 .price-list strong span{font:inherit!important;color:inherit!important;display:inline}
 .price-list strong span.lg{display:none!important}
 section.cta#schedule{padding-bottom:56px!important}
 .cta.section{padding-bottom:56px!important}
 .f-brand{margin-bottom:28px}
 .f-contact{border-top:1px solid rgba(255,255,255,.1);padding-top:20px}
}
@media(min-width:761px){.f-acc summary{list-style:none;cursor:default}.f-acc summary::-webkit-details-marker{display:none}.f-acc .f-chev{display:none}}


/* ===================== HERO MOTION v3.1 (continuous, var-driven — no stepped transitions) ===================== */
.hero.hx{--he:clamp(0,calc(var(--mix)*2 - 1),1);--ce:clamp(0,calc(1 - var(--mix)*2),1)}
.hx-tint{position:absolute;inset:-10%;will-change:opacity}
.hx-tint.heat{background:radial-gradient(ellipse 70% 80% at 18% 30%,rgba(223,98,0,.42),rgba(223,98,0,0) 70%);opacity:var(--he)}
.hx-tint.cool{background:radial-gradient(ellipse 70% 80% at 82% 70%,rgba(20,94,149,.6),rgba(20,94,149,0) 70%);opacity:var(--ce)}
.hx-glow{transition:none;will-change:opacity,scale;filter:none}
.hx-glow.heat{background:radial-gradient(circle,rgba(245,154,85,.6) 0%,rgba(245,154,85,.28) 25%,rgba(223,98,0,.08) 50%,rgba(223,98,0,0) 70%);opacity:calc(.25 + var(--mix)*.85);scale:calc(.8 + var(--mix)*.6)}
.hx-glow.cool{background:radial-gradient(circle,rgba(125,174,207,.55) 0%,rgba(125,174,207,.25) 25%,rgba(20,94,149,.08) 50%,rgba(20,94,149,0) 70%);opacity:calc(1.1 - var(--mix)*.85);scale:calc(1.4 - var(--mix)*.6)}
/* headline */
.hx-title.split .hx-heat,.hx-title.split .hx-cool{background:none!important}
.hx-title.words-done .wd{overflow:visible}
.hx-heat .wd>span,.hx-cool .wd>span{position:relative;background-size:200% 100%;animation:hxSheen 7s ease-in-out infinite;transform-origin:center bottom;transition:none}
.hx-cool .wd>span{animation-delay:-3.5s}
@keyframes hxSheen{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
/* glow layer: a solid copy of the word behind the gradient text, faded by the mood var */
.hx-title.words-done .hx-heat .wd>span::after,.hx-title.words-done .hx-cool .wd>span::after{content:attr(data-w);position:absolute;inset:0;z-index:-1;-webkit-text-fill-color:currentColor;background:none;pointer-events:none}
.hx-title.words-done .hx-heat .wd>span::after{color:#F59A55;text-shadow:0 0 26px rgba(245,154,85,.85),0 0 80px rgba(223,98,0,.6);opacity:var(--he)}
.hx-title.words-done .hx-cool .wd>span::after{color:#8FC0E2;text-shadow:0 0 26px rgba(125,174,207,.85),0 0 80px rgba(20,94,149,.8);opacity:var(--ce)}
.hx-title.words-done .hx-heat .wd>span{transform:scale(calc(1 + var(--he)*.04));opacity:calc(1 - var(--ce)*.62)}
.hx-title.words-done .hx-cool .wd>span{transform:scale(calc(1 + var(--ce)*.04));opacity:calc(1 - var(--he)*.62)}
/* photo */
.hx-photo img{animation:hxKb 20s ease-in-out infinite alternate}
@keyframes hxKb{from{transform:scale(1.06)}to{transform:scale(1.16) translate(-1.5%,1%)}}
.hx-photo::before,.hx-photo::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1}
.hx-photo::before{background:linear-gradient(160deg,rgba(255,140,40,.42),rgba(223,98,0,.18) 60%,transparent);opacity:var(--he)}
.hx-photo::after{background:linear-gradient(160deg,rgba(90,160,220,.42),rgba(20,94,149,.22) 60%,transparent);opacity:var(--ce)}
/* thermostat */
.hx-thermo{transition:transform .3s var(--m-spring);box-shadow:0 20px 40px -18px rgba(0,0,0,.7),0 0 0 6px rgba(245,154,85,calc(var(--he)*.12)),0 0 48px rgba(245,154,85,calc(var(--he)*.5)),0 0 0 6px rgba(125,174,207,calc(var(--ce)*.12)),0 0 48px rgba(125,174,207,calc(var(--ce)*.5))}
.hx-thermo b{color:color-mix(in srgb,color-mix(in srgb,#fff,#F59A55 calc(var(--he)*100%)),#7DAECF calc(var(--ce)*100%))}
.hx-thermo small{transition:color .5s}
/* particles */
.hx-parts{position:absolute;inset:0;overflow:hidden;pointer-events:none;will-change:opacity}
.hx-parts.heat{opacity:var(--he)}
.hx-parts.cool{opacity:var(--ce)}
.hx-parts i{position:absolute;left:var(--x);width:calc(var(--s)*1.3);height:calc(var(--s)*1.3);border-radius:50%;animation-duration:var(--d);animation-delay:var(--dl);animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform,opacity}
.hx-parts.heat i{bottom:-10px;background:#F59A55;box-shadow:0 0 10px 2px rgba(245,154,85,.6);animation-name:hxEmber}
.hx-parts.cool i{top:-10px;background:#DCEBF5;box-shadow:0 0 8px 1px rgba(125,174,207,.5);animation-name:hxFrost}
@keyframes hxEmber{0%{transform:translate(0,0) scale(.6);opacity:0}12%{opacity:.95}70%{opacity:.7}100%{transform:translate(var(--sw),-105vh) scale(1.1);opacity:0}}
@keyframes hxFrost{0%{transform:translate(0,0) rotate(0);opacity:0}12%{opacity:.85}100%{transform:translate(var(--sw),105vh) rotate(180deg);opacity:0}}
.hx-chip{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(14,54,86,.92)!important}
@media(max-width:760px){.hx-parts i{--s:3px}.hero.hx .hx-title.split .wd>span{transform:none!important}}
@media (prefers-reduced-motion:reduce){.hx-parts,.hx-tint{display:none}.hx-photo img,.hx-heat .wd>span,.hx-cool .wd>span{animation:none!important}}

/* ===================== A11Y PASS ===================== */
/* #1 focus ring: navy on light surfaces, orange on dark */
:focus-visible{outline:3px solid var(--cool);outline-offset:3px}
.hero :focus-visible,.emergency :focus-visible,.rvw :focus-visible,.plan :focus-visible,.cta :focus-visible,.footer :focus-visible,.drawer :focus-visible,.lightbox :focus-visible,.mbar :focus-visible,.em-side :focus-visible,.community :focus-visible,.b-fin :focus-visible,.b-diag :focus-visible,.dark :focus-visible,.btn-heat:focus-visible,.btn-call:focus-visible{outline-color:#F59A55}
.btn-heat:focus-visible,.btn-call:focus-visible{box-shadow:0 0 0 3px #092C47,0 0 0 6px #F59A55;outline:none}
/* #4 placeholder */
::placeholder{color:var(--slate);opacity:1}
/* #5 stars: stroke so the gold reads on white */
.rcard .stars svg{stroke:#B04D00;stroke-width:.6px;paint-order:stroke}
/* #8 pause-motion */
.hx-motion{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:8px 14px 8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#dfe7ee;font:600 .8125rem/1 var(--font-body);cursor:pointer;min-height:44px}
.hx-motion svg{width:16px;height:16px}.hx-motion .i-play{display:none}
.no-motion .hx-motion .i-play{display:block}.no-motion .hx-motion .i-pause{display:none}
.hx-motion:hover{background:rgba(255,255,255,.12);border-color:#fff}
.no-motion *,.no-motion *::before,.no-motion *::after{animation-play-state:paused!important}
.no-motion .hx-parts{display:none}
/* #9 / #14 offices */
.sa-tabs{display:contents}
.sa-offices{display:flex;flex-direction:column}
.sa-mdetail{display:grid;gap:6px;padding:14px 22px 18px;font-size:.9375rem;color:var(--slate);border-top:1px solid var(--mist)}
.sa-md-act{display:flex;gap:20px;flex-wrap:wrap}
.sa-md-act a{font-weight:600;color:var(--cool);display:inline-flex;align-items:center;gap:6px;min-height:44px}
.sa-md-act svg{width:14px;height:14px}
.sa-md-rate{display:inline-flex;align-items:center;gap:4px;font-size:.875rem}
.sa-md-rate svg{width:14px;height:14px;color:#ffb020;fill:currentColor;stroke:#B04D00;stroke-width:.6px}
@media(min-width:761px){.sa-mdetail .sa-md-addr,.sa-mdetail .sa-md-rate{display:none}.sa-mdetail{margin-top:auto}}
@media(max-width:760px){.sa-tabs{display:contents}.sa-mdetail{grid-column:1/-1;background:#fff;margin:6px -6px -6px;padding:14px 18px 16px;border-top:1px solid var(--mist)}}
/* #11 form errors */
.form-alert{margin:0 0 16px;padding:12px 14px;border-radius:12px;background:#fdecec;border:1px solid #f3b9b9;color:#8a1c1c;font-size:.9375rem;line-height:1.45}
.form-alert a{color:#8a1c1c;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.field .err{display:block;margin-top:6px;color:#a11a1a;font-size:.8125rem;font-weight:600}
.field.has-err input,.field.has-err select,.field.has-err textarea{border-color:#c8102e;background:#fff8f8}
.field.has-err label{color:#a11a1a}
/* #15 mosaic buttons */
.mosaic figure::after,.mosaic figcaption{pointer-events:none}
.mosaic .m-btn{all:unset;display:block;width:100%;height:100%;cursor:zoom-in;box-sizing:border-box}
.mosaic .m-btn img{display:block;width:100%;height:100%;object-fit:cover}
.mosaic .m-btn:focus-visible{outline:3px solid var(--cool);outline-offset:-4px;border-radius:16px}
.mosaic figure:focus-within::after{background:rgba(9,44,71,.18)}

/* ===================== UX PASS ===================== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* hero: emergency vs planned */
.hx-actions{align-items:flex-start}
.hx-cta-em{display:flex;flex-direction:column;gap:8px}
.hx-cta-em .btn-stack{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05;text-align:left}
.hx-cta-em .btn-stack small{font:600 .75rem/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;opacity:.9;margin-bottom:3px}
.hx-cta-em .btn-stack strong{font-size:1.25rem}
.hx-cta-em .btn-lg{padding-top:12px;padding-bottom:12px}
.hx-cta-note{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;color:#b9c8d4;padding-left:6px}
.hx-cta-note i{width:8px;height:8px;border-radius:50%;background:#2ecc8a;box-shadow:0 0 0 0 rgba(46,204,138,.6);animation:kpulse 2s infinite}
.hx-actions .btn-ghost.btn-lg{min-height:60px}
.lede-m{display:none}
/* pause button: hero corner, icon only */
.hx-motion{position:absolute;right:24px;bottom:24px;z-index:3;margin:0;padding:0;width:44px;height:44px;border-radius:50%;justify-content:center;background:rgba(14,54,86,.7);border:1px solid rgba(255,255,255,.22);color:#dfe7ee;backdrop-filter:none}
.hx-motion svg{width:18px;height:18px}
/* ticker links */
/* service row: text affordance instead of arrow circle */
.svc-row .go{display:inline-flex;align-items:center;white-space:nowrap;flex:none;width:auto;height:auto;border:0;border-radius:999px;padding:8px 12px;gap:6px;font:600 .8125rem/1 var(--font-body);color:var(--cool);background:rgba(20,94,149,.08);transform:none!important}
.svc-row .go svg{width:14px;height:14px;transition:transform .25s}
.svc-row:hover .go,.svc-row.active .go{background:#B04D00!important;border-color:transparent;color:#fff;transform:none!important}
.svc-row:hover .go svg{transform:translateX(3px)}
/* money + faq headings get room */
.money .section-head{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.faq-grid{grid-template-columns:.9fr 1.1fr}
.faq-call{margin-top:22px;font-size:1.0625rem;color:var(--slate)}
.faq-call a{font-weight:700;color:var(--cool);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(20,94,149,.35)}
/* why: letter is the focal point now */
.why-copy .sig{margin-bottom:0}
/* cta: fill the column */
.cta-grid{align-items:center!important}
/* cards: one radius, ghost buttons on dark cards */
.svc-brands{border-radius:20px!important}
.btn-onDark{border-color:rgba(255,255,255,.45)!important;color:#fff!important;background:transparent!important;box-shadow:none!important}
.btn-onDark:hover{background:rgba(255,255,255,.1)!important;border-color:#fff!important}
/* inner spacing polish */
.rcard{padding-bottom:26px!important}
.sa-region.sa-all{align-items:center!important}
.sa-region.sa-all ul{align-content:center}
@media(max-width:760px){
 .hx-copy{display:flex;flex-direction:column}
 .hx-copy>.hx-seo{order:1}.hx-copy>.hx-title{order:2}.hx-copy>.hx-kicker{order:3;margin:0 0 18px}.hx-copy>.hx-lede{order:4}.hx-copy>.hx-actions{order:4}
 .lede-d{display:none}.lede-m{display:inline}
 .hx-lede{font-size:1.0625rem;margin-bottom:0}
 .hx-actions{margin-top:20px}
 .hx-cta-em{width:100%}
 .hx-cta-note{justify-content:center;padding:0}
 .hx-motion{right:16px;bottom:16px;width:44px;height:44px}
 .svc-row .go{padding:8px 10px}
}

/* services card: solid readable text panel */
.svc-card::after{background:linear-gradient(180deg,rgba(9,44,71,0) 0%,rgba(9,44,71,.25) 35%,rgba(9,44,71,.82) 62%,rgba(9,44,71,.97) 100%)!important}
.svc-card-body{padding:64px 28px 28px!important;background:linear-gradient(180deg,rgba(9,44,71,0),rgba(9,44,71,.9) 34%,#092C47 100%)}
.svc-card-body h3{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.svc-card-body p{color:#dfe7ee!important;font-size:1rem!important;line-height:1.5}
.svc-card-body .price{background:rgba(255,255,255,.14)!important;font-size:.875rem!important;padding:9px 12px!important}
.svc-card-body .price b{color:#FFB070}
@media(max-width:900px){.svc-card::after{background:linear-gradient(180deg,rgba(9,44,71,0) 15%,rgba(9,44,71,.7) 50%,rgba(9,44,71,.97) 100%)!important}.svc-card-body{padding:56px 22px 22px!important}}

/* emergency console: lift it off the section */
.em-side{background:#123f66!important;border:1px solid rgba(125,174,207,.35)!important;box-shadow:0 30px 60px -30px rgba(0,0,0,.7),0 0 0 6px rgba(20,94,149,.18),0 0 80px -20px rgba(245,154,85,.35)!important;position:relative}
.em-side::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#F59A55,#DF6200 40%,#7DAECF);z-index:2}
.em-call{padding:24px 26px 26px!important;background:linear-gradient(180deg,#123f66,#0E3656)}
.em-call>span:first-child{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#dfe7ee!important;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem!important}
.em-call>span:first-child::before{content:"";width:8px;height:8px;border-radius:50%;background:#2ecc8a;box-shadow:0 0 0 0 rgba(46,204,138,.6);animation:kpulse 2s infinite}
.em-call a[href^="tel"]{color:#F59A55!important;text-shadow:0 0 30px rgba(245,154,85,.35);margin-top:4px}
.em-call a[href^="tel"]:hover{color:#fff!important}
.em-side .em-steps{margin-top:22px!important;padding-top:18px!important;border-top:1px solid rgba(255,255,255,.12)}
.em-side .em-steps::before,.em-side .em-steps::after{top:calc(18px + 7px)!important}
.em-steps::before{background:rgba(255,255,255,.18)!important}
.em-steps i{background:#0E3656!important;border-color:rgba(255,255,255,.4)!important}
.em-steps b{font-size:.9375rem!important;font-weight:700!important}
.em-steps span{color:#c7d6e2!important;font-size:.875rem!important}
.em-steps li{opacity:.7}
@media(max-width:760px){.em-call{padding:20px 20px 22px!important}.em-steps{margin-top:4px!important;padding-top:0!important;border-top:0}.em-steps::before,.em-steps::after{top:7px!important}}

/* ===================== EMERGENCY v2: full-bleed dispatch ===================== */
.emergency.em2{padding:clamp(88px,10vw,140px) 0 clamp(64px,7vw,96px);background:#071E32}
.em2 .deco{display:none}
.em2-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.em2-bg img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;object-position:62% 45%;filter:saturate(.9) brightness(.95)}
.em2-shade{position:absolute;inset:0;background:linear-gradient(90deg,#071E32 0%,rgba(7,30,50,.96) 34%,rgba(7,30,50,.72) 58%,rgba(7,30,50,.35) 100%),linear-gradient(180deg,rgba(7,30,50,.35),rgba(7,30,50,0) 30%,rgba(7,30,50,.55) 70%,#071E32 100%)}
.em2-glow{position:absolute;left:-10%;top:-20%;width:60%;height:120%;background:radial-gradient(ellipse at 30% 40%,rgba(223,98,0,.28),rgba(223,98,0,0) 60%);pointer-events:none}
.em2-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,80px);align-items:end;position:relative}
.em2-copy{max-width:600px}
.em2-live{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);font:600 .8125rem/1 var(--font-body);color:#dfe7ee;letter-spacing:.02em;margin-bottom:26px}
.em2-live i{width:9px;height:9px;border-radius:50%;background:#2ecc8a;box-shadow:0 0 0 0 rgba(46,204,138,.6);animation:kpulse 2s infinite}
.em2 h2{font-size:clamp(2.5rem,1.6rem + 3.6vw,4.75rem);line-height:.98;letter-spacing:-.035em;margin:0 0 22px}
.em2-copy>h2:first-child{margin-top:0}
.em2 .lede{color:#c7d6e2;max-width:36em}
.em2 .em-actions{margin-top:32px}
.em2 .em-actions .btn-stack{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05;text-align:left}
.em2 .em-actions .btn-stack small{font:600 .6875rem/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;opacity:.9;margin-bottom:3px}
.em2 .em-actions .btn-stack strong{font-size:1.25rem!important}
.em2 .em-actions .btn-lg{padding-top:12px;padding-bottom:12px}
.em2 .em-actions .btn-ghost{border-color:rgba(255,255,255,.4);color:#fff;min-height:60px}
.em2 .em-actions .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
/* the one big number */
.em2-stat{justify-self:end;text-align:right;display:grid;gap:6px;padding-bottom:6px}
.em2-stat-n{font:800 clamp(6rem,4rem + 8vw,12rem)/.85 var(--font-display);font-stretch:88%;letter-spacing:-.06em;color:#fff;display:inline-flex;align-items:baseline;justify-content:flex-end;gap:.08em;text-shadow:0 20px 60px rgba(0,0,0,.45)}
.em2-stat-n small{font:800 clamp(1.5rem,1rem + 1.6vw,2.5rem)/1 var(--font-display);color:var(--heat-hi);letter-spacing:-.02em}
.em2-stat-l{font-size:1rem;line-height:1.4;color:#c7d6e2}
/* timeline */
.em2-steps{list-style:none;margin:clamp(48px,6vw,80px) 0 0;padding:34px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;position:relative;border-top:1px solid rgba(255,255,255,.14)}
.em2-steps::before,.em2-steps::after{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;border-radius:2px}
.em2-steps::before{background:transparent}
.em2-steps::after{background:linear-gradient(90deg,var(--heat-hi),#DF6200 55%,var(--cool-hi));transform:scaleX(0);transform-origin:0 50%;transition:transform 2.4s cubic-bezier(.5,0,.3,1) .2s}
.em2-steps.run::after{transform:scaleX(1)}
.em2-steps li{position:relative;display:grid;gap:8px;padding:0 0 0 0;font-size:.9375rem;opacity:.45;transition:opacity .5s}
.em2-steps.run li{opacity:1}.em2-steps.run li:nth-child(2){transition-delay:1.1s}.em2-steps.run li:nth-child(3){transition-delay:2.1s}
.em2-steps li i{position:absolute;left:0;top:-42px;width:16px;height:16px;border-radius:50%;background:#071E32;border:2px solid rgba(255,255,255,.35);transition:background .3s,border-color .3s,transform .4s var(--m-spring)}
.em2-steps.run li:nth-child(1) i{transition-delay:.2s}.em2-steps.run li:nth-child(2) i{transition-delay:1.2s}.em2-steps.run li:nth-child(3) i{transition-delay:2.3s}
.em2-steps.run li i{background:var(--heat-hi);border-color:var(--heat-hi);transform:scale(1.2)}
.em2-steps.run li:nth-child(3) i{background:var(--cool-hi);border-color:var(--cool-hi)}
.em2-t{font:700 .75rem/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--heat-hi)}
.em2-steps li:nth-child(3) .em2-t{color:var(--cool-hi)}
.em2-steps b{font:700 1.25rem/1.2 var(--font-display);letter-spacing:-.02em;color:#fff}
.em2-steps li>span:last-child{color:#b9c8d4;line-height:1.5;max-width:34ch}
@media(max-width:980px){
 .em2-wrap{grid-template-columns:1fr;align-items:start}
 .em2-stat{justify-self:start;text-align:left;display:flex;align-items:baseline;gap:16px;margin-top:8px}
 .em2-stat-n{justify-content:flex-start;font-size:clamp(4rem,3rem + 6vw,6rem)}
 .em2-stat-l{max-width:16em}
 .em2-bg img{object-position:70% 40%}
 .em2-shade{background:linear-gradient(180deg,rgba(7,30,50,.55) 0%,rgba(7,30,50,.86) 40%,#071E32 78%)}
}
@media(max-width:760px){
 .emergency.em2{padding:0 0 56px}
 .em2-bg{position:relative;inset:auto;height:220px;z-index:0;margin-bottom:28px}
 .em2-bg img{position:absolute;inset:0;height:100%;object-position:60% 45%}
 .em2-shade{background:linear-gradient(180deg,rgba(7,30,50,.05),rgba(7,30,50,.25) 60%,#071E32 100%)}
 .em2-glow{display:none}
 .em2 h2{font-size:clamp(2.25rem,9.5vw,2.75rem)}
 .em2-live{font-size:.75rem;padding:7px 12px 7px 9px}
 .em2-live .lg{display:none}
 .em2 .em-actions{flex-direction:column}
 .em2 .em-actions .btn{width:100%;justify-content:center}
 .em2 .em-actions .btn-stack{align-items:center;text-align:center}
 .em2-stat{margin-top:22px;padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
 .em2-stat-n{font-size:3.5rem}
 .em2-stat-l{font-size:.9375rem}
 .em2-steps{grid-template-columns:1fr;gap:22px;border-top:0;padding:0 0 0 30px;margin-top:40px}
 .em2-steps::before,.em2-steps::after{left:7px;right:auto;top:6px;bottom:6px;width:2px;height:auto;transform-origin:50% 0}
 .em2-steps::before{background:rgba(255,255,255,.14)}
 .em2-steps::after{background:linear-gradient(180deg,var(--heat-hi),#DF6200 55%,var(--cool-hi));transform:scaleY(0)}
 .em2-steps.run::after{transform:scaleY(1)}
 .em2-steps li i{left:-30px;top:4px}
 .em2-steps b{font-size:1.125rem}
 .em2-steps li>span:last-child{max-width:none}
}

/* card lift: cities + credentials */
.sa-cities,.creds{box-shadow:0 1px 2px rgba(9,44,71,.05),0 10px 28px -10px rgba(9,44,71,.18),0 28px 60px -28px rgba(9,44,71,.22)!important;border-color:rgba(223,231,238,.9)!important}

/* why-photo v2: everything inside the frame */
.why-photo .frame{border-radius:24px!important;aspect-ratio:4/5!important}
.why-photo .frame img{object-position:50% 28%!important}
.why-photo .frame::after{background:linear-gradient(180deg,rgba(9,44,71,.05) 40%,rgba(9,44,71,.7) 100%)!important}
.why-photo .since{right:20px!important;top:20px!important;width:112px!important;height:112px!important;box-shadow:0 12px 30px -10px rgba(0,0,0,.5)!important}
.why-photo .since b{font-size:1.5rem!important}
.why-photo .quote{left:20px!important;right:20px!important;bottom:20px!important;max-width:none!important;padding:18px 20px 16px!important;border-radius:16px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(8px)}
.why-photo .quote p{font-size:1.125rem!important;line-height:1.3}
.why-photo .quote span{margin-top:8px!important}
@media(max-width:560px){.why-photo .since{width:88px!important;height:88px!important;right:14px!important;top:14px!important}.why-photo .since b{font-size:1.125rem!important}.why-photo .quote{left:14px!important;right:14px!important;bottom:14px!important;padding:14px 16px!important}.why-photo .quote p{font-size:1rem!important}}

/* hero: keep the active word separated from the mood tint */
.hx-title.words-done .hx-heat .wd>span::after{color:#FFD9B8;text-shadow:0 0 2px rgba(9,44,71,.9),0 2px 0 rgba(9,44,71,.6),0 0 28px rgba(255,180,110,.95),0 0 90px rgba(223,98,0,.7);opacity:var(--he)}
.hx-title.words-done .hx-cool .wd>span::after{color:#E4F2FC;text-shadow:0 0 2px rgba(9,44,71,.9),0 2px 0 rgba(9,44,71,.6),0 0 28px rgba(160,205,240,.95),0 0 90px rgba(20,94,149,.9);opacity:var(--ce)}
/* the gradient copy fades out as the bright copy fades in, so the word reads as one solid hot glyph */
.hx-title.words-done .hx-heat .wd>span::after,.hx-title.words-done .hx-cool .wd>span::after{z-index:1}
.hx-title.words-done .hx-heat .wd>span{opacity:calc(1 - var(--ce)*.62)}
.hx-title.words-done .hx-cool .wd>span{opacity:calc(1 - var(--he)*.62)}
/* pull the warm tint away from the headline area */
.hx-tint.heat{background:radial-gradient(ellipse 70% 80% at 8% 78%,rgba(223,98,0,.4),rgba(223,98,0,0) 68%)}
.hx-glow.heat{left:-420px;top:-120px}

/* headline: static brand gradients, no mood lighting */
.hx-title .hx-heat .wd>span::after,.hx-title .hx-cool .wd>span::after{display:none!important;content:none!important}
.hx-title.words-done .hx-heat .wd>span,.hx-title.words-done .hx-cool .wd>span{opacity:1!important;transform:none!important;text-shadow:none!important;filter:none!important}
.hx-heat .wd>span,.hx-cool .wd>span{animation:none!important;background-size:100% 100%!important}
.hx-title.words-done .wd{overflow:hidden}

/* em2 timeline: line spans dot-to-dot, dots on top, tighter rhythm */
.em2-steps{padding-top:30px!important;border-top:0!important;gap:0 40px!important}
.em2-steps::before,.em2-steps::after{left:8px!important;right:0!important;top:0!important;height:2px!important;transform-origin:0 50%}
.em2-steps::before{background:rgba(255,255,255,.16)!important}
.em2-steps li i{top:-38px!important;width:18px!important;height:18px!important;border-width:3px!important;z-index:2;box-shadow:0 0 0 4px #071E32}
.em2-steps li{gap:6px!important}
.em2-t{margin-bottom:2px}
.em2-steps li>span:last-child{max-width:none!important}
@media(min-width:761px){.em2-steps li i{box-shadow:0 0 0 4px #071E32}}
@media(max-width:760px){.em2-steps{gap:22px 0!important;padding-top:0!important}.em2-steps::before,.em2-steps::after{left:7px!important;right:auto!important;top:6px!important;bottom:6px!important;width:2px!important;height:auto!important;transform-origin:50% 0}.em2-steps li i{top:2px!important;left:-30px!important;width:16px!important;height:16px!important;border-width:2px!important}}

/* em2 timeline: dots at start / centre / end of the bar */
@media(min-width:761px){
 .em2-steps li:nth-child(2){text-align:center;justify-items:center}
 .em2-steps li:nth-child(2) i{left:50%!important;transform:translateX(-50%)!important}
 .em2-steps.run li:nth-child(2) i{transform:translateX(-50%) scale(1.2)!important}
 .em2-steps li:nth-child(3){text-align:right;justify-items:end}
 .em2-steps li:nth-child(3) i{left:auto!important;right:0}
 .em2-steps li>span:last-child{max-width:34ch!important}
}

/* ===================== MOBILE AUDIT 2 ===================== */
.note-m{display:none}
.sa-more-btn{display:none}
.f-offices>summary{list-style:none;cursor:default}
.f-offices>summary::-webkit-details-marker{display:none}
.f-offices>summary span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.f-offices .f-chev{display:none}
.f-offices ul{margin:0;padding:0;list-style:none}
@media(max-width:760px){
 /* 1 + 2: undo desktop grid overrides */
 .faq-grid{grid-template-columns:1fr!important}
 .money .section-head{grid-template-columns:1fr!important}
 /* 3: kicker back on top */
 .hx-copy>.hx-kicker{order:0!important;margin:0 0 16px!important}
 /* 4: 13px floor in emergency + hero labels */
 .hx-cta-em .btn-stack small,.em2 .em-actions .btn-stack small{font-size:.8125rem!important}
 .em2-live{font-size:.8125rem!important}
 .em2-t{font-size:.8125rem!important}
 /* 5: ticker after emergency, above services */
 /* 6 + 7: drop the stat card, tighten emergency */
 .em2 .lede{font-size:1rem;line-height:1.5}
 .em2 .lede .lg{display:none}
 .em2-steps{margin-top:32px!important}
 .em2-steps li{opacity:1!important}
 .emergency.em2{padding-bottom:48px}
 /* 8: carousel arrows under the track + centred */
 /* 9: heading before photo in Why */
 /* 10: price context note */
 .note-m{display:flex!important}
 /* 11: cities cap */
 .sa-region.sa-all{flex-direction:column;align-items:stretch!important}
 .sa-region.sa-all ul{display:flex!important;flex-wrap:wrap;gap:10px}
 .sa-more-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;width:100%;border-radius:999px;border:1.5px dashed var(--mist);background:none;color:var(--cool);font:600 .9375rem var(--font-body);margin-top:10px;cursor:pointer}
 .sa-more-city[hidden]{display:none!important}
 .sa-more-city:not([hidden]){display:inline-flex}
 /* 12: pause button hidden on phones */
 .hx-motion{display:none!important}
 /* 13: footer offices accordion */
 .f-offices{border-top:1px solid rgba(255,255,255,.1);margin-top:14px}
 .f-offices>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;cursor:pointer}
 .f-offices>summary span{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:inline;font:600 .9375rem var(--font-body);color:#fff}
 .f-offices .f-chev{display:block;color:var(--fog);transition:transform .25s}
 .f-offices[open] .f-chev{transform:rotate(180deg)}
 .f-offices ul{padding-bottom:12px}
}

/* hero credibility badges */
.hx-badges{list-style:none;margin:26px 0 0;padding:0;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.hx-badges li{display:flex;align-items:center}
.hx-badges img{height:40px;width:auto;display:block;opacity:.95;transition:opacity .25s}
.hx-badges li.ch img{height:56px;background:#fff;border-radius:10px;padding:5px 10px}
.hx-badges li:hover img{opacity:1}
.hx-proof{margin-top:28px!important}
@media(max-width:760px){.hx-copy>.hx-badges{order:5;gap:16px;margin:22px 0 0;justify-content:center}.hx-copy>.hx-proof{order:6}.hx-badges img{height:32px}.hx-badges li.ch img{height:46px}}

/* hero badges on mobile: 3 matching tiles aligned to the proof-row columns */
@media(max-width:760px){
 .hx-copy>.hx-badges{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important;margin:24px 0 0!important;justify-content:stretch!important}
 .hx-badges li{height:60px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);justify-content:center;padding:0 10px}
 .hx-badges img{height:auto!important;max-height:26px;max-width:100%;opacity:1}
 .hx-badges li.ch img{max-height:40px;background:none!important;padding:0!important;border-radius:0!important;filter:brightness(0) invert(1)}
 .hx-copy>.hx-proof{margin-top:22px!important}
 .hx-copy>.hx-actions{margin-bottom:0!important}
 .hx-copy>.hx-badges{margin-top:20px!important}
}

/* break between final CTA and footer */
.footer{background:#051726!important;position:relative}
.footer::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#F59A55 0%,#DF6200 30%,#7DAECF 70%,#145E95 100%)}
.footer .f-main{border-top:0}
.f-legal{background:#03111D;border-top:1px solid rgba(255,255,255,.06)!important}
section.cta#schedule{box-shadow:0 30px 60px -30px rgba(0,0,0,.55);position:relative;z-index:1}

/* plan price panel: white */
.plan-price{background:#fff!important;color:var(--ink)!important}
.plan-price .eyebrow,.plan-price .eyebrow.heat{color:#B04D00!important}
.plan-price .amount,.plan-price .amount .num,.plan-price .amount .cur{color:var(--ink)!important}
.plan-price .amount .cur{color:#B04D00!important}
.plan-price .amount .per{color:var(--slate)!important}
.plan-price h3,.plan-price .plan-h{color:var(--ink)!important}
.plan-price p{color:var(--slate)!important}
.plan-price :focus-visible{outline-color:var(--cool)!important}

/* hero badges: tile treatment on all breakpoints */
.hx-copy>.hx-badges{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px!important;max-width:520px;margin:28px 0 0!important}
.hx-badges li{height:64px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);justify-content:center;padding:0 12px;transition:background .25s,border-color .25s}
.hx-badges li:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.24)}
.hx-badges img{height:auto!important;max-height:32px;max-width:100%;opacity:1!important}
.hx-badges li.ch img{max-height:48px;background:none!important;padding:0!important;border-radius:0!important;filter:brightness(0) invert(1)}
@media(max-width:760px){.hx-copy>.hx-badges{max-width:none;gap:12px!important;margin-top:20px!important}.hx-badges li{height:60px;padding:0 10px}.hx-badges img{max-height:26px}.hx-badges li.ch img{max-height:40px}}

/* hero lede: one paragraph; second sentence drops on phones */
@media(max-width:760px){.hx-lede .lede-more{display:none}}

/* hero (single column): van stage sits above the proof stats */
@media(max-width:980px){
 .hero.hx .container.hx-wrap{display:flex!important;flex-direction:column;align-items:stretch;gap:0!important}
 .hx-copy{display:contents}
 .hx-copy>.hx-kicker{order:0!important;align-self:flex-start}
 .hx-copy>.hx-seo{order:1!important}
 .hx-copy>.hx-title{order:2!important}
 .hx-copy>.hx-lede{order:3!important}
 .hx-copy>.hx-actions{order:4!important}
 .hx-copy>.hx-badges{order:5!important}
 .hx-stage{order:6!important;margin-top:32px!important;margin-bottom:4px!important}
 .hx-copy>.hx-proof{order:7!important}
}

/* ===== mobile priorities ===== */
@media(max-width:560px){
 /* 2: wordmark back, phone becomes an icon button */
 .header .brand-name{display:flex!important}
 .header .brand-name strong{font-size:1.0625rem}
 .header .brand-name small{font-size:.6875rem;margin-top:2px}
 .header .brand{gap:8px;min-height:48px}
 .header .brand-mark{width:40px;height:40px}
 .header .btn-call{padding:0!important;width:48px;height:48px;min-height:48px;justify-content:center;gap:0}
 .header .btn-call .btn-stack{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .header .btn-call .ring{margin:0}
 .header-cta{gap:8px}
}
@media(max-width:760px){
 /* 3: van becomes a short band */
 .hx-stage{aspect-ratio:16/9!important;margin-top:24px!important}
 .hx-photo img{object-position:50% 40%}
 /* 4: service rows are titles + View only */
 .svc-row .t span{display:none!important}
 .svc-row{padding-top:16px!important;padding-bottom:16px!important;align-items:center!important}
}

/* mobile hero top: one-line kicker, centred orange H1 */
.hx-kicker .k-long{font:inherit;color:inherit}
.hx-kicker .k-txt{font-style:normal;white-space:nowrap}
@media(max-width:760px){
 .hx-copy>.hx-kicker{align-self:center!important;display:inline-flex;align-items:center;gap:10px;padding:5px 14px 5px 5px!important;margin:0 0 18px!important;white-space:nowrap;font-size:.8125rem!important}
 .hx-kicker span:first-child{padding:6px 10px!important;font-size:.8125rem!important;letter-spacing:.08em}
 .hx-kicker .k-long{display:none}
 .hx-copy>.hx-seo{text-align:center;align-self:stretch;margin-bottom:14px!important}
}

/* em2 stat: $0 overtime */
.em2-stat-n .pre{font:800 clamp(2.5rem,1.6rem + 3vw,4.5rem)/1 var(--font-display);color:var(--heat-hi);align-self:flex-start;margin-top:.12em;margin-right:.04em}
@media(max-width:760px){.em2-stat-n .pre{font-size:1.75rem}.em2-stat .br-d{display:none}}
/* since badge */
.why-photo .since .since-in{display:grid;justify-items:center;line-height:1;animation:spin 30s linear infinite reverse}
.why-photo .since .since-in b{animation:none!important;line-height:1}
.why-photo .since .since-in small{font:600 .6875rem/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--heat-hi);margin-bottom:4px}
@media(max-width:560px){.why-photo .since .since-in small{font-size:.5625rem;letter-spacing:.12em;margin-bottom:2px}}
@media (prefers-reduced-motion:reduce){.why-photo .since .since-in{animation:none}}

/* em2: copy only, no stat column */
.em2-wrap{grid-template-columns:minmax(0,1fr)!important}
.em2-copy{max-width:640px}

/* community + credentials: one card */
.community{grid-template-rows:auto auto;border:1px solid rgba(223,231,238,.9);box-shadow:0 1px 2px rgba(9,44,71,.05),0 10px 28px -10px rgba(9,44,71,.18),0 28px 60px -28px rgba(9,44,71,.22)}
.community .creds-in{grid-column:1/-1;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;border-top:1px solid rgba(255,255,255,.08)!important;background:#fff}
.community .creds-in .cred{padding:22px 24px}
@media(max-width:900px){.community .creds-in{grid-column:auto}}

/* credentials strip: each item centred in its cell */
.community .creds-in .cred{grid-template-columns:44px auto!important;justify-content:center!important;align-content:start!important;height:100%}
.community .creds-in .creds-list li{display:flex!important;align-items:stretch}
.community .creds-in .creds-list li>.cred{flex:1}

/* hero trust row replaces the proof stats */
.hx-copy>.hx-badges{margin-top:36px!important;padding-top:28px;border-top:1px solid rgba(255,255,255,.12);max-width:560px}
.hx-badges li.gr{gap:10px;padding:0 10px}
.gr .gr-g{flex:none;width:26px;height:26px}
.gr-t{display:grid;line-height:1.1;text-align:left}
.gr-t b{font:800 1.125rem/1 var(--font-display);color:#fff;display:flex;align-items:center;gap:6px;white-space:nowrap}
.gr-t b i{font-style:normal;color:#FBBC05;font-size:.75rem;letter-spacing:1px}
.gr-t small{font-size:.75rem;color:#b9c8d4;margin-top:4px;white-space:nowrap}
@media(max-width:980px){.hx-copy>.hx-badges{order:7!important;margin-top:24px!important;padding-top:22px}}
@media(max-width:760px){.hx-copy>.hx-badges{max-width:none;margin-top:22px!important;padding-top:20px}.hx-badges li.gr{gap:7px;padding:0 6px}.gr .gr-g{width:20px;height:20px}.gr-t b{font-size:.9375rem;gap:4px}.gr-t b i{display:none}.gr-t small{font-size:.6875rem}}

.hx-copy>.hx-badges{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr)!important}
.gr-t small .gr-long{font:inherit;font-style:normal}
@media(max-width:760px){.hx-copy>.hx-badges{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr) minmax(0,.9fr)!important;gap:8px!important}.hx-badges li{padding:0 8px}.gr-t small .gr-long{display:none}}

/* trust row: equal columns; desktop = no containers, larger marks */
.hx-copy>.hx-badges{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(min-width:761px){
 .hx-badges li{background:none!important;border:0!important;padding:0!important;height:64px;justify-content:flex-start}
 .hx-badges li:nth-child(2){justify-content:center}
 .hx-badges li:nth-child(3){justify-content:flex-end}
 .hx-badges img{max-height:44px!important}
 .hx-badges li.ch img{max-height:62px!important}
 .gr .gr-g{width:36px!important;height:36px!important}
 .gr-t b{font-size:1.5rem!important}
 .gr-t b i{font-size:.875rem!important}
 .gr-t small{font-size:.8125rem!important}
 .hx-badges li.gr{gap:12px!important}
}
@media(max-width:760px){.hx-copy>.hx-badges{gap:8px!important}.hx-badges li,.hx-badges li.gr{padding:0 4px!important}.gr-t small{font-size:.6875rem!important}}

@media(max-width:760px){
 .hx-badges li.gr{gap:6px!important;padding:0 2px!important}
 .gr .gr-g{width:18px!important;height:18px!important}
 .gr-t b{font-size:.875rem!important}
 .gr-t small{font-size:.6875rem!important;letter-spacing:-.01em;margin-top:3px}
}

.gr-t small .gr-rv{font:inherit;font-style:normal}
@media(max-width:380px){.gr-t small .gr-rv{display:none}}

/* hero Google mark in white */
.gr .gr-g path{fill:#fff!important}

/* desktop trust row: packed left, even gaps, balanced rule spacing */
@media(min-width:761px){
 .hx-copy>.hx-badges{display:flex!important;align-items:center;gap:44px!important;max-width:none;margin-top:32px!important;padding-top:28px!important}
 .hx-badges li,.hx-badges li:nth-child(2),.hx-badges li:nth-child(3){justify-content:flex-start!important;height:auto!important}
 .hx-badges li+li{position:relative}
 .hx-badges li+li::before{content:"";position:absolute;left:-22px;top:50%;width:1px;height:36px;margin-top:-18px;background:rgba(255,255,255,.14)}
}

/* emergency: live dispatch radar in the right-hand space */
.em2-radar{position:absolute;right:-10px;top:46%;width:min(460px,34vw);height:auto;transform:translateY(-50%);pointer-events:none;overflow:visible;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35))}
.em2-radar .rd-sweep{transform-box:view-box;transform-origin:220px 220px;animation:rdSpin 6s linear infinite}
@keyframes rdSpin{to{transform:rotate(360deg)}}
.em2-radar .rd-blip{animation:rdBlip 6s linear infinite;opacity:.25}
.em2-radar .b1{animation-delay:-1.4s}.em2-radar .b2{animation-delay:-4.3s}.em2-radar .b3{animation-delay:-2.9s}.em2-radar .b4{animation-delay:-5.6s}
@keyframes rdBlip{0%,100%{opacity:.18}6%{opacity:1}30%{opacity:.18}}
.em2-radar .rd-lbl{font:600 12px var(--font-body);fill:#b9c8d4;letter-spacing:.04em}
.em2-radar .rd-msg{font:600 13px var(--font-body);fill:#fff}
@media(max-width:1100px){.em2-radar{display:none}}
@media (prefers-reduced-motion:reduce){.em2-radar .rd-sweep,.em2-radar .rd-blip{animation:none}}

/* brand logo (supplied PNG) */
.brand-logo{display:block;height:44px;width:auto}
.header .brand{gap:0}
.header .brand-logo{height:46px}
.drawer-head .brand-logo{height:40px}
.f-brand .brand-logo{height:52px;margin-bottom:18px}
@media(max-width:560px){.header .brand-logo{height:40px}.header .brand{min-height:48px}}

/* decorative spinning logo mark (replaces the drawn rays) */
img.deco-logo{display:block;object-fit:contain;opacity:.09;filter:saturate(1.1)}
img.deco-logo.dk{opacity:.12}
.em2 .deco.em2-deco{display:block!important;z-index:1;top:-200px;right:-160px;opacity:.14;width:520px;height:520px}
@media(max-width:1100px){.em2 .deco.em2-deco{display:none!important}}

/* sticky header: solid once scrolled so hero buttons don't ghost through */
.header.scrolled{background:#F7F9FB!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* nav hover pill must sit behind the link text */
.nav>li:not(.nav-pill){position:relative;z-index:1}
.nav-pill{z-index:0!important}
.header.scrolled .nav-pill{opacity:0!important}

/* brand strip: official Trane + Bryant marks */
.svc-logos .lg-t img{height:40px;max-width:none}
.svc-logos .lg-b img{height:58px;max-width:none}
@media(max-width:560px){.svc-logos .lg-t img{height:26px}.svc-logos .lg-b img{height:40px}}
