/* ─────────────────────────────────────────────────────────
   Homepage, action-first layout (October 2026).
   Loaded by index.html only, after styles.css. Uses the shared
   tokens only, so light/dark and the A+ sizes keep working.
   Order: hero + urgent action → quick actions → campaign
   tracker → the situation → latest → who we are → join.
   ───────────────────────────────────────────────────────── */
.home main section + section{border-top:0}
.home #campaign,.home #updates{border-top:1px solid var(--rule-2)}
/* A full-width tonal pause distinguishes the evidence from the actions. */
.home #evidence{background:var(--section-wash)}
.hv-head{display:grid;gap:10px;margin-bottom:26px;max-width:720px}
.hv-head h2.display{font-size:clamp(1.75rem,calc(4vw * var(--text-scale, 1)),2.5rem);margin:0}
.hv-head p{color:var(--ink-2);font-size:1.125rem}
.hv-link{font-weight:600;font-size:1rem;color:var(--link);text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:1px}
.hv-link:hover{color:var(--ink)}
.hv-fine{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:20px;font-size:0.9375rem;color:var(--ink-2)}

/* hero */
.hv-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;align-items:start;padding-top:52px;padding-bottom:52px}
@media(max-width:900px){.hv-hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:36px;padding-bottom:36px}}
.hv-hero .h-sub{max-width:38ch;line-height:1.55;font-size:clamp(1.1875rem,calc(1.7vw * var(--text-scale, 1)),1.3125rem)}
.hv-urgent{background:var(--raise);border:1px solid var(--rule-2);border-left:4px solid var(--act);border-radius:12px;padding:clamp(20px,3vw,28px);display:grid;gap:16px;box-shadow:0 14px 34px -22px var(--shadow)}
.hv-tag{display:flex;align-items:center;gap:10px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:0.78125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.hv-tag i{width:10px;height:10px;border-radius:50%;background:var(--act);box-shadow:0 0 0 4px color-mix(in srgb,var(--act) 28%,transparent);flex:none}
.hv-urgent h2{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:clamp(1.5rem,calc(2.6vw * var(--text-scale, 1)),1.75rem);letter-spacing:-.025em;line-height:1.12;text-wrap:balance;margin:0}
.hv-urgent p{color:var(--ink-2);font-size:1.03125rem;line-height:1.55}
.hv-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2);padding:14px 0}
.hv-facts div{display:grid;gap:2px;align-content:start}
.hv-facts strong{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:1.75rem;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--ink)}
.hv-facts span{font-size:0.875rem;line-height:1.4;color:var(--ink-2)}
.hv-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.hv-urgent .hbtn small{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;font-size:0.78125rem;opacity:.9;border-left:1px solid rgba(255,255,255,.45);padding-left:10px}

/* quick actions */
.hv-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:860px){.hv-quick{grid-template-columns:minmax(0,1fr)}}
.hv-qa{display:grid;grid-template-rows:auto auto 1fr auto;gap:10px;padding:22px;border:1px solid var(--rule-2);border-radius:10px;background:var(--raise);text-decoration:none;color:var(--ink);min-width:0}
.hv-qa:hover{border-color:var(--link)}
.hv-time{display:inline-flex;align-items:center;gap:10px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:0.78125rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.hv-clock{display:inline-block;width:48px;height:6px;border-radius:3px;background:var(--sunk);position:relative;overflow:hidden;flex:none}
.hv-clock::after{content:"";position:absolute;top:0;bottom:0;left:0;width:var(--w);background:var(--blue);border-radius:3px}
.hv-qa h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:1.3125rem;letter-spacing:-.02em;line-height:1.2;margin:0}
.hv-qa p{color:var(--ink-2);font-size:1rem;line-height:1.5}
.hv-go{font-weight:700;font-size:1rem;color:var(--link)}

