/* hide pre-baked header until chrome.js injects correct nav */
#hs-header { visibility: hidden; }

/* =============================================================
   Comparison-app shell + per-variation theme overrides.
   ============================================================= */

/* ===== App chrome (dark studio backdrop) ===== */
.hs-root { min-height:100vh; background:#0d0f0e; color:#fff; font-family:var(--hs-font-body); }

.studio-bar { position:sticky; top:0; z-index:200; display:flex; align-items:center; gap:18px; padding:14px 22px; background:rgba(13,15,14,.9); backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,255,.08); }
.studio-bar .brand { display:flex; align-items:center; gap:11px; }
.studio-bar .brand img { height:26px; }
.studio-bar .brand .t { font-family:var(--hs-font-display); font-weight:600; text-transform:uppercase; letter-spacing:.04em; font-size:15px; }
.studio-bar .brand .t small { display:block; font-family:var(--hs-font-body); font-weight:500; text-transform:none; letter-spacing:0; font-size:11px; color:rgba(255,255,255,.5); }
.studio-bar .spacer { flex:1; }
.seg { display:flex; gap:4px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); border-radius:999px; padding:4px; }
.seg button { background:none; border:0; color:rgba(255,255,255,.62); font-weight:700; font-size:12.5px; letter-spacing:.02em; padding:8px 16px; border-radius:999px; transition:color .14s, box-shadow .14s; white-space:nowrap; }
.seg button:hover { color:#fff; }
.seg button.on { background:var(--hs-green); color:#fff; box-shadow:0 4px 14px rgba(var(--hs-green-rgb),.4); }
.studio-hint { font-size:12px; color:rgba(255,255,255,.4); }

/* ===== Compare canvas ===== */
.compare { padding:30px 26px 70px; }
.compare-head { max-width:760px; margin:6px auto 30px; text-align:center; }
.compare-head h1 { font-family:var(--hs-font-display); font-weight:600; text-transform:uppercase; letter-spacing:.01em; font-size:30px; }
.compare-head p { color:rgba(255,255,255,.6); font-size:15px; line-height:1.6; margin-top:10px; }

.gallery { display:flex; gap:26px; overflow-x:auto; padding:10px 4px 30px; scroll-snap-type:x proximity; }
.gallery::-webkit-scrollbar { height:10px; }
.gallery::-webkit-scrollbar-thumb { background:rgba(255,255,255,.16); border-radius:6px; }

.gcard { flex:0 0 auto; width:392px; scroll-snap-align:center; display:flex; flex-direction:column; }
.gcard .meta { margin-bottom:14px; }
.gcard .meta .ix { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:var(--hs-green); color:#fff; font-weight:800; font-size:13px; margin-right:9px; }
.gcard .meta .nm { font-family:var(--hs-font-display); font-weight:600; text-transform:uppercase; letter-spacing:.02em; font-size:19px; vertical-align:middle; }
.gcard .meta .desc { color:rgba(255,255,255,.58); font-size:13px; line-height:1.55; margin-top:9px; }
.gcard .tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.gcard .tags span { font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:rgba(255,255,255,.66); background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); padding:4px 9px; border-radius:999px; }

.thumb { position:relative; border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 20px 50px rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.1); cursor:pointer; height:560px; }
.thumb-scale { position:absolute; top:0; left:0; transform-origin:top left; }
.thumb .open-cue { position:absolute; inset:0; background:linear-gradient(to top, rgba(13,15,14,.7), transparent 30%); opacity:0; transition:opacity .18s; display:flex; align-items:flex-end; justify-content:center; padding-bottom:20px; }
.thumb:hover .open-cue { opacity:1; }
.thumb .open-cue .btn { pointer-events:none; }

/* ===== Fullscreen single view ===== */
.single { position:relative; }
.single-bar { position:sticky; top:0; z-index:190; display:flex; align-items:center; gap:14px; padding:10px 22px; background:rgba(13,15,14,.92); backdrop-filter:blur(12px); border-bottom:1px solid rgba(255,255,255,.08); }
.single-bar .back { display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:#fff; font-weight:700; font-size:13px; padding:9px 15px; border-radius:9px; transition:background .14s; }
.single-bar .back:hover { background:rgba(255,255,255,.16); }
.single-bar .back svg { width:16px; height:16px; transform:rotate(180deg); }
.single-bar .title { font-family:var(--hs-font-display); font-weight:600; text-transform:uppercase; letter-spacing:.02em; font-size:16px; }
.single-bar .title .ix { color:var(--hs-green); }
.single-bar .arrows { margin-left:auto; display:flex; gap:8px; }
.single-bar .arrows button { width:38px; height:38px; border-radius:9px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:#fff; display:flex; align-items:center; justify-content:center; transition:background .14s; }
.single-bar .arrows button:hover { background:rgba(255,255,255,.16); }
.single-bar .arrows button svg { width:18px; height:18px; }
.single-stage { background:#fff; }

/* keep the sticky page header below the studio bars */
.single .header { top:0; }

/* ============================================================
   PER-VARIATION THEMES
   Each variation wrapper restyles shared sections.
   ============================================================ */

/* ---- V2 — Built on Trust: editorial, spacious, type-forward ---- */
.v2 section { padding:92px 0; }
.v2 .display, .v2 h1 { letter-spacing:-.02em; }
.v2 .split-hero { display:grid; grid-template-columns:1.05fr .95fr; min-height:640px; }
.v2 .split-left { background:#fff; display:flex; flex-direction:column; justify-content:center; padding:70px clamp(28px,5vw,84px) 70px; }
.v2 .split-left h1 { color:var(--hs-fg); font-size:clamp(40px,4.6vw,64px); margin-top:20px; }
.v2 .split-left h1 .green { color:var(--hs-green); }
.v2 .split-left .lede { color:var(--hs-fg-muted); max-width:480px; }
.v2 .split-right { position:relative; background:#000; overflow:hidden; }
.v2 .split-right img { width:100%; height:100%; object-fit:cover; }
.v2 .split-badge { position:absolute; left:28px; bottom:28px; right:28px; background:rgba(255,255,255,.96); border-radius:16px; padding:20px 22px; box-shadow:var(--hs-shadow-lg); display:flex; align-items:center; gap:18px; }
.v2 .split-badge .score { font-family:var(--hs-font-display); font-weight:700; font-size:42px; line-height:1; color:var(--hs-fg); }
.v2 .review { box-shadow:none; border:1px solid var(--hs-border); }
.v2 .big-stat { font-family:var(--hs-font-body); font-weight:900; font-size:clamp(48px,7vw,88px); line-height:.9; color:var(--hs-green); letter-spacing:-.02em; }

/* ---- V3 — When the Storm Hits: dark / camo / veteran ---- */
.v3 { background:#0a0a0a; }
.v3 .dark-hero { position:relative; min-height:660px; display:flex; align-items:center; overflow:hidden; background:#000; }
.v3 .dark-hero .camo-tex { position:absolute; inset:0; background-image:url('assets/textures/blackout-camo.png'); background-size:560px; opacity:.5; }
.v3 .dark-hero .hero-photo { position:absolute; inset:0; }
.v3 .dark-hero .hero-photo img { width:100%; height:100%; object-fit:cover; opacity:.42; }
.v3 .dark-hero .veil { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.5), rgba(0,0,0,.82)); }
.v3 .dark-hero .wrap { position:relative; padding:80px 28px; }
.v3 .dark-hero h1 { color:#fff; font-size:clamp(44px,6vw,82px); max-width:880px; }
.v3 .dark-hero .lede { color:rgba(255,255,255,.8); max-width:560px; }
.v3 section { color:#fff; }
.v3 .bg-muted, .v3 .bg-subtle { background:#101010; }
.v3 .sec-head h2 { color:#fff; }
.v3 .svc, .v3 .review, .v3 .article, .v3 .faq, .v3 .partner { background:#151515; border-color:rgba(255,255,255,.1); color:#fff; }
.v3 .svc h3, .v3 .review .q, .v3 .article h3, .v3 .faq-q { color:#fff; }
.v3 .svc p, .v3 .review p, .v3 .step p, .v3 .lede, .v3 .check p, .v3 .faq-a p { color:rgba(255,255,255,.66); }
.v3 .svc .ic, .v3 .faq-q .qi { background:rgba(var(--hs-green-rgb),.16); color:var(--hs-green); }
.v3 .check h4, .v3 .step h4 { color:#fff; }
.v3 .trust { background:#151515; border-color:rgba(255,255,255,.1); }
.v3 .trust .cell + .cell { border-left-color:rgba(255,255,255,.1); }
.v3 .trust .cell .big { color:#fff; }
.v3 .trust .cell .small { color:rgba(255,255,255,.6); }
.v3 .faq { border-bottom:0; margin-bottom:12px; border-radius:14px; padding:0 22px; }
.v3 .faq-a p { padding-right:22px; }
.v3 .review .who .mt { color:rgba(255,255,255,.5); }
.v3 .area-grid a { color:rgba(255,255,255,.66); }
.v3 .urgent-band { background:linear-gradient(90deg,#7a1010,#9c1414); }

/* ---- V4 — Everything Your Home Needs: content-rich / bento / SEO ---- */
.v4 section { padding:60px 0; }
/* bento shared by V4 + V6 */
.bento { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; gap:14px; }
.bento .tile { position:relative; border-radius:16px; overflow:hidden; padding:24px; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; cursor:pointer; background:#1a1a1a; transition:transform .15s ease, box-shadow .15s ease; }
.bento .tile:hover { transform:translateY(-3px); box-shadow:var(--hs-shadow-lg); }
.bento .tile .tile-bg { position:absolute; inset:0; z-index:0; }
.bento .tile .tile-scrim { position:absolute; inset:0; z-index:1; background:linear-gradient(to top, rgba(0,0,0,.82) 8%, rgba(0,0,0,.15) 70%); }
.bento .tile > * { position:relative; z-index:2; }
.bento .tile .ti { width:42px; height:42px; border-radius:11px; background:rgba(var(--hs-green-rgb),.92); display:flex; align-items:center; justify-content:center; color:#fff; margin-bottom:auto; }
.bento .tile h3 { font-family:var(--hs-font-display); font-weight:600; text-transform:uppercase; font-size:20px; margin-top:14px; }
.bento .tile p { font-size:12.5px; color:rgba(255,255,255,.78); line-height:1.5; margin-top:5px; }
.bento .lg { grid-column:span 2; grid-row:span 2; }
.bento .wide { grid-column:span 2; }
.bento .tall { grid-row:span 2; }
.v4 .seo-row { display:grid; grid-template-columns:1.3fr 1fr; gap:46px; align-items:center; }
.v4 .seo-prose p { font-size:15px; line-height:1.7; color:var(--hs-fg-muted); margin-top:14px; }
.v4 .mini-trust { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:8px; }
.v4 .mini-trust .mt-cell { background:#fff; border:1px solid var(--hs-border-subtle); border-radius:12px; padding:16px; text-align:center; }
.v4 .mini-trust .mt-cell .b { font-family:var(--hs-font-display); font-weight:600; font-size:21px; }
.v4 .mini-trust .mt-cell .s { font-size:11px; color:var(--hs-fg-muted); margin-top:2px; }
.v4 .area-grid { grid-template-columns:repeat(4,1fr); }

/* ---- V5 — Where Your Home Comes First: oversized type, minimal imagery ---- */
.v5 { background:var(--hs-paper); }
.v5 .type-hero { padding:clamp(60px,9vw,130px) 0 clamp(50px,7vw,90px); position:relative; overflow:hidden; }
.v5 .type-hero .mega { font-family:var(--hs-font-body); font-weight:900; text-transform:uppercase; line-height:.86; letter-spacing:-.025em; font-size:clamp(56px,12vw,168px); color:var(--hs-fg); }
.v5 .type-hero .mega .green { color:var(--hs-green); }
.v5 .type-hero .mega .outline { -webkit-text-stroke:2px var(--hs-fg); color:transparent; }
.v5 .type-hero .sub-row { display:flex; flex-wrap:wrap; gap:30px; align-items:flex-end; justify-content:space-between; margin-top:40px; }
.v5 .type-hero .lede { max-width:440px; }
.v5 .type-hero .mark-wm { position:absolute; right:-40px; top:-30px; height:340px; opacity:.06; pointer-events:none; }
.v5 .marquee { background:var(--hs-ink); color:#fff; overflow:hidden; padding:18px 0; white-space:nowrap; }
.v5 .marquee .track { display:inline-flex; gap:46px; animation:marq 28s linear infinite; }
.v5 .marquee .track span { font-family:var(--hs-font-display); font-weight:600; text-transform:uppercase; letter-spacing:.04em; font-size:22px; display:inline-flex; align-items:center; gap:46px; }
.v5 .marquee .track span::after { content:""; width:7px; height:7px; border-radius:50%; background:var(--hs-green); }
@keyframes marq { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .v5 .marquee .track { animation:none; } }
.v5 .svc { border:0; border-top:3px solid var(--hs-fg); border-radius:0; background:none; padding:26px 0; }
.v5 .svc:hover { transform:none; box-shadow:none; }
.v5 .svc:hover h3 { color:var(--hs-green-hover); }
.v5 .svc .ic { background:none; color:var(--hs-fg); width:auto; height:auto; }
.v5 .svc h3 { font-size:28px; }
.v5 .svc-grid { gap:30px 40px; }
.v5 .num-head { font-family:var(--hs-font-mono); font-size:13px; color:var(--hs-green); letter-spacing:.1em; }
.v5 .review { border:0; border-left:3px solid var(--hs-green); border-radius:0; box-shadow:none; background:var(--hs-surface-subtle); }

/* ---- V6 — The Converter ---- */
.v6 .v6-hero { min-height:700px; }
.v6 .hero-vid { width:100%; height:100%; object-fit:cover; }
.v6 .v6-scrim { background:linear-gradient(90deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.66) 46%, rgba(0,0,0,.5) 100%); }
.v6 .vid-note { position:absolute; left:28px; bottom:18px; z-index:6; display:inline-flex; align-items:center; gap:6px; font-family:var(--hs-font-mono); font-size:11px; color:rgba(255,255,255,.6); background:rgba(0,0,0,.4); border:1px solid rgba(255,255,255,.16); padding:5px 11px; border-radius:999px; }
.v6 .vid-note b { color:#fff; font-weight:600; }
.v6 .vid-note svg { width:12px; height:12px; color:var(--hs-green); }
.v6 .v6-hero-grid { display:grid; grid-template-columns:1.05fr 420px; gap:48px; align-items:center; }
.v6 .v6-hero-grid .hero-inner { max-width:none; }

/* lead-capture card */
.lead-card { background:#fff; border-radius:18px; box-shadow:0 24px 60px rgba(0,0,0,.4); overflow:hidden; }
.lead-head { background:#0c0c0c; color:#fff; padding:22px 26px 24px; position:relative; }
.lead-head::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--hs-green); }
.lead-head h2, .lead-head h3 { font-family:var(--hs-font-display); font-weight:600; text-transform:uppercase; font-size:26px; margin-top:12px; letter-spacing:.01em; }
.lead-head p { font-size:13.5px; color:rgba(255,255,255,.7); margin-top:5px; }
.lead-body { padding:22px 26px 26px; }
.lead-body .field { margin-top:14px; }
.lead-body .field:first-child { margin-top:0; }
.lead-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start; margin-top:14px; }
.lead-2 > * { min-width:0; }
.lead-2 > .field { margin-top:0; }
.lead-trust { margin-top:16px; text-align:center; font-size:12.5px; color:var(--hs-fg-muted); }
.lead-trust .stars { color:var(--hs-green); letter-spacing:1px; }
.lead-trust b { color:var(--hs-fg); }

/* expanding bento */
.v6-bento { grid-auto-rows:228px; margin-top:56px; }
.v6 .view-all-btn { width:100%; justify-content:center; margin-top:16px; }
.v6 .gcl-row { display:grid; grid-template-columns:300px 1fr; gap:56px; align-items:center; }
.v6 .gcl-badge { display:flex; justify-content:center; }
.v6 .gcl-badge img { max-width:300px; width:100%; height:auto; border-radius:10px; filter:drop-shadow(0 16px 34px rgba(0,0,0,.16)); }
@media (max-width:1000px){
  .v6 .gcl-row { grid-template-columns:1fr; gap:30px; }
  .v6 .gcl-badge img { max-width:240px; }
}
/* ESP Low-E — compact: header + 4-up feature cards + CTA bar */
.v6 .lowe-leadin { font-weight:700; font-size:22px; margin-top:36px; text-align:center; }
.v6 .lowe-feat { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:16px; }
.v6 .lf { background:#fff; border:1px solid var(--hs-border-subtle); border-radius:16px; padding:24px; }
.v6 .lf-ic { width:46px; height:46px; border-radius:12px; background:var(--hs-green-tint); color:var(--hs-green-hover); display:flex; align-items:center; justify-content:center; }
.v6 .lf h4 { font-family:var(--hs-font-display); font-weight:600; text-transform:uppercase; letter-spacing:.01em; font-size:17px; margin:14px 0 7px; }
.v6 .lf p { font-size:13.5px; line-height:1.55; color:var(--hs-fg-muted); }
.v6 .lowe-more { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.v6 .lowe-more.open { max-height:360px; }
.v6 .lowe-more p:first-child { margin-top:26px; }
.v6 .lowe-more .lede { max-width:860px; }
.v6 .lowe-toggle { display:inline-flex; align-items:center; gap:8px; margin-top:18px; background:none; border:0; padding:0; font-family:var(--hs-font-body); font-weight:700; font-size:14px; color:#1a7a3c; }
.v6 .lowe-toggle svg { width:16px; height:16px; transition:transform .2s ease; }
.v6 .lowe-toggle.open svg { transform:rotate(180deg); }
.v6 .lowe-cta2 { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-top:30px; background:#fff; border:1px solid var(--hs-border-subtle); border-radius:16px; padding:24px 28px; }
.v6 .lowe-cta2 span { font-size:15px; line-height:1.55; color:var(--hs-fg-muted); max-width:720px; }
.v6 .lowe-cta2 b { color:var(--hs-fg); }
/* Why choose us — 6-card grid */
.v6 .why6-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:46px; }
.v6 .why6 { background:#fff; border:1px solid var(--hs-border-subtle); border-radius:16px; padding:28px; box-shadow:var(--hs-shadow-sm); }
.v6 .why6 .ic { width:48px; height:48px; border-radius:12px; background:var(--hs-green-tint); color:var(--hs-green-hover); display:flex; align-items:center; justify-content:center; }
.v6 .why6 h4 { font-family:var(--hs-font-display); font-weight:600; text-transform:uppercase; letter-spacing:.01em; font-size:19px; margin:16px 0 9px; line-height:1.1; }
.v6 .why6 p { font-size:14px; line-height:1.6; color:var(--hs-fg-muted); }
@media (max-width:1000px){ .v6 .why6-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .v6 .why6-grid { grid-template-columns:1fr; } }
@media (max-width:1000px){ .v6 .lowe-feat { grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .v6 .lowe-feat { grid-template-columns:1fr; } }
.v6-bento .tile { overflow:hidden; }
.v6-bento .tile .tile-bg .lbl { font-size:10px; }
.v6-bento .tile .tile-title { transition:opacity .2s ease, transform .2s ease; }
.v6-bento .tile:hover .tile-title { opacity:0; transform:translateY(8px); }
.v6-bento .tile .tile-detail { position:absolute; left:0; right:0; bottom:0; z-index:3; padding:22px 24px 24px; background:linear-gradient(to top, rgba(8,8,8,.97) 60%, rgba(8,8,8,.4)); transform:translateY(101%); transition:transform .3s cubic-bezier(.2,.7,.3,1); }
.v6-bento .tile:hover .tile-detail { transform:translateY(0); }
.v6-bento .tile .tile-detail h3 { font-family:var(--hs-font-display); font-weight:600; text-transform:uppercase; font-size:21px; }
.v6-bento .tile .tile-detail p { font-size:13px; line-height:1.55; color:rgba(255,255,255,.8); margin-top:7px; }
.v6-bento .tile .tile-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:13px; }
.v6-bento .tile .tile-chips span { font-size:10.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:#fff; background:rgba(var(--hs-green-rgb),.92); padding:4px 9px; border-radius:999px; }
.v6-bento .tile .tile-link { display:inline-flex; align-items:center; gap:6px; margin-top:15px; font-weight:700; font-size:12.5px; color:#fff; }
.v6-bento .tile .tile-link svg { width:15px; height:15px; transition:transform .15s ease; }
.v6-bento .tile:hover .tile-link svg { transform:translateX(3px); }

/* certification badge strip — overlaps the bottom of the hero, like the old trust bar */
.v6 .badge-strip { background:#fff; border:1px solid var(--hs-border-subtle); border-radius:16px; box-shadow:var(--hs-shadow-md); display:grid; grid-template-columns:repeat(6,1fr); margin-top:-46px; position:relative; z-index:5; padding:22px 10px; }
.v6 .badge-strip .bs-cell { display:flex; align-items:center; justify-content:center; padding:6px 18px; min-height:96px; }
.v6 .badge-strip .bs-cell + .bs-cell { border-left:1px solid var(--hs-border-subtle); }
.v6 .badge-strip .bs-cell img { max-height:84px; max-width:100%; width:auto; height:auto; object-fit:contain; }
@media (max-width:1000px){
  .v6 .badge-strip { grid-template-columns:repeat(2,1fr); gap:4px 0; margin-top:24px; }
  .v6 .badge-strip .bs-cell:nth-child(odd) { border-left:0; }
  .v6 .badge-strip .bs-cell { border-top:1px solid var(--hs-border-subtle); }
  .v6 .badge-strip .bs-cell:nth-child(-n+2) { border-top:0; }
}

@media (max-width:1000px){
  .v6 .v6-hero-grid{grid-template-columns:1fr; gap:30px}
  .v6 .v6-hero{min-height:0}
  .v6 .lead-card{max-width:480px}
  .v6 .hero-inner{text-align:center}
  .v6 .hero-inner .hero-cta{justify-content:center}
}

@media (max-width:1000px){
  .v2 .split-hero{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr 1fr}
  .bento .lg,.bento .wide{grid-column:span 2}
  .v4 .seo-row{grid-template-columns:1fr; gap:28px}
  .v4 .area-grid{grid-template-columns:repeat(2,1fr)}
  .gcard{width:330px}
}

/* Bento tile photos (homepage services) */
.bento .tile .tile-bg img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }

/* =============================================================
   Mobile fixes — 430px breakpoint
   Audit: June 2026
   ============================================================= */

@media (max-width: 540px) {
  /* Issue 8: Lead form phone+zip 2-col → stacked (zip clips without this) */
  .lead-2 { grid-template-columns: 1fr; }
  .lead-2 input { min-width: 0; width: 100%; }

  /* Issue 9: Bento tiles → 1-col on narrowest phones */
  .bento { grid-template-columns: 1fr; }
  .bento .lg, .bento .wide { grid-column: span 1; }
}

/* ---- HS forms: consent checkbox, radio groups, file input, honeypot ---- */
.hs-hp { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.hs-form-error { background: #FEF2F2; border: 1px solid #FCA5A5; color: #B91C1C; font-size: 13px; padding: 10px 14px; border-radius: 8px; margin-bottom: 14px; }
.hs-consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 16px; cursor: pointer; }
.hs-consent input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--hs-green); cursor: pointer; }
.hs-consent span { font-size: 12px; line-height: 1.5; color: var(--hs-fg-muted); }
.hs-consent a { color: var(--hs-green-hover); text-decoration: underline; }
.hs-consent-long span { font-size: 12.5px; }
.hs-radio-row { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.hs-radio { display: flex; align-items: center; gap: 9px; font-size: 13.5px; font-weight: 600; cursor: pointer; padding: 9px 12px; border: 1.5px solid var(--hs-border); border-radius: 9px; transition: border-color .12s, background .12s; }
.hs-radio:has(input:checked) { border-color: var(--hs-green); background: var(--hs-green-tint); }
.hs-radio input[type="radio"] { accent-color: var(--hs-green); width: 16px; height: 16px; flex: 0 0 auto; }
.hs-skip-link { display: block; text-align: center; font-size: 12.5px; color: var(--hs-fg-subtle); margin-top: 12px; text-decoration: underline; cursor: pointer; }
