/* ==========================================================================
   0. TOKENS  (verbatim from 02-design-tokens.md)
   ========================================================================== */
:root{
  /* ============================================================
     PALETTE REMOVED — tokens.css is the single source of truth.
     This block used to declare a competing light :root that fought
     tokens.css and only reached the homepage. Every color name it
     defined now lives in tokens.css. What remains here is the v2
     type scale, spacing, radii and motion — no colors.
     ============================================================ */

  /* ===== GRADIENT — unchanged, precious ===== */
  --grad-brand:linear-gradient(100deg,#5B2D91 0%,#8E248D 55%,#A61DB1 100%);
  --grad-core:radial-gradient(circle at 35% 30%,#A61DB1 0%,#5B2D91 70%,transparent 100%);
  --glow-violet:radial-gradient(circle,rgba(166,29,177,.28) 0%,transparent 70%);

  /* ===== aliases onto tokens.css ===== */
  --violet-accent-dark:var(--purple-text);
  --ok:var(--status-success); --warn:var(--status-warning); --err:var(--status-danger);

  /* ===== type scale (floors raised — 14px is the smallest text on the page) ===== */
  --t-hero:clamp(2.5rem,1.678rem + 3.37vw,4.375rem);
  --t-h2:clamp(1.875rem,1.4rem + 1.9vw,2.375rem);
  --t-h3:clamp(1.375rem,1.25rem + 0.5vw,1.625rem);
  --t-bodyL:clamp(1.125rem,1.05rem + 0.3vw,1.1875rem);
  --t-body:clamp(1.0625rem,1rem + 0.2vw,1.125rem);
  --t-small:0.875rem;
  --t-mono:0.875rem;
  --lh-hero:1.05;
  --lh-h2:1.15;
  --lh-h3:1.30;
  --lh-body:1.6;
  --track-mono:0.08em;
  --track-hero:-0.03em;

  /* spacing + grid */
  --pad-dense:clamp(2.5rem,6vw,4rem);
  --pad-std:clamp(3.5rem,8vw,6rem);
  --pad-statement:clamp(4.5rem,11vw,10rem);
  --gutter:clamp(1rem,4vw,1.5rem);
  --container:1200px;
  --prose:68ch;
  --r-sm:8px; --r-md:14px; --r-lg:20px; --r-pill:999px;

  /* motion */
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur-fast:140ms; --dur:240ms; --dur-slow:480ms;

  --font-display:'Archivo Expanded','Archivo',system-ui,sans-serif;
  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SF Mono',monospace;
}


/* ==========================================================================
   1. RESET + OVERFLOW GUARD (spec §9)
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:hidden;}
*{min-width:0;}
img,svg,video{max-width:100%;height:auto;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--font-sans);
  font-size:var(--t-body);
  line-height:var(--lh-body);
  background:var(--bg);
  color:var(--text);
}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;}
ul,ol{padding:0;list-style:none;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;}
table{border-collapse:collapse;width:100%;}
input{font:inherit;}

/* focus-visible — never removed without replacement */
:focus-visible{outline:2px solid var(--brand-soft);outline-offset:2px;border-radius:4px;}
.on-dark :focus-visible{outline-color:var(--violet-500);}

/* ==========================================================================
   2. TYPE UTILITIES
   ========================================================================== */
.eyebrow{
  font-family:var(--font-mono);
  font-size:var(--t-mono);
  letter-spacing:var(--track-mono);
  text-transform:uppercase;
  font-weight:500;
  margin-bottom:.85em;
  display:block;
}
.on-dark .eyebrow{color:var(--violet-accent-dark);}
.on-light .eyebrow{color:var(--brand-soft);}

h1.h-hero{
  font-family:var(--font-display);
  font-size:var(--t-hero);
  line-height:var(--lh-hero);
  letter-spacing:var(--track-hero);
  font-weight:800;
  margin:0 0 .5em;
}
h2.h-2{
  font-family:var(--font-display);
  font-size:var(--t-h2);
  line-height:var(--lh-h2);
  letter-spacing:var(--track-hero);
  font-weight:800;
  margin:0 0 .55em;
}
h3.h-3{
  font-family:var(--font-display);
  font-size:var(--t-h3);
  line-height:var(--lh-h3);
  font-weight:700;
  margin:0 0 .4em;
}
.lead{font-size:var(--t-bodyL);line-height:var(--lh-h3);font-weight:500;}
.on-dark .lead{color:var(--on-dark-head);}
.on-light .lead{color:var(--text-2);}
.body-copy{font-size:var(--t-body);line-height:var(--lh-body);max-width:var(--prose);}
.on-dark .body-copy{color:var(--on-dark-body);}
.on-light .body-copy{color:var(--body);}
.body-copy + .body-copy{margin-top:1.1em;}
.mono{font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:var(--track-mono);text-transform:uppercase;}
strong{font-weight:700;}
.on-dark strong{color:var(--on-dark-head);}
.on-light strong{color:var(--text);}

/* ==========================================================================
   3. LAYOUT
   ========================================================================== */
.wrap{max-width:var(--container);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);}
.section{position:relative;padding-top:var(--pad-std);padding-bottom:var(--pad-std);}
.section--statement{padding-top:var(--pad-statement);padding-bottom:var(--pad-statement);}
.on-dark{background:var(--black);color:var(--on-dark-head);}
.bg-black{background:var(--black);}
.bg-alt{background:var(--bg-2);}
.bg-default{background:var(--bg);}
.bg-violet-wash{background:var(--violet-wash);}
.bg-gradient{background:var(--grad-brand);}
.on-dark{color:var(--on-dark-head);}
.on-light{color:var(--text);}

.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gutter);align-items:start;}
.grid.g-lg-7-5,.grid.g-lg-5-7,.grid.g-lg-8-4,.grid.g-lg-6-6{}
@media(min-width:1024px){
  .g-lg-7-5{grid-template-columns:minmax(0,7fr) minmax(0,5fr);}
  .g-lg-5-7{grid-template-columns:minmax(0,5fr) minmax(0,7fr);}
  .g-lg-8-4{grid-template-columns:minmax(0,8fr) minmax(0,4fr);}
}
@media(min-width:900px){
  .g-md9-6-6{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
}
.center-col{max-width:720px;margin:0 auto;text-align:center;}

/* card grids: thirds / quad-as-4 */
.cards{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gutter);margin-top:2.25rem;}
.cards--3{}
.cards--4{}
@media(min-width:600px){
  .cards--4{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
}
/* 280px minimum card width is a hard rule: a grid drops a column rather than squish.
   3-up needs >=960 viewport, 4-up needs >=1200, to clear 280px per card at 24px gaps. */
@media(min-width:960px){
  .cards--3{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(min-width:1200px){
  .cards--4{grid-template-columns:repeat(4,minmax(0,1fr));}
}
.card{min-width:280px;}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  height:48px;padding:0 24px;border-radius:var(--r-pill);
  font-weight:600;font-size:.95rem;white-space:nowrap;
  transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);
  min-height:44px;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(142,36,141,.32);}
.btn:active{transform:translateY(0);}
.btn--lg{height:56px;}
.btn--sm{height:40px;padding:0 18px;font-size:.875rem;}
.btn--full{width:100%;}
.btn--primary-gradient{background:var(--grad-brand);color:var(--white);}
.btn--primary-solid{background:var(--violet-600);color:var(--white);}
.btn--primary-ink{background:var(--black);color:var(--on-dark-head);}
.btn--primary-invert{background:var(--white);color:var(--black);}
.btn--secondary-dark{background:transparent;color:var(--on-dark-head);border:1px solid rgba(255,255,255,.22);}
.btn--secondary-light{background:transparent;color:var(--text);border:1px solid var(--rule-light-strong);}
.btn--secondary-on-grad{background:rgba(255,255,255,.12);color:var(--white);border:1px solid rgba(255,255,255,.4);}
.btn--link-arrow{height:auto;padding:.25rem 0;border-radius:0;font-weight:600;}
.on-dark .btn--link-arrow{color:var(--violet-accent-dark);}
.on-light .btn--link-arrow{color:var(--brand-soft);}
.btn--link-arrow:hover{text-decoration:underline;}
.btn--link-arrow .arrow{transition:transform var(--dur-fast) var(--ease);}
.btn--link-arrow:hover .arrow{transform:translateX(3px);}
.cta-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.75rem;}
.cta-micro{margin-top:1rem;font-family:var(--font-mono);font-size:.875rem;letter-spacing:.04em;}
.on-dark .cta-micro{color:var(--on-dark-body);}
.on-light .cta-micro{color:var(--body);}
@media(max-width:767px){
  .cta-row{flex-direction:column;align-items:stretch;}
  .cta-row .btn{width:100%;}
}