/* campaign tracker */
.hv-tracker{border:1px solid var(--rule-2);border-radius:12px;background:var(--raise);overflow:hidden}
.hv-trow{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) auto;gap:18px 30px;align-items:center;padding:24px}
.hv-trow + .hv-trow{border-top:3px solid var(--rule)}
@media(max-width:880px){.hv-trow{grid-template-columns:minmax(0,1fr);gap:14px}}
.hv-who{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:0.78125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--link)}
.hv-trow h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:1.375rem;letter-spacing:-.02em;line-height:1.2;margin:4px 0 0}
.hv-status{font-size:1rem;line-height:1.5;color:var(--ink-2);margin-top:6px}
.hv-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.hv-steps li{display:grid;gap:7px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:0.71875rem;letter-spacing:.03em;color:var(--ink-2);min-width:0}
.hv-steps li::before{content:"";height:6px;border-radius:3px;background:var(--sunk)}
.hv-steps li.done::before,.hv-steps li.now::before{background:var(--blue)}
.hv-steps li.now{color:var(--ink);font-weight:700}

.hv-meta{display:grid;gap:8px;justify-items:start}
@media(min-width:881px){.hv-meta{justify-items:end;text-align:right}}
.hv-pill{display:inline-flex;align-items:center;gap:8px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:0.78125rem;font-weight:700;padding:4px 11px;border-radius:999px}
.hv-pill i{width:7px;height:7px;border-radius:50%;background:currentColor}
.hv-pill.live{background:color-mix(in srgb,var(--live) 16%,transparent);color:var(--live)}
.hv-pill.pend{background:color-mix(in srgb,var(--pend) 18%,transparent);color:var(--pend)}
.hv-pill.done{background:color-mix(in srgb,var(--done) 16%,transparent);color:var(--done)}
.hv-updated{font-size:0.875rem;color:var(--ink-2);white-space:nowrap}

/* the situation */
.hv-sit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
@media(max-width:900px){.hv-sit{grid-template-columns:minmax(0,1fr);gap:28px}}
.hv-sit .c-day{font-size:clamp(2.625rem,calc(6vw * var(--text-scale, 1)),4rem)}
.hv-sit .c-day span{color:var(--link)}
.hv-sub2{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:clamp(1.5rem,calc(3vw * var(--text-scale, 1)),2rem);letter-spacing:-.02em;line-height:1.15;margin:8px 0 0;text-wrap:balance}
.hv-sit-lead{color:var(--ink-2);margin-top:12px;max-width:32em;font-size:1.0625rem}
.hv-field{--d:5px;--g:2px;max-width:540px}
@media(max-width:520px){.hv-field{--d:4px;--g:2px}}
.hv-field .c-legend{border-top:0;padding-top:0}
.hv-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule-2);border:1px solid var(--rule-2);border-radius:12px;overflow:hidden}
.hv-stat{background:var(--raise);padding:22px;display:grid;gap:8px;align-content:start}
.hv-stat strong{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:2.125rem;letter-spacing:-.025em;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}
.hv-stat p{font-size:0.9375rem;line-height:1.45;color:var(--ink-2)}
@media(max-width:420px){.hv-stats{grid-template-columns:1fr}}

/* latest */
.hv-latest{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:start}
@media(max-width:860px){.hv-latest{grid-template-columns:minmax(0,1fr)}}
@media(max-width:860px){.home #feed>li:nth-child(n+4){display:none}.home #feed>li:nth-child(3){border-bottom:1px solid var(--rule-2)}}
.hv-feed{list-style:none;margin:0;padding:0}
.hv-feed li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:4px 20px;padding:18px 0;border-top:1px solid var(--rule-2)}
.hv-feed li:last-child{border-bottom:1px solid var(--rule-2)}
@media(max-width:520px){.hv-feed li{grid-template-columns:minmax(0,1fr)}}
.hv-feed time{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:0.8125rem;color:var(--ink-2);padding-top:3px}
.hv-kind{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:0.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--link)}
.hv-feed a{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:1.25rem;letter-spacing:-.015em;line-height:1.25;color:var(--ink);text-decoration:none}
.hv-feed a:hover{text-decoration:underline;text-underline-offset:4px}
.hv-press{border:1px solid var(--rule-2);border-radius:12px;padding:24px;display:grid;gap:12px;align-content:start;background:var(--raise)}
.hv-press .eyebrow{margin:0}
.hv-press-image{display:block;width:100%;height:auto;border:1px solid var(--rule-2);border-radius:6px}
.hv-press-photo{margin:0;min-width:0}
.hv-press-photo figcaption{margin-top:6px;font-size:.8125rem;line-height:1.5;color:var(--ink-2)}
.hv-press-photo figcaption a{display:inline-block;min-height:44px;padding:10px 0;text-underline-offset:.2em}
.hv-outlet{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:1.4375rem;letter-spacing:-.02em}
.hv-press q{font-size:1rem;line-height:1.5;color:var(--ink-2)}
.hv-press .hv-by{font-size:0.875rem;color:var(--ink-2)}
.hv-press>p{margin:0;line-height:1.4}
.hv-press-links{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 20px}
.hv-press-links .hv-link{display:inline-flex;align-items:center;gap:.35em;min-height:44px;padding:8px 0;border-bottom:0;text-decoration:underline;text-underline-offset:.2em;line-height:1.4}
@media(max-width:600px){.hv-press{padding:20px;gap:10px}.hv-press-links{flex-direction:column;gap:0}}

