/* HCI Environmental site styles. Tokens: data/design/stylekit.md */
:root{
  --hci-blue:#26469A;--hci-red:#D31E25;--red-hover:#B3151B;
  --navy:#0d2949;--navy-dark:#091d33;--navy-mid:#163456;
  --bg:#f6f7f9;--bg-white:#ffffff;--gray-light:#eef0f4;--gray-mid:#d1d5de;
  --text-head:#0b0d0f;--text-body:#2c3440;--text-muted:#5b6573;
  --hairline:rgba(13,41,73,.10);--glass:rgba(255,255,255,.12);--glass-border:rgba(255,255,255,.28);
  --success:#1B8A5A;
  --font-head:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,sans-serif;
  --radius:8px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);
  --shadow-md:0 4px 16px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.05);
  --shadow-lg:0 12px 40px rgba(13,41,73,.14);
  --max-w:1200px;--gutter:24px;--header-h:84px;--section:96px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--font-body);font-size:17px;line-height:1.6;color:var(--text-body);background:var(--bg-white);overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{color:var(--hci-blue)}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--text-head);margin:0;letter-spacing:-.01em}
h1{font-size:56px;line-height:1.08;font-weight:800}
h2{font-size:36px;line-height:1.15;font-weight:700}
h3{font-size:22px;line-height:1.3;font-weight:700}
p{margin:0 0 1em}
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--section) 0}
.section-head{max-width:760px;margin-bottom:40px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center .eyebrow{justify-content:center}
.lead{font-size:20px;line-height:1.5;color:var(--text-muted);margin-top:14px}
.eyebrow{display:flex;align-items:center;gap:10px;font:700 12px/1.35 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--hci-red);margin-bottom:14px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--hci-red);flex:none}
.on-dark h2,.on-dark h3,.on-dark .lead,.on-dark p{color:#fff}
.on-dark .lead{color:rgba(255,255,255,.78)}
.on-dark .eyebrow{color:#ff6b70}.on-dark .eyebrow::before{background:#ff6b70}
.surface-grid{background-color:var(--bg);background-image:linear-gradient(var(--hairline) 1px,transparent 1px),linear-gradient(90deg,var(--hairline) 1px,transparent 1px);background-size:48px 48px;background-position:center top}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--navy);padding:10px 14px;border-radius:var(--radius);z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid rgba(38,70,154,.55);outline-offset:3px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:var(--radius);font:600 15px/1 var(--font-body);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .18s,background .18s,box-shadow .18s;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--hci-red);color:#fff;box-shadow:0 6px 18px rgba(211,30,37,.28)}
.btn-primary:hover{background:var(--red-hover);transform:translateY(-1px)}
.btn-glass{background:var(--glass);color:#fff;border-color:var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.btn-glass:hover{background:rgba(255,255,255,.2)}
.btn-light{background:#fff;color:var(--navy);border-color:var(--hairline);box-shadow:var(--shadow-sm)}
.btn-light:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-mid)}

/* Chips */
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:var(--radius-pill);font:600 14px/1.2 var(--font-body)}
.chip-glass{background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff}
.chip-light{background:#fff;border:1px solid var(--hairline);color:var(--navy);box-shadow:var(--shadow-sm)}
.chip svg{width:16px;height:16px;flex:none}

/* Topbar + header */
.topbar{background:var(--navy-dark);color:#fff;font-size:13px;font-weight:500}
.topbar .container{display:flex;justify-content:space-between;align-items:center;min-height:36px;gap:16px}
.topbar a{color:#fff;text-decoration:none}
.topbar .pulse{display:inline-flex;align-items:center;gap:8px}
.topbar .pulse i{width:8px;height:8px;border-radius:50%;background:#2fd37c;box-shadow:0 0 0 0 rgba(47,211,124,.6);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(47,211,124,.6)}70%{box-shadow:0 0 0 8px rgba(47,211,124,0)}100%{box-shadow:0 0 0 0 rgba(47,211,124,0)}}
.topbar .muted{opacity:.75}
.topbar .short{display:none}
@media (max-width:819px){.topbar .short{display:inline}}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--hairline);transition:box-shadow .25s}
.header .container{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:var(--header-h);gap:20px;transition:min-height .25s}
.logo{flex:none;display:block}
.logo img{height:52px;width:auto;max-width:none;transition:height .25s}
body.scrolled .header{box-shadow:0 8px 28px rgba(9,29,51,.09)}
body.scrolled .header .container{min-height:calc(var(--header-h) - 16px)}
body.scrolled .logo img{height:44px}
.nav{display:flex;align-items:center;gap:4px}
.nav>li{list-style:none;position:static}
.nav{margin:0;padding:0}
.nav a,.nav button{display:inline-flex;align-items:center;gap:6px;padding:10px 11px;white-space:nowrap;border-radius:var(--radius);font:600 15px var(--font-body);color:var(--text-head);text-decoration:none;background:none;border:0;cursor:pointer}
.nav a:hover,.nav button:hover{background:var(--gray-light)}
.nav button svg{width:14px;height:14px;transition:transform .2s}
.nav li.open>button svg{transform:rotate(180deg)}
/* Mega menu: anchored to the header container (never clipped by the viewport), fades in, tinted columns */
.mega{position:absolute;top:calc(100% + 6px);left:var(--gutter);right:var(--gutter);margin:0 auto;max-width:980px;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:0 26px 60px rgba(9,29,51,.26),0 3px 10px rgba(9,29,51,.10);padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;z-index:5}
.nav li.open>.mega{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .18s ease,transform .18s ease}
.mega>div{padding:16px 14px 10px;border-radius:12px;border:1px solid rgba(13,41,73,.06);background:linear-gradient(180deg,rgba(38,70,154,.075) 0%,rgba(38,70,154,.02) 60%,rgba(38,70,154,0) 100%)}
.mega>div:nth-child(2){background:linear-gradient(180deg,rgba(211,30,37,.07) 0%,rgba(211,30,37,.018) 60%,rgba(211,30,37,0) 100%)}
.mega>div:nth-child(3){background:linear-gradient(180deg,rgba(13,41,73,.08) 0%,rgba(13,41,73,.02) 60%,rgba(13,41,73,0) 100%)}
.mega h4,.mega .col-h{font:700 12px/1 var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--hci-red);margin-bottom:12px}
.mega ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.nav .mega ul a{display:block;padding:8px 10px;font-weight:500;color:var(--text-body);border-radius:6px}
.nav .mega ul a:hover{background:#fff;color:var(--navy);box-shadow:var(--shadow-sm)}
.nav .mega .feature{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(90deg,var(--navy) 0%,var(--navy-mid) 100%);color:#fff;border-radius:var(--radius);padding:14px 16px;text-decoration:none}
.nav .mega .feature:hover{background:linear-gradient(90deg,var(--navy-mid) 0%,var(--navy) 100%);color:#fff}
.mega .feature strong{display:block;font-family:var(--font-head);font-size:16px}
.mega .feature div span{display:block;font-size:14px;opacity:.82;font-weight:400}
.mega .feature .btn{flex:none}
.mega .feature:hover .btn{background:var(--red-hover)}
.header-cta{display:flex;align-items:center;gap:10px}
.header-phone{display:inline-flex;flex-direction:column;align-items:flex-end;text-decoration:none;color:var(--text-head);line-height:1.1}
.header-phone strong{font:800 18px var(--font-head)}
.header-phone small{font-size:12px;color:var(--text-muted);font-weight:500}
.header-phone .ph{display:none}
.burger{display:none;width:48px;height:48px;border:1px solid var(--hairline);background:#fff;border-radius:var(--radius);cursor:pointer;align-items:center;justify-content:center}
.burger span{display:block;width:22px;height:2px;background:var(--navy);position:relative;transition:.2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:22px;height:2px;background:var(--navy);transition:.2s}
.burger span::before{top:-7px}.burger span::after{top:7px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
/* Mobile menu: slides in under the header, items stagger, designed footer block */
.mobile-menu{display:block;position:fixed;top:calc(var(--header-h) + 36px);left:0;right:0;bottom:0;background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);z-index:49;overflow:auto;padding:8px var(--gutter) 120px;opacity:0;visibility:hidden;transform:translateY(-12px);pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
.mobile-menu.open{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .22s ease,transform .22s ease}
.mobile-menu>*{opacity:0;transform:translateY(10px);transition:opacity .32s ease,transform .32s ease}
.mobile-menu.open>*{opacity:1;transform:none}
.mobile-menu.open>*:nth-child(1){transition-delay:.04s}.mobile-menu.open>*:nth-child(2){transition-delay:.08s}.mobile-menu.open>*:nth-child(3){transition-delay:.12s}.mobile-menu.open>*:nth-child(4){transition-delay:.16s}.mobile-menu.open>*:nth-child(5){transition-delay:.2s}.mobile-menu.open>*:nth-child(6){transition-delay:.24s}.mobile-menu.open>*:nth-child(7){transition-delay:.28s}.mobile-menu.open>*:nth-child(8){transition-delay:.32s}.mobile-menu.open>*:nth-child(9){transition-delay:.36s}
.mobile-menu details{border-bottom:1px solid var(--hairline)}
.mobile-menu summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:16px 0;font:700 17px var(--font-head);cursor:pointer;color:var(--text-head)}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu summary::after{content:"";flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--gray-mid);background-color:transparent;background-image:linear-gradient(var(--hci-red),var(--hci-red)),linear-gradient(var(--hci-red),var(--hci-red));background-size:12px 2px,2px 12px;background-position:center;background-repeat:no-repeat;transition:transform .2s,background-color .2s}
.mobile-menu details[open] summary::after{background-color:var(--hci-red);border-color:var(--hci-red);background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);transform:rotate(45deg)}
.mobile-menu ul{list-style:none;margin:0;padding:0 0 12px}
.mobile-menu ul a{display:block;padding:10px 0 10px 14px;color:var(--text-body);text-decoration:none;font-weight:500;border-left:2px solid var(--gray-light)}
.mobile-menu ul a:active{color:var(--hci-red);border-left-color:var(--hci-red)}
.mobile-menu>a{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--hairline);font:700 17px var(--font-head);color:var(--text-head);text-decoration:none}
.mobile-menu>a::after{content:"";width:8px;height:8px;border-right:2px solid var(--gray-mid);border-bottom:2px solid var(--gray-mid);transform:rotate(-45deg);margin-right:10px}
.mobile-menu>a.btn,.mobile-menu>a.btn::after{content:none}
.mobile-menu>a.btn{display:flex;justify-content:center;align-items:center;margin-top:22px;width:100%;min-height:54px;padding:0 22px;border-bottom:0;font:600 16px/1 var(--font-body);color:#fff;border-radius:var(--radius)}
.mobile-menu .spill{display:flex;align-items:center;gap:14px;margin-top:14px;padding:16px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;text-decoration:none;box-shadow:var(--shadow-md)}
.mobile-menu .spill .ring{position:relative;flex:none;width:46px;height:46px;border-radius:50%;background:var(--hci-red);display:grid;place-items:center}
.mobile-menu .spill .ring svg{width:22px;height:22px}
.mobile-menu .spill strong{display:block;font:700 16px var(--font-head);color:#fff}
.mobile-menu .spill div>span{display:block;font-size:13px;color:rgba(255,255,255,.8);margin-top:2px}
.mobile-menu>a.spill::after{border-color:rgba(255,255,255,.75)}
.mobile-menu .spill b{display:block;font:800 17px var(--font-head);color:#fff;margin-top:6px}
.mobile-menu .spill b span{display:inline}
.mobile-menu .meta{margin-top:18px;padding:16px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--hairline);font-size:13px;color:var(--text-muted);line-height:1.5}
.mobile-menu .meta strong{display:block;font:700 13px var(--font-head);color:var(--text-head);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.mobile-menu .meta .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.mobile-menu .meta .chip{padding:6px 10px;font-size:12px;background:var(--bg);border:1px solid var(--hairline);color:var(--navy)}
body.menu-open{overflow:hidden}
body.menu-open .callbar{display:none}
.mobile-menu .spill>div{flex:1}
@media (prefers-reduced-motion:reduce){.mobile-menu,.mobile-menu>*,.mega,.header .container,.logo img{transition:none}.mobile-menu{transform:none}.mobile-menu>*{transform:none}}

/* Hero */
.hero{position:relative;min-height:0;display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--navy-dark)}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,29,51,.94) 0%,rgba(9,29,51,.82) 36%,rgba(9,29,51,.38) 60%,rgba(9,29,51,.05) 100%),linear-gradient(180deg,rgba(9,29,51,0) 60%,rgba(9,29,51,.85) 100%)}
.hero .container{position:relative;z-index:1;padding-top:64px;padding-bottom:84px}
.hero-copy{max-width:700px}
.hero h1{color:#fff;text-wrap:balance}
.hero .sub{font-size:19px;line-height:1.5;color:rgba(255,255,255,.86);margin:18px 0 26px;max-width:600px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px}
.hero:not(.hero-int) .hero-chips{display:grid;grid-template-columns:repeat(2,max-content)}
@media (max-width:480px){.hero:not(.hero-int) .hero-chips{grid-template-columns:1fr 1fr}.hero .hero-chips .chip{font-size:12.5px;padding:8px 10px}}
.stat strong{white-space:nowrap}
.cta-copy .trust .chip{flex:0 0 auto;justify-content:flex-start}.cta-copy .trust .chip svg{width:14px;height:14px;color:#7fe0a0;flex:none}
/* Hero emergency card (desktop only; tablets use the header phone, phones use the sticky call bar) */
.hero-float{position:absolute;right:var(--gutter);bottom:28px;z-index:1;display:none}
.hero-float .card-glass{background:rgba(9,29,51,.6);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:16px 18px;color:#fff;display:flex;gap:14px;align-items:center;max-width:400px;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s;box-shadow:0 14px 40px rgba(0,0,0,.25)}
.hero-float .card-glass:hover{background:rgba(9,29,51,.78);transform:translateY(-2px)}
.hero-float .ring{position:relative;width:48px;height:48px;border-radius:50%;background:var(--hci-red);display:grid;place-items:center;flex:none}
.hero-float .ring::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(255,107,112,.75);animation:ringpulse 2s ease-out infinite}
@keyframes ringpulse{0%{transform:scale(.85);opacity:.9}70%{transform:scale(1.25);opacity:0}100%{transform:scale(1.25);opacity:0}}
.hero-float strong{display:block;font:700 17px var(--font-head)}
.hero-float .card-glass>div>span{display:block;font-size:13px;opacity:.85;margin-top:2px}
.hero-float .num{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font:800 18px var(--font-head);color:#fff}
.hero-float .num svg{width:16px;height:16px;transition:transform .2s}
.hero-float .card-glass:hover .num svg{transform:translateX(4px)}
@media (min-width:1100px){.hero-float{display:block}}
@media (prefers-reduced-motion:reduce){.hero-float .ring::after{animation:none}}
.hero-peek{position:absolute;left:0;right:0;bottom:0;height:10px;background:var(--navy)}

/* Stats */
.stats{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;position:relative}
.stats::before{content:"";position:absolute;inset:0;background:url("img/p/hci-dispatch-band-800.webp") center/cover;opacity:.08;mix-blend-mode:luminosity}
.stats .container{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-top:34px;padding-bottom:34px}
.stat{padding:8px 24px;border-left:1px solid rgba(255,255,255,.14)}
.stat:first-child{border-left:0;padding-left:0}
.stat strong{display:block;font:800 34px/1 var(--font-head);color:#fff}
.stat span{display:block;margin-top:8px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);font-weight:600}

/* Service cards */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.svc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.svc-card .media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--navy)}
.svc-card .media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.svc-card:hover .media img{transform:scale(1.04)}
.svc-card .tag{position:absolute;left:14px;top:14px}
.svc-card .body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.svc-card h3{font-size:21px}
.svc-card p{color:var(--text-muted);font-size:15px;margin:0;flex:1}
.svc-card .more{display:inline-flex;align-items:center;gap:8px;font:600 14px var(--font-body);color:var(--hci-red)}
.svc-card .more svg{width:16px;height:16px;transition:transform .2s}
.svc-card:hover .more svg{transform:translateX(4px)}
.svc-card.featured{grid-column:span 2}
.svc-card.featured .media{aspect-ratio:auto;height:100%;min-height:300px}
.svc-card.featured .body{justify-content:center}
.svc-card.featured p{flex:0 0 auto}
.svc-card.featured{display:grid;grid-template-columns:1.15fr 1fr}
.svc-more{grid-column:span 2;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:28px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(27,42,65,.93),rgba(9,29,51,.97)),url("img/p/demolition-hero-1280.jpg") center/cover;color:#fff;position:relative;overflow:hidden}
.svc-more::after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%)}
.svc-more h3{color:#fff;font-size:22px}
.svc-more p{color:rgba(255,255,255,.78);margin:0;font-size:15px;max-width:520px}
.svc-more .chips{display:flex;flex-wrap:wrap;gap:10px;position:relative}
.svc-more a{text-decoration:none}
.svc-more .chip-glass:hover{background:rgba(255,255,255,.22)}

/* One team band */
.team-band{position:relative;color:#fff;overflow:hidden;background:var(--navy-dark)}
.team-band .media{position:absolute;inset:0}
.team-band .media img{width:100%;height:100%;object-fit:cover}
.team-band .media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,29,51,.96) 0%,rgba(13,41,73,.9) 45%,rgba(13,41,73,.62) 100%)}
.team-band .container{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}
.glass-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.glass-card{background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:20px}
.glass-card .ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.14);display:grid;place-items:center;margin-bottom:14px}
.glass-card .ic svg{width:22px;height:22px}
.glass-card h3{font-size:18px;color:#fff;margin-bottom:6px}
.glass-card p{font-size:14px;color:rgba(255,255,255,.8);margin:0}
.team-band .quote{margin-top:26px;padding-left:16px;border-left:3px solid var(--hci-red);color:rgba(255,255,255,.85);font-size:16px}

/* Credentials */
.creds{background:#fff;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.creds .container{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;align-items:stretch;padding-top:26px;padding-bottom:26px}
.cred{flex:1 1 200px;max-width:280px}
.cred{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--bg)}
.cred .mark{width:40px;height:40px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font:800 11px var(--font-head);letter-spacing:.04em;flex:none}
.cred .mark.red{background:var(--hci-red)}
.cred .mark.blue{background:var(--hci-blue)}
.cred strong{display:block;font:700 14px var(--font-head);color:var(--text-head)}
.cred span{display:block;font-size:12px;line-height:1.35;color:var(--text-muted)}

/* Industries */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ind-card{position:relative;display:flex;gap:16px;align-items:flex-start;padding:22px;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg);text-decoration:none;color:inherit;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.ind-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.ind-card::before{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(38,70,154,.12),transparent 70%)}
.ind-card .ic{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--hci-blue),var(--navy));color:#fff;display:grid;place-items:center;flex:none}
.ind-card .ic svg{width:24px;height:24px}
.ind-card h3{font-size:18px;margin-bottom:6px}
.ind-card p{font-size:14px;color:var(--text-muted);margin:0 0 10px}
.ind-card .more{font:600 13px var(--font-body);color:var(--hci-red)}