hr.rule{border:0;height:1px;margin:0;}
.on-dark hr.rule{background:var(--rule-dark);}
.on-light hr.rule{background:var(--rule-light);}

/* reveal */
.reveal{opacity:1;transform:none;transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease);}
.reveal.is-armed{opacity:0;transform:translateY(12px);}
.reveal.is-visible,.reveal.is-armed.is-visible{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;}
  .reveal{opacity:1;transform:none;}
}

/* ==========================================================================
   4. HEADER / NAV — see section 24 below for the full header/footer/rotator system
   ========================================================================== */
#hero .wrap{padding-top:76px;}

/* ==========================================================================
   5. §1 HERO
   ========================================================================== */
#hero{overflow:hidden;}
#hero::before{
  content:"";position:absolute;top:-220px;right:-220px;width:900px;height:900px;
  background:var(--glow-violet);opacity:.7;pointer-events:none;
}
#hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 48px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 48px);
}
.hero__inner{position:relative;z-index:1;}
.hero__grid{align-items:center;}
.hero__copy{max-width:640px;}
.hero__h1{max-width:15ch;}
.hero__deck{font-size:var(--t-bodyL);font-weight:700;color:var(--violet-accent-dark);margin:.75rem 0 1rem;}

/* scan card (mock product UI) */
.scan-card{
  background:var(--surface-slate);border:1px solid rgba(166,29,177,.45);border-radius:var(--r-lg);
  padding:1.5rem;max-width:480px;margin:0 auto;
  box-shadow:0 0 0 1px rgba(166,29,177,.15),0 24px 60px -12px rgba(166,29,177,.35),0 24px 60px rgba(0,0,0,.45);
}
.scan-card__chrome{display:flex;gap:6px;margin-bottom:1.1rem;}
.scan-card__dot{width:9px;height:9px;border-radius:50%;background:var(--rule-dark);}
.scan-card__title{font-size:.875rem;font-weight:600;color:var(--on-dark-body);margin-bottom:1.1rem;}
.scan-card__field{margin-bottom:1.1rem;}
.scan-card__label{display:block;font-family:var(--font-mono);font-size:.875rem;letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--on-dark-body);margin-bottom:.4rem;}
.scan-card__input{
  display:flex;align-items:center;height:44px;padding:0 .9rem;border-radius:var(--r-sm);
  background:var(--black);border:1px solid var(--rule-dark);color:var(--on-dark-head);font-size:.95rem;
}
.scan-card__input .caret{display:inline-block;width:2px;height:1em;background:var(--violet-accent-dark);margin-left:2px;animation:blink 1.1s step-end infinite;}
@keyframes blink{50%{opacity:0;}}
.scan-card__engines{display:flex;gap:.5rem;margin-bottom:1.1rem;flex-wrap:wrap;}
.engine-chip{
  display:flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border-radius:var(--r-pill);
  background:var(--surface-steel-hi);font-size:.875rem;font-weight:600;color:var(--on-dark-head);border:1px solid var(--rule-dark);
}
.engine-chip__dot{width:6px;height:6px;border-radius:50%;background:var(--violet-500);}
.scan-card__progress-label{display:flex;justify-content:space-between;font-size:.875rem;color:var(--on-dark-body);margin-bottom:.4rem;}
.scan-card__track{height:8px;border-radius:var(--r-pill);background:var(--surface-steel);overflow:hidden;margin-bottom:1.2rem;}
.scan-card__fill{height:100%;width:62%;background:var(--grad-brand);border-radius:var(--r-pill);}
.scan-card__result{border-top:1px solid var(--rule-dark);padding-top:1rem;}
.scan-card__q{font-size:.875rem;color:var(--on-dark-body);margin-bottom:.6rem;}
.result-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem 0;font-size:.875rem;}
.result-row + .result-row{border-top:1px solid var(--rule-dark);}
.result-row__name{font-weight:600;}
.result-status{font-family:var(--font-mono);font-size:.875rem;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .55rem;border-radius:var(--r-pill);}
.result-status--named{background:rgba(166,29,177,.18);color:var(--violet-accent-dark);}
.result-status--absent{background:rgba(156,163,175,.14);color:var(--on-dark-body);}

