/* ==========================================================
   VINDICT — accountability index. Clean 1-bit tech landing.
   White ground · black art · one electric accent · Helvetica.
   ========================================================== */
:root{
  --paper:#ffffff;
  --wash:#f4f3f0;
  --ink:#0a0a0a;
  --ink-2:#6b6b6b;
  --line:#e3e1db;
  --line-2:#c9c6bd;
  --accent:#1f2bff;          /* electric ultramarine — used sparingly */
  --bad:#d8261c;             /* incorrect red — used only on the verdict + top border */
  --accent-ink:#ffffff;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"Space Mono","IBM Plex Mono",ui-monospace,monospace;
  --gut:clamp(20px,5vw,148px);
  --maxw:2400px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:18px;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{color:inherit;}
img{display:block;max-width:100%;}
::selection{background:var(--accent);color:#fff;}

/* ---- type helpers ---- */
.mono{font-family:var(--mono);}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-2);}
.idx{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--accent);}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.022em;line-height:.98;}
.display{font-size:clamp(40px,7vw,152px);}
.h2{font-size:clamp(30px,4.6vw,98px);font-weight:700;letter-spacing:-.02em;line-height:1.0;}
.lead{font-size:clamp(17px,1.5vw,28px);line-height:1.5;color:var(--ink-2);max-width:46ch;}
b,strong{font-weight:700;}
.u-accent{color:var(--accent);}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);
  font-size:15px;font-weight:600;text-decoration:none;padding:13px 22px;
  background:var(--ink);color:#fff;border:1px solid var(--ink);cursor:pointer;
  transition:background .18s,color .18s,transform .18s;}
.btn .ar{transition:transform .18s;}
.btn:hover{background:var(--accent);border-color:var(--accent);}
.btn:hover .ar{transform:translateX(4px);}
.btn.ghost{background:transparent;color:var(--ink);}
.btn.ghost:hover{background:var(--ink);color:#fff;}
.link{font-family:var(--sans);font-weight:600;font-size:15px;text-decoration:none;
  border-bottom:2px solid var(--ink);padding-bottom:2px;}
.link:hover{color:var(--accent);border-color:var(--accent);}

/* ---- layout ---- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);}
section{position:relative;}
.rule{height:1px;background:var(--line);border:0;margin:0;}
.sec-label{display:flex;align-items:center;gap:14px;font-family:var(--mono);
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);}
.sec-label .n{color:var(--accent);}
.sec-label::after{content:"";flex:1;height:1px;background:var(--line);}

/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;
  justify-content:space-between;padding:16px var(--gut);
  transition:background .3s,box-shadow .3s,padding .3s;}
.nav.solid{background:rgba(255,255,255,.86);backdrop-filter:blur(8px);
  box-shadow:0 1px 0 var(--line);padding-top:12px;padding-bottom:12px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.brand .mark{width:48px;height:48px;display:block;object-fit:contain;}
.brand .wm{font-weight:700;font-size:30px;letter-spacing:-.025em;}
.nav-r{display:flex;align-items:center;gap:28px;}
.nav-r a.navlink{font-size:14px;font-weight:500;text-decoration:none;color:var(--ink);}
.nav-r a.navlink:hover{color:var(--accent);}
.nav-cta{font-size:14px!important;font-weight:600;padding:9px 16px;background:var(--ink);
  color:#fff!important;text-decoration:none;border:1px solid var(--ink);}
.nav-cta:hover{background:var(--accent);border-color:var(--accent);}
.nav-cta.ghost{background:transparent;color:var(--ink)!important;}
.nav-cta.ghost:hover{background:var(--ink);color:#fff!important;border-color:var(--ink);}
@media(max-width:720px){.nav-r .ghost{display:none;}}

/* ===== HERO / THE RECKONING (first section — clears the fixed nav) ===== */
.hero{min-height:calc(100svh - 72px);display:flex;align-items:center;
  padding:clamp(92px,11vh,120px) 0 clamp(48px,8vh,90px);}
.hero-wrap{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(36px,6vw,88px);
  align-items:center;width:100%;}
@media(max-width:940px){
  .hero{min-height:0;padding-top:clamp(104px,14vh,128px);}
  .hero-wrap{grid-template-columns:1fr;gap:clamp(36px,6vh,52px);}
}

/* left — intro */
.hero-intro .sec-label{margin-bottom:clamp(24px,4vh,40px);}
.hero-h1{font-size:clamp(44px,6.4vw,150px);font-weight:700;letter-spacing:-.03em;
  line-height:.95;margin:0 0 clamp(20px,3vh,28px);}
.hero-h1 .l{display:block;}
.hero-h1 em{font-style:normal;color:var(--accent);}
.hero-lead{font-size:clamp(17px,1.45vw,28px);line-height:1.5;color:var(--ink-2);
  max-width:40ch;margin:0 0 clamp(26px,4vh,40px);}
.hero-cue{display:inline-flex;align-items:center;gap:14px;text-decoration:none;
  font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);padding-bottom:6px;border-bottom:1.5px solid var(--ink);
  transition:color .18s,border-color .18s,gap .18s;}
