/* ============================================================================
   REDDENDA WARD — reddenda.finance · the protective layer for money in motion
   Fresh finance identity (sibling to reddenda.org's SENTINEL, not a clone of it).
   Design DNA: Palantir/Anduril/Stripe-grade infrastructure — dark cinematic hero
   -> warm-bone sections / ink type, NEAR-MONOCHROME + ONE warm accent (Signal Amber),
   MONO TABULAR numerals on every figure (the "this is infrastructure" tell), light-
   weight grotesque display, restraint over busy, transform/opacity 60fps motion only.
   SEMANTIC-COLOR FIREWALL (binding): --amber is BRAND CHROME ONLY. Green (recovered/
   cleared) + red (held/blocked) are PRODUCT-STATE ONLY (.is-rec / .is-held), never brand.
   ========================================================================== */

:root{
  /* ---- canvas ---- */
  --ink:#0A0A0B; --ink-2:#121317; --ink-3:#1B1C21; --ink-4:#26272D;
  --bone:#F2EEE4; --bone-2:#E8E3D6; --bone-3:#DBD5C5; --paper:#FAF8F2;
  /* warm neutral type ladder (on dark) */
  --d-1:rgba(242,238,228,.94); --d-2:rgba(242,238,228,.66); --d-3:rgba(242,238,228,.42); --d-4:rgba(242,238,228,.22);
  /* warm neutral type ladder (on bone) */
  --l-1:#0A0A0B; --l-2:#3A3A3C; --l-3:#6A6862; --l-4:#9A968C;
  /* ---- the one brand accent ---- */
  --amber:#FFB000; --amber-2:#FF9405; --amber-3:#FFC74D; --amber-ink:#8A5600;
  --amber-soft:rgba(255,176,0,.12); --amber-line:rgba(255,176,0,.30);
  /* ---- PRODUCT-STATE semantics ONLY (firewalled) ---- */
  --rec:#27C08A; --rec-dim:rgba(39,192,138,.16); --held:#E5534B; --held-dim:rgba(229,83,75,.15); --watch:#E8B341;
  /* ---- lines ---- */
  --line-d:rgba(242,238,228,.13); --line-d2:rgba(242,238,228,.07); --line-l:rgba(10,10,11,.12); --line-l2:rgba(10,10,11,.06);
  --ease:cubic-bezier(.16,1,.3,1); --ease-2:cubic-bezier(.22,.61,.36,1);
  --sans:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --wrap:1240px;
}

*{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;background:var(--ink);color:var(--d-1);
  font-family:var(--sans);font-size:17px;line-height:1.55;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img,svg,canvas{display:block;max-width:100%}
button{font-family:inherit}
h1,h2,h3,h4,h5{margin:0;font-weight:300;letter-spacing:-.035em;line-height:1.02}
strong,b{font-weight:600}
::selection{background:var(--amber);color:#0A0A0B}

/* mono / tabular numerals — the infrastructure signal, enforced everywhere a figure lives */
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}
.tnum,.num,.kpi-v,.fig{font-family:var(--mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 1}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px;position:relative}
@media(max-width:680px){.wrap{padding:0 20px}}
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);font-weight:500}
.eyebrow.dim{color:var(--d-3)}
section{position:relative}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}.reveal[data-d="4"]{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none}}

/* ===== buttons ===== */
.btn{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:500;line-height:1;
  padding:14px 22px;border-radius:3px;cursor:pointer;border:1px solid transparent;letter-spacing:-.01em;
  transition:transform .25s var(--ease),background .2s,border-color .2s,color .2s,box-shadow .25s;white-space:nowrap}
.btn .ar{transition:transform .25s var(--ease)}
.btn:hover .ar{transform:translateX(3px)}
.btn--amber{background:var(--amber);color:#0A0A0B;font-weight:600}
.btn--amber:hover{background:var(--amber-3);box-shadow:0 10px 34px -12px rgba(255,176,0,.6)}
.btn--ghost{border-color:var(--d-4);color:var(--d-1)}
.btn--ghost:hover{border-color:var(--d-1);background:rgba(242,238,228,.05)}
.btn--ink{background:var(--ink);color:var(--bone)}.btn--ink:hover{background:var(--ink-3)}
.btn--out{border-color:var(--line-l);color:var(--l-1)}.btn--out:hover{border-color:var(--l-1)}
.btn--lg{font-size:16px;padding:16px 28px}
.btn--sm{font-size:13.5px;padding:11px 16px}

/* ===== top mono strip ===== */
.strip{background:#070708;color:var(--d-2);font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;
  border-bottom:1px solid var(--line-d2);position:relative;z-index:60}
.strip__in{max-width:var(--wrap);margin:0 auto;padding:8px 32px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}
.strip a{color:var(--d-1);border-bottom:1px solid var(--amber-line);padding-bottom:1px}
.strip a:hover{border-color:var(--amber)}
.strip .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px var(--amber);flex:0 0 auto}
@media(max-width:680px){.strip__in{padding:7px 16px;font-size:10.5px}}

/* ===== nav ===== */
.nav{position:absolute;top:var(--strip-h,0px);left:0;right:0;z-index:50;transition:background .3s,backdrop-filter .3s,border-color .3s}
.nav.fixed{position:fixed;top:0;background:rgba(10,10,11,.72);backdrop-filter:blur(18px) saturate(1.2);border-bottom:1px solid var(--line-d);animation:navDrop .45s var(--ease)}
@keyframes navDrop{from{transform:translateY(-101%)}to{transform:none}}
.nav__in{max-width:var(--wrap);margin:0 auto;padding:17px 32px;display:flex;align-items:center;gap:24px}
@media(max-width:680px){.nav__in{padding:13px 20px}}
.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}
.brand .mk{width:30px;height:30px;flex:0 0 auto}
.brand .wm{display:flex;flex-direction:column;line-height:1}
.brand .wm b{font-weight:600;letter-spacing:.02em;font-size:16px;color:var(--bone)}
.brand .wm b .ward{color:var(--amber);font-weight:600}
.brand .wm small{font-family:var(--mono);font-size:8.5px;letter-spacing:.22em;color:var(--d-3);text-transform:uppercase;margin-top:3px}
.nav__links{display:flex;align-items:center;gap:25px;margin-left:auto;font-size:14.5px;color:var(--d-2)}
.nav__links a{position:relative;transition:color .2s}
.nav__links a:hover{color:var(--d-1)}
.nav__links a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--amber);transition:right .3s var(--ease)}
.nav__links a:hover::after{right:0}
.nav__cta{display:flex;align-items:center;gap:10px;margin-left:auto}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:9px;margin:-9px;background:none;border:0}
.burger span{width:22px;height:1.5px;background:var(--bone);transition:transform .3s var(--ease),opacity .2s}
@media(max-width:1080px){.nav__links{display:none}.nav__cta .btn--ghost{display:none}.burger{display:inline-flex;margin-left:auto}.nav__cta{margin-left:0}}
/* phones: collapse the lockup tagline + the inline CTA, leave the burger to carry the menu */
@media(max-width:600px){.brand .wm small{display:none}.nav__cta .btn--amber{display:none}}