@media(max-width:1023px){
  .hero__grid{grid-template-columns:minmax(0,1fr);}
  .hero__copy{max-width:none;}
  .scan-card{max-width:480px;}
}
@media(max-width:767px){
  .hero__h1{max-width:none;}
  .cta-row{margin-top:1.5rem;}
}

/* ==========================================================================
   6. §2 THE PROMPT
   ========================================================================== */
.chat-window{
  max-width:860px;margin:0 auto;background:#F2F2EF;border-radius:var(--r-lg);
  padding:1.75rem;border:1px solid var(--line);
}
.chat-bubble{border-radius:var(--r-md);padding:1rem 1.15rem;font-size:1rem;line-height:var(--lh-body);}
.chat-bubble + .chat-bubble{margin-top:1rem;}
.chat-bubble__label{display:block;font-family:var(--font-mono);font-size:.875rem;letter-spacing:var(--track-mono);text-transform:uppercase;margin-bottom:.5rem;color:var(--muted-strong);}
.chat-bubble--prompt{background:#FFFFFF;border:1px solid var(--line);color:var(--body);}
.chat-bubble--response{background:transparent;padding-left:0;padding-right:0;color:var(--body);position:relative;}
.chat-bubble--response p{font-size:1rem;color:var(--body);}
.chat-bubble--response .fname{color:var(--brand-soft);font-weight:600;}
.response-toggle{display:none;margin-top:.75rem;}
.chat-disclaimer{max-width:860px;margin:.9rem auto 0;font-family:var(--font-mono);font-size:.875rem;letter-spacing:.04em;color:var(--body);text-align:center;}
.stat-strip{display:flex;gap:var(--gutter);margin-top:2.5rem;max-width:860px;margin-left:auto;margin-right:auto;}
.stat-strip__item{flex:1;text-align:center;padding:1.25rem .5rem;background:var(--surface-mist-deep);border-radius:var(--r-md);}
.stat-strip__num{font-family:var(--font-display);font-size:clamp(2rem,6vw,2.75rem);font-weight:800;color:var(--brand-soft);line-height:1;}
.stat-strip__label{margin-top:.4rem;font-size:.875rem;color:var(--body);}
.prompt__ctas{max-width:860px;margin:2rem auto 0;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:center;}

@media(max-width:767px){
  .chat-window{border-radius:0;margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1);max-width:none;padding:1.5rem var(--gutter);}
  .chat-disclaimer{margin-left:var(--gutter);margin-right:var(--gutter);}
  .chat-bubble--response p{font-size:1rem;}
  .chat-bubble--response.is-clamped p{
    display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
    -webkit-mask-image:linear-gradient(180deg,#F2F2EF 60%,transparent 100%);
    mask-image:linear-gradient(180deg,#F2F2EF 60%,transparent 100%);
  }
  .response-toggle{display:inline-block;font-family:var(--font-mono);font-size:.875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-soft);}
  .stat-strip{gap:.6rem;}
  .stat-strip__item{padding:.9rem .3rem;}
  .stat-strip__num{font-size:1.6rem;}
  .stat-strip__label{font-size:.875rem;}
}

/* ==========================================================================
   7. §3 AEO/GEO EXPLAINER + comparison table/cards
   ========================================================================== */
.aeo-table{width:100%;background:var(--bg);border-radius:var(--r-md);overflow:hidden;border:1px solid var(--rule-light);}
.aeo-table th,.aeo-table td{text-align:left;padding:.9rem 1.1rem;font-size:.95rem;border-bottom:1px solid var(--rule-light);}
.aeo-table th{font-size:.875rem;font-family:var(--font-mono);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--body);background:var(--surface-mist-deep);}
.aeo-table td:first-child{font-weight:600;color:var(--text);width:34%;}
.aeo-table tr:last-child td{border-bottom:0;}
.aeo-cards{display:none;}
@media(max-width:767px){
  .aeo-table{display:none;}
  .aeo-cards{display:block;}
  .aeo-card{background:var(--bg);border:1px solid var(--rule-light);border-radius:var(--r-md);padding:1.1rem;}
  .aeo-card + .aeo-card{margin-top:1rem;}
  .aeo-card__label{font-family:var(--font-mono);font-size:.875rem;text-transform:uppercase;letter-spacing:var(--track-mono);color:var(--body);margin-bottom:.75rem;}
  .aeo-card__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;}
  .aeo-card__col{padding:.75rem;border-radius:var(--r-sm);background:var(--bg-2);}
  .aeo-card__col-h{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-soft);margin-bottom:.4rem;}
  .aeo-card__col p{font-size:.9rem;color:var(--text-2);}
}

/* ==========================================================================
   8. §4 STATS BAND
   ========================================================================== */
.stat-band{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;margin-top:2.5rem;}
@media(min-width:768px){.stat-band{grid-template-columns:repeat(3,minmax(0,1fr));}}
.stat-band__num{font-family:var(--font-display);font-size:clamp(3rem,9vw,5.5rem);font-weight:800;color:var(--violet-accent-dark);line-height:.95;letter-spacing:-.02em;}
.stat-band__claim{margin-top:.75rem;color:var(--on-dark-body);font-size:1rem;max-width:32ch;}
.stat-band__closer{margin-top:3rem;font-size:var(--t-bodyL);color:var(--on-dark-head);font-weight:600;max-width:56ch;}