.hero-cue:hover{color:var(--accent);border-color:var(--accent);gap:20px;}
.hero-cue .cn{color:var(--ink-2);}
.hero-cue:hover .cn{color:var(--accent);}

/* right — THE ORBIT (sources revolving around a live prediction) */
.orbit{position:relative;width:100%;}
.orbit-stage{position:relative;width:100%;max-width:min(46vw,820px);margin:0 auto;aspect-ratio:1/1;}
@media(max-width:940px){.orbit-stage{max-width:500px;}}

/* the sources scatter organically — no visible guide ring (would read as a wheel) */
.orbit-ring{display:none;}

/* connector wire (source → box) — sits BEHIND the icons so it never crosses them */
.orbit-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;
  pointer-events:none;z-index:1;}

/* source chips — bare logos, no chip outline */
.orbit-srcs{position:absolute;inset:0;pointer-events:none;z-index:3;}
.src-chip{position:absolute;top:0;left:0;width:64px;height:64px;display:grid;place-items:center;
  will-change:transform;transform:translate(-50%,-50%);}
.src-chip img{width:90%;height:90%;object-fit:contain;filter:grayscale(1) contrast(.9);
  opacity:.42;transition:filter .45s,opacity .45s;}
.src-chip.lit{z-index:6;}
.src-chip.lit img{filter:none;opacity:1;}
@media(max-width:940px){.src-chip{width:54px;height:54px;}}

/* the prediction box — centered, smaller than the old card */
.pbox{position:absolute;left:50%;top:50%;width:min(46%,360px);
  transform:translate(-50%,-50%);z-index:5;
  border:1.5px solid var(--ink);border-top:5px solid var(--ink);background:#fff;
  box-shadow:9px 9px 0 var(--wash);padding:clamp(16px,1.7vw,22px);
  display:flex;flex-direction:column;gap:clamp(12px,1.5vh,16px);
  min-height:206px;justify-content:space-between;}
.pbox[data-verdict="correct"]{border-top-color:var(--accent);}
.pbox[data-verdict="incorrect"]{border-top-color:var(--bad);}
/* verdict header — top of the box, emphasised; colour only here + the top border */
.pb-verdict{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:700;
  font-size:17px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);line-height:1;}
.pb-verdict .vmk{width:14px;height:14px;border:2px solid currentColor;flex:0 0 auto;position:relative;}
.pb-verdict.pending{color:var(--ink-2);} .pb-verdict.pending .vmk{border-style:dashed;}
.pb-verdict.correct{color:var(--accent);}
.pb-verdict.correct .vmk{background:var(--accent);border-color:var(--accent);}
.pb-verdict.incorrect{color:var(--bad);}
.pb-verdict.incorrect .vmk{border-color:var(--bad);}
.pb-verdict.incorrect .vmk::before,.pb-verdict.incorrect .vmk::after{content:"";position:absolute;
  inset:-2px 5px;width:2px;background:var(--bad);}