/* drawer (mobile) */
.drawer{position:fixed;inset:0;z-index:90;background:rgba(7,7,8,.97);backdrop-filter:blur(10px);
  opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}
.drawer.open{opacity:1;visibility:visible}
.drawer__in{max-width:var(--wrap);margin:0 auto;padding:22px 24px;height:100%;display:flex;flex-direction:column;overflow:auto}
.drawer__top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-d);padding-bottom:18px}
.drawer__x{background:none;border:0;color:var(--bone);font-size:26px;cursor:pointer;line-height:1}
.drawer__links{display:flex;flex-direction:column;gap:2px;padding:26px 0;flex:1}
.drawer__links a{font-size:27px;font-weight:300;letter-spacing:-.03em;color:var(--d-1);padding:11px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line-d2)}
.drawer__links a small{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--d-3);text-transform:uppercase}
.drawer__cta{display:flex;flex-direction:column;gap:11px;padding:8px 0 26px}
.drawer__cta .btn{justify-content:center}

/* ===== section system ===== */
.sec{padding:118px 0}
@media(max-width:760px){.sec{padding:76px 0}}
.sec--ink{background:var(--ink);color:var(--d-1)}
.sec--ink2{background:var(--ink-2);color:var(--d-1)}
.sec--bone{background:var(--bone);color:var(--l-1)}
.sec--paper{background:var(--paper);color:var(--l-1)}
.sec--bone .eyebrow,.sec--paper .eyebrow{color:var(--amber-ink)}
.sec--bone .eyebrow.dim,.sec--paper .eyebrow.dim{color:var(--l-4)}
.lead{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:end;margin-bottom:62px}
@media(max-width:860px){.lead{grid-template-columns:1fr;gap:18px;margin-bottom:42px}}
.lead h2{font-size:clamp(33px,5vw,64px);letter-spacing:-.04em;max-width:17ch}
.lead p{font-size:clamp(16px,1.45vw,19px);max-width:50ch;line-height:1.5;color:var(--d-2)}
.sec--bone .lead p,.sec--paper .lead p{color:var(--l-2)}
.kicker{display:block;margin-bottom:22px}
.lead .kicker{grid-column:1/-1;margin-bottom:4px}