/* ==========================================================================
   9. §5 CITATION SHARE spec definition list
   ========================================================================== */
.spec-list{background:var(--surface);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);}
.spec-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:.95rem 1.25rem;}
.spec-row + .spec-row{border-top:1px solid var(--line);}
.spec-row dt{font-size:.875rem;color:var(--body);}
.spec-row dd{font-size:.95rem;font-weight:600;color:var(--text);text-align:right;}

/* ==========================================================================
   10. §6 THE AUTOPSY
   ========================================================================== */
.autopsy-card{background:var(--bg-2);border-radius:var(--r-md);padding:1.5rem;}
.autopsy-card__eyebrow{font-family:var(--font-mono);font-size:.875rem;letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--brand-soft);margin-bottom:.6rem;}
.autopsy-card p{color:var(--body);font-size:.92rem;}
.autopsy-card--more{background:var(--violet-wash);display:flex;flex-direction:column;justify-content:space-between;}
.autopsy-card--more a{margin-top:1rem;}

/* credibility card — #autopsy right panel */
.credibility-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem;}
.credibility-list{margin-top:.25rem;}
.credibility-row{padding:.9rem 0;}
.credibility-row + .credibility-row{border-top:1px solid var(--line);}
.credibility-row__label{font-family:var(--font-display);font-weight:700;font-size:var(--t-h3);line-height:var(--lh-h3);color:var(--text);}
.credibility-row__sub{margin-top:.3rem;padding-left:.15rem;font-size:.875rem;color:var(--muted-strong);}
.credibility-card hr.rule{margin:1.5rem 0;}
.credibility-card__body{font-size:var(--t-body);line-height:var(--lh-body);color:var(--body);}

/* ==========================================================================
   11. §7a/b/c CAUSE SECTIONS + diagrams
   ========================================================================== */
.cause__grid{align-items:start;}
@media(min-width:900px){.cause__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
.cause__label{font-family:var(--font-mono);font-size:.875rem;letter-spacing:var(--track-mono);text-transform:uppercase;}
.on-light .cause__label{color:var(--brand-soft);}
.kill-shot{margin-top:1.5rem;padding-top:1.25rem;border-top-width:1px;border-top-style:solid;}
.on-light .kill-shot{border-color:var(--rule-light);}
.kill-shot__label{font-family:var(--font-mono);font-size:.875rem;text-transform:uppercase;letter-spacing:var(--track-mono);margin-bottom:.5rem;display:block;}
.on-light .kill-shot__label{color:var(--brand-soft);}
.on-dark .kill-shot__label{color:var(--violet-accent-dark);}
.on-dark .kill-shot{border-color:var(--rule-dark);}

.compare-diagram{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem;}
@media(min-width:520px){.compare-diagram{flex-direction:row;}}
.diagram-panel{flex:1;border-radius:var(--r-md);padding:1.1rem;min-width:0;}
.diagram-panel__h{font-family:var(--font-mono);font-size:.875rem;letter-spacing:var(--track-mono);text-transform:uppercase;margin-bottom:.85rem;}
.diagram-panel--theirs{background:rgba(0,0,0,.05);}
.on-dark .diagram-panel--theirs{background:rgba(255,255,255,.06);}
.diagram-panel--ours{background:var(--violet-wash-deep);}
.on-dark .diagram-panel--ours,.bg-alt .diagram-panel--ours{background:rgba(166,29,177,.16);}
.stack-bars{display:flex;flex-direction:column;gap:3px;}
.stack-bars span{display:block;height:9px;border-radius:2px;background:currentColor;opacity:.35;}
.stack-bars span:last-child{opacity:.9;}
.diagram-panel__foot{margin-top:.7rem;font-size:.875rem;font-weight:600;}
.metric-line{display:flex;flex-wrap:wrap;gap:.15rem .75rem;justify-content:space-between;align-items:baseline;font-size:.875rem;padding:.35rem 0;font-family:var(--font-mono);}
.metric-line > span:first-child{flex:0 1 auto;}
.metric-line > span:last-child{flex:1 1 auto;text-align:right;min-width:0;overflow-wrap:anywhere;}
@media(max-width:420px){.metric-line > span:last-child{text-align:left;flex-basis:100%;}}
.metric-line + .metric-line{border-top:1px dashed currentColor;opacity:.9;}
.metric-line.total{font-weight:700;opacity:1;border-top:1px solid currentColor;padding-top:.5rem;margin-top:.2rem;}
.term-badge{display:inline-block;padding:.5rem .9rem;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:.875rem;background:rgba(0,0,0,.08);}
.on-dark .term-badge, .bg-alt .term-badge{background:rgba(255,255,255,.1);}
.term-line{font-size:.875rem;margin-top:.6rem;}

/* ==========================================================================
   12. §8 THE FORK
   ========================================================================== */
.fork-intro{text-align:center;max-width:860px;margin:0 auto;padding-bottom:4.5rem;}
.fork-intro h2{text-wrap:balance;}
.fork-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gutter);margin-top:-2.5rem;position:relative;z-index:1;}
@media(min-width:900px){
  .fork-cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
}
.fork-card{background:var(--surface);border-radius:var(--r-lg);padding:2rem;box-shadow:0 24px 48px rgba(17,24,39,.14);}
.fork-card__label{font-family:var(--font-mono);font-size:.875rem;letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--brand-soft);margin-bottom:.9rem;}
.fork-card h3{font-size:1.4rem;}
.fork-card .lead{margin-bottom:.75rem;}
@media(max-width:899px){
  .fork-cards{margin-top:1.75rem;}
  .fork-card--noagency{order:-1;}
}

/* ==========================================================================
   13. §9 SHARED BRAIN orbit
   ========================================================================== */