.pb-verdict.incorrect .vmk::before{transform:rotate(45deg);}
.pb-verdict.incorrect .vmk::after{transform:rotate(-45deg);}
.pb-top{display:flex;align-items:center;gap:11px;}
.pb-portrait{width:42px;height:50px;flex:0 0 auto;margin:0;border:1px solid var(--ink);
  overflow:hidden;position:relative;background:var(--wash);}
.pb-portrait svg{position:absolute;inset:0;width:100%;height:100%;}
.pb-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pb-who{display:flex;flex-direction:column;gap:3px;min-width:0;}
.pb-name{font-size:clamp(16px,1.4vw,26px);font-weight:700;letter-spacing:-.02em;line-height:1;}
.pb-beat{font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-2);}
.pb-claim{font-size:clamp(18px,1.9vw,34px);line-height:1.16;letter-spacing:-.02em;
  font-weight:700;margin:0;text-wrap:balance;}
.pb-claim strong{font-weight:700;
  background:linear-gradient(transparent 58%, rgba(31,43,255,.20) 0);}
.pb-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding-top:clamp(11px,1.4vh,15px);border-top:1px solid var(--line);}
.pb-date{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--line-2);
  white-space:nowrap;}
.pb-date::before{content:"CLAIM · ";color:var(--line-2);}

/* breaking-news headline that unfurls beside the firing source */
.headline{position:absolute;top:0;left:0;width:min(58%,256px);z-index:6;
  background:var(--ink);color:#fff;border:1.5px solid var(--ink);
  box-shadow:0 16px 40px rgba(10,10,10,.28);
  opacity:0;transform:translateY(8px) scale(.96);transform-origin:right center;
  transition:transform .42s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;}
.headline.on{opacity:1;transform:none;}
.headline .hl-kick{display:flex;align-items:center;gap:7px;padding:8px 12px 0;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.62);}
.headline .hl-kick .dot{width:7px;height:7px;border-radius:50%;background:#ff3b30;
  flex:0 0 auto;animation:blink 1s steps(1,end) infinite;}
.headline .hl-txt{padding:5px 12px 12px;font-size:clamp(13px,1.25vw,15.5px);
  font-weight:700;line-height:1.2;letter-spacing:-.01em;text-wrap:balance;}
.headline .hl-src{padding:0 12px 11px;font-family:var(--mono);font-size:9px;
  letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);}
@keyframes blink{50%{opacity:.25;}}

/* progress pager (which prediction) */
.orbit-pager{display:flex;gap:12px;margin-top:clamp(16px,2.2vh,24px);
  max-width:min(46vw,820px);margin-left:auto;margin-right:auto;}

/* verdict stamp + record (reused across showcase) */
.vstamp{font-family:var(--mono);font-size:14px;letter-spacing:.16em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:10px;font-weight:700;}
.vstamp .mk{width:14px;height:14px;border:2px solid currentColor;flex:0 0 auto;}
.vstamp.correct{color:var(--accent);} .vstamp.correct .mk{background:var(--accent);border-color:var(--accent);}
.vstamp.incorrect{color:var(--ink);} .vstamp.incorrect .mk{position:relative;background:transparent;}
.vstamp.incorrect .mk::before,.vstamp.incorrect .mk::after{content:"";position:absolute;
  inset:-2px 5px;width:2px;background:var(--ink);}
.vstamp.incorrect .mk::before{transform:rotate(45deg);} .vstamp.incorrect .mk::after{transform:rotate(-45deg);}
.vstamp.pending{color:var(--ink-2);} .vstamp.pending .mk{border-style:dashed;}
.rec{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink-2);text-align:right;}
.rec b{color:var(--ink);font-weight:700;}
@media(max-width:560px){.rec{text-align:left;}}

/* pager */
.orbit-pager .sc-tab{flex:1;min-width:0;border:0;background:none;padding:0;cursor:pointer;
  text-align:left;font-family:var(--mono);display:block;}