/* ===== HERO ===== */
.hero{position:relative;background:var(--ink);color:var(--d-1);overflow:hidden;padding:150px 0 84px;min-height:100vh;display:flex;align-items:center}
@media(max-width:980px){.hero{min-height:auto;padding:128px 0 64px}}
.hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero__aurora{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero__aurora b{position:absolute;border-radius:50%;filter:blur(90px);display:block;mix-blend-mode:screen}
.hero__aurora .a1{width:48vw;height:48vw;right:-6vw;top:-10vw;background:radial-gradient(circle,rgba(255,176,0,.22),transparent 60%);animation:auA 28s var(--ease) infinite}
.hero__aurora .a2{width:40vw;height:40vw;left:-12vw;bottom:-16vw;background:radial-gradient(circle,rgba(255,148,5,.14),transparent 62%);animation:auB 34s var(--ease) infinite}
@keyframes auA{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-5vw,4vh) scale(1.12)}}
@keyframes auB{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(5vw,-3vh) scale(1.1)}}
.hero__grid{position:relative;z-index:3;display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center;width:100%}
@media(max-width:980px){.hero__grid{grid-template-columns:1fr;gap:40px}}
.hero__copy{max-width:none}
.hero .kick{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--d-2);display:flex;align-items:center;gap:11px;margin-bottom:28px}
.hero .kick .live{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 11px var(--amber);animation:pulse 2.6s var(--ease) infinite;flex:0 0 auto}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.hero h1{font-size:clamp(40px,6.6vw,90px);letter-spacing:-.045em;font-weight:300;line-height:1.0}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.04em}
.hero h1 .ln>span{display:block;transform:translateY(112%);transition:transform 1.05s var(--ease)}
.hero.lit h1 .ln:nth-child(1)>span{transform:none;transition-delay:.05s}
.hero.lit h1 .ln:nth-child(2)>span{transform:none;transition-delay:.16s}
.hero.lit h1 .ln:nth-child(3)>span{transform:none;transition-delay:.27s}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero h1 .muted{color:var(--d-3)}
.hero .sub,.hero .ctas,.hero .trust{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.hero.lit .sub{opacity:1;transform:none;transition-delay:.5s}
.hero.lit .ctas{opacity:1;transform:none;transition-delay:.62s}
.hero.lit .trust{opacity:1;transform:none;transition-delay:.74s}
.hero .sub{margin-top:28px;font-size:clamp(16.5px,1.55vw,20px);color:var(--d-2);max-width:46ch;line-height:1.55}
.hero .sub b{color:var(--d-1);font-weight:500}
.hero .ctas{margin-top:34px;display:flex;gap:13px;flex-wrap:wrap}
.hero .trust{margin-top:26px;font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:var(--d-3);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hero .trust .sep{opacity:.4}
@media(prefers-reduced-motion:reduce){.hero__aurora b{animation:none}.hero h1 .ln>span,.hero .sub,.hero .ctas,.hero .trust{transform:none!important;opacity:1!important;transition:none}.hero .kick .live{animation:none}}

/* ----- The Line instrument (hero stage) ----- */
.stage{position:relative}
.instr{position:relative;border:1px solid var(--line-d);border-radius:10px;background:linear-gradient(180deg,#0c0d10,#08090b);overflow:hidden;box-shadow:0 40px 110px -40px rgba(0,0,0,.85),0 0 70px -30px rgba(255,176,0,.14)}
.instr__bar{display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid var(--line-d2);background:rgba(242,238,228,.015)}
.instr__bar .di{display:flex;gap:5px}
.instr__bar .di i{width:8px;height:8px;border-radius:2px;background:var(--ink-4)}
.instr__bar b{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--d-2)}
.instr__bar .tag{margin-left:auto;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--amber);display:flex;align-items:center;gap:6px;text-transform:uppercase}
.instr__bar .tag i{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 7px var(--amber)}
.instr__canvas{position:relative;width:100%;aspect-ratio:16/11.4;background:#07080a}
.instr__canvas canvas{position:absolute;inset:0;width:100%;height:100%}
.instr__legend{position:absolute;left:13px;top:11px;font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;color:var(--d-3);line-height:1.7;pointer-events:none}
.instr__legend .ln-r{color:var(--d-2)}.instr__legend .ln-i{color:var(--amber)}
.instr__counter{position:absolute;right:13px;top:11px;text-align:right;pointer-events:none}
.instr__counter .lab{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-3)}
.instr__counter .val{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(15px,1.7vw,21px);color:var(--rec);font-weight:500;margin-top:2px}
/* glass-box card that unfolds when a payment freezes */
.gbox{position:absolute;border:1px solid var(--line-d);background:rgba(10,11,13,.92);backdrop-filter:blur(6px);border-radius:7px;padding:11px 12px;width:min(74%,250px);font-family:var(--mono);opacity:0;transform:translateY(8px) scale(.97);transition:opacity .4s var(--ease),transform .4s var(--ease);box-shadow:0 18px 50px -20px rgba(0,0,0,.8)}
.gbox.show{opacity:1;transform:none}
.gbox__h{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.gbox__h .pill{padding:2px 7px;border-radius:3px;font-size:9px;font-weight:600}
.gbox .pill.is-held{background:var(--held-dim);color:var(--held);border:1px solid rgba(229,83,75,.4)}
.gbox .pill.is-rec{background:var(--rec-dim);color:var(--rec);border:1px solid rgba(39,192,138,.4)}
.gbox__r{font-size:10.5px;color:var(--d-2);margin-top:8px;line-height:1.45;font-family:var(--sans)}
.gbox__m{display:flex;justify-content:space-between;gap:10px;margin-top:9px;font-size:9.5px;color:var(--d-3)}
.gbox__m b{color:var(--d-1);font-weight:500}
.instr__foot{font-family:var(--mono);font-size:10px;color:var(--l-4);text-align:center;margin-top:13px;letter-spacing:.03em}
.sec--ink .instr__foot,.hero .instr__foot{color:var(--d-3)}

/* ===== logo / proof strip ===== */
.proofbar{background:#070708;border-top:1px solid var(--line-d2);border-bottom:1px solid var(--line-d2);padding:22px 0}
.proofbar__in{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;font-family:var(--mono);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--d-3)}
.proofbar__in b{color:var(--d-1);font-weight:500}
.proofbar__in .sep{opacity:.32}

/* ===== facts row (why-now) ===== */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-d)}
@media(max-width:860px){.facts{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.facts{grid-template-columns:1fr}}
.fact{padding:30px 26px 32px;border-right:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.fact:last-child{border-right:0}
@media(max-width:860px){.fact:nth-child(2n){border-right:0}}
@media(max-width:480px){.fact{border-right:0}}
.fact .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(24px,3vw,34px);color:var(--d-1);font-weight:400;letter-spacing:-.02em}
.fact .v em{font-style:normal;color:var(--amber)}
.fact .l{font-size:14px;color:var(--d-2);margin-top:9px;line-height:1.45}
.fact .src{font-family:var(--mono);font-size:9.5px;color:var(--d-4);margin-top:10px;letter-spacing:.03em}

/* ===== recovery doors / generic card grid ===== */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:860px){.cards{grid-template-columns:1fr}}
.cards.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.cards.two{grid-template-columns:1fr}}
.card{border:1px solid var(--line-l);border-radius:7px;padding:30px 28px;background:rgba(255,255,255,.4);transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;position:relative;overflow:hidden}
.sec--ink .card,.sec--ink2 .card{border-color:var(--line-d);background:rgba(242,238,228,.018)}
.card:hover{transform:translateY(-4px);box-shadow:0 26px 56px -26px rgba(10,10,11,.22);border-color:var(--l-3)}
.sec--ink .card:hover,.sec--ink2 .card:hover{box-shadow:0 26px 60px -26px rgba(0,0,0,.6);border-color:var(--line-d)}
.card .cn{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--amber)}
.card h4{font-size:21px;letter-spacing:-.025em;margin:13px 0 10px}
.card p{font-size:14.5px;line-height:1.5;color:var(--l-2)}
.sec--ink .card p,.sec--ink2 .card p{color:var(--d-2)}
.card .ico{width:30px;height:30px;color:var(--amber);margin-bottom:15px}
.card .meta{font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--l-4);margin-top:16px;text-transform:uppercase}
.sec--ink .card .meta,.sec--ink2 .card .meta{color:var(--d-3)}

/* ===== the ladder ===== */
.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-d)}
@media(max-width:860px){.ladder{grid-template-columns:1fr}}
.rung{padding:32px 26px 40px;border-right:1px solid var(--line-d);position:relative}
.rung:last-child{border-right:0}
@media(max-width:860px){.rung{border-right:0;border-bottom:1px solid var(--line-d)}}
.rung .topbar{position:absolute;top:-1px;left:0;height:2px;background:var(--amber);width:0;transition:width 1.1s var(--ease)}
.ladder.in .rung:nth-child(1) .topbar{width:100%}
.ladder.in .rung:nth-child(2) .topbar{width:76%;transition-delay:.12s}
.ladder.in .rung:nth-child(3) .topbar{width:50%;transition-delay:.24s}
.ladder.in .rung:nth-child(4) .topbar{width:26%;transition-delay:.36s}
.rung .n{font-family:var(--mono);font-size:11.5px;color:var(--d-3);letter-spacing:.06em}
.rung h3{font-size:26px;margin:14px 0 11px;letter-spacing:-.03em}
.rung h3 em{font-style:normal;color:var(--amber)}
.rung p{font-size:14.5px;color:var(--d-2);line-height:1.5}
.rung .tag{display:inline-block;margin-top:16px;font-family:var(--mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--d-3);border:1px solid var(--line-d);border-radius:3px;padding:3px 9px}
.rung .tag.live{color:var(--amber);border-color:var(--amber-line)}