.orbit-wrap{max-width:640px;margin:0 auto;position:relative;}
.orbit-svg{display:block;width:100%;height:auto;}
.orbit-rotate{transform-origin:400px 400px;animation:orbit-spin 90s linear infinite;}
.orbit-svg:hover .orbit-rotate{animation-play-state:paused;}
@keyframes orbit-spin{to{transform:rotate(360deg);}}
.ring-line{fill:none;}
.ring-line--compliance{stroke:rgba(216,180,254,.45);stroke-width:1.5;}
.ring-line--attribution{stroke:rgba(216,180,254,.3);stroke-width:1.5;}
.ring-line--data{stroke:var(--violet-500);stroke-width:1.5;stroke-dasharray:2 10;}
.orbit-dot{fill:var(--violet-500);}
.grad-stop-a{stop-color:var(--violet-500);}
.grad-stop-b{stop-color:var(--violet-800);}
.grad-stop-c{stop-color:var(--violet-800);stop-opacity:0;}
.ring-label{font-family:var(--font-mono);font-size:14px;letter-spacing:2px;fill:var(--on-dark-body);text-transform:uppercase;}
.core-label{font-family:var(--font-mono);font-size:14px;letter-spacing:1.5px;fill:var(--white);text-anchor:middle;font-weight:600;}
.core-sub{font-size:14px;fill:rgba(255,255,255,.75);text-anchor:middle;font-family:var(--font-mono);}
.chip-bg{fill:var(--surface-steel-hi);stroke:var(--rule-dark);}
.chip-dot{fill:var(--violet-500);}
.chip-text{font-family:var(--font-sans);font-weight:600;font-size:15px;fill:var(--on-dark-head);}
.orbit-mobile-note{display:none;}
@media(max-width:767px){
  .orbit-svg{pointer-events:none;}
}
.agent-tap-list{display:none;}
@media(max-width:767px){
  .agent-tap-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;margin-top:1.5rem;}
  .agent-tap{
    display:flex;align-items:center;gap:.6rem;min-height:44px;padding:.6rem .9rem;
    background:var(--surface-steel-hi);border-radius:var(--r-pill);border:1px solid var(--rule-dark);
    font-size:.875rem;font-weight:600;color:var(--on-dark-head);
  }
  .agent-tap__dot{width:8px;height:8px;border-radius:50%;background:var(--violet-500);flex:none;}
}
.ring-cards{margin-top:3rem;}
.ring-card{background:var(--surface-steel-hi);border-radius:var(--r-md);padding:1.4rem;border:1px solid var(--rule-dark);}
.ring-card__num{font-family:var(--font-mono);font-size:.875rem;letter-spacing:var(--track-mono);color:var(--violet-accent-dark);margin-bottom:.6rem;display:block;}
.ring-card p{color:var(--on-dark-body);font-size:.9rem;}

/* ==========================================================================
   14. §10 AGENT ROSTER
   ========================================================================== */
.agent-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:1.5rem;height:100%;}
.agent-card__head{display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem;}
.agent-glyph{
  width:44px;height:44px;border-radius:50%;flex:none;
  background:var(--grad-core);display:flex;align-items:center;justify-content:center;
  font-weight:800;color:var(--white);font-size:1rem;
}
.agent-card__role{font-size:.875rem;color:var(--brand-soft);font-weight:600;}
.agent-card p.body-copy{font-size:.9rem;margin-bottom:.85rem;}
.agent-card__writes{font-family:var(--font-mono);font-size:.875rem;letter-spacing:.03em;color:var(--muted-strong);border-top:1px solid var(--line);padding-top:.8rem;}
.agent-card__writes b{color:var(--text);display:block;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:var(--track-mono);}
.agent-card--filler{display:flex;flex-direction:column;justify-content:center;text-align:center;background:transparent;border:1px dashed var(--rule-light-strong);}

/* ==========================================================================
   15. §11 COMPLIANCE — dark inset on paper
   ========================================================================== */
.compliance-callout{
  background:var(--black);color:var(--on-dark-head);border-radius:var(--r-lg);
  padding:1.75rem;box-shadow:0 24px 50px rgba(0,0,0,.18);
}
.compliance-callout__tag{font-family:var(--font-mono);font-size:.875rem;letter-spacing:var(--track-mono);color:var(--violet-accent-dark);margin-bottom:1rem;display:block;}
.compliance-callout p{color:var(--on-dark-body);font-size:.92rem;}
.compliance-callout p + p{margin-top:1rem;}
.compliance-callout strong{color:var(--on-dark-head);}
@media(min-width:1024px){
  #compliance .grid{grid-template-columns:minmax(0,8fr) minmax(0,4fr);}
}

/* ==========================================================================
   16. §12 ATTRIBUTION flow + cards
   ========================================================================== */
.flow{display:flex;flex-direction:column;gap:1rem;position:relative;margin:2.5rem 0 0;padding-left:2rem;}
.flow::before{content:"";position:absolute;left:9px;top:10px;bottom:10px;width:1px;}
.on-light .flow::before{background:var(--rule-light-strong);}
.flow__step{position:relative;padding:.4rem 0 .4rem 1rem;font-weight:600;font-size:.95rem;}
.flow__step::before{content:"";position:absolute;left:-2rem;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:var(--violet-500);border:2px solid var(--bg);}
@media(min-width:900px){
  .flow{flex-direction:row;align-items:center;padding-left:0;gap:0;}
  .flow::before{left:5%;right:5%;top:50%;bottom:auto;height:1px;width:auto;}
  .flow__step{flex:1;text-align:center;padding:0;}
  .flow__step::before{left:50%;top:-1.4rem;transform:translateX(-50%);}
  .flow__step:first-child{text-align:left;}
  .flow__step:last-child{text-align:right;}
}

/* ==========================================================================
   17. §13 COMPARISON TABLE — light card on steel, 3 responsive variants
   ========================================================================== */