.orbit-pager .sc-tab .tn{font-size:11px;letter-spacing:.12em;color:var(--ink-2);transition:color .2s;}
.orbit-pager .sc-tab .track{height:3px;background:var(--line);margin-top:8px;position:relative;overflow:hidden;}
.orbit-pager .sc-tab .track i{position:absolute;inset:0;background:var(--ink);
  transform:scaleX(0);transform-origin:left;}
.orbit-pager .sc-tab.active .tn{color:var(--ink);}
.orbit-pager .sc-tab.active .track i{background:var(--accent);}
.orbit-pager .sc-tab:hover .tn{color:var(--ink);}

/* ===== MATRIX ===== */
.matrix{padding:clamp(72px,11vh,140px) 0;background:var(--wash);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.matrix-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;
  gap:clamp(36px,5vw,90px);align-items:center;}
@media(max-width:860px){.matrix-grid{grid-template-columns:1fr;gap:clamp(32px,6vw,48px);}}
.matrix-rail h2{margin-bottom:22px;}
.matrix-rail .lead{margin-bottom:clamp(26px,3vw,38px);max-width:38ch;}
.legend{display:flex;flex-direction:column;gap:13px;
  border-top:1px solid var(--line);padding-top:22px;margin-bottom:26px;}
.legend .lg{display:flex;align-items:center;gap:14px;font-family:var(--mono);
  font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);line-height:1.3;}
.legend .lg b{color:var(--ink);font-weight:700;}
.legend .sw{width:16px;height:16px;flex:0 0 auto;display:grid;place-items:center;}
.legend .sw i{display:block;border-radius:50%;}
.lg.signal .sw i{width:13px;height:13px;background:var(--accent);box-shadow:0 0 0 4px rgba(31,43,255,.14);}
.lg.sealed .sw i{width:11px;height:11px;background:transparent;border:1.5px solid var(--ink-2);}
.lg.noise  .sw i{width:7px;height:7px;background:var(--ink);opacity:.34;}
.rail-readout{display:flex;align-items:center;gap:16px;}
.rail-readout .big{font-size:clamp(40px,4vw,58px);font-weight:700;letter-spacing:-.03em;line-height:.9;}
.rail-readout .rl{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-2);line-height:1.5;}
.rail-readout .rl b{color:var(--accent);}
.plot-wrap{display:flex;flex-direction:column;align-items:center;}
.plot{position:relative;border:1px solid var(--ink);background:#fff;aspect-ratio:1/1;
  width:100%;max-width:720px;margin:0;}
.plot-wrap .note{align-self:stretch;max-width:720px;margin:46px auto 0;text-align:center;}
@media(max-width:680px){.plot{aspect-ratio:1/1;}}
/* noise field — the cloud of unranked predictions */
.ndot{position:absolute;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;
  background:var(--ink);pointer-events:none;}
.ndot.s{width:11px;height:11px;background:transparent;border:1.5px solid var(--ink-2);
  pointer-events:auto;cursor:pointer;transition:border-color .18s,transform .18s;}
.ndot.s:hover{border-color:var(--ink);transform:translate(-50%,-50%) scale(1.18);}
.plot svg{position:absolute;inset:0;width:100%;height:100%;}
.qlab{position:absolute;font-family:var(--mono);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-2);padding:12px 14px;max-width:40%;line-height:1.3;}
.qlab b{display:block;color:var(--ink);font-weight:700;font-size:12.5px;}
.qtr{top:0;right:0;text-align:right;} .qtl{top:0;left:0;}
.qbr{bottom:0;right:0;text-align:right;} .qbl{bottom:0;left:0;}
.ax{position:absolute;font-family:var(--mono);font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink);}
.ax.x{bottom:-34px;left:50%;transform:translateX(-50%);}
.ax.y{top:50%;left:-22px;transform:translate(-50%,-50%) rotate(-90deg);}
.dot{position:absolute;transform:translate(-50%,-50%);cursor:pointer;width:44px;height:44px;
  display:grid;place-items:center;}