/* Contract wall */
.wall{position:relative;color:#fff;background:var(--navy-dark);overflow:hidden}
.wall .media{position:absolute;inset:0}
.wall .media img{width:100%;height:100%;object-fit:cover;opacity:.34;filter:saturate(.7)}
.wall .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,29,51,.85),rgba(9,29,51,.96))}
.wall .container{position:relative}
.wall-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.wall-chip{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius);font:600 14px/1.3 var(--font-body)}
.wall-chip i{width:8px;height:8px;border-radius:2px;background:var(--hci-red);flex:none;transform:rotate(45deg)}
.wall-chip small{display:block;font-weight:400;opacity:.72;font-size:12px}
.wall-note{margin-top:22px;font-size:14px;color:rgba(255,255,255,.72)}
.wall .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;max-width:none}

/* Process timeline */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:10px}
.steps::before{content:"";position:absolute;left:3%;right:3%;top:22px;height:2px;background:var(--gray-mid);z-index:0}
.step{position:relative;z-index:1}
.step .num{width:46px;height:46px;border-radius:50%;background:var(--hci-red);color:#fff;display:grid;place-items:center;font:800 17px var(--font-head);box-shadow:0 0 0 6px #fff;margin-bottom:18px}
.step .media{aspect-ratio:16/10;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:14px;border:1px solid var(--hairline)}
.step .media img{width:100%;height:100%;object-fit:cover}
.step h3{font-size:18px;margin-bottom:6px}
.step p{font-size:15px;color:var(--text-muted);margin:0}

/* City cards */
.city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.city-card{display:block;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.city-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.city-card .media{aspect-ratio:4/3;overflow:hidden;background:var(--gray-light)}
.city-card .media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.city-card:hover .media img{transform:scale(1.05)}
.city-card .cap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}
.city-card b{display:block;font:700 16px var(--font-head);color:var(--text-head)}
.city-card small{display:block;font-size:13px;color:var(--text-muted);margin-top:2px}
.city-card .arrow{width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;flex:none;transition:background .2s}
.city-card:hover .arrow{background:var(--hci-red)}
.city-card .arrow svg{width:16px;height:16px}
.city-cta{display:flex;flex-direction:column;justify-content:flex-end;gap:12px;padding:24px;background:linear-gradient(160deg,var(--hci-red),#9d1218);color:#fff;border-radius:var(--radius-lg);text-decoration:none;min-height:100%;box-shadow:0 10px 30px rgba(211,30,37,.3);transition:transform .2s}
.city-cta:hover{transform:translateY(-4px)}
.city-cta .ic{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;margin-bottom:auto}
.city-cta .ic svg{width:24px;height:24px}
.city-cta strong{font:800 22px/1.15 var(--font-head)}
.city-cta span{font-size:14px;opacity:.9}
.city-cta .go{display:inline-flex;align-items:center;gap:8px;font:700 14px var(--font-body);margin-top:6px}

/* Documents */
.docs{display:grid;grid-template-columns:1.1fr 3fr;gap:20px;align-items:stretch}
.doc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.doc-intro{padding-right:16px}
.doc-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:20px;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;position:relative}
.doc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.doc-card .sheet{height:176px;border-radius:8px;background:#fff;border:1px solid var(--gray-mid);position:relative;overflow:hidden;margin-bottom:16px;box-shadow:var(--shadow-sm)}
.doc-card .sheet img{width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .45s ease}
.doc-card:hover .sheet img{transform:scale(1.04)}
.doc-card .sheet::after{content:"";position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.92))}
.doc-card .corner{position:absolute;right:0;top:0;width:30px;height:30px;background:linear-gradient(225deg,var(--bg) 50%,var(--gray-mid) 50%);z-index:1}
.doc-card .kind{position:absolute;left:10px;bottom:10px;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:6px;background:var(--navy);color:#fff;font:700 11px/1 var(--font-head);letter-spacing:.06em;text-transform:uppercase}
.doc-card .kind svg{width:12px;height:12px}
.doc-card h3{font-size:17px;margin-bottom:6px}
.doc-card p{font-size:14px;color:var(--text-muted);margin:0 0 12px;flex:1}
.doc-card .more{font:600 13px var(--font-body);color:var(--hci-red)}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;align-items:start;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-xl);padding:40px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}
.faq-wrap::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--hci-red),var(--hci-blue))}
.faq-side{position:sticky;top:calc(var(--header-h) + 24px)}
.faq-side .lead{font-size:18px}
.faq-side .card{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;border-radius:var(--radius-lg);padding:22px;margin-top:22px}
.faq-side .card strong{display:block;font-family:var(--font-head);font-size:18px;margin-bottom:6px}
.faq-side .card p{color:rgba(255,255,255,.8);font-size:14px;margin-bottom:14px}
.faq{background:var(--bg);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:4px 24px}
.faq details{border-bottom:1px solid var(--hairline)}
.faq details:last-child{border-bottom:0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font:700 17px/1.35 var(--font-head);color:var(--text-head)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{position:relative;width:30px;height:30px;border-radius:50%;border:1px solid var(--gray-mid);flex:none;transition:transform .2s,background .2s}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;background:var(--hci-red);border-radius:1px;transform:translate(-50%,-50%)}
.faq summary .pm::before{width:12px;height:2px}
.faq summary .pm::after{width:2px;height:12px}
.faq details[open] summary .pm{background:var(--hci-red);border-color:var(--hci-red);transform:rotate(45deg)}
.faq details[open] summary .pm::before,.faq details[open] summary .pm::after{background:#fff}
.faq .ans{padding:0 48px 20px 0;color:var(--text-body);font-size:16px}

/* CTA band with form */
.cta-band{position:relative;background:var(--navy-dark);color:#fff;overflow:hidden}
.cta-band .container{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.cta-band .media{position:absolute;inset:0 0 0 50%}
.cta-band .media img{width:100%;height:100%;object-fit:cover}
.cta-band .media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,29,51,.96) 0%,rgba(9,29,51,.55) 22%,rgba(9,29,51,.38) 100%)}
.cta-band::before{content:"";position:absolute;inset:0 50% 0 0;background:linear-gradient(135deg,var(--navy-mid) 0%,var(--navy-dark) 100%)}
.cta-copy{position:relative;padding:40px 0;max-width:520px}
.cta-copy .trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.cta-copy .lines{margin-top:26px;display:grid;gap:14px}
.cta-copy .line{display:flex;gap:14px;align-items:center}
.cta-copy .lines{align-items:start}
.cta-copy .line span,.cta-copy .line strong{text-wrap:pretty}
.cta-copy .line .ic{width:44px;height:44px;border-radius:12px;background:var(--glass);border:1px solid var(--glass-border);display:grid;place-items:center;flex:none}
.cta-copy .line .ic svg{width:20px;height:20px}
.cta-copy .line strong{display:block;font-family:var(--font-head);font-size:17px}
.cta-copy .line span{font-size:13px;opacity:.92}
.cta-copy .next{margin-top:28px;padding:20px 22px;border-radius:var(--radius-lg);background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.cta-copy .next h3{color:#fff;font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.cta-copy .next ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cta-copy .next li{display:flex;gap:12px;align-items:flex-start}
.cta-copy .next li span{flex:none;width:28px;height:28px;border-radius:50%;background:var(--hci-red);color:#fff;font:800 13px/28px var(--font-head);text-align:center}
.cta-copy .next li strong{display:block;color:#fff;font-family:var(--font-head);font-size:15px}
.cta-copy .next li small{display:block;font-size:13px;color:rgba(255,255,255,.75);line-height:1.45}
.form-card{position:relative;background:#fff;color:var(--text-body);border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-lg)}
.form-card h3,.on-dark .form-card h3{color:var(--text-head);font-size:26px;line-height:1.2;font-weight:800;letter-spacing:-.02em;margin-bottom:6px;padding-bottom:12px;border-bottom:3px solid var(--hci-red);display:inline-block}
.form-card p,.on-dark .form-card p{color:var(--text-body)}
.form-card .hint{font-size:14px;color:var(--text-muted);margin-bottom:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font:600 13px var(--font-body);color:var(--text-head)}
.field label .req,.hint .req{color:var(--hci-red);font-weight:700}
.field input,.field select,.field textarea{min-height:48px;border:1px solid var(--gray-mid);background:var(--gray-light);border-radius:var(--radius);padding:12px 14px;font:16px var(--font-body);color:var(--text-body);width:100%}
.field textarea{min-height:96px;resize:vertical}
.field select{-webkit-appearance:none;appearance:none;height:48px;padding-right:38px;font-size:15px;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b2a41' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px;line-height:1.3}
.field select:focus{background-color:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--hci-blue);background:#fff;box-shadow:0 0 0 3px rgba(38,70,154,.15)}
.emerg{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(211,30,37,.4);background:rgba(211,30,37,.05);border-radius:var(--radius);font-size:14px;cursor:pointer}
.emerg input{width:20px;height:20px;accent-color:var(--hci-red);margin:0}
.emerg strong{color:var(--hci-red)}
.form-card .btn{width:100%;margin-top:4px}
.form-card .form-grid+.btn,.form-card form>button[type=submit]{margin-top:20px}
.form-card .fine{font-size:12px;color:var(--text-muted);margin:12px 0 0;text-align:center}
.form-thanks{display:none;text-align:center;padding:30px 10px}
.form-thanks .ok{width:64px;height:64px;border-radius:50%;background:var(--success);color:#fff;display:grid;place-items:center;margin:0 auto 16px}
.form-card.sent form{display:none}
.form-card.sent .form-thanks{display:block}

/* Footer */
.footer{position:relative;background:linear-gradient(180deg,#0b2440 0%,var(--navy-dark) 100%);color:rgba(255,255,255,.8);font-size:15px;border-top:1px solid rgba(255,255,255,.14)}
.footer::before{content:"";position:absolute;left:50%;top:-2px;width:72px;height:4px;margin-left:-36px;background:var(--hci-red);border-radius:0 0 4px 4px}
.footer a{color:#fff;text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer .container{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-top:56px;padding-bottom:44px}
.footer h4,.footer .col-h{color:#fff;font:700 13px var(--font-head);letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.footer .brand img{height:56px;width:auto;margin-bottom:18px}
.footer .brand p{margin-bottom:14px}
.footer address{font-style:normal;line-height:1.55;margin-bottom:12px}
.footer address strong{color:#fff;display:block;font-family:var(--font-head);font-size:14px}
.footer .phone{font:800 22px var(--font-head);color:#fff;white-space:nowrap}
.footer .lic{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.62);font-size:13px}
.footer .lic .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:18px;padding-bottom:18px}
.footer .lic a{color:rgba(255,255,255,.8)}
.footer .lic .ids{display:flex;flex-wrap:wrap;gap:4px 14px}
.footer .lic .ids span{white-space:nowrap}

/* Mobile call bar */
.callbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--navy-dark);border-top:3px solid var(--hci-red);padding:10px 16px calc(10px + env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;gap:10px;transform:translateY(110%);transition:transform .28s ease}
body.callbar-on .callbar{transform:none}
@media (prefers-reduced-motion:reduce){.callbar{transition:none}}
.callbar .btn{min-height:46px;width:100%}

/* Reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease-out,transform .55s ease-out}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.svc-card,.city-card,.ind-card,.doc-card{transition:none}.topbar .pulse i{animation:none}}

/* Responsive */
@media (max-width:1279px){
  h1{font-size:48px}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .svc-grid-3,.svc-grid-3up{grid-template-columns:repeat(3,1fr);gap:16px}
  .svc-card.featured{grid-column:span 2}
  .svc-more{grid-column:span 1}
  .docs{grid-template-columns:1fr}
  .doc-intro{padding-right:0}
}
@media (max-width:1099px){
  .wall .section-head{flex-direction:column;align-items:flex-start}
  .cred{flex:0 1 calc(33.333% - 10px);max-width:none}
  .nav{display:none}
  .burger{display:flex}
  .header-phone small{display:none}
  .topbar .muted{display:none}
  .header-phone{flex-direction:row;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--bg)}
  .header-phone .ph{display:block;width:16px;height:16px;color:var(--hci-red);flex:none}
  .header-phone strong{font-size:17px}
  .faq-wrap{padding:28px}
  .steps{grid-template-columns:repeat(2,1fr)}
  .steps::before{display:none}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .team-band .container{grid-template-columns:1fr}
  .faq-wrap{grid-template-columns:1fr}
  .faq-side{position:static}
  .cta-band .container{grid-template-columns:1fr}
  .cta-band .media{inset:0}
  .cta-band::before{inset:0;background:linear-gradient(180deg,rgba(9,29,51,.4),rgba(9,29,51,.96))}
  .cta-band .media::after{background:rgba(9,29,51,.55)}
  .footer .container{grid-template-columns:1fr 1fr 1fr;gap:28px}
  .footer .brand{grid-column:1/-1;max-width:none;column-count:2;column-gap:36px}
  .footer .brand img,.footer .brand p,.footer .brand address{break-inside:avoid}
  .cta-copy{max-width:none}
  .cta-copy .lines{grid-template-columns:1fr 1fr}
  .cta-band .media::after{background:rgba(9,29,51,.72)}
  .city-grid{grid-template-columns:repeat(2,1fr)}
  .wall-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:819px){
  :root{--section:64px;--gutter:16px;--header-h:72px}
  body{font-size:16px}
  h1{font-size:36px}
  h2{font-size:28px}
  .lead{font-size:18px}
  .topbar .muted{display:none}
  .logo img{height:42px}
  body.scrolled .logo img{height:36px}
  .header-cta{gap:8px}
  .header-cta .btn{display:none}
  .header-phone{min-height:40px;padding:0 12px}
  .header-phone strong{font-size:15px}
  .faq-wrap{padding:22px 16px;gap:24px}
  .faq{padding:0 14px}
  .faq .ans{padding-right:24px}
  .hero .container{padding-top:48px;padding-bottom:200px}
  .hero-media img{object-position:68% 100%}
  .hero-media::after{background:linear-gradient(180deg,rgba(9,29,51,.95) 0%,rgba(9,29,51,.9) 55%,rgba(9,29,51,.6) 76%,rgba(9,29,51,.12) 100%)}
  .topbar{font-size:12px}
  .topbar .long{display:none}
  .hero .sub{font-size:17px}
  .stats .container{grid-template-columns:1fr 1fr;row-gap:22px}
  .stat{border-left:0;padding:0}
  .stat:nth-child(even){border-left:1px solid rgba(255,255,255,.14);padding-left:20px}
  .stat strong{font-size:28px}
  .svc-grid{grid-template-columns:1fr}
  .svc-more{grid-column:auto;padding:22px}
  .svc-card.featured{grid-column:auto;display:flex}
  .svc-card.featured .media{aspect-ratio:4/3;min-height:0}
  .glass-grid{grid-template-columns:1fr 1fr}
  .ind-grid{grid-template-columns:1fr}
  .wall-grid{--card:64vw;gap:10px}
  .wall-grid>*{flex:0 0 var(--card);scroll-snap-align:center}
  .wall .section-head{flex-direction:column;align-items:flex-start}
  .steps{grid-template-columns:1fr}
  .city-grid{grid-template-columns:1fr 1fr}
  .form-grid{grid-template-columns:1fr}
  .form-card{padding:22px 18px}
  .footer .container{grid-template-columns:1fr 1fr;gap:24px}
  .footer .brand{grid-column:1/-1}
  .footer .disclaimer p{font-size:12.5px;color:rgba(255,255,255,.7)}
  .cred{flex:0 1 calc(33.333% - 10px);max-width:none}
  .callbar{display:grid}
  body{padding-bottom:70px}
  /* Fixed header and call bar must never cover a focused field or a scroll target */
  html{scroll-padding-top:88px;scroll-padding-bottom:104px}
  body.callbar-form .callbar{transform:translateY(110%)}
  #request{padding-bottom:calc(var(--section) + 40px)}
}

/* Mobile consolidation: swipe rows with progress, compact timeline, two-column proof grids */
@media (max-width:819px){
  .svc-grid,.city-grid,.doc-cards,.wall-grid{--card:76vw;display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px calc((100vw - var(--card)) / 2) 6px;margin:0 calc(-1 * var(--gutter));scrollbar-width:none}
  .svc-grid::-webkit-scrollbar,.city-grid::-webkit-scrollbar,.doc-cards::-webkit-scrollbar{display:none}
  .svc-grid>*,.city-grid>*,.doc-cards>*{flex:0 0 var(--card);scroll-snap-align:center;scroll-snap-stop:always}
  .city-grid{--card:72vw}
  .doc-cards{--card:78vw}
  .svc-card.featured{display:flex;grid-column:auto}
  .svc-card .media,.svc-card.featured .media,.city-card .media{aspect-ratio:16/10;min-height:0}
  .svc-card .body{padding:16px 16px 18px}
  .svc-card h3{font-size:19px}
  .svc-card p{font-size:14px}
  .svc-more{padding:20px;gap:12px;justify-content:flex-start}
  .svc-more h3{font-size:19px}
  .svc-more p{font-size:14px}
  .svc-more .chip{padding:7px 11px;font-size:13px}
  .city-cta{min-height:0;padding:20px;justify-content:flex-start}
  .city-cta .ic{margin-bottom:12px}
  .doc-card .sheet{height:150px}
  .reveal{opacity:1;transform:none}
  .hs-nav{display:flex;align-items:center;gap:12px;margin-top:12px;font:600 13px var(--font-body);color:var(--text-muted)}
  .hs-nav .hs-count{flex:none;min-width:44px;font-family:var(--font-head);color:var(--text-head)}
  .hs-nav .hs-track{flex:1;height:4px;border-radius:999px;background:var(--gray-mid);position:relative;overflow:hidden}
  .hs-nav .hs-track i{position:absolute;top:0;bottom:0;left:0;width:30%;border-radius:999px;background:var(--hci-red);transition:left .12s linear,width .12s linear}
  .hs-nav .hs-hint{flex:none;display:inline-flex;align-items:center;gap:4px}
  .hs-nav .hs-hint svg{width:14px;height:14px}
  .hs-nav.done .hs-hint{opacity:.45}
  .on-dark .hs-nav{color:rgba(255,255,255,.75)}.on-dark .hs-nav .hs-count{color:#fff}.on-dark .hs-track{background:rgba(255,255,255,.2)}
  /* Process: compact vertical timeline, no step photos */
  .steps{display:grid;grid-template-columns:1fr;gap:0;margin-top:4px;position:relative}
  .steps::before{display:block;left:22px;right:auto;top:8px;bottom:8px;width:2px;height:auto;background:var(--gray-mid)}
  .step{display:grid;grid-template-columns:46px 1fr;column-gap:14px;padding-bottom:22px}
  .step:last-child{padding-bottom:0}
  .step .num{grid-row:1/3;margin:0;box-shadow:0 0 0 4px #fff}
  .step .media{display:none}
  .step h3{grid-column:2;font-size:17px;align-self:center;margin:0}
  .step p{grid-column:2;font-size:14px;margin-top:4px}
  /* Industries: two-up icon tiles */
  .ind-grid{grid-template-columns:1fr 1fr;gap:10px}
  .ind-card{flex-direction:column;gap:10px;padding:14px;align-items:flex-start}
  .ind-card::before{display:none}
  .ind-card .ic{width:40px;height:40px;border-radius:10px}
  .ind-card .ic svg{width:20px;height:20px}
  .ind-card h3{font-size:15px;margin-bottom:0;line-height:1.25}
  .ind-card p{display:none}
  .ind-card .more{font-size:12px}
  /* Proof grids stay two columns on small phones */
  .glass-grid{grid-template-columns:1fr 1fr;gap:10px}
  .glass-card{padding:14px}
  .glass-card .ic{width:36px;height:36px;margin-bottom:10px}
  .glass-card h3{font-size:15px}
  .glass-card p{font-size:13px}
  .wall-grid{grid-template-columns:1fr 1fr;gap:8px}
  .wall-chip{padding:10px 12px;font-size:13px;gap:8px}
  .wall-chip small{font-size:11px}
  .creds .container{grid-template-columns:1fr 1fr;gap:8px}
  .cred{padding:10px 12px;gap:10px}
  .cred .mark{width:34px;height:34px;font-size:10px}
  .cred strong{font-size:13px}.cred span{font-size:11px}
}
@media (max-width:480px){
  .glass-grid,.wall-grid{grid-template-columns:1fr 1fr}
  .cred{flex:1 1 100%;max-width:none}
  .cred strong{font-size:14px}
  .footer .container{grid-template-columns:1fr;gap:22px}
  .footer .brand{column-count:1}
}
@media (max-width:379px){
  .header-phone strong{display:none}
  .header-phone{width:40px;padding:0;justify-content:center}
}
@media (max-width:600px){
  .cta-copy .lines{grid-template-columns:1fr}
  .footer .brand{column-count:1}
}
@media (max-width:480px){
  h1{font-size:34px}
  .hero-ctas .btn{flex:1 1 100%}
}

/* ===== Interior pages (services, hubs, cities) ===== */
.crumbs{background:var(--navy-dark);color:rgba(255,255,255,.78);font-size:13px}
.crumbs ol{list-style:none;margin:0;padding:10px 0;display:flex;flex-wrap:wrap;gap:6px 0}
.crumbs li{display:flex;align-items:center}
.crumbs li+li::before{content:"";width:5px;height:5px;border-top:1.5px solid rgba(255,255,255,.45);border-right:1.5px solid rgba(255,255,255,.45);transform:rotate(45deg);margin:0 10px 0 6px}
.crumbs a{color:rgba(255,255,255,.78);text-decoration:none}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs li[aria-current]{color:#fff;font-weight:600;min-width:0}
.crumbs li[aria-current] span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(60vw,520px)}
.hero-int{min-height:0}
.hero-int .container{padding-top:44px;padding-bottom:48px}
.hero-int h1{font-size:clamp(32px,3.6vw,46px);line-height:1.1}
.hero-int .sub{font-size:18px;max-width:640px}
.hero-int .hero-media img{object-position:50% 12%}
.hero-int .hero-media::after{background:linear-gradient(90deg,rgba(9,29,51,.94) 0%,rgba(9,29,51,.84) 38%,rgba(9,29,51,.42) 64%,rgba(9,29,51,.08) 100%),linear-gradient(180deg,rgba(9,29,51,.1) 0%,rgba(9,29,51,.55) 100%)}
.hero-int .hero-chips{margin-top:18px;max-width:none;width:100%}
.hero-int .hero-copy{max-width:none}
.hero-int .hero-copy>:not(.hero-chips){max-width:700px}
.hero-int .hero-chips .chip svg{width:14px;height:14px;color:#7fe0a0}
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:stretch}
.split>*{min-width:0}
.map-frame iframe{max-width:100%}
.split-photo:not(.map-photo){display:flex;flex-direction:column}
.split-photo:not(.map-photo)>picture{display:flex;flex-direction:column;flex:1;min-height:0}
.split-photo:not(.map-photo) img{flex:1;min-height:0;height:100%;aspect-ratio:auto;object-fit:cover}
.split-copy h2{margin-bottom:16px}
.split-copy p{margin:0 0 14px;color:var(--text-body)}
.split-photo{position:relative;padding-bottom:40px;padding-left:24px}
.split-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--hairline)}
.fact-card{position:absolute;left:16px;right:16px;bottom:0;max-width:none;background:#fff;border-radius:var(--radius-lg);padding:18px 20px 16px;box-shadow:0 22px 50px rgba(9,29,51,.20),0 2px 8px rgba(9,29,51,.10);border-left:5px solid var(--hci-red)}
.fact-card strong{display:block;font:800 15px/1.2 var(--font-head);color:var(--text-head);margin-bottom:10px;text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.fact-card ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.fact-card li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;color:var(--text-body)}
.fact-card li svg{flex:none;width:16px;height:16px;color:var(--hci-red);margin-top:2px}
.handle-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.handle{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow-sm)}
.handle .ic{flex:none;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--hci-red),#b0141b);display:grid;place-items:center}
.handle .ic svg{width:16px;height:16px;color:#fff}
.handle strong{display:block;font:700 15px/1.3 var(--font-head);color:var(--text-head)}
.handle span{display:block;font-size:13px;color:var(--text-muted);margin-top:2px}
.proof-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 26px}
.proof-stat{text-align:left}
.proof-stat strong{display:block;font:800 clamp(28px,3vw,40px)/1 var(--font-head);color:#fff;letter-spacing:-.02em}
.proof-stat span{display:block;margin-top:8px;color:rgba(255,255,255,.78);font-size:14px}
.wall-label{font:700 12px/1 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);margin:0 0 12px}
.svc-grid-3 .svc-card .body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:0 0 auto}
.svc-grid-3 .svc-card .more{margin-top:auto}
.center-link{text-align:center;margin:34px 0 0}
.areas-strip{background:#fff;border-top:1px solid var(--hairline);padding:18px 0}
.areas-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.areas-row strong{font:700 13px/1 var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-right:6px}
.chip-link{background:var(--bg);border:1px solid var(--hairline);color:var(--navy);text-decoration:none;padding:8px 13px;font-size:13px}
.chip-link:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.chip-more{background:var(--hci-red);color:#fff;border-color:var(--hci-red)}
.chip-more svg{width:14px;height:14px}
.chip-more:hover{background:#b0141b;border-color:#b0141b}
@media (max-width:1099px){
  .handle-grid{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:minmax(0,1fr);gap:28px}
  .split-photo{padding:0}
  .fact-card{position:relative;z-index:1;margin:-28px 14px 0}
  .fact-card ul{grid-template-columns:1fr}
  .proof-stats{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:819px){
  .hero-int .container{padding-top:36px;padding-bottom:40px}
  .hero-int h1{font-size:30px}
  .hero-int .sub{font-size:16px}
  .split{grid-template-columns:1fr;gap:20px}
  .split-photo{padding:0 0 0 0}
  .fact-card{position:relative;z-index:1;max-width:none;margin:-28px 14px 0}
  .hero-int .hero-media::after{background:linear-gradient(180deg,rgba(9,29,51,.95) 0%,rgba(9,29,51,.86) 55%,rgba(9,29,51,.5) 100%)}
  .hero-int .hero-chips{flex-direction:row;flex-wrap:wrap;gap:8px}
  .hero-int .hero-chips .chip{padding:7px 11px;font-size:13px}
  .hero-int .eyebrow{letter-spacing:.08em;font-size:11px}
  .handle-grid{grid-template-columns:1fr 1fr;gap:10px}
  .handle{padding:12px;flex-direction:column;gap:8px}
  .handle span{display:none}
  .proof-stats{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .proof-stat{padding:14px 12px}
  .proof-stat strong{font-size:22px}
  .proof-stat span{font-size:12px}
  .svc-grid-3>*{flex:0 0 var(--card)}
  .areas-row strong{width:100%;margin:0 0 2px}
  .crumbs{font-size:12px}
}
@media (max-width:480px){
  .proof-stats{grid-template-columns:1fr;gap:8px}
  .proof-stat{display:flex;align-items:center;gap:14px;padding:12px 16px}
  .proof-stat strong{font-size:24px;min-width:110px}
  .proof-stat span{margin:0;font-size:13px}
  .handle-grid{grid-template-columns:1fr 1fr;gap:8px}
  .handle{flex-direction:column;gap:6px;padding:10px}
  .handle .ic{width:26px;height:26px;border-radius:8px}
  .handle .ic svg{width:13px;height:13px}
  .handle strong{font-size:13px;line-height:1.25}
}
@media (max-width:480px){
  .header .container{gap:10px}
  .logo img{height:36px}
  body.scrolled .logo img{height:32px}
  .header-phone{min-height:40px;padding:0 10px}
  .header-phone strong{font-size:14px}
  .burger{width:44px;height:44px}
}

/* ===== Hub, about, documents, contact, legal ===== */
.split-top{align-items:start}
.ind-photo .tag{display:inline-flex;align-items:center;gap:8px}
.ind-photo .tag svg{width:16px;height:16px;color:var(--hci-red)}
.handle-grid-2{grid-template-columns:1fr 1fr}
.people{display:grid;gap:14px;margin:18px 0 10px}
.person{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm)}
.person .avatar{flex:none;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--navy-mid));display:grid;place-items:center;color:#fff;font:800 20px var(--font-head);letter-spacing:.02em}
.person h3{font-size:19px}
.person .role{font:600 13px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--hci-red);margin:4px 0 8px}
.person p{margin:0;font-size:15px;color:var(--text-body)}
.muted-note{font-size:14px;color:var(--text-muted);margin:0}
.office-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.office{background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm)}
.office .eyebrow{margin-bottom:8px}
.office h3{font-size:18px;margin-bottom:6px}
.office address{font-style:normal;color:var(--text-body);font-size:15px;margin-bottom:10px}
.office .phone{display:block;font:800 18px var(--font-head);color:var(--navy);text-decoration:none;margin-bottom:8px}
.office .map{display:inline-flex;align-items:center;gap:6px;font:600 14px var(--font-body);color:var(--hci-red);text-decoration:none}
.office .map svg{width:14px;height:14px}
.request-card{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;border-radius:var(--radius-xl);padding:28px;align-self:start;position:sticky;top:calc(var(--header-h) + 24px)}
.request-card h3{color:#fff;font-size:24px;margin:6px 0 10px}
.request-card p{color:rgba(255,255,255,.82);margin:0 0 18px}
.request-card .btn{margin:0 10px 10px 0}
.request-card .btn-navy{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28)}
.doc-cards-4{grid-template-columns:repeat(4,1fr)}
.doc-card .who{display:block;font-size:13px;color:var(--text-muted);margin:-6px 0 10px}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}
.contact-card{display:block;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:22px;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
a.contact-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.contact-card .ic{width:44px;height:44px;border-radius:12px;background:var(--navy);display:grid;place-items:center;margin-bottom:14px}
.contact-card .ic.red{background:var(--hci-red)}
.contact-card .ic svg{width:20px;height:20px;color:#fff}
.contact-card h3,.contact-card .h3{font-size:16px;color:var(--text-muted);font-weight:600;margin-bottom:6px}
.contact-card strong{display:block;font:800 clamp(16px,1.3vw,20px)/1.2 var(--font-head);color:var(--navy);margin-bottom:8px;overflow-wrap:anywhere}
.contact-card p{margin:0;font-size:14px;color:var(--text-body)}
.map-wrap{position:relative;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--hairline);box-shadow:var(--shadow-md);height:420px;background:var(--bg)}
.map-wrap iframe{width:100%;height:100%;border:0;display:block}
.map-card{position:absolute;left:24px;bottom:24px;background:#fff;border-radius:var(--radius-lg);padding:18px 20px;box-shadow:0 18px 40px rgba(9,29,51,.2);max-width:320px}
.map-card .eyebrow{margin-bottom:6px}
.map-card strong{display:block;margin-bottom:12px;color:var(--text-head)}
.chip-static{cursor:default}
.chip-static:hover{background:var(--bg);color:var(--navy);border-color:var(--hairline)}
.legal-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;padding:48px 0 40px}
.legal-hero .container>*{max-width:760px;margin-left:auto;margin-right:auto}
.legal-hero h1{color:#fff;font-size:clamp(30px,3.4vw,42px)}
.legal-hero .sub{color:rgba(255,255,255,.75);margin:10px auto 0}
.legal-hero .eyebrow{color:#ff6b70}
.legal{max-width:760px;margin:0 auto}
.legal-hero+.section{padding-top:44px}
.legal-toc{max-width:760px;margin:0 auto 36px;padding:18px 22px;background:var(--bg);border:1px solid var(--hairline);border-radius:var(--radius-lg)}
.legal-toc strong{display:block;font:700 12px var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}
.legal-toc ol{margin:0;padding:0 0 0 20px;columns:2;column-gap:28px;font-size:14px;line-height:1.5}
.legal-toc li{break-inside:avoid;padding:3px 0}
.legal-toc a{color:var(--navy)}
.legal li strong{color:var(--text-head)}
.legal h2{scroll-margin-top:calc(var(--header-h) + 24px)}
@media (max-width:600px){.legal-toc ol{columns:1}}
.legal h2{font-size:24px;margin:40px 0 12px}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{color:var(--text-body)}
.legal ul{padding-left:22px}
@media (max-width:1099px){
  .contact-grid{grid-template-columns:1fr 1fr}
  .doc-cards-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:819px){
  .handle-grid-2,.office-cards{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr 1fr;gap:10px}
  .contact-card{padding:16px}
  .contact-card strong{font-size:17px}
  .map-wrap{height:320px}
  .map-wrap{height:380px}
  .map-card{left:12px;right:12px;bottom:28px;max-width:none;padding:14px}
  .request-card{position:static;padding:22px}
  .doc-cards-4{display:flex}
}
@media (max-width:480px){
  .contact-grid{grid-template-columns:1fr}
}
/* process timeline without photos (services with no matching real photos) */
.steps.no-media .step{background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:26px 22px 22px;box-shadow:var(--shadow-sm)}
.steps.no-media .step .num{margin-bottom:16px}
.steps.no-media .step h3{font-size:19px;margin-bottom:8px}
@media (max-width:819px){.steps.no-media .step{padding:16px 16px 16px 60px}.steps.no-media .step .num{margin:0}}
.steps.no-media::before{display:none}

/* ===== City pages ===== */
.hero-city .container{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:center}
.postcard{margin:0;background:#fff;border-radius:18px;padding:10px 10px 0;box-shadow:0 30px 60px rgba(0,0,0,.35);transform:rotate(2deg);color:var(--text-head)}
.postcard img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px}
.postcard figcaption{padding:14px 8px 16px;display:grid;gap:2px}
.postcard .pc-label{display:inline-flex;align-items:center;gap:6px;font:700 11px/1 var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--hci-red);margin-bottom:6px}
.postcard .pc-label svg{width:14px;height:14px}
.postcard strong{font:800 22px/1.15 var(--font-head)}
.postcard small{color:var(--text-muted);font-size:14px}
.postcard .pc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.postcard .pc-chips span{font:600 12px/1 var(--font-body);background:var(--bg);border:1px solid var(--hairline);border-radius:999px;padding:6px 10px;color:var(--navy)}
.tabs-h2{font:700 36px/1.15 var(--font-head);color:var(--text-head);letter-spacing:-.01em;margin:0}
.svc-tabs{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}
.tab-rail{position:sticky;top:calc(var(--header-h) + 16px);display:grid;gap:6px;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:8px;box-shadow:var(--shadow-sm)}
.tab-rail button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:12px 14px;border:0;border-radius:10px;background:transparent;font:600 15px/1.25 var(--font-body);color:var(--text-head);cursor:pointer;transition:background .15s,color .15s}
.tab-rail button svg{width:16px;height:16px;flex:none;opacity:0;transform:translateX(-4px);transition:opacity .15s,transform .15s}
.tab-rail button:hover{background:var(--bg)}
.tab-rail button[aria-selected="true"]{background:var(--navy);color:#fff}
.tab-rail button[aria-selected="true"] svg{opacity:1;transform:none;color:#fff}
.tab-rail button:focus-visible{outline:3px solid var(--hci-blue);outline-offset:2px}
.tab-panel{display:none;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md)}
.tab-panel.is-open{display:block}
.acc-head{display:none}
.panel-photo img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover}
.panel-copy{padding:28px 32px 30px}
.panel-copy h2{font-size:30px;margin-bottom:12px}
.panel-copy p{margin:0 0 12px;color:var(--text-body)}
.panel-h3{list-style:none;margin:16px 0 22px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.panel-h3 li{display:flex;gap:8px;align-items:flex-start;background:var(--bg);border:1px solid var(--hairline);border-radius:12px;padding:12px}
.panel-h3 li svg{flex:none;width:16px;height:16px;color:var(--hci-red);margin-top:2px}
.panel-h3 h3{font:700 14px/1.3 var(--font-head);margin:0}
.panel-ctas{display:flex;flex-wrap:wrap;gap:10px}
.panel-ctas .btn svg{width:16px;height:16px}
.proof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:22px}
.proof-card{display:flex;gap:14px;align-items:flex-start;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:20px}
.proof-card .seal{flex:none;width:40px;height:40px;border-radius:12px;background:var(--hci-red);display:grid;place-items:center}
.proof-card .seal svg{width:18px;height:18px;color:#fff}
.proof-card strong{display:block;font:700 17px/1.3 var(--font-head);color:#fff;margin-bottom:4px}
.proof-card p{margin:0;color:rgba(255,255,255,.8);font-size:15px}
.muted-label{font:700 12px/1 var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:22px 0 10px}
.map-frame{width:100%;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--hairline);box-shadow:var(--shadow-md);aspect-ratio:4/3;min-height:300px;background:var(--bg)}
.map-frame iframe{width:100%;height:100%;border:0;display:block}
.city-grid-4{grid-template-columns:repeat(4,1fr)}
.city-grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1099px){
  .hero-city .container{grid-template-columns:1fr 280px;gap:28px}
  .svc-tabs{grid-template-columns:240px minmax(0,1fr)}
  .panel-h3{grid-template-columns:1fr}
}
@media (max-width:819px){
  .hero-city .container{grid-template-columns:1fr}
  .postcard{max-width:340px;transform:rotate(1.5deg);margin:4px auto 0}
  .tabs-h2{font-size:28px}
  .svc-tabs{grid-template-columns:minmax(0,1fr);gap:10px}
  .tab-panels,.tab-panel,.panel-body,.panel-copy{min-width:0;max-width:100%}
  .panel-copy{overflow-wrap:anywhere}
  .tab-rail{display:none}
  .tab-panel{display:block;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
  .acc-head{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:0;background:#fff;font:700 16px/1.3 var(--font-head);color:var(--text-head);text-align:left;cursor:pointer}
  .acc-head i{position:relative;flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--gray-mid);background-image:linear-gradient(var(--hci-red),var(--hci-red)),linear-gradient(var(--hci-red),var(--hci-red));background-size:12px 2px,2px 12px;background-position:center;background-repeat:no-repeat;transition:transform .2s,background-color .2s}
  .acc-head[aria-expanded="true"] i{background-color:var(--hci-red);border-color:var(--hci-red);background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);transform:rotate(45deg)}
  .panel-body{display:none;border-top:1px solid var(--hairline)}
  .tab-panel.acc-open .panel-body{display:block}
  .panel-photo img{aspect-ratio:16/9}
  .panel-copy{padding:18px}
  .panel-copy h2{font-size:22px}
  .proof-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.postcard{transform:none}}

/* city pages, round 2 (Matt 2026-10-19): tighter services head, panel crops shown as cut, photo proof cards */
.tabs-sec{padding-top:44px}
.tabs-sec .section-head{margin-bottom:22px}
.tabs-sec .tabs-h2{font-size:30px}
.panel-photo img{aspect-ratio:16/7}
.proof-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.proof-photo{background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,border-color .25s ease}
.proof-photo:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.35)}
.pp-media{position:relative}
.pp-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.pp-media::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(180deg,rgba(9,29,51,0),rgba(9,29,51,.55))}
.pp-media .seal{position:absolute;left:14px;bottom:-18px;z-index:1;width:40px;height:40px;border-radius:12px;background:var(--hci-red);display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.35)}
.pp-media .seal svg{width:18px;height:18px;color:#fff}
.pp-body{padding:28px 18px 20px}
.pp-label{margin:0 0 6px;font:700 11px/1 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:#ff8a8e}
.pp-body h3{margin:0 0 6px;font:700 17px/1.3 var(--font-head);color:#fff}
.pp-body p:last-child{margin:0;color:rgba(255,255,255,.8);font-size:14.5px;line-height:1.5}
@media (max-width:1099px){.proof-photos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:819px){.tabs-sec{padding-top:32px}.tabs-sec .tabs-h2{font-size:26px}}
@media (max-width:599px){.proof-photos{grid-template-columns:1fr}}

/* mega menu: icon bullets per service (Matt 2026-10-20) */
.nav .mega ul a{display:flex;align-items:center;gap:10px}
.nav .mega ul a .mi{flex:none;width:18px;height:18px;color:var(--navy-mid);opacity:.75;transition:color .15s ease,opacity .15s ease,transform .15s ease}
.nav .mega ul a:hover .mi{color:var(--hci-red);opacity:1;transform:scale(1.08)}
/* FAQ side column sits at the top of the white panel, no sticky float (Matt 2026-10-20) */
.faq-side{position:static;top:auto}

/* city trust bar: licenses strip bridging the hero and the services section (Matt 2026-10-20) */
.trust-bar-wrap{position:relative;z-index:3;margin-top:-34px}
.trust-bar{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:0 18px 44px rgba(9,29,51,.18),0 2px 8px rgba(9,29,51,.08);overflow:hidden}
.trust-bar li{display:flex;align-items:center;gap:12px;padding:16px 16px 16px 20px;border-left:1px solid var(--hairline);min-width:0}
.trust-bar li>span{min-width:0;flex:1}
.trust-bar li:first-child{border-left:0}
.trust-bar svg{flex:none;width:26px;height:26px;color:var(--hci-red)}
.trust-bar small{display:block;font:700 10.5px/1 var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:5px}
.trust-bar strong{display:block;font:700 14px/1.25 var(--font-head);color:var(--navy);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:8px}
.hero-city+.trust-bar-wrap+.tabs-sec{padding-top:56px}
@media (max-width:1199px){.trust-bar{grid-template-columns:repeat(3,1fr)}.trust-bar li:nth-child(4){border-left:0}.trust-bar li:nth-child(n+4){border-top:1px solid var(--hairline)}}
@media (max-width:819px){.trust-bar-wrap{margin-top:-20px}.trust-bar{grid-template-columns:repeat(2,1fr)}.trust-bar li{padding:12px 14px;gap:10px}.trust-bar li:nth-child(odd){border-left:0}.trust-bar li:nth-child(n+3){border-top:1px solid var(--hairline)}.trust-bar li:nth-child(4){border-left:1px solid var(--hairline)}.trust-bar svg{width:22px;height:22px}.trust-bar strong{font-size:13px;white-space:normal}}

/* mobile menu: icon rows, grouped services, 2-up top links (Matt 2026-10-20) */
.mobile-menu>a:not(.btn):not(.spill){justify-content:flex-start;gap:12px;padding:14px 0}
.mobile-menu>a:not(.btn):not(.spill) .mi{flex:none;width:20px;height:20px;color:var(--hci-red)}
.mobile-menu>a:not(.btn):not(.spill)::after{margin-left:auto}
.mobile-menu ul.mm-services{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:4px 0 14px}
.mobile-menu ul.mm-services .mm-h{grid-column:1/-1;font:700 11px/1 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--hci-red);padding:12px 0 4px}
.mobile-menu ul.mm-services .mm-h:first-child{padding-top:2px}
.mobile-menu ul.mm-services a{display:flex;align-items:center;gap:9px;padding:10px 10px;border:1px solid var(--hairline);border-left:1px solid var(--hairline);border-radius:10px;background:#fff;font:600 13.5px/1.2 var(--font-body);color:var(--text-head);min-height:48px}
.mobile-menu ul.mm-services a .mi{flex:none;width:18px;height:18px;color:var(--navy-mid)}
.mobile-menu ul.mm-services a:active{border-color:var(--hci-red);color:var(--hci-red)}
.mobile-menu ul.mm-services .mm-all{grid-column:1/-1}
.mobile-menu ul.mm-services .mm-all a{background:var(--navy);color:#fff;border-color:var(--navy);justify-content:center}
.mobile-menu ul.mm-services .mm-all a .mi{color:#fff}
@media (max-width:359px){.mobile-menu ul.mm-services{grid-template-columns:1fr}}

/* footer platform disclaimer (needed for Meta/Google/TikTok ad landing pages, Matt 2026-10-20) */
.footer .disclaimer{background:var(--navy-dark);border-top:1px solid rgba(255,255,255,.08)}
.footer .disclaimer .container{display:block;padding-top:0;padding-bottom:0}
h1,h2,.panel-copy h2{text-wrap:balance}
.emerg span,.field label{text-wrap:pretty}
.footer .disclaimer p{margin:0;padding:14px 0 18px;font-size:11.5px;line-height:1.55;color:rgba(255,255,255,.6)}

/* tab panel feature row: numbered cards instead of plain gray chips (Matt 2026-10-20) */
.panel-copy .panel-h3-label{margin:32px 0 14px}
.panel-h3-label{margin:32px 0 14px;font:700 11px/1 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--hci-red)}
.panel-h3{margin:0 0 22px;gap:12px}
.panel-h3 li{position:relative;flex-direction:column;gap:10px;background:linear-gradient(160deg,#fff 0%,var(--bg) 100%);border:1px solid var(--hairline);border-radius:14px;padding:16px 16px 18px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.panel-h3 li:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(13,41,73,.18)}
.panel-h3 li .num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--navy);color:#fff;font:700 13px/1 var(--font-head);letter-spacing:.02em}
.panel-h3 li .line{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--hci-red),var(--hci-blue))}
.panel-h3 h3{font:700 15px/1.35 var(--font-head);margin:0;color:var(--text-head)}
@media (max-width:819px){.panel-h3 li{flex-direction:row;align-items:center;padding:12px 14px}.panel-h3 li .num{width:30px;height:30px;flex:none}}

.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form-error{margin:12px 0 0;padding:12px 14px;border-radius:10px;background:#fdecec;color:#8a1c1c;font-size:15px;line-height:1.45}
.form-error[hidden]{display:none}
.form-error a{color:inherit;font-weight:700}
.form-card form button[disabled]{opacity:.7;cursor:wait}

.map-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.form-consent{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-muted)}
.form-consent a{color:var(--navy);text-decoration:underline}

.surface-grid+.surface-grid{padding-top:0}
.handle strong,.svc-card h3{hyphens:manual}


/* Service areas: Southern California coverage map (light) */
.coverage .section-head{margin-bottom:22px}
.map-wrap-socal{margin:0 auto;max-width:1100px;padding:18px;border-radius:24px;background:linear-gradient(180deg,#e6f0fb 0%,#d6e6f8 100%);border:1px solid #c9dbf1;box-shadow:var(--shadow-md)}
.socal-map{display:block;width:100%;height:auto;overflow:hidden;border-radius:14px}
.socal-map .bg-ctys path{fill:#eef1f5;stroke:#fff;stroke-width:1.2}
.socal-map .cty{stroke:#fff;stroke-width:1.6;transition:filter .2s}
.socal-map .cty.every{fill:url(#covg)}
.socal-map .cty.req{fill:#9db6e6}
.socal-map .cty:hover{filter:brightness(1.12)}
.socal-map .hq-glow{opacity:.3}
.socal-map .route{fill:none;stroke:#d31e25;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:6 7;animation:route-dash 1.6s linear infinite}
.socal-map .dot{fill:#fff;stroke:#d31e25;stroke-width:2.5}
.socal-map .map-label{fill:#fff;font:800 13px var(--font-head);letter-spacing:.12em;text-anchor:middle;paint-order:stroke;stroke:#163a8a;stroke-width:4px;stroke-linejoin:round}
.socal-map .hq-tag rect{filter:drop-shadow(0 2px 4px rgba(9,29,51,.25))}
.socal-map .hq-tag text{font:800 13px var(--font-head);letter-spacing:.08em;fill:#d31e25}
.socal-map .pulse{fill:none;stroke:#d31e25;stroke-width:3;transform-origin:center;transform-box:fill-box;animation:hq-pulse 2.2s ease-out infinite}
.socal-map .pulse.p2{animation-delay:1.1s}
@keyframes route-dash{to{stroke-dashoffset:-26}}
@keyframes hq-pulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(4.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.socal-map .route,.socal-map .pulse{animation:none}}
.map-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;margin-top:14px;font-size:14px;color:var(--text-body)}
.map-legend span{display:inline-flex;align-items:center;gap:8px}
.map-legend .k{width:16px;height:16px;border-radius:4px;display:inline-block}
.map-legend .k.every{background:linear-gradient(135deg,#3a6be0,#1f3f9a)}
.map-legend .k.req{background:#9db6e6}
.map-legend .k.hq{border-radius:50%;background:#d31e25;box-shadow:0 0 0 3px #fff inset,0 0 0 1px #d31e25}
.cov-cta{display:flex;align-items:center;justify-content:space-between;gap:18px 28px;flex-wrap:wrap;max-width:1100px;margin:22px auto 0;padding:20px 26px;background:#fff;border:1px solid var(--hairline);border-left:6px solid var(--hci-red);border-radius:18px;box-shadow:var(--shadow-md)}
.cov-cta strong{display:block;font:800 21px/1.2 var(--font-head);color:var(--text-head)}
.cov-cta span{display:block;margin-top:4px;color:var(--text-body)}
.cov-btns{display:flex;flex-wrap:wrap;gap:10px}
.county-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px auto 0;max-width:1000px}
.county-chips .cc{padding:7px 13px;border-radius:999px;font:600 14px var(--font-body);background:#fff;border:1px solid var(--hairline);color:var(--navy)}
.county-chips .cc.req{color:var(--text-muted)}
@media (max-width:819px){.socal-map .map-label{display:none}.map-wrap-socal{padding:8px;border-radius:16px}.cov-cta{padding:18px}.cov-btns,.cov-btns .btn{width:100%}.cov-btns .btn{justify-content:center}.county-chips .cc{font-size:13px;padding:6px 10px}}

.coverage{background:#fff;border-bottom:1px solid var(--hairline)}
.coverage{padding-top:36px}
@media (max-width:819px){.coverage{padding-top:28px}}
.featured-areas{background:linear-gradient(180deg,rgba(38,70,154,.085) 0%,rgba(38,70,154,.025) 60%,rgba(38,70,154,0) 100%),linear-gradient(90deg,rgba(211,30,37,0) 55%,rgba(211,30,37,.05) 100%),#fff;border-top:1px solid #dde6f1;border-bottom:1px solid var(--hairline)}
.how-dispatch{background:linear-gradient(180deg,rgba(211,30,37,.07) 0%,rgba(211,30,37,.02) 60%,rgba(211,30,37,0) 100%),linear-gradient(90deg,rgba(38,70,154,.04) 0%,rgba(38,70,154,0) 50%),#fff;border-top:1px solid #f1dede}
.dispatch-points{list-style:none;margin:6px 0 24px;padding:0;display:grid;gap:12px}
.dispatch-points li{display:flex;gap:12px;align-items:flex-start;font-size:17px;color:var(--text-body)}
.dispatch-points li svg{flex:none;width:20px;height:20px;color:var(--hci-red);margin-top:3px}
.dispatch-points strong{color:var(--text-head)}
.hero-int img[src*="sa-hero"]{object-position:62% 40%}
@media (max-width:819px){.hero-int img[src*="sa-hero"]{object-position:80% 40%}}

/* ===== Blog (hub + posts) ===== */
.btn-ghost{background:transparent;color:var(--navy);border:1.5px solid var(--gray-mid)}
.btn-ghost:hover{border-color:var(--navy);background:var(--bg)}
.post-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.hero-post .hero-copy{max-width:820px}
.hero-post h1{font-size:clamp(30px,3.4vw,44px)}
.hero-post .sub{margin-bottom:14px}
.post-byline{font-size:14px;color:rgba(255,255,255,.82);display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.post-byline strong{color:#fff}
.post-section{padding-top:40px}
.post-layout{display:grid;grid-template-columns:minmax(0,760px) 320px;gap:56px;justify-content:center;align-items:start}
.post{min-width:0}
.post>h2{font-size:clamp(23px,2.4vw,29px);line-height:1.2;margin:44px 0 14px;scroll-margin-top:calc(var(--header-h) + 24px)}
.post>h3{font-size:19px;margin:28px 0 10px;scroll-margin-top:calc(var(--header-h) + 24px)}
.post>p,.post>ul,.post>ol{font-size:17px;line-height:1.72;color:var(--text-body)}
.post>p{margin:0 0 18px}
.post>ul,.post>ol{padding-left:24px;margin:0 0 20px}
.post>ul li,.post>ol li{margin:0 0 8px}
.post a:not(.btn):not(.chip){color:var(--hci-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.post a:not(.btn):not(.chip):hover{color:var(--hci-red)}
.post-summary{font-size:19px;line-height:1.6;color:var(--text-head);font-weight:500;padding:0 0 0 18px;border-left:4px solid var(--hci-red);margin:0 0 24px}
.takeaways{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;border-radius:var(--radius-lg);padding:22px 24px;margin:0 0 26px}
.takeaways>strong{display:flex;align-items:center;gap:10px;font:700 13px var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:#ff6b70;margin-bottom:12px}
.takeaways>strong svg{width:18px;height:18px}
.takeaways ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.takeaways li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;line-height:1.5;color:rgba(255,255,255,.92)}
.takeaways li svg{width:18px;height:18px;flex:none;margin-top:3px;color:#ff6b70}
.takeaways a{color:#fff}
.takeaways li strong{font-weight:700;color:#fff}
.post-toc{background:var(--bg);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:18px 22px;margin:0 0 28px}
.post-toc strong{display:block;font:700 12px var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}
.post-toc ol{margin:0;padding:0 0 0 20px;columns:2;column-gap:28px;font-size:14.5px;line-height:1.5}
.post-toc li{break-inside:avoid;padding:3px 0}
.post-toc a{color:var(--navy);text-decoration:none}
.post-toc a:hover{text-decoration:underline}
.listen{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-pill);padding:8px 18px 8px 8px;box-shadow:var(--shadow-md);margin:0 0 26px}
.listen-btn{width:44px;height:44px;border-radius:50%;border:0;background:var(--hci-red);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none;transition:transform .15s,background .15s}
.listen-btn:hover{background:var(--red-hover);transform:scale(1.04)}
.listen-btn svg{width:20px;height:20px}
.listen-btn .pause{display:none}
.listen.is-playing .listen-btn .play{display:none}
.listen.is-playing .listen-btn .pause{display:block}
.listen-meta{flex:1;min-width:0}
.listen-title{display:flex;align-items:center;gap:8px;font:600 14.5px var(--font-head);color:var(--text-head);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.listen-title svg{width:16px;height:16px;color:var(--hci-blue);flex:none}
.listen-bar{position:relative;height:6px;border-radius:3px;background:var(--gray-light);margin-top:7px;cursor:pointer;outline-offset:3px}
.listen-bar i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:3px;background:linear-gradient(90deg,var(--hci-blue),var(--hci-red))}
.listen-time{font:600 13px var(--font-body);color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.callout{display:flex;gap:14px;border-radius:var(--radius-lg);padding:18px 20px;margin:6px 0 24px;border:1px solid var(--hairline);background:var(--bg)}
.callout .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:none;background:#fff;color:var(--hci-blue);box-shadow:var(--shadow-sm)}
.callout .ic svg{width:20px;height:20px}
.callout strong{display:block;font:700 12px var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
.callout p{margin:0;font-size:15.5px;line-height:1.6;color:var(--text-body)}
.callout-warning{background:#fff6f6;border-color:rgba(211,30,37,.22)}
.callout-warning .ic{color:var(--hci-red)}
.callout-stat{background:#f3f6ff;border-color:rgba(38,70,154,.2)}
.table-wrap{overflow-x:auto;margin:4px 0 6px;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:#fff;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.table-wrap:focus-visible{outline:3px solid var(--hci-blue);outline-offset:2px}
.table-cap{font:600 15px/1.4 var(--font-head);color:var(--text-head);margin:0 0 10px}
.table-hint{display:none;font-size:12.5px;color:var(--text-muted);margin:0 0 24px}
@media (max-width:819px){.table-hint{display:block}.table-wrap{position:relative;mask-image:linear-gradient(90deg,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent)}}
.post table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.post caption{text-align:left;padding:12px 16px 6px;font:600 13px var(--font-head);color:var(--text-muted)}
.post th,.post td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--hairline)}
.post th{background:var(--bg);font:700 13px var(--font-head);letter-spacing:.04em;text-transform:uppercase;color:var(--text-head)}
.post tr:last-child td{border-bottom:0}
.post-figure{margin:6px 0 26px;border-radius:var(--radius-lg);overflow:hidden;background:var(--navy)}
.post-figure img{width:100%;height:auto;display:block}
.post-figure figcaption{background:var(--bg);font-size:13.5px;color:var(--text-muted);padding:10px 14px;border:1px solid var(--hairline);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg)}
.post-cta{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;border-radius:var(--radius-lg);padding:26px 28px;margin:10px 0 34px;position:relative;overflow:hidden}
.post-cta::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(211,30,37,.45),transparent 70%)}
.post-cta>*{position:relative}
.post-cta .eyebrow{margin-bottom:8px}
.post-cta strong{display:block;font:700 21px/1.25 var(--font-head);margin-bottom:8px;color:#fff}
.post-cta p{margin:0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.86)}
.post-cta-actions{display:flex;flex-direction:column;gap:10px;min-width:220px}
.post-cta-actions .btn{justify-content:center}
.post-faq{margin:0 0 30px}
.post-faq .ans a{color:var(--hci-blue)}
.post-sources{font-size:14.5px;line-height:1.55;padding-left:22px;margin:0 0 30px;color:var(--text-body)}
.post-sources li{margin-bottom:8px}
.post-sources span{color:var(--text-muted)}
.author-box{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:start;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);margin:8px 0 0}
.author-photo{width:120px;height:120px;border-radius:14px;overflow:hidden;background:var(--navy)}
.author-photo img{width:100%;height:100%;object-fit:cover}
.author-box strong{display:block;font:700 19px var(--font-head);color:var(--text-head)}
.author-box>div>span{display:block;font-size:14px;color:var(--text-muted);margin:2px 0 10px}
.author-box p{font-size:15px;line-height:1.6;color:var(--text-body);margin:0 0 14px}
.author-creds{display:flex;flex-wrap:wrap;gap:8px}
.author-creds .chip{font-size:12.5px;padding:6px 11px}
.post-side{position:sticky;top:calc(var(--header-h) + 20px);display:grid;gap:18px}
.side-card{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-lg)}
.side-card .eyebrow{color:#ff6b70}.side-card .eyebrow::before{background:#ff6b70}
.side-card strong{display:block;font:700 22px/1.2 var(--font-head);margin-bottom:10px}
.side-card p{font-size:15px;line-height:1.55;color:rgba(255,255,255,.86);margin:0 0 16px}
.side-card .btn{width:100%;justify-content:center;margin-bottom:10px}
.side-card .btn-ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.side-card .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.side-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.side-list li{display:flex;gap:8px;align-items:center;font-size:14px;color:rgba(255,255,255,.9)}
.side-list svg{width:16px;height:16px;color:#ff6b70;flex:none}
.side-card-light{background:#fff;color:var(--text-head);border:1px solid var(--hairline);box-shadow:var(--shadow-sm)}
.side-card-light strong{font-size:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips .chip{font-size:13px;padding:7px 12px;text-decoration:none}
.post-related-chips{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px;padding-top:28px;border-top:1px solid var(--hairline)}
.post-related-chips strong{display:block;font:700 12px var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}
.post-grid{display:grid;gap:24px}
.post-grid-3{grid-template-columns:repeat(3,1fr)}
.post-card .body p{font-size:14.5px;color:var(--text-body)}
.post-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--text-muted);margin-top:auto}
.post-meta span{display:inline-flex;align-items:center;gap:5px}
.post-meta svg{width:14px;height:14px}
.post-card .more{margin-top:6px}
.post-featured{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0;background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}
.post-featured-media{display:block;position:relative;min-height:360px;background:var(--navy)}
.post-featured-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.post-featured:hover .post-featured-media img{transform:scale(1.03)}
.post-featured-copy{padding:40px 44px;display:flex;flex-direction:column;gap:14px;justify-content:center;min-width:0}
.post-featured-copy h2{font-size:clamp(24px,2.4vw,32px);line-height:1.15;margin:0}
.post-featured-copy h2 a{color:var(--text-head);text-decoration:none}
.post-featured-copy h2 a:hover{color:var(--hci-blue)}
.post-featured-copy p{margin:0;color:var(--text-body);font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.post-featured-copy .btn{align-self:flex-start;margin-top:6px}
.post-featured-copy .post-chips{margin-bottom:0}
.post-filters{margin:-14px 0 28px}
.post-filters .chip.is-on{background:var(--navy);color:#fff;border-color:var(--navy)}
.post-card.is-hidden{display:none}
.post-empty{color:var(--text-muted)}
.why{background:var(--bg-white)}
.why-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:64px;align-items:center}
.why-media{position:relative;padding:0 18px 58px 0}
.why-photo{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:1/1;background:var(--navy)}
.why-photo img{width:100%;height:100%;object-fit:cover;display:block}
.why-creds{position:absolute;right:0;bottom:0;width:min(360px,88%);background:var(--navy);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);padding:18px 22px 16px;box-shadow:0 18px 44px rgba(9,29,51,.3)}
.why-creds .eyebrow{margin-bottom:10px;font-size:11px}
.why-creds ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.why-creds li{display:flex;justify-content:space-between;gap:14px;font-size:13.5px;line-height:1.3;border-top:1px solid rgba(255,255,255,.1);padding-top:7px}
.why-creds li:first-child{border-top:0;padding-top:0}
.why-creds li span{color:rgba(255,255,255,.72)}
.why-creds li strong{color:#fff;font-weight:600;text-align:right;white-space:nowrap}
.why-copy .section-head{margin-bottom:26px}
.why-rows{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.why-rows li{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--bg)}
.why-rows .ic{width:46px;height:46px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;flex:none}
.why-rows .ic svg{width:22px;height:22px}
.why-rows strong{display:block;font:700 17px/1.25 var(--font-head);color:var(--text-head);margin-bottom:4px}
.why-rows p{margin:0;font-size:15px;line-height:1.55;color:var(--text-body)}
.why-sources{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.why-sources-l{font:700 11.5px/1 var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.why-sources .chips{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:1099px){
  .post-layout{grid-template-columns:minmax(0,1fr);gap:32px;max-width:760px;margin:0 auto}
  .post-side{position:static;grid-template-columns:1fr 1fr}
  .post-grid-3{grid-template-columns:repeat(2,1fr)}
  .why-split{grid-template-columns:1fr;gap:40px;max-width:760px;margin:0 auto}
  .why-photo{aspect-ratio:4/3}
  .why-media{padding-right:0}
  .why-creds{right:14px}
}
@media (max-width:819px){
  .post-side{grid-template-columns:1fr}
  .post-grid-3{grid-template-columns:1fr}
  .post-featured{grid-template-columns:minmax(0,1fr)}
  .post-featured-media{min-height:0;height:auto;width:100%;aspect-ratio:16/9}
  .post-featured-copy{padding:26px 22px}
  .post-cta{grid-template-columns:1fr;padding:22px}
  .post-cta-actions{min-width:0}
  .post-toc ol{columns:1}
  .post-related-chips{grid-template-columns:1fr}
  .author-box{grid-template-columns:1fr}
  .author-photo{width:88px;height:88px}
  .why-media{padding-bottom:0}
  .why-creds{position:static;width:auto;margin-top:12px}
  .why-photo{aspect-ratio:16/10}
  .post>p,.post>ul,.post>ol{font-size:16.5px}
  .listen{padding:6px 14px 6px 6px;gap:10px}
  .listen-title{font-size:13.5px}
  .listen-time{font-size:12px}
}

@media (max-width:1399px){.nav a,.nav button{padding:10px 9px;font-size:14.5px}}
@media (min-width:1100px) and (max-width:1199px){.header-phone{display:none}.nav a,.nav button{padding:10px 8px;font-size:14px}}
.related-slim .post-related-chips{margin-top:0;padding-top:0;border-top:0}

/* About: why-band left column (lead + stat tiles) and credential icon tones, 2026-11-02 */
.band-lead{color:rgba(255,255,255,.82);font-size:16px;line-height:1.55;max-width:46ch;margin:14px 0 0}
.band-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.band-stat{background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:16px 18px}
.band-stat strong{display:block;font:800 30px/1 var(--font-head);color:#fff;letter-spacing:-.01em}
.band-stat span{display:block;margin-top:6px;font-size:13px;line-height:1.3;color:rgba(255,255,255,.78)}
.handle .ic.navy{background:linear-gradient(135deg,var(--navy),var(--navy-mid))}
.handle .ic.blue{background:linear-gradient(135deg,var(--hci-blue),#0f3f7a)}
.person .avatar-photo{overflow:hidden;padding:0;width:72px;height:72px;background:var(--navy)}
.person .avatar-photo picture{display:block;width:100%;height:100%}
.nb{white-space:nowrap}
.person .avatar-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
@media (max-width:819px){.band-stats{gap:10px;margin-top:18px}.band-stat{padding:12px 14px}.band-stat strong{font-size:24px}.band-lead{font-size:15px}}
@media (min-width:1100px){.handle-grid-4{grid-template-columns:repeat(4,1fr)}}
.cred-grid .handle{padding:18px 18px}
.cred-grid .handle .ic{width:44px;height:44px;border-radius:12px}
.cred-grid .handle .ic svg{width:21px;height:21px}
@media (max-width:819px){.cred-grid .handle .ic{width:32px;height:32px}.cred-grid .handle .ic svg{width:16px;height:16px}}

/* Interior heroes, round 3 (QA 2026-11-02): short hero, content visible inside 1000x700 and 1440x900 */
.hero-int .container{padding-top:30px;padding-bottom:32px}
.hero-int h1{font-size:clamp(30px,3vw,42px);line-height:1.1;max-width:980px}
.hero-int .eyebrow{margin-bottom:8px}
.hero-int .hero-copy>:not(.hero-chips):not(.hero-ctas):not(h1){max-width:820px}
.hero-int .sub{font-size:17px;line-height:1.45;margin:10px 0 16px;max-width:62ch}
.hero-int .hero-ctas{margin-bottom:0;gap:10px}
.hero-int .hero-ctas .btn{min-height:46px}
.hero-int .hero-chips{margin-top:14px;gap:8px}
.hero-int .hero-chips .chip{padding:7px 12px;font-size:13px}
.hero-int+.section{padding-top:56px}
.hero-int+.section .section-head{margin-bottom:24px}
.hero-int.hero-city+.trust-bar-wrap+.tabs-sec{padding-top:44px}
@media (max-width:819px){
  .hero-int .container{padding-top:24px;padding-bottom:26px}
  .hero-int h1{font-size:30px}
  .hero-int .sub{font-size:15.5px;margin:8px 0 14px}
  .hero-int .hero-ctas{gap:8px}
  .hero-int .hero-chips{margin-top:12px;gap:6px}
  .hero-int .hero-chips .chip{padding:6px 10px;font-size:12.5px}
  .hero-int+.section{padding-top:40px}
}

/* Balanced card grids: a CTA card fills the empty slots of the last row (site/build_pages.py fill_cta) */
.fill-cta{grid-column:span var(--f3,1)}
.city-grid>.fill-cta{grid-column:span var(--f4,1)}
@media (min-width:820px) and (max-width:1099px){.city-grid>.fill-cta{grid-column:span var(--f2,1)}}
@media (max-width:819px){.fill-cta{grid-column:auto}}
.svc-grid-3>.fill-cta{min-height:100%}

/* Map skeleton: lazy iframes never show as a blank white card */
.map-frame,.map-wrap{position:relative;background:linear-gradient(160deg,#e3edf8 0%,#cfe0f3 100%)}
.map-frame::before,.map-wrap::before{content:"Map loads here";position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-top:56px;font:600 14px var(--font-body);color:var(--navy);letter-spacing:.02em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d31e25' stroke-width='1.8'%3E%3Cpath d='M12 21s7-6 7-11a7 7 0 0 0-14 0c0 5 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center calc(50% - 14px)/44px 44px no-repeat}
.map-frame iframe,.map-wrap iframe{position:relative;z-index:1}
.map-wrap .map-card{z-index:2}
.city-cta .go svg{width:16px;height:16px;flex:none}
.fill-cta{min-height:0}
/* homepage city grid: 8 city cards fill two rows of four, so the CTA takes its own full row (nearby blocks on city pages are unaffected) */
#areas .city-grid>.city-cta-row{grid-column:1/-1;min-height:0}
@media (max-width:819px){#areas .city-grid>.city-cta-row{grid-column:auto}}

/* phone numbers in copy: inherit the surrounding color, never browser link blue (iOS auto-detect is off via meta) */
a.tel,:where(a[href^="tel:"]:not([class])){color:inherit;text-decoration:none;font-weight:inherit}
a.tel:hover{text-decoration:underline;text-underline-offset:.15em}

/* launch QA fix round 2026-11-06 */
.header{background:rgba(255,255,255,.985)}
@media (max-width:819px){.header{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media (max-width:1099px){
  .cta-band .media::after{background:linear-gradient(180deg,rgba(9,29,51,.84) 0%,rgba(9,29,51,.93) 100%)}
  .cta-copy .next{background:rgba(9,29,51,.62);border-color:rgba(255,255,255,.18)}
  .cta-copy .next li small{color:rgba(255,255,255,.88)}
}
/* city Local section: facts card sits under the map on the same edges, never overlapping the map attribution */
.split-photo.map-photo{padding:0}
.split-photo.map-photo .fact-card{position:relative;left:auto;right:auto;bottom:auto;margin:16px 0 0;z-index:1}
/* 404 hero on the page grid */
.legal-hero.hero-404{padding:52px 0 44px}
.legal-hero.hero-404 .container>*{max-width:none;margin-left:0;margin-right:0}
.legal-hero.hero-404 .sub{max-width:620px}
.legal-hero.hero-404 .hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}
@media (max-width:819px){.legal-hero.hero-404{padding:36px 0 28px}.legal-hero.hero-404 .hero-ctas{flex-direction:column}.legal-hero.hero-404 .hero-ctas .btn{width:100%;justify-content:center}}
/* Buttons (Matt 2026-11-06): label box trimmed to cap height so flex centering is optical, icons are block boxes
   (no inline baseline gap), chat bubble body redrawn to sit on the button's center line with its tail hanging like a descender */
.btn,.callbar .btn,.mobile-menu>a.btn{align-items:center;line-height:1}
.btn svg,.callbar svg{display:block;flex:none}
@supports (text-box:trim-both cap alphabetic){.btn,.mobile-menu>a.btn{text-box:trim-both cap alphabetic}}
.btn svg:has(path[d^="M5 4h4l2 5"]){transform:translateY(-1px)}

/* header dropdowns: Industries + Service Areas (Matt 2026-11-06). Label links to the hub, chevron/hover opens the menu. */
.nav>li.nav-split{display:flex;align-items:center}
.nav>li.nav-split>.nav-label{padding-right:3px}
.nav>li.nav-split>.nav-chev{padding:10px 8px 10px 3px}
.nav>li.nav-split>.nav-label[aria-current="page"],.nav a[aria-current="page"]{color:var(--hci-red)}
.mega.mega-ind{grid-template-columns:1fr}
.mega-ind>.mega-ind-grid{padding:16px 14px 12px}
.mega-ind ul{grid-template-columns:repeat(3,1fr);gap:6px 10px}
.nav .mega.mega-ind ul a{align-items:flex-start;padding:10px}
.nav .mega.mega-ind ul a .mi{width:22px;height:22px;margin-top:1px;color:var(--hci-red);opacity:.9}
.mega-ind ul a span{display:flex;flex-direction:column;gap:3px;min-width:0}
.mega-ind ul a b{font:700 14.5px/1.25 var(--font-head);color:var(--text-head)}
.mega-ind ul a small{font:400 13px/1.35 var(--font-body);color:var(--text-muted);white-space:normal}
.mega.mega-areas{grid-template-columns:1fr 1fr 1.15fr;max-width:900px}
.mega.mega-areas>div:nth-child(2){background:linear-gradient(180deg,rgba(38,70,154,.075) 0%,rgba(38,70,154,.02) 60%,rgba(38,70,154,0) 100%)}
.nav .mega.mega-areas ul a .mi{color:var(--hci-red);opacity:.85}
.nav .mega .area-cta{display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:18px;border-radius:12px;background:linear-gradient(150deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;text-decoration:none;white-space:normal}
.mega .area-cta strong{font:700 18px/1.2 var(--font-head);color:#fff}
.mega .area-cta>span:not(.btn){font:400 14px/1.45 var(--font-body);color:rgba(255,255,255,.82)}
.mega .area-cta .btn{align-self:flex-start}
.nav .mega .area-cta:hover .btn{background:var(--red-hover)}
@media (min-width:1100px) and (max-width:1279px){.nav>li.nav-split>.nav-chev{padding:10px 5px 10px 1px}.nav>li.nav-split>.nav-label{padding-right:2px}}

/* mobile menu: compact accordions, one open at a time, sticky actions (Matt 2026-11-06) */
.mobile-menu ul.mm-compact a{min-height:44px;padding:8px 10px;font-size:13.5px}
.mobile-menu ul.mm-compact a span{overflow:hidden;text-overflow:ellipsis}
.mobile-menu ul.mm-areas .mi{color:var(--hci-red)}
.mobile-menu .mm-actions{position:sticky;bottom:0;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px calc(-1 * var(--gutter)) 0;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--hairline);box-shadow:0 -10px 24px rgba(9,29,51,.08)}
.mobile-menu .mm-actions .btn{min-height:50px;width:100%;padding:0 12px;font-size:15px}
.mobile-menu .mm-actions .btn::after{content:none}
.mobile-menu{padding-bottom:0}
.mobile-menu .meta{margin-bottom:28px}
.nav .mega .area-cta{text-align:left;align-items:flex-start}
/* Mobile menu: action bar always last and pinned to the bottom (Matt 2026-11-06) */
.mobile-menu{display:flex;flex-direction:column;padding-bottom:0}
.mobile-menu>*{flex:none}
.mobile-menu .mm-actions{order:99;margin-top:auto}
/* Optical centering: lift button labels 1px so lowercase-heavy text does not read low (Matt 2026-11-06) */
.btn,.mobile-menu>a.btn{padding-bottom:2px!important}