.compare-card{background:var(--surface);border-radius:var(--r-lg);padding:1.5rem;box-shadow:0 24px 60px rgba(17,24,39,.12);}
.compare-full{width:100%;}
.compare-full th,.compare-full td{padding:.9rem 1rem;text-align:left;font-size:.92rem;border-bottom:1px solid var(--rule-light);}
.compare-full thead th{font-family:var(--font-mono);font-size:.875rem;text-transform:uppercase;letter-spacing:var(--track-mono);color:var(--body);}
.compare-full th:first-child,.compare-full td:first-child{color:var(--text);font-weight:600;width:28%;}
.compare-full td:nth-child(2),.compare-full th:nth-child(2){background:var(--violet-wash);font-weight:600;color:var(--brand-soft);}
.compare-full tr:last-child td{border-bottom:0;}
.compare-condensed{display:none;width:100%;}
.compare-condensed th,.compare-condensed td{padding:.75rem .6rem;text-align:center;font-size:.875rem;border-bottom:1px solid var(--rule-light);}
.compare-condensed td:first-child,.compare-condensed th:first-child{text-align:left;font-weight:600;color:var(--text);}
.compare-condensed td:nth-child(2),.compare-condensed th:nth-child(2){background:var(--violet-wash);font-weight:700;color:var(--brand-soft);}
.compare-cards{display:none;}
.compare-item{border:1px solid var(--rule-light);border-radius:var(--r-md);padding:1rem;}
.compare-item + .compare-item{margin-top:.9rem;}
.compare-item__crit{font-weight:700;margin-bottom:.7rem;font-size:.95rem;}
.compare-item__row{display:flex;justify-content:space-between;gap:.75rem;padding:.4rem 0;font-size:.875rem;border-top:1px solid var(--rule-light);}
.compare-item__row:first-of-type{border-top:0;}
.compare-item__row .who{color:var(--body);}
.compare-item__row.ours{background:var(--violet-wash);border-radius:var(--r-sm);border-top:0;padding:.55rem .6rem;margin-bottom:.2rem;}
.compare-item__row.ours .who{color:var(--brand-soft);font-weight:700;}
.compare-footnote{margin-top:1.2rem;font-size:.875rem;color:var(--muted);font-family:var(--font-mono);}
@media(max-width:1023px) and (min-width:900px){}
@media(max-width:899px){
  .compare-full{display:none;}
  .compare-condensed{display:table;}
}
@media(max-width:599px){
  .compare-condensed{display:none;}
  .compare-cards{display:block;}
}
@media(min-width:900px){
  .compare-cards{display:none;}
}

/* ==========================================================================
   18. §14 PRICING
   ========================================================================== */
.pricing-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gutter);}
@media(min-width:600px){.pricing-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
@media(min-width:1024px){.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
.price-card{background:var(--surface);border:1px solid var(--rule-light);border-radius:var(--r-lg);padding:1.75rem;display:flex;flex-direction:column;}
.price-card--popular{border-color:var(--violet-500);box-shadow:0 20px 44px rgba(142,36,141,.18);}
@media(min-width:1024px){.price-card--popular{transform:translateY(-16px);}}
.price-card__badge{align-self:flex-start;font-family:var(--font-mono);font-size:.875rem;letter-spacing:var(--track-mono);text-transform:uppercase;background:var(--violet-600);color:var(--white);padding:.3rem .7rem;border-radius:var(--r-pill);margin-bottom:1rem;}
.price-card__name{font-size:1.1rem;font-weight:800;}
.price-card__price{font-family:var(--font-display);font-size:2.2rem;font-weight:800;margin:.3rem 0 .2rem;}
.price-card__price span{font-size:1rem;font-weight:600;color:var(--body);}
.price-card__replaces{font-size:.875rem;color:var(--body);margin-bottom:1.2rem;}
.price-card__math{font-family:var(--font-mono);font-size:.875rem;background:var(--bg-2);border-radius:var(--r-sm);padding:.6rem .8rem;margin-bottom:1.2rem;}
.price-card__math del{color:var(--body);opacity:.7;}
.price-card ul{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem;flex:1;}
.price-card li{font-size:.88rem;color:var(--text-2);padding-left:1.3rem;position:relative;}
.price-card li::before{content:"✓";position:absolute;left:0;color:var(--brand-soft);font-weight:700;}
@media(min-width:600px) and (max-width:1023px){
  .price-card--popular{grid-column:1 / -1;order:-1;}
}
@media(max-width:599px){
  .price-card--popular{order:-1;}
}
.pricing-notes{margin-top:2.5rem;display:grid;gap:1.25rem;}
@media(min-width:700px){.pricing-notes{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
.pricing-note{font-size:.875rem;color:var(--body);}
.pricing-note b{font-family:var(--font-mono);color:var(--text);letter-spacing:.02em;display:block;margin-bottom:.4rem;font-size:.875rem;}

/* starter-card — #starter right panel (distinct from .price-card used in §14 pricing grid) */
.starter-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem;}
.starter-card__amount{font-family:var(--font-display);font-weight:800;font-size:var(--t-h2);line-height:1;color:var(--text);margin-top:.4rem;}
.starter-card__period{font-family:var(--font-sans);font-weight:600;font-size:var(--t-body);color:var(--muted-strong);margin-left:.35rem;}
.starter-card__line{margin-top:.85rem;font-size:var(--t-body);color:var(--body);}
.starter-card .btn--link-arrow{margin-top:1.25rem;}

/* ==========================================================================
   19. §15 HONESTY
   ========================================================================== */
.honesty-cards .card{background:var(--surface-steel-hi);border-radius:var(--r-md);padding:1.4rem;}
.honesty-cards .card h3{font-size:1rem;color:var(--on-dark-head);}
.honesty-cards .card p{color:var(--on-dark-body);font-size:.9rem;}

/* claims card — #honesty right panel */
.claims-card{background:#14151C;border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:2rem;}
.claims-card .eyebrow{margin-bottom:.9rem;}
.claims-list{margin-top:.25rem;}
.claims-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;}
.claims-row + .claims-row{border-top:1px solid rgba(255,255,255,.12);}
.claims-row__text{color:var(--on-dark-body);text-decoration:line-through;font-size:.95rem;}
.claims-row__x{color:var(--err);font-size:1.1rem;font-weight:700;flex-shrink:0;}
.claims-card hr.rule{margin:1.5rem 0;background:rgba(255,255,255,.12);}
.claims-card__line{font-size:17px;line-height:var(--lh-h3);color:var(--on-dark-head);}

/* ==========================================================================
   20. §16 FAQ
   ========================================================================== */
.faq-layout{align-items:start;}
@media(min-width:1024px){.faq-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr);}}
.faq-rail{position:relative;}
@media(min-width:1024px){.faq-rail{position:sticky;top:2rem;}}
.faq-item{border-bottom:1px solid var(--rule-light);}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:56px;padding:1rem 0;text-align:left;font-weight:700;font-size:1rem;color:var(--text);
}
.faq-q .plus{flex:none;width:22px;height:22px;position:relative;}
.faq-q .plus::before,.faq-q .plus::after{content:"";position:absolute;background:var(--brand-soft);top:50%;left:50%;transform:translate(-50%,-50%);}
.faq-q .plus::before{width:14px;height:2px;}
.faq-q .plus::after{width:2px;height:14px;transition:transform var(--dur) var(--ease);}
.faq-q[aria-expanded="true"] .plus::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0;}
.faq-a{max-height:0;overflow:hidden;transition:max-height var(--dur-slow) var(--ease);}
.faq-a__inner{padding:0 0 1.25rem;color:var(--body);font-size:.95rem;max-width:var(--prose);}
@media(max-width:1023px){.faq-rail{margin-bottom:1rem;}}