/* who we are */
.hv-who-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start}
@media(max-width:860px){.hv-who-grid{grid-template-columns:minmax(0,1fr);gap:24px}}
.hv-who-grid > div{display:grid;gap:16px}
.hv-who-grid h2.display{font-size:clamp(1.75rem,calc(4vw * var(--text-scale, 1)),2.5rem);margin:0}
.hv-who-grid p{color:var(--ink-2)}
.hv-method{list-style:none;margin:0;padding:0;counter-reset:s}
.hv-method li{counter-increment:s;display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 12px;padding:15px 0;border-top:1px solid var(--rule-2)}
.hv-method li::before{content:counter(s,decimal-leading-zero);font-family:"JetBrains Mono",ui-monospace,monospace;font-size:0.8125rem;font-weight:700;color:var(--blue);padding-top:3px;grid-row:span 2}
.hv-method strong{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:1.1875rem;letter-spacing:-.01em}
.hv-method span{font-size:1rem;line-height:1.5;color:var(--ink-2)}

/* join */
.hv-join{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px}
@media(max-width:860px){.hv-join{grid-template-columns:minmax(0,1fr)}}
.hv-panel{border:1px solid var(--rule-2);border-radius:12px;padding:clamp(22px,3vw,30px);background:var(--raise);display:grid;gap:14px;align-content:start}
.hv-panel h2,.hv-panel h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:clamp(1.375rem,calc(2.6vw * var(--text-scale, 1)),1.625rem);letter-spacing:-.02em;line-height:1.15;margin:0}
.hv-panel p{color:var(--ink-2);font-size:1.03125rem;line-height:1.5}
.hv-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}
@media(max-width:640px){.hv-form{grid-template-columns:minmax(0,1fr)}}
.hv-form label{display:grid;gap:5px;font-size:0.90625rem;font-weight:600;color:var(--ink)}
.hv-form input{font:inherit;font-size:1.0625rem;padding:11px 13px;border:1.5px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink);min-width:0;width:100%}
.hv-form .hbtn{min-height:50px;grid-column:1/-1;justify-self:start}
.hv-form .hv-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:9px;font-size:0.875rem;font-weight:400}
.hv-form .hv-consent input{width:auto;flex:0 0 auto;margin-top:4px;padding:0}
.hv-form .hp{position:absolute;left:-9999px}
.hv-small{font-size:0.9375rem !important}
.hv-facts [hidden]{display:none}
.hv-head h2.display{max-width:none}
.hv-field{--d:4px;--g:2px}
.hv-urgent .hv-tag{font-size:0.75rem;letter-spacing:.06em;color:var(--ink)}

/* Campaign graphics in the tracker (Oct 2026). Shown 16:9: left of each row
   on wide screens, above it on phones. */
.hv-timg{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:var(--sunk);border:1px solid var(--rule-2)}
@media(min-width:881px){.hv-trow.has-img{grid-template-columns:200px minmax(0,1fr) auto;gap:14px 28px}.hv-trow.has-img .hv-timg{grid-row:1 / span 2;align-self:center}.hv-trow.has-img .hv-steps{grid-column:2;max-width:520px}.hv-trow.has-img .hv-meta{grid-column:3;grid-row:1 / span 2}}
@media(max-width:880px){.hv-timg{max-width:420px}}