/* ===== intelligence engine cells ===== */
.engine{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-d);border:1px solid var(--line-d);border-radius:8px;overflow:hidden}
@media(max-width:860px){.engine{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.engine{grid-template-columns:1fr}}
.cell{background:var(--ink-2);padding:30px 24px}
.cell .ic{width:28px;height:28px;color:var(--amber);margin-bottom:15px}
.cell h4{font-size:19px;letter-spacing:-.02em;margin-bottom:9px}
.cell p{font-size:13.5px;color:var(--d-2);line-height:1.5}
.note{font-family:var(--mono);font-size:12px;color:var(--d-3);margin-top:26px;letter-spacing:.01em;max-width:78ch;line-height:1.65}
.note b{color:var(--amber);font-weight:500}

/* ===== moat / commons ===== */
.moat{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:860px){.moat{grid-template-columns:1fr}}
.m{border-top:2px solid var(--l-1);padding:24px 0 0}
.sec--ink .m,.sec--ink2 .m{border-top-color:var(--d-1)}
.m.key{border-top-color:var(--amber)}.m.key h4{color:var(--amber)}
.m .mn{font-family:var(--mono);font-size:11.5px;color:var(--l-4);letter-spacing:.05em}
.sec--ink .m .mn,.sec--ink2 .m .mn{color:var(--d-3)}
.m h4{font-size:20px;letter-spacing:-.02em;margin:12px 0 9px}
.m p{font-size:14px;color:var(--l-2);line-height:1.55}
.sec--ink .m p,.sec--ink2 .m p{color:var(--d-2)}

/* ===== two doors ===== */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:820px){.doors{grid-template-columns:1fr}}
.door{border:1px solid var(--line-d);border-radius:10px;padding:40px 36px;position:relative;overflow:hidden;background:var(--ink-2);display:flex;flex-direction:column}
.door--people{background:linear-gradient(180deg,#15140f,#0e0d0b)}
.door__tag{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}
.door h3{font-size:clamp(26px,3vw,38px);letter-spacing:-.03em;margin:16px 0 14px}
.door .big{font-size:clamp(20px,2vw,25px);color:var(--d-1);font-weight:300;letter-spacing:-.02em;margin-bottom:12px;line-height:1.25}
.door p{font-size:15px;color:var(--d-2);line-height:1.55}
.door ul{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:11px}
.door li{font-size:14px;color:var(--d-2);display:flex;gap:11px;line-height:1.45}
.door li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber);margin-top:7px;flex:0 0 auto}
.door .door__cta{margin-top:auto;padding-top:26px;display:flex;gap:10px;flex-wrap:wrap}

/* ===== manifesto + ledger ===== */
.manifesto{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start}
@media(max-width:860px){.manifesto{grid-template-columns:1fr;gap:34px}}
.manifesto h2{font-size:clamp(30px,4.2vw,52px);letter-spacing:-.04em;line-height:1.05}
.manifesto h2 em{font-style:normal;color:var(--amber)}
.manifesto .lede{font-size:17px;color:var(--d-2);margin-top:22px;line-height:1.55;max-width:46ch}
.ledger{border:1px solid var(--line-d);border-radius:9px;background:#08090b;overflow:hidden;font-family:var(--mono)}
.ledger__h{display:flex;align-items:center;gap:9px;padding:13px 15px;border-bottom:1px solid var(--line-d2);font-size:11px;letter-spacing:.07em;color:var(--d-2);text-transform:uppercase}
.ledger__h .dot{width:7px;height:7px;border-radius:50%;background:var(--rec);box-shadow:0 0 7px var(--rec)}
.ledger__row{padding:14px 15px;border-bottom:1px solid var(--line-d2);display:grid;gap:6px}
.ledger__row:last-child{border-bottom:0}
.ledger__row .top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px}
.ledger__row .step{color:var(--d-1)}
.ledger__row .conf{color:var(--d-3);font-variant-numeric:tabular-nums}
.ledger__row .ev{font-size:10.5px;color:var(--d-3);line-height:1.5;font-family:var(--sans)}
.ledger__row .who{font-size:10px;color:var(--amber);display:flex;align-items:center;gap:6px}
.ledger__row .who::before{content:"◆";font-size:8px}
.ledger__hash{font-size:9.5px;color:var(--d-4);letter-spacing:.02em;word-break:break-all}

/* ===== proof tiles ===== */
.proof{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media(max-width:980px){.proof{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.proof{grid-template-columns:1fr}}
.tile{border:1px solid var(--line-d);border-radius:8px;padding:24px 20px;background:var(--ink-2)}
.tile .tv{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(22px,2.4vw,30px);color:var(--d-1);font-weight:400;display:flex;align-items:baseline;gap:6px}
.tile .tv .u{font-size:.5em;color:var(--d-3)}
.tile .tv.idx{color:var(--amber);font-size:18px;letter-spacing:.02em}
.tile .tl{font-size:13px;color:var(--d-2);margin-top:11px;line-height:1.4}
.tile .ts{font-family:var(--mono);font-size:9.5px;color:var(--d-4);margin-top:10px;letter-spacing:.04em;text-transform:uppercase}

/* ===== investor band ===== */
.invest{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center}
@media(max-width:860px){.invest{grid-template-columns:1fr;gap:32px}}
.invest h2{font-size:clamp(30px,4.4vw,56px);letter-spacing:-.04em;line-height:1.04}
.invest h2 em{font-style:normal;color:var(--amber)}
.invest p{font-size:16px;color:var(--d-2);line-height:1.55;margin-top:20px;max-width:48ch}
.invest .arc{border:1px solid var(--line-d);border-radius:9px;overflow:hidden;font-family:var(--mono)}
.invest .arc__row{padding:16px 18px;border-bottom:1px solid var(--line-d2);display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.invest .arc__row:last-child{border-bottom:0}
.invest .arc__row .k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--d-3)}
.invest .arc__row .v{font-size:14px;color:var(--d-1);text-align:right;font-variant-numeric:tabular-nums}
.invest .arc__row .v em{font-style:normal;color:var(--amber)}

/* ===== closing CTA band ===== */
.cta-band{background:var(--bone);color:var(--l-1);text-align:center;padding:120px 0}
.cta-band h2{font-size:clamp(32px,5vw,64px);letter-spacing:-.04em;max-width:20ch;margin:0 auto 18px}
.cta-band h2 em{font-style:normal;color:var(--amber-ink)}
.cta-band p{font-size:18px;color:var(--l-2);max-width:50ch;margin:0 auto 30px;line-height:1.5}
.cta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:760px;margin:0 auto}
@media(max-width:680px){.cta-grid{grid-template-columns:1fr}}
.cta-grid .btn{justify-content:space-between;text-align:left;padding:18px 22px;white-space:normal}
.cta-grid .btn .ar{flex:0 0 auto;margin-left:10px}