/* ==========================================================================
   21. §17 FINAL CTA
   ========================================================================== */
#final .h-2{color:var(--on-dark-head);}
#final .body-copy, #final .cta-micro{color:var(--white);}
#final .body-copy{color:rgba(255,255,255,.85);}
#final .eyebrow{color:rgba(255,255,255,.9);}

/* ==========================================================================
   22. MOBILE STICKY CTA RAIL
   ========================================================================== */
.sticky-rail{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  background:rgba(7,8,13,.92);backdrop-filter:blur(8px);
  padding:.75rem var(--gutter) calc(.75rem + env(safe-area-inset-bottom));
  transform:translateY(100%);opacity:0;transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease);
  pointer-events:none;
}
.sticky-rail.is-visible{transform:translateY(0);opacity:1;pointer-events:auto;}
@media(min-width:768px){.sticky-rail{display:none;}}

/* ==========================================================================
   23. Small helpers
   ========================================================================== */
.section > .wrap > .eyebrow{margin-bottom:.85em;}
.max-prose{max-width:var(--prose);}
.mt-lg{margin-top:2.5rem;}

/* Editorial split intro: for any section whose intro (eyebrow+H2+body) sits
   above full-width content below it. Left = eyebrow/H2 (cols 1-5), right =
   body copy + CTA (cols 7-12). Prevents an orphan empty column beside a
   narrow intro when the content underneath spans the full container. */
.section-intro--split{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--gutter);
  align-items:start;
}
.section-intro--split__body p{max-width:62ch;}
.section-intro--split__body > *:first-child{margin-top:0;}
@media(min-width:1024px){
  .section-intro--split{grid-template-columns:repeat(12,minmax(0,1fr));}
  .section-intro--split__head{grid-column:1 / 6;}
  .section-intro--split__body{grid-column:7 / 13;}
}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
section[id]{scroll-margin-top:88px;}

/* ==========================================================================
   24. SITE HEADER / NAV / DROPDOWNS / MOBILE DRAWER
   ========================================================================== */
.site-header{position:fixed;top:0;left:0;right:0;z-index:200;padding:16px 0;background:transparent;border-bottom:1px solid transparent;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),padding var(--dur) var(--ease);}
.site-header.is-scrolled{background:var(--surface);border-bottom-color:var(--line);padding:11px 0;box-shadow:0 2px 16px rgba(17,24,39,.05);}
.site-header__inner{display:flex;align-items:center;gap:1.5rem;}
.site-logo{display:flex;align-items:center;flex:none;margin-right:auto;}
.site-logo__img{display:block;height:32px;width:auto;filter:brightness(0) invert(1);transition:filter 200ms var(--ease);}
.site-header.is-scrolled .site-logo__img{filter:none;}

.site-nav{display:flex;align-items:center;gap:1.6rem;}
.site-nav__link{font-family:var(--font-sans);font-size:.9375rem;font-weight:600;color:var(--on-dark-head);white-space:nowrap;padding:.5rem 0;display:inline-flex;align-items:center;gap:.35rem;background:none;border:0;cursor:pointer;}
.site-header.is-scrolled .site-nav__link{color:var(--text-2);}
.site-nav__link:hover{color:var(--violet-accent-dark);}
.site-header.is-scrolled .site-nav__link:hover{color:var(--brand-soft);}
.nav-caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform var(--dur-fast) var(--ease);flex:none;}
.nav-drop[data-open="true"] .nav-caret{transform:rotate(-135deg);margin-top:1px;}

.nav-drop{position:relative;}
.nav-drop__panel{
  position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%);
  min-width:520px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:0 24px 48px rgba(17,24,39,.18);padding:1.25rem;display:none;gap:2rem;z-index:210;
}
.nav-drop__panel--single{min-width:230px;flex-direction:column;gap:.15rem;}
.nav-drop[data-open="true"] .nav-drop__panel{display:flex;}
.nav-drop__col{display:flex;flex-direction:column;gap:.15rem;min-width:200px;}
.nav-drop__h{font-family:var(--font-mono);font-size:.875rem;letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--muted-strong);margin-bottom:.5rem;}
.nav-drop__panel a,.nav-drop__panel--single a{display:flex;align-items:center;min-height:40px;padding:.4rem .6rem;border-radius:var(--r-sm);font-size:.9375rem;font-weight:500;color:var(--body);}
.nav-drop__panel a:hover,.nav-drop__panel--single a:hover{background:var(--bg-2);color:var(--brand-soft);}