.dot .g{width:22px;height:22px;background:var(--ink);border-radius:50%;transition:transform .2s;}
.dot.key .g{background:var(--accent);box-shadow:0 0 0 5px rgba(31,43,255,.14);}
.dot:hover .g{transform:scale(1.35);}
.dot .t{position:absolute;left:42px;white-space:nowrap;font-family:var(--mono);font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);}
.dot.key .t{color:var(--ink);}
.dcard{position:absolute;z-index:20;width:232px;background:#fff;border:1px solid var(--ink);
  box-shadow:5px 5px 0 rgba(10,10,10,.12);opacity:0;transform:translateY(6px) scale(.97);
  transition:.18s;pointer-events:none;}
.dcard.on{opacity:1;transform:none;}
.dcard .dh{display:flex;gap:11px;padding:11px;border-bottom:1px solid var(--line);}
.dcard .dp{width:48px;height:58px;flex:0 0 auto;border:1px solid var(--ink);position:relative;
  overflow:hidden;background:var(--wash);}
.dcard .dp svg{position:absolute;inset:0;width:100%;height:100%;}
.dcard .dp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;}
.dcard .dn{font-weight:700;font-size:16px;letter-spacing:-.01em;}
.dcard .db{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-2);margin-top:4px;}
.dcard .dr{font-family:var(--mono);font-size:11px;margin-top:6px;}
.dcard .dc{padding:10px 11px;font-size:13.5px;line-height:1.32;color:var(--ink);}
.dcard.sealed .dc{font-family:var(--mono);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-2);}
.note{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--line-2);margin-top:14px;}

/* ===== INSIDE ===== */
.inside{padding:clamp(72px,11vh,140px) 0;}
.inside-head{margin-bottom:34px;max-width:54ch;}
.plates{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,26px);}
@media(max-width:740px){.plates{grid-template-columns:1fr;}}
.plate{border:1px solid var(--ink);background:#fff;display:flex;flex-direction:column;
  transition:transform .2s,box-shadow .2s;}
.plate:hover{transform:translateY(-3px);box-shadow:6px 6px 0 var(--wash);}
.plate .ph{display:flex;justify-content:space-between;align-items:baseline;padding:13px 15px;
  border-bottom:1px solid var(--ink);}
.plate .ph .pt{font-weight:700;font-size:17px;letter-spacing:-.01em;}
.plate .ph .pn{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.08em;}
.plate .pb{padding:15px;flex:1;}
.plate .pf{padding:10px 15px;border-top:1px solid var(--line);font-family:var(--mono);
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);}
/* leaderboard */
.lb{display:flex;flex-direction:column;}
.lb .r{display:grid;grid-template-columns:22px 1fr 120px;gap:12px;align-items:center;
  padding:8px 0;border-bottom:1px solid var(--line);font-size:15px;}
.lb .r:last-child{border-bottom:0;}
.lb .rk{font-family:var(--mono);font-size:12px;color:var(--accent);}
.lb .sealed{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-2);}
.lb .bar{display:flex;gap:3px;height:8px;}
.lb .bar i{flex:1;background:var(--line);}
.lb .bar i.on{background:var(--accent);}
.lb .pc{font-family:var(--mono);font-size:12px;text-align:right;}
/* dossier rows */
.drow{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);}
.drow:last-child{border-bottom:0;}
.chip{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid currentColor;padding:2px 6px;white-space:nowrap;font-weight:700;flex:0 0 auto;}
.chip.ok{color:var(--accent);} .chip.no{color:var(--ink);} .chip.pd{color:var(--ink-2);}
.dtxt{font-size:14px;line-height:1.34;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dtxt .s{font-family:var(--mono);font-size:10px;color:var(--line-2);}
.ev .eq{font-weight:700;font-size:17px;margin-bottom:6px;line-height:1.18;letter-spacing:-.01em;}
.ev .eres{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-2);margin-bottom:8px;padding-bottom:8px;border-bottom:1.5px solid var(--ink);}
.ev .ev-v{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;overflow:hidden;white-space:nowrap;}
.ev .ev-v b{font-weight:700;flex:0 0 auto;}
.ev .ev-c{color:var(--ink-2);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ev .er{display:flex;justify-content:space-between;align-items:center;padding:8px 0;
  border-bottom:1px solid var(--line);font-size:15px;}
.ev .er:last-child{border-bottom:0;}
.ev .sealed{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-2);}
.mth .mr{display:flex;gap:10px;padding:7px 0;font-size:14px;align-items:baseline;line-height:1.34;}
.mth .mn{font-family:var(--mono);font-size:11px;color:var(--accent);}
.mth .keyrow{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}