/* ===== footer ===== */
.foot{background:#070708;color:var(--d-2);border-top:1px solid var(--line-d2);padding:60px 0 44px;font-size:13.5px}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
@media(max-width:860px){.foot__grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot__grid{grid-template-columns:1fr}}
.foot__brand .wm b{color:var(--bone);font-weight:600;font-size:16px}
.foot__brand .wm b .ward{color:var(--amber)}
.foot__brand p{color:var(--d-3);font-size:13px;margin-top:14px;max-width:34ch;line-height:1.55}
.foot__col h5{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--d-3);margin:0 0 16px;font-weight:500}
.foot__col a{display:block;color:var(--d-2);padding:5px 0;transition:color .2s}
.foot__col a:hover{color:var(--d-1)}
.foot__col a .fam{color:var(--amber);font-size:10px;font-family:var(--mono);letter-spacing:.05em;margin-left:7px}
.foot__legal{border-top:1px solid var(--line-d2);margin-top:44px;padding-top:26px;font-family:var(--mono);font-size:11px;color:var(--d-4);line-height:1.7;letter-spacing:.01em;max-width:96ch}
.foot__legal b{color:var(--d-2);font-weight:500}
.foot__base{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:22px;font-family:var(--mono);font-size:11px;color:var(--d-4)}

/* low-perf / reduced-motion: kill continuous ambient motion */
html.low-perf .hero__aurora b{animation:none}
@media(prefers-reduced-motion:reduce){.hero__aurora b{animation:none}}

/* ============================================================================
   THE LINE — runtime layer (additive). Canonical easing tokens + the settlement
   Line div (razor-crisp CSS, never canvas), focal payment chip, contact flare,
   bracket, ripple, glass-box confidence odometer, honest instrument counter,
   film grain + vignette, cursor light-spot, magnetic doors. ALL motion is
   transform/opacity/clip-path only. FIREWALL: amber = brand glow; green/red =
   product-state only, never bloom.
   ========================================================================== */
:root{
  --ease-settle:cubic-bezier(.16,1,.3,1);    /* reveals / card / odometer / ignition */
  --ease-glide:cubic-bezier(.4,0,.2,1);      /* transport: ledger drift / parallax */
  --ease-terminal:cubic-bezier(.22,1,.36,1); /* ticker + freeze ripple */
  --ease-rush:cubic-bezier(.55,0,1,.45);     /* accel into the Line — point of no return */
  --ease-hold:cubic-bezier(.7,0,.84,0);      /* swarm-tighten into the clamp */
  --ease-clamp:cubic-bezier(.9,0,.1,1);      /* the 140ms gavel dead-stop */
  --ease-snap:cubic-bezier(.34,1.56,.64,1);  /* the ONLY overshoot */
  --ease-breath:cubic-bezier(.37,0,.63,1);   /* the line lung */
  --line-x:58%;                              /* settlement line position in the stage */
}
@media(max-width:680px){:root{--line-x:64%}}

/* film grain + inset vignette — premium-per-byte, fixed, pointer-through */
.grain{position:fixed;inset:0;z-index:120;pointer-events:none;opacity:.035;mix-blend-mode:overlay;
  background-image:var(--grain-url);background-size:128px 128px}
.vignette{position:fixed;inset:0;z-index:8;pointer-events:none;
  background:radial-gradient(120% 120% at 50% 42%,transparent 58%,rgba(0,0,0,.45) 100%,#060607)}
html.low-perf .grain{display:none}

/* cursor amber light-spot (pointer:fine + capable only; JS adds .has-spot) */
.lightspot{position:fixed;left:0;top:0;width:360px;height:360px;margin:-180px 0 0 -180px;z-index:7;
  pointer-events:none;border-radius:50%;mix-blend-mode:screen;opacity:0;
  background:radial-gradient(circle,rgba(255,176,0,.10),transparent 66%);
  transition:opacity .4s var(--ease-settle);will-change:transform}
html.has-spot .lightspot{opacity:1}

/* hero radial amber spill (static, never repainted) */
.hero__spill{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 62% at 58% 52%,rgba(255,176,0,.10),transparent 70%)}

/* ---- the stage (right column instrument) ---- */
.stage{position:relative}
.l-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}

/* the settlement Line — 2px core + bloom sibling, razor crisp at any DPR */
.l-line{position:absolute;top:0;bottom:0;left:var(--line-x);width:0;z-index:3;pointer-events:none;
  transform:translateX(-1px)}