/* ── Hero v2 (Oct 2026): text + day-field graphic, urgent band below.
   Same order on phones: text, graphic, then the urgent band. ── */
.hv-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"text graphic" "urgent urgent";gap:36px 48px;align-items:center}
.hv-hero-text{grid-area:text}
.hv-graphic{grid-area:graphic;margin:0;background:var(--raise);border:1px solid var(--rule-2);border-radius:12px;padding:24px;--d:5px;--g:2px}
.hv-graphic .c-day{font-size:clamp(2.5rem,calc(4.6vw * var(--text-scale, 1)),3.5rem)}
.hv-graphic .c-day #c-day{color:var(--link);font-variant-numeric:tabular-nums}
.hv-g-sub{font-family:"Public Sans",system-ui,sans-serif;font-weight:400;font-size:1rem;letter-spacing:normal;line-height:1.55;margin-top:22px;padding-top:18px;border-top:1px solid var(--rule-2);color:var(--ink-2)}
.hv-g-sub b{color:var(--ink)}
.hv-graphic #field{margin-top:22px;margin-bottom:18px}
.hv-graphic .c-legend{margin-top:8px}
.hv-urgent{grid-area:urgent;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) auto;align-items:center;gap:18px 32px}
.hv-urgent .hv-facts{border:0;padding:0;border-left:1px solid var(--rule-2);padding-left:24px}
.hv-urgent .hv-row{flex-direction:column;align-items:flex-start}
.hv-urgent-main{display:grid;gap:10px}
@media(max-width:1060px){
  .hv-urgent{grid-template-columns:minmax(0,1fr) auto}
  .hv-urgent .hv-facts{grid-column:1;border-left:0;padding-left:0;border-top:1px solid var(--rule-2);padding-top:14px}
  .hv-urgent .hv-row{grid-column:2;grid-row:1 / span 2}
}
@media(max-width:900px){
  .hv-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"text" "graphic" "urgent";gap:24px}
  .hv-urgent{grid-template-columns:minmax(0,1fr)}
  .hv-urgent .hv-row{grid-column:auto;grid-row:auto;flex-direction:row;align-items:center}
  .hv-graphic{padding:18px;--d:4px;--g:2px}
}
.hv-stats-row{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.hv-stats-row{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.hv-stats-row{grid-template-columns:1fr}}
/* Hero v2 tuning: keep the urgent band on the first screen of a laptop. */
.hv-hero{padding-top:40px}
.hv-graphic{--d:4px;--g:2px;padding:20px 22px}
.hv-graphic .c-day{font-size:clamp(2.375rem,calc(4vw * var(--text-scale, 1)),3.125rem)}
.hv-graphic .c-tap{margin-top:8px}
.hv-graphic .c-legend{padding-top:10px;font-size:0.875rem}
@media(min-width:1061px){.hv-urgent{grid-template-columns:minmax(0,1fr) minmax(170px,auto) auto}}
.hv-urgent .hv-facts{grid-template-columns:1fr;gap:10px}
.hv-urgent .hv-facts strong{font-size:1.5rem}
.home h1.display{font-size:clamp(2.375rem,calc(5vw * var(--text-scale, 1)),3.875rem)}
@media(max-width:1060px){.hv-urgent .hv-facts{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.hv-graphic{--d:3px;--g:2px;padding:18px}}

/* Quick actions: the action type leads as a chip, then the time (matches the action cards). */
.hv-qmeta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.hv-type{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 10px;border:1.5px solid var(--ink);border-radius:999px;color:var(--ink);font-family:"Public Sans",system-ui,sans-serif;font-size:0.9375rem;font-weight:700;line-height:1.2}
.hv-type svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hv-qmeta .hv-time{text-transform:none;letter-spacing:.02em;font-weight:700;font-size:0.8125rem}

/* Keep the counter explanation quieter than its number. */
.hv-graphic .c-day{line-height:1.08}
.hv-graphic .c-day-context{color:var(--ink-2);font-size:1rem;font-weight:400;line-height:1.5;margin-top:8px;max-width:30ch}
.hv-g-sub b{font-weight:700;white-space:nowrap}
.hv-graphic .c-legend{gap:7px;font-size:0.8125rem;line-height:1.5}