.site-header__actions{display:flex;align-items:center;gap:.75rem;flex:none;}
.hdr-signin{height:40px;padding:0 18px;border-radius:var(--r-pill);font-weight:600;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.4);color:var(--on-dark-head);white-space:nowrap;}
.site-header.is-scrolled .hdr-signin{border-color:var(--rule-light-strong);color:var(--text-2);}
.hdr-signin:hover{background:rgba(255,255,255,.14);}
.site-header.is-scrolled .hdr-signin:hover{background:var(--bg-2);}

.nav-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;border-radius:var(--r-sm);flex:none;background:none;border:0;cursor:pointer;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--on-dark-head);transition:transform var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease);}
.site-header.is-scrolled .nav-toggle span{background:var(--text);}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.nav-scrim{display:none;position:fixed;inset:0;background:rgba(6,6,9,.5);opacity:0;pointer-events:none;transition:opacity var(--dur-slow) var(--ease);z-index:190;}

@media(max-width:1023px){
  .site-nav{
    position:fixed;top:0;right:0;bottom:0;width:min(360px,86vw);
    background:var(--surface);flex-direction:column;align-items:stretch;gap:0;
    padding:88px 1.25rem calc(96px + env(safe-area-inset-bottom));overflow-y:auto;
    transform:translateX(100%);transition:transform var(--dur-slow) var(--ease);
    box-shadow:-24px 0 48px rgba(17,24,39,.2);z-index:201;
  }
  .site-nav.is-open{transform:translateX(0);}
  .site-nav__link{color:var(--text);width:100%;justify-content:space-between;min-height:44px;border-bottom:1px solid var(--line);}
  .nav-drop{width:100%;}
  .nav-drop__panel,.nav-drop__panel--single{
    position:static;transform:none;box-shadow:none;border:0;min-width:0;
    display:none;flex-direction:column;padding:.25rem 0 .75rem .75rem;gap:0;
  }
  .nav-drop[data-open="true"] .nav-drop__panel{display:flex;flex-direction:column;}
  .nav-drop__col{min-width:0;}
  .nav-drop__col + .nav-drop__col{margin-top:.75rem;}
  .site-header__actions{
    position:fixed;left:0;right:0;bottom:0;padding:.85rem 1.25rem calc(.85rem + env(safe-area-inset-bottom));
    background:var(--surface);border-top:1px solid var(--line);gap:.6rem;
    transform:translateY(100%);transition:transform var(--dur-slow) var(--ease);z-index:202;
  }
  .site-header__actions.is-open{transform:translateY(0);}
  .hdr-signin{flex:1;border-color:var(--rule-light-strong);color:var(--text);}
  .site-header__actions .btn--primary-gradient{flex:1;}
  .nav-toggle{display:flex;}
  .nav-scrim{display:block;}
  .nav-scrim.is-open{opacity:1;pointer-events:auto;}
}

/* ==========================================================================
   25. SITE FOOTER
   ========================================================================== */
.site-footer{background:var(--black);color:var(--on-dark-body);padding-top:clamp(3rem,7vw,4.5rem);}
.site-footer__logo{height:28px;width:auto;margin-bottom:.75rem;filter:brightness(0) invert(1);}
.site-footer__tag{font-size:.9375rem;line-height:1.6;color:var(--on-dark-body);max-width:30ch;margin-top:.75rem;}
.site-footer__top{display:grid;grid-template-columns:minmax(0,1fr);gap:2.25rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.12);}
.footer-col h3{font-family:var(--font-mono);font-size:.875rem;letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--on-dark-head);margin-bottom:1rem;}
.footer-col ul{display:flex;flex-direction:column;gap:.6rem;}
.footer-col a{font-size:.9375rem;color:var(--on-dark-body);}
.footer-col a:hover{color:var(--on-dark-head);}
@media(min-width:480px){.site-footer__top{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:768px){.site-footer__top{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(min-width:1200px){.site-footer__top{grid-template-columns:1.4fr repeat(4,minmax(0,1fr));}}

.footer-legal{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;padding:1.75rem 0;border-bottom:1px solid rgba(255,255,255,.12);}
.footer-legal a{font-size:.875rem;color:var(--on-dark-body);}
.footer-legal a:hover{color:var(--on-dark-head);}
@media(max-width:767px){.footer-legal{justify-content:center;text-align:center;}}

.footer-bottom{display:flex;flex-wrap:wrap;gap:.5rem 2rem;align-items:center;justify-content:space-between;padding:1.5rem 0 calc(1.5rem + env(safe-area-inset-bottom));font-size:.875rem;color:var(--on-dark-body);}
.footer-bottom__meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;}
.footer-bottom__partner{font-size:.875rem;color:var(--on-dark-body);max-width:56ch;}
@media(max-width:899px){.footer-bottom{flex-direction:column;align-items:flex-start;gap:.6rem;}}

/* ==========================================================================
   26. §17 ROTATING ENGINE WORD
   ========================================================================== */
.rotator-wrap{position:relative;display:inline-block;vertical-align:bottom;}
.rotator-sizer{visibility:hidden;display:inline-block;white-space:nowrap;font-family:inherit;font-weight:inherit;}
.rotator{position:absolute;left:0;top:0;height:100%;width:100%;overflow:hidden;}
.rotator-word{
  position:absolute;left:0;top:0;white-space:nowrap;font-family:inherit;font-weight:inherit;
  background:linear-gradient(100deg,#FFFFFF 0%,#F3E8FF 55%,#FFFFFF 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--violet-500);
  -webkit-text-stroke:1px rgba(255,255,255,.9);
  filter:drop-shadow(0 2px 10px rgba(6,6,9,.35));
  opacity:0;transform:translateY(65%);transition:opacity 380ms var(--ease),transform 380ms var(--ease);
}
#final .rotator-word{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.95);filter:drop-shadow(0 1px 0 rgba(255,255,255,.4)) drop-shadow(0 3px 10px rgba(6,6,9,.4));}
.rotator-word.is-current{opacity:1;transform:translateY(0);}
.rotator-word.is-leaving{opacity:0;transform:translateY(-65%);}
@media(prefers-reduced-motion:reduce){
  .rotator-word{transition:none;}
}