.l-line__core{position:absolute;top:8%;bottom:8%;left:0;width:2px;border-radius:2px;
  background:linear-gradient(180deg,transparent,#FFC23D 12%,#FFB000 50%,#FFC23D 88%,transparent);
  transform:scaleY(0);transform-origin:center;transition:transform .7s var(--ease-settle)}
.l-line.draw .l-line__core{transform:scaleY(1)}
.l-line__bloom{position:absolute;top:6%;bottom:6%;left:1px;width:2px;border-radius:3px;background:#FFB000;
  transform:translateX(-1px) scaleX(1);opacity:.0;transition:opacity .7s var(--ease-settle);
  box-shadow:0 0 1px #FFC23D,0 0 8px rgba(255,176,0,.55),0 0 26px rgba(255,176,0,.30),0 0 72px rgba(255,176,0,.12)}
.l-line.draw .l-line__bloom{opacity:1;animation:lineLung 4.2s var(--ease-breath) infinite}
.l-line.spike .l-line__bloom{box-shadow:0 0 22px rgba(255,176,0,.80),0 0 64px rgba(255,176,0,.35)}
@keyframes lineLung{0%,100%{opacity:.85;transform:translateX(-1px) scaleX(.9)}55%{opacity:1;transform:translateX(-1px) scaleX(1.5)}}
/* travelling shimmer node = the LIVE tell */
.l-spark{position:absolute;left:var(--line-x);width:3px;height:34px;margin-left:-1.5px;z-index:4;pointer-events:none;
  border-radius:3px;background:linear-gradient(180deg,transparent,#FFF3D6,transparent);opacity:.85;
  filter:none;animation:sparkRun 6s linear infinite}
@keyframes sparkRun{0%{top:-12%}100%{top:100%}}

/* focal payment chip — real semantic DOM, travels via JS transform */
.l-pay{position:absolute;top:42%;left:0;z-index:5;display:inline-flex;align-items:center;gap:7px;
  padding:5px 9px;border-radius:4px;border:1px solid var(--amber-line);background:rgba(12,10,6,.82);
  font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11px;letter-spacing:.02em;color:var(--d-1);
  white-space:nowrap;opacity:0;transform:translate(0,-50%);will-change:transform,opacity;
  box-shadow:0 0 0 1px rgba(255,176,0,.08)}
.l-pay .amt{color:#FFE6AD}.l-pay .ty{color:var(--d-3)}
.l-pay.on{opacity:1}
.l-pay.held{border-color:rgba(229,83,75,.7);box-shadow:0 0 0 1px var(--held-dim),0 0 14px -4px var(--held)}
.l-pay.cleared{border-color:rgba(39,192,138,.7);box-shadow:0 0 0 1px var(--rec-dim),0 0 14px -4px var(--rec)}
.l-pay__bracket{position:absolute;inset:-5px -7px;border:1px solid var(--amber);border-radius:5px;opacity:0;
  transform:scale(1.18);transition:opacity .18s var(--ease-clamp),transform .18s var(--ease-clamp)}
.l-pay.frozen .l-pay__bracket{opacity:.92;transform:scale(1)}

/* freeze ripple ring + contact flare */
.l-ring{position:absolute;z-index:4;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;
  border:1px solid var(--amber);opacity:0;pointer-events:none;transform:scale(.2)}
.l-ring.go{animation:ripple .6s var(--ease-terminal) forwards}
@keyframes ripple{0%{opacity:.9;transform:scale(.2)}100%{opacity:0;transform:scale(1.9)}}
.l-flare{position:absolute;z-index:4;width:220px;height:220px;margin:-110px 0 0 -110px;border-radius:50%;
  pointer-events:none;opacity:0;transform:scale(.6);mix-blend-mode:screen;
  background:radial-gradient(circle,rgba(255,243,214,.9),rgba(255,176,0,.34) 36%,transparent 68%)}
.l-flare.go{animation:flare .52s var(--ease-settle) forwards}
@keyframes flare{0%{opacity:0;transform:scale(.6)}40%{opacity:.9}100%{opacity:0;transform:scale(1.4)}}
.l-streak{position:absolute;z-index:4;height:2px;width:180px;margin-top:-1px;pointer-events:none;opacity:0;
  transform:scaleX(.2);transform-origin:left center;mix-blend-mode:screen;
  background:linear-gradient(90deg,transparent,rgba(255,194,61,.9),transparent)}
.l-streak.go{animation:streak .5s var(--ease-phosphor,linear) forwards}
@keyframes streak{0%{opacity:.9;transform:scaleX(.2)}100%{opacity:0;transform:scaleX(1)}}

/* glass-box confidence odometer + meter + the human line */
.gbox__conf{display:flex;align-items:center;gap:9px;margin-top:9px}
.gbox__conf .cv{font-family:var(--mono);font-variant-numeric:tabular-nums slashed-zero;font-size:13px;color:var(--d-1)}
.gbox__meter{flex:1;height:2px;background:var(--line-d);border-radius:2px;overflow:hidden}
.gbox__meter i{display:block;height:100%;width:100%;background:var(--amber);transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--ease-settle)}
.gbox.show .gbox__meter i{transform:scaleX(var(--c,.94))}
.gbox__human{margin-top:10px;font-style:italic;font-weight:300;font-size:11px;color:var(--amber);opacity:0;
  transition:opacity .5s var(--ease-settle) .25s}
.gbox.show .gbox__human{opacity:1}

/* honest instrument counter: split-flap + indexing skeleton + permanent illustrative chip */
.instr__counter .val.idx{color:var(--d-3);font-size:13px;letter-spacing:.04em}
.instr__counter .val .ph{position:relative}
.instr__counter .chip{display:inline-flex;align-items:center;gap:5px;margin-top:5px;font-family:var(--mono);
  font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,176,0,.8)}
.instr__counter .chip::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber);box-shadow:0 0 6px var(--amber)}
.fig__glow{position:absolute;inset:0;color:var(--amber);opacity:0;pointer-events:none;filter:blur(0.6px)}

/* magnetic doors get JS-driven transform; underline wipe on CTAs */
.btn.mag{will-change:transform}
.u-wipe{position:relative}
.u-wipe::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:var(--amber);transition:right .4s var(--ease-settle)}
.u-wipe:hover::after,.u-wipe:focus-visible::after{right:0}

/* amber spine — the continuous settlement rail down the page */
.spine{position:fixed;left:max(14px,calc((100vw - var(--wrap))/2 - 6px));top:0;bottom:0;width:1px;z-index:6;pointer-events:none;
  background:linear-gradient(180deg,transparent,var(--amber-line) 8%,var(--amber-line) 92%,transparent)}
.spine i{position:absolute;left:-1px;width:3px;height:64px;border-radius:3px;
  background:linear-gradient(180deg,transparent,var(--amber),transparent);
  top:calc(var(--p,0)*100%);transform:translateY(-50%);opacity:.9;box-shadow:0 0 10px rgba(255,176,0,.5)}
@media(max-width:1180px){.spine{display:none}}
html.low-perf .spine i{box-shadow:none}

/* a11y focus */
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px}

/* reduced-motion / low-perf: settle The Line into a designed apex STILL */
@media(prefers-reduced-motion:reduce){
  .l-line__core{transform:scaleY(1)!important}
  .l-line__bloom{opacity:1!important;animation:none!important}
  .l-spark{animation:none!important;opacity:.4}
  .gbox__human{opacity:1!important;transition:none}
  .gbox__meter i{transition:none}
}
html.low-perf .l-line__bloom{animation:none}
html.low-perf .l-spark{display:none}