/* ===== CLOSING ===== */
.closing{padding:clamp(96px,16vh,200px) 0;text-align:center;}
.closing .emblem{width:clamp(160px,21vw,400px);height:auto;margin:0 auto 40px;display:block;}
.closing h2{font-size:clamp(38px,6.4vw,140px);font-weight:700;letter-spacing:-.025em;
  line-height:.98;max-width:18ch;margin:0 auto;}
.closing h2 .tail{color:var(--ink-2);}
.closing h2 .hi{color:var(--accent);}
.closing h2 .dim{color:var(--line-2);}
.closing .cc{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:42px;}

/* ===== EMAIL SIGNUP (closing) ===== */
.signup{max-width:680px;margin:0 auto 56px;}
/* input + button fused into one sharp framed bar, matching the brand rectangles */
.signup-row{display:flex;align-items:stretch;background:#fff;border:2.5px solid var(--ink);
  transition:border-color .18s,box-shadow .18s;}
.signup-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(31,43,255,.15);}
.signup-input{flex:1 1 auto;min-width:0;font-family:var(--sans);
  font-size:clamp(17px,1.5vw,21px);padding:22px 24px;color:var(--ink);
  background:transparent;border:0;outline:none;}
.signup-input::placeholder{color:var(--line-2);}
.signup-btn{flex:0 0 auto;border:0;border-left:2.5px solid var(--ink);
  font-size:clamp(15px,1.25vw,18px);padding:0 30px;white-space:nowrap;}
.signup-row:focus-within .signup-btn{border-left-color:var(--accent);}
.signup-btn:disabled{opacity:.55;cursor:default;}
.signup-msg{min-height:1.3em;margin:18px 0 0;font-family:var(--mono);font-size:14px;
  letter-spacing:.02em;text-align:center;}
.signup-msg.ok{color:var(--accent);}
.signup-msg.err{color:var(--bad);}
.signup.done .signup-row{display:none;}

/* stack to full-width input over button on narrow screens */
@media (max-width:560px){
  .signup-row{flex-direction:column;}
  .signup-btn{justify-content:center;border-left:0;border-top:2.5px solid var(--ink);
    padding:18px 30px;}
  .signup-row:focus-within .signup-btn{border-top-color:var(--accent);}
}

/* ===== FOOTER ===== */
.foot{border-top:1px solid var(--ink);padding:46px var(--gut) 40px;}
.foot-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:30px;}
@media(max-width:720px){.foot-grid{grid-template-columns:1fr;gap:26px;}}
.foot .foot-links{display:flex;flex-direction:column;}
.foot .foot-soc{display:flex;align-items:flex-start;gap:16px;}
.foot a.fl-soc{display:inline-flex;color:var(--ink);}
.foot a.fl-soc:hover{color:var(--accent);}
.foot .soc-i{width:20px;height:20px;fill:currentColor;}
.foot .fb{display:flex;align-items:center;gap:10px;}
.foot .fb .mark{width:40px;height:40px;object-fit:contain;}
.foot .fb .wm{font-weight:700;font-size:26px;letter-spacing:-.025em;}
.foot .disc{font-size:13px;color:var(--ink-2);max-width:46ch;margin-top:14px;line-height:1.5;}
.foot h5{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-2);margin:0 0 12px;font-weight:400;}
.foot a.fl{display:block;text-decoration:none;font-size:15px;padding:4px 0;color:var(--ink);}
.foot a.fl:hover{color:var(--accent);}
.foot .lh{max-width:var(--maxw);margin:30px auto 0;padding-top:16px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:14px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--line-2);flex-wrap:wrap;}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;}
}