/* ============================================================================
   TWO-TIER MEGA-MENU (Palantir / reddenda.com launchpad grammar)
   Desktop: tier-1 triggers in the bar -> tier-2 grouped dropdown panels with
   descriptions. Mobile: full-screen accordion drawer with the same model.
   Injected by ward-nav.js. transform/opacity only; reduced-motion safe.
   ========================================================================== */
.mm-bar{display:flex;align-items:center;gap:2px;margin-left:28px}
.mm-trig{position:relative;font-family:inherit;font-size:14.5px;letter-spacing:-.01em;color:var(--d-2);background:none;border:0;cursor:pointer;
  padding:9px 13px;border-radius:5px;display:inline-flex;align-items:center;gap:7px;transition:color .2s,background .2s}
.mm-trig .cv{width:7px;height:7px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s var(--ease);opacity:.7}
.mm-trig:hover,.mm-trig.on{color:var(--d-1);background:rgba(242,238,228,.05)}
.mm-trig.on .cv{transform:translateY(0) rotate(225deg)}
.mm-trig::after{content:"";position:absolute;left:13px;right:13px;bottom:3px;height:1px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease)}
.mm-trig:hover::after,.mm-trig.on::after{transform:scaleX(1)}

.mm-dock{position:absolute;top:calc(100% - 6px);left:50%;transform:translateX(-50%);width:min(940px,calc(100vw - 28px));z-index:55;pointer-events:none}
.mm-panel{position:absolute;top:0;left:0;right:0;background:rgba(12,12,14,.97);backdrop-filter:blur(22px) saturate(1.2);
  border:1px solid var(--line-d);border-radius:14px;padding:22px;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.99);
  transition:opacity .26s var(--ease),transform .26s var(--ease),visibility .26s;box-shadow:0 44px 110px -44px rgba(0,0,0,.85),0 0 0 1px rgba(0,0,0,.3)}
.mm-panel.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.mm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(216px,1fr));gap:4px 18px}
.mm-grid.feat{grid-template-columns:1.2fr 1fr 1fr}
@media(max-width:880px){.mm-grid.feat{grid-template-columns:1fr 1fr}}
.mm-h{grid-column:1/-1;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--d-3);padding:4px 12px 10px}
.mm-col{display:flex;flex-direction:column}
.mm-col .mm-h{grid-column:auto;padding:6px 12px 8px}
.mm-link{display:flex;gap:11px;align-items:flex-start;padding:10px 12px;border-radius:9px;transition:background .18s}
.mm-link:hover{background:rgba(242,238,228,.045)}
.mm-link .ic{width:17px;height:17px;color:var(--amber);flex:0 0 auto;margin-top:2px}
.mm-link .tx b{font-size:14.5px;color:var(--d-1);font-weight:500;letter-spacing:-.01em;display:block}
.mm-link .tx b .live{color:var(--amber);font-family:var(--mono);font-size:9px;letter-spacing:.08em;margin-left:7px;text-transform:uppercase}
.mm-link .tx small{display:block;font-size:12px;color:var(--d-3);margin-top:2px;line-height:1.4}
.mm-link:hover .tx b{color:#fff}
.mm-panel__foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:15px 12px 4px;border-top:1px solid var(--line-d2);flex-wrap:wrap}
.mm-panel__foot .mm-note{font-family:var(--mono);font-size:10.5px;color:var(--d-3);letter-spacing:.02em}
.mm-panel__foot .mm-note b{color:var(--amber);font-weight:500}

/* a hover bridge so the cursor can travel from trigger to panel without closing */
.mm-dock::before{content:"";position:absolute;top:-12px;left:0;right:0;height:14px}

@media(max-width:1080px){.mm-bar,.mm-dock{display:none}}

/* ---- mobile accordion drawer (reuses .drawer base) ---- */
.mm-acc{border-bottom:1px solid var(--line-d2)}
.mm-acc__t{width:100%;background:none;border:0;color:var(--d-1);font-family:inherit;text-align:left;
  font-size:25px;font-weight:300;letter-spacing:-.03em;padding:15px 2px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.mm-acc__t .cv{width:9px;height:9px;border-right:1.6px solid var(--d-3);border-bottom:1.6px solid var(--d-3);transform:rotate(45deg);transition:transform .3s var(--ease);margin-right:4px}
.mm-acc.open .mm-acc__t{color:var(--amber)}
.mm-acc.open .mm-acc__t .cv{transform:rotate(225deg);border-color:var(--amber)}
.mm-acc__p{overflow:hidden;max-height:0;transition:max-height .38s var(--ease)}
.mm-acc__p .in{padding:2px 0 14px 6px;display:flex;flex-direction:column;gap:1px}
.mm-acc__p a{display:block;padding:9px 0;color:var(--d-2);font-size:15.5px;transition:color .2s}
.mm-acc__p a:hover,.mm-acc__p a:focus-visible{color:var(--d-1)}
.mm-acc__p a small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--d-4);margin-top:2px}
.mm-acc__p a .live{color:var(--amber)}
@media(prefers-reduced-motion:reduce){.mm-acc__p{transition:none}.mm-trig .cv,.mm-acc__t .cv{transition:none}}

/* ============================================================================
   FUNNELS — premium multi-step modal forms (Netlify Forms, no metered API)
   + sticky audience CTA bar. Injected by ward.js. transform/opacity/clip-path.
   ========================================================================== */
.ff-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;
  background:rgba(5,5,7,.72);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s}
.ff-modal.open{opacity:1;visibility:visible}
.ff-card{position:relative;width:min(540px,100%);max-height:calc(100vh - 48px);overflow:auto;
  background:linear-gradient(180deg,#101115,#0a0b0d);border:1px solid var(--line-d);border-radius:16px;
  padding:30px 30px 26px;box-shadow:0 60px 140px -50px rgba(0,0,0,.9),0 0 80px -40px rgba(255,176,0,.12);
  transform:translateY(14px) scale(.985);transition:transform .4s var(--ease);scrollbar-width:thin}
.ff-modal.open .ff-card{transform:none}
@media(max-width:560px){.ff-card{padding:24px 20px 20px;border-radius:14px}}
.ff-x{position:absolute;top:16px;right:16px;width:34px;height:34px;border:0;background:rgba(242,238,228,.05);border-radius:8px;color:var(--d-2);font-size:20px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.ff-x:hover{background:rgba(242,238,228,.1);color:var(--d-1)}
.ff-eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);display:flex;align-items:center;gap:8px}
.ff-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px var(--amber)}
.ff-card h3{font-size:clamp(22px,3.4vw,28px);letter-spacing:-.03em;margin:13px 0 8px;max-width:20ch}
.ff-card h3 em{font-style:normal;color:var(--amber)}
.ff-sub{font-size:14px;color:var(--d-2);line-height:1.5;max-width:46ch}

/* progress */
.ff-prog{display:flex;gap:6px;margin:20px 0 22px}
.ff-prog i{height:3px;flex:1;border-radius:3px;background:var(--line-d);overflow:hidden;position:relative}
.ff-prog i::after{content:"";position:absolute;inset:0;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.ff-prog i.done::after{transform:scaleX(1)}

/* steps */
.ff-step{display:none}.ff-step.on{display:block;animation:ffIn .4s var(--ease)}
@keyframes ffIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
.ff-q{font-size:16px;color:var(--d-1);font-weight:500;letter-spacing:-.01em;margin-bottom:14px}
.ff-q small{display:block;font-weight:400;font-size:12.5px;color:var(--d-3);margin-top:4px;font-family:var(--sans)}

/* choice chips */
.ff-opts{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ff-opts.one{grid-template-columns:1fr}
@media(max-width:440px){.ff-opts{grid-template-columns:1fr}}
.ff-opt{display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid var(--line-d);border-radius:10px;cursor:pointer;
  background:rgba(242,238,228,.012);transition:border-color .2s,background .2s;font-size:14px;color:var(--d-1);text-align:left}
.ff-opt:hover{border-color:var(--l-3);background:rgba(242,238,228,.03)}
.ff-opt.sel{border-color:var(--amber);background:rgba(255,176,0,.06)}
.ff-opt .bx{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--d-3);flex:0 0 auto;position:relative;transition:border-color .2s,background .2s}
.ff-opt.sel .bx{border-color:var(--amber);background:var(--amber)}
.ff-opt.sel .bx::after{content:"";position:absolute;left:4.5px;top:1.5px;width:4px;height:8px;border:solid #0a0a0b;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ff-opt.radio .bx{border-radius:50%}.ff-opt.radio.sel .bx::after{left:5px;top:5px;width:5px;height:5px;border:0;background:#0a0a0b;border-radius:50%;transform:none}
.ff-opt small{display:block;font-size:11.5px;color:var(--d-3);margin-top:2px}

/* text fields */
.ff-field{margin-bottom:14px}
.ff-field label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--d-3);margin-bottom:7px}
.ff-field input,.ff-field textarea,.ff-field select{width:100%;background:rgba(242,238,228,.025);border:1px solid var(--line-d);border-radius:9px;
  padding:12px 13px;color:var(--d-1);font-family:inherit;font-size:14.5px;transition:border-color .2s,background .2s}
.ff-field input:focus,.ff-field textarea:focus,.ff-field select:focus{outline:none;border-color:var(--amber);background:rgba(255,176,0,.03)}
.ff-field input::placeholder,.ff-field textarea::placeholder{color:var(--d-4)}
.ff-field textarea{resize:vertical;min-height:74px}
.ff-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:440px){.ff-row{grid-template-columns:1fr}}
.ff-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* honest illustrative readout (shadow-scan) */
.ff-illus{border:1px solid var(--amber-line);border-radius:11px;padding:16px 16px 14px;background:rgba(255,176,0,.04);margin-bottom:16px}
.ff-illus .h{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);margin-bottom:9px}
.ff-illus ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ff-illus li{display:flex;gap:9px;font-size:13px;color:var(--d-2);line-height:1.45}
.ff-illus li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber);margin-top:7px;flex:0 0 auto}
.ff-illus .chip{display:inline-flex;align-items:center;gap:5px;margin-top:11px;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,176,0,.85)}
.ff-illus .chip::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber)}

/* actions */
.ff-actions{display:flex;gap:10px;align-items:center;margin-top:20px}
.ff-actions .ff-back{margin-right:auto;background:none;border:0;color:var(--d-3);font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;cursor:pointer;padding:8px 4px;transition:color .2s}
.ff-actions .ff-back:hover{color:var(--d-1)}
.ff-actions .btn{flex:0 0 auto}
.ff-note{font-family:var(--mono);font-size:10.5px;color:var(--d-3);margin-top:14px;line-height:1.6;letter-spacing:.01em}
.ff-note a{color:var(--amber);border-bottom:1px solid var(--amber-line)}

/* success */
.ff-done{text-align:center;padding:14px 6px 8px;display:none}
.ff-done.on{display:block;animation:ffIn .45s var(--ease)}
.ff-done .tick{width:54px;height:54px;border-radius:50%;border:1.5px solid var(--rec);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--rec)}
.ff-done h3{margin:0 0 8px}.ff-done p{font-size:14px;color:var(--d-2);max-width:38ch;margin:0 auto 20px;line-height:1.5}

/* err */
.ff-err{display:none;font-size:12.5px;color:var(--held);margin-top:10px}
.ff-err.on{display:block}

/* ---- sticky audience CTA bar ---- */
.cta-stick{position:fixed;left:0;right:0;bottom:0;z-index:150;transform:translateY(110%);transition:transform .5s var(--ease);
  background:rgba(10,10,11,.86);backdrop-filter:blur(18px) saturate(1.2);border-top:1px solid var(--line-d);padding:11px 0}
.cta-stick.show{transform:none}
.cta-stick__in{max-width:var(--wrap);margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:16px}
.cta-stick .lead{font-size:14px;color:var(--d-1);font-weight:500;letter-spacing:-.01em;margin-right:auto;display:flex;align-items:center;gap:11px}
.cta-stick .lead .pulse{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber);flex:0 0 auto;animation:pulse 2.6s var(--ease) infinite}
.cta-stick .opts{display:flex;gap:8px}
.cta-stick__x{background:none;border:0;color:var(--d-4);font-size:18px;cursor:pointer;padding:6px;line-height:1;transition:color .2s}
.cta-stick__x:hover{color:var(--d-1)}
@media(max-width:820px){.cta-stick .lead{display:none}.cta-stick__in{padding:0 16px}.cta-stick .opts{flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch}.cta-stick .opts .btn{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.cta-stick{transition:none}.cta-stick .lead .pulse{animation:none}.ff-step,.ff-done{animation:none}}
