/* Extracted from index.html. Do not edit generated cascade by hand unless this page is being refactored. */

/* ================================================================
   ASKGAAP HOMEPAGE v2 · A+B HYBRID (recommended direction)
   Combines Template A's design grammar (full-dark, single cyan,
   panel surfaces, mono register, evidence blocks) with Template B's
   homepage information architecture (12-section product flow with
   capability slate, COSO 4-stage, regulatory proof band, FAQ
   accordion, sitemap footer).
   Adds the 11 launch-critical surfaces missing from BOTH source
   templates:
     1.  Live proof artifact (animated, multi-state demo card)
     2.  Trust Center entry (dedicated quick-link)
     3.  Honest comparison surface (anti-moat anchor)
     4.  Pricing posture (transparent on first conversation)
     5.  Practitioner credibility band (face + bio + signature)
     6.  Series portal as FIRST-CLASS section (Hub + 3 spokes,
         editorial-not-product framing, separate subscribe path)
     7.  JSON-LD FAQPage schema (parser-ready, marker-commented)
     8.  Explicit security-posture badge in proof band
     9.  Motion budget honored (.live-dot pulse, fade-in eyebrow)
     10. Responsive depth (mobile, sm, md, lg, xl breakpoints)
     11. Accessibility scaffolding (skip-to-content, focus rings,
         aria-expanded on FAQ, semantic landmarks, contrast)
   v2 IA: Hero · Capabilities · Built-For · How (4-stage COSO) ·
     Included · Proof Band · Series · Trust/Comparison/Pricing ·
     Practitioner · FAQ · CTA · Footer
   ================================================================ */

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}

:root{
  /* ===== AskGAAP tokens — OKLCH-authored, dark-first (marketing-expression binding).
     Source of truth: ASKGAAP_TOKENS_OKLCH_SPEC_2026-06-25.md (every binding WCAG-2.2-AA verified).
     Marketing surface runs the brand identity at full chroma; the workbench shell desaturates the
     same hues one OKLCH chroma step over the same primitive scale. ===== */
  /* --- ground / surface (neutrals · H~264, near-0 chroma) --- */
  --bg:#0A0B0D; --bg2:#0B1F3A; --bg3:#0E1A2E; --deep:#08090B;
  --panel:#121418; --panel2:#171A20; --panel3:#1B1F26;
  --line:#1F2228; --line2:#262A32; --line3:#2E323A;
  /* --- ink --- */
  --ink:#f5f5f7; --ink2:#c9ccd3; --muted:#8B8E96;
  /* --- brand identity accents (verified AAA on --bg: cyan 11.1 · lime 16.2 · green 10.0) --- */
  --cyan:#00D4FF; --cyan2:#4FE3FF; --cyan3:#80EDFF;        /* structural / link / info */
  --pos:#B4FF39;                                           /* verified PULSE — transient only */
  --green:#43D26F; --green-dk:#2AB558; --green-bg:#0F2818; /* action / CTA */
  --warn:#FFB840;                                          /* alert-amber (general warning) */
  --red:#E5392E;                                           /* destructive / must-read (never proof-state) */
  /* --- proof-state families (NEW · resolve the §8 hue shortage; salience-correct) --- */
  --proof-verified:#259148;    /* green-500 oklch(58% .145 150) — CALM verified baseline */
  --proof-receipt:#C78A3C;     /* proofAmber-400 oklch(68% .119 70) — receipt_valid (≠ --warn) */
  --proof-unverified:#ACB5C2;  /* slate-300 oklch(77% .021 255) — NEUTRAL, never red */
  --refusal:#D474A4;           /* plum-400 oklch(68% .131 350) */
  --zero-source:#65A6A0;       /* teal-400 oklch(68% .067 188) — pulled 32° off cyan */
  /* --- Document-Paper light SURFACE (the produced-artifact pane) --- */
  --document-paper:#F4F2EA; --paper-ink:#0A0B0D;
  --paper-link:#183841;        /* cyan-700 — 11.2:1 on paper */
  --paper-citation:#233735;    /* teal-700 — 11.2:1 on paper */
  --paper-verified-fill:#95C753;/* lime-300 fill + --paper-ink = verified CHIP on light (9.9:1) */
  /* --- focus ring · 2-token offset; corrected ring split off cyan (WCAG 2.2 SC 1.4.11) --- */
  --focus:#00D4FF;             /* legacy alias (existing :focus-visible rule) */
  --focus-ring:#f5f5f7;        /* corrected ring — ink-0, 18:1 vs surface via outline-offset */
  /* --- concept chrome (stripped at production cut) --- */
  --anno-bg:#2A2610; --anno-border:#8A7A2A; --anno-ink:#E8D980;
  /* --- motion --- */
  --ag-expo:cubic-bezier(0.16,1,0.3,1);
}

body{
  background:var(--bg); font-family:'Inter','Segoe UI',sans-serif;
  color:var(--ink2); line-height:1.5;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
body.nav-scroll-lock{overflow:hidden}

/* ============ ACCESSIBILITY: skip-to-content + focus rings ============ */
.skip-link{
  position:absolute; top:-100px; left:8px;
  background:var(--cyan); color:#0A0B0D;
  padding:10px 16px; font-weight:700; font-size:13px;
  border-radius:4px; z-index:9999;
  transition:top .15s;
}
.skip-link:focus{top:8px;outline:none}
*:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}/* 2-token offset ring, ink-0 — never blends with a cyan link (WCAG 2.2 SC 1.4.11) */
/* forced-colors: the two inputs that use outline:none + box-shadow focus ring would lose their indicator in Windows High Contrast; restore a real outline there */
@media (forced-colors:active){
  .series-subscribe input:focus,.cta-form input:focus{outline:2px solid Highlight;outline-offset:1px}
}

/* ============ DESIGN-REVIEW FRAME (stripped in prod) ============ */
.review-banner{
  background:var(--anno-bg); border-bottom:1px solid var(--anno-border);
  color:var(--anno-ink); padding:10px 24px;
  font-family:'JetBrains Mono',monospace;
  font-size:11px; letter-spacing:.08em; text-align:center;
}
.review-banner b{font-weight:700;color:#fff}
.anno{
  background:var(--anno-bg); border:1px solid var(--anno-border);
  border-left:3px solid var(--anno-border); color:var(--anno-ink);
  padding:14px 18px; font-size:12.5px; line-height:1.6;
  border-radius:3px; margin:16px auto 0; max-width:1240px;
}
.anno b{color:#fff;font-weight:700}
.anno code{font-family:'JetBrains Mono',monospace;font-size:11px;color:#fff;background:rgba(255,255,255,.08);padding:1px 5px;border-radius:2px}
.anno ol{margin:8px 0 0 22px;padding:0}
.anno ol li{margin-bottom:3px}

/* ============ NAV ============ */
.nav{
  position:sticky; top:0; z-index:50;
  background:var(--bg); /* de-converge: solid, glassmorphism blur removed */
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:1280px; margin:0 auto;
  padding:14px 32px;
  display:flex; align-items:center; justify-content:space-between; gap:32px;
}
/* === V3B MODERATE WORDMARK + PRODUCTION LOCKUP MARK === */
.brand{
  display:inline-flex; align-items:center; text-decoration:none;
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:16px; letter-spacing:-.015em; line-height:1;
}
.brand-mark{ width:26px; height:26px; flex-shrink:0; display:block; margin-right:10px; }
.brand .ask{color:#85878F;font-weight:500}
.brand .gaap{color:#fff;font-weight:700;letter-spacing:-.005em}
.brand .tld{color:#22d3ee;font-weight:500}

.nav-links{display:flex;align-items:center;gap:24px}
.nav-link{
  color:var(--ink2); text-decoration:none;
  font-size:13px; font-weight:500; letter-spacing:.01em;
  padding:5px 0; position:relative;
}
.nav-link:hover{color:#fff}
.nav-link.series::before{
  content:''; display:inline-block;
  width:6px; height:6px; border-radius:50%;
  background:var(--cyan); margin-right:6px; vertical-align:middle;
  box-shadow:0 0 0 3px rgba(0,212,255,.15);
}
.btn-cta{
  background:var(--green); color:#0A0B0D;
  font-weight:700; font-size:13px;
  padding:9px 16px; border-radius:4px;
  text-decoration:none; transition:background .15s; letter-spacing:.01em;
}
.btn-cta:hover{background:var(--green-dk)}

/* ============ MOBILE NAV — disclosure (mono toggle + solid dropdown sheet) ============ */
.nav-toggle{
  display:none; /* desktop hidden; shown <=900px */
  align-items:center; gap:8px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px; font-weight:600; letter-spacing:.18em; line-height:1;
  text-transform:uppercase; color:var(--ink2);
  background:transparent; border:1px solid var(--line2);
  padding:9px 14px; border-radius:3px; cursor:pointer;
  transition:color .15s,border-color .15s;
}
.nav-toggle:hover{color:#fff;border-color:var(--cyan)}
.nav-toggle[aria-expanded="true"]{color:var(--cyan);border-color:var(--cyan)}
.mobile-menu{
  position:absolute; top:100%; left:0; right:0;
  display:flex; flex-direction:column;
  padding:6px 24px 22px;
  background:var(--bg); border-bottom:1px solid var(--line);
  box-shadow:0 16px 32px -12px rgba(0,0,0,.6);
  transform:translateY(-6px); opacity:0;
  transition:opacity .22s var(--ag-expo),transform .22s var(--ag-expo);
}
.mobile-menu.is-open{transform:translateY(0);opacity:1}
.mobile-menu[hidden]{display:none}
.mobile-link{
  color:var(--ink2); text-decoration:none;
  font-size:15px; font-weight:500; letter-spacing:.01em;
  padding:14px 2px; border-bottom:1px solid var(--line);
}
.mobile-link:hover,.mobile-link:focus-visible{color:#fff}
.mobile-link.series::before{
  content:''; display:inline-block; width:6px; height:6px; border-radius:50%;
  background:var(--cyan); margin-right:8px; vertical-align:middle;
  box-shadow:0 0 0 3px rgba(0,212,255,.15);
}
.mobile-cta{margin-top:16px;text-align:center;padding:13px 16px;border-bottom:none}
/* scrim behind the open mobile menu — dims the page so it doesn't bleed through (z-40, below sticky nav z-50) */
.menu-scrim{
  position:fixed; inset:0; z-index:40;
  background:rgba(8,9,11,.6);
  opacity:0; pointer-events:none;
  transition:opacity .22s var(--ag-expo);
}
.menu-scrim.is-open{ opacity:1; pointer-events:auto; }
.menu-scrim[hidden]{ display:none; }
@media (min-width:901px){ .menu-scrim{ display:none!important; } }
@media (prefers-reduced-motion:reduce){
  .mobile-menu{transition:none;transform:none}
}

/* ============ HERO ============ */
.hero{
  background:linear-gradient(135deg,var(--bg2) 0%,var(--bg) 60%,#000 100%);
  color:var(--ink);
  position:relative; overflow:hidden;
  padding:96px 32px 44px;
}
.hero::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse at 70% 40%,rgba(0,212,255,.12) 0%,transparent 50%),
    radial-gradient(ellipse at 30% 70%,rgba(0,212,255,.06) 0%,transparent 60%);
}
.hero::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:40px 40px;
}
.hero-inner{
  max-width:1240px; margin:0 auto;
  position:relative; z-index:2;
  display:grid; grid-template-columns:1.3fr 1fr; gap:56px; align-items:center;
}

.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:11px; letter-spacing:.26em; color:var(--muted);
  text-transform:uppercase; margin-bottom:18px;
  display:inline-flex; align-items:center; gap:10px;
  opacity:0; animation:agSlideUp .85s var(--ag-expo) 0s forwards;
}
.eyebrow-dot{
  width:6px; height:6px; border-radius:50%; background:var(--cyan);
  box-shadow:0 0 0 4px rgba(0,212,255,.16); /* de-converge: static (pulse removed) */
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 4px rgba(0,212,255,.16)}
  50%{box-shadow:0 0 0 7px rgba(0,212,255,.08)}
}
@keyframes fadeIn{to{opacity:1}}
/* ===== LAYER 1 · hero entrance — fade + slide-up, ease-out-expo, slow ripple-down ===== */
@keyframes agSlideUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes agRiseOnly{from{transform:translateY(14px)}to{transform:translateY(0)}}

h1.hero-title{
  font-size:clamp(40px,5.4vw,58px);
  font-weight:800; letter-spacing:-.03em;
  line-height:1.05; color:var(--ink);
  animation:agRiseOnly .85s var(--ag-expo) .16s forwards;
}
.hero-sub{
  font-size:clamp(16px,1.9vw,19px);
  font-weight:400; color:var(--ink2);
  max-width:680px; margin-top:22px; line-height:1.55;
  opacity:0; animation:agSlideUp .85s var(--ag-expo) .32s forwards;
}
.hero-sub b{color:var(--cyan);font-weight:500}
.hero-cta{
  display:flex; align-items:center; gap:24px; margin-top:54px; flex-wrap:wrap;
  justify-content:space-between;
  opacity:0; animation:agSlideUp .85s var(--ag-expo) .48s forwards;
}
.hero-btn{
  background:var(--green); color:#0A0B0D;
  font-weight:700; font-size:14px;
  padding:13px 22px; border-radius:4px;
  text-decoration:none; transition:background .15s,transform .15s;
  letter-spacing:-.005em;
}
.hero-btn:hover{background:var(--green-dk);transform:translateY(-1px)}
.hero-btn-secondary{
  background:transparent; color:var(--ink);
  font-weight:500; font-size:13px;
  padding:13px 20px; border-radius:4px;
  border:1px solid var(--line2);
  text-decoration:none; transition:background .15s,border-color .15s; letter-spacing:.01em;
}
.hero-btn-secondary:hover{background:var(--panel);border-color:var(--cyan)}

/* ============ LIVE PROOF ARTIFACT (multi-state demo) ============ */
.live-card{
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--cyan);
  border-radius:5px; padding:18px 18px 16px;
  position:relative;
  opacity:0; animation:agSlideUp .85s var(--ag-expo) .48s forwards;
}
.live-card-status{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:14px; padding-bottom:10px;
  border-bottom:1px dashed var(--line2);
}
.live-card-label{
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px; letter-spacing:.26em; color:var(--cyan);
  text-transform:uppercase; font-weight:700;
}
.live-card-timer{ display:inline-flex; align-items:center; gap:8px; }
.live-card-timer-label{
  font-family:'JetBrains Mono',monospace;
  font-size:9px; letter-spacing:.18em; color:var(--muted);
  text-transform:uppercase; font-weight:600; white-space:nowrap;
}
.live-card-badge{
  font-family:'JetBrains Mono',monospace;
  font-size:9px; letter-spacing:.18em; color:var(--ink);
  background:rgba(0,212,255,.12); border:1px solid var(--cyan);
  padding:2px 7px; border-radius:2px;
  text-transform:uppercase; font-weight:600;
}
.live-card-badge .live-dot{
  display:inline-block; width:6px; height:6px; border-radius:50%;
  background:var(--cyan); margin-right:5px;
  animation:pulse 1.6s ease-in-out infinite;
}
.live-card-scenario{
  font-size:13px; font-weight:600; color:var(--ink);
  line-height:1.4; margin-bottom:12px;
  min-height:calc(1.4em * 2); /* CLS-free: equal height across 606/842/805 */
}
.live-card-arrow{
  font-family:'JetBrains Mono',monospace;
  font-size:11px; color:var(--cyan); margin-bottom:10px; letter-spacing:.04em;
}
.live-card-evidence{
  font-family:'JetBrains Mono',monospace;
  font-size:11px; color:var(--pos); line-height:1.65;
  background:var(--deep); border:1px solid var(--line);
  border-left:3px solid var(--cyan);
  border-radius:3px; padding:10px 12px;
  margin-bottom:12px;
}
.live-card-evidence .src{
  font-family:'JetBrains Mono',monospace;
  font-size:9px; letter-spacing:.22em; color:var(--cyan);
  text-transform:uppercase; margin-bottom:6px; display:block; font-weight:600;
}
.live-card-evidence .body i{color:var(--cyan);font-style:normal;font-weight:500}
.live-card-meta{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px;
  padding-top:10px; border-top:1px dashed var(--line2);
}
.live-card-meta-item{
  font-family:'JetBrains Mono',monospace;
  font-size:9px; letter-spacing:.16em; color:var(--muted);
  text-transform:uppercase; font-weight:600;
}
.live-card-meta-item b{
  display:block; color:var(--ink); font-family:'Inter',sans-serif;
  font-size:13px; font-weight:600; letter-spacing:-.005em;
  text-transform:none; margin-bottom:2px;
  white-space:nowrap;
}
.live-card-meta-item .conf{color:var(--cyan)}
.live-card-meta-item .pos{color:var(--pos)}

/* === CONFIDENCE METER · red→green RAG gradient (operator-directed restore, ported from homepage-v3-hybrid.html:296-314).
   NOTE: re-encodes a confidence scale; "not a probability score" caption (conf-caption) + included-features copy are now
   in tension with this visual — flagged for the claims gate + copy reconciliation before index. === */
.conf-row{ display:flex; align-items:center; gap:8px; margin-bottom:2px; }
.conf-row .conf{ display:inline-block; margin-bottom:0; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.04em; }
.conf-meter{
  display:inline-flex; gap:2px;
  padding:2px; border-radius:2px;
  background:rgba(255,255,255,.04);
}
.conf-meter span{
  display:block; width:7px; height:13px;
  border-radius:1px;
  box-shadow:0 0 4px rgba(0,0,0,.3) inset;
}
.conf-meter span:nth-child(1){ background:#ef4444; }  /* red    — ported from v3-hybrid:309-314 */
.conf-meter span:nth-child(2){ background:#f97316; }  /* orange */
.conf-meter span:nth-child(3){ background:#f59e0b; }  /* amber  */
.conf-meter span:nth-child(4){ background:#84cc16; }  /* lime   */
.conf-meter span:nth-child(5){ background:#22c55e; }  /* green  */
.conf-meter span:nth-child(6){ background:#16a34a; box-shadow:0 0 6px rgba(22,163,74,.5),0 0 4px rgba(0,0,0,.3) inset; }  /* deep green */
.conf-caption{
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:11px; line-height:1.55; color:var(--muted);
  margin-top:10px; padding-top:10px;
  border-top:1px dashed var(--line2);
  font-style:italic;
}
.conf-caption-link{
  color:var(--cyan); font-style:normal; font-weight:600;
  text-decoration:none; margin-left:4px; white-space:nowrap;
}
.conf-caption-link:hover{text-decoration:underline}
.live-card-controls{
  display:flex; gap:6px; margin-top:12px;
  padding-top:12px; border-top:1px dashed var(--line2);
}
.live-card-controls button{
  flex:1; background:var(--deep); border:1px solid var(--line2);
  color:var(--muted); font-family:'JetBrains Mono',monospace;
  font-size:9px; letter-spacing:.18em; text-transform:uppercase; font-weight:600;
  padding:7px 8px; border-radius:2px; cursor:pointer; transition:all .15s;
}
.live-card-controls button:hover,.live-card-controls button.active{
  background:rgba(0,212,255,.08); border-color:var(--cyan); color:var(--cyan);
}

/* === DOCUMENT-PAPER · the produced working-memo pane ======================
   The dark console above is the TOOL; this light #F4F2EA sheet is the WORK
   (DESIGN.md "Document-Paper Rule"). Nested inside #liveCard so it inherits
   the card's cyan rail, the WCAG-2.2.2 hover/focus pause, and the staged
   reveal. Mono is a literal evidence register here (kicker label · ASC token ·
   chip) — never decoration; the memo prose is Inter (a document is not source
   code). Every token pair below is WCAG-AA verified by oklch-token-engine. */
.wb-memo{
  background:var(--document-paper);
  border:1px solid rgba(10,11,13,.12);        /* soft paper edge (paper-ink @ 12%) */
  border-left:3px solid var(--cyan);          /* the engine's cyan rail continues onto the paper */
  border-radius:4px; padding:13px 15px 11px;
  margin:8px 0 12px;                           /* sits just below the resolved citation = rendered downward */
}
.wb-memo-kicker{
  font-family:'JetBrains Mono',monospace;
  font-size:8.5px; letter-spacing:.2em; font-weight:700;
  color:var(--paper-citation); text-transform:uppercase;
  margin-bottom:7px;
}
.wb-memo-title{
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:13.5px; font-weight:700; color:var(--paper-ink);
  letter-spacing:-.01em; line-height:1.3; margin-bottom:5px;
}
.wb-memo-body{
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:12.5px; line-height:1.55; color:var(--paper-ink);
  margin:0 0 10px;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;
  overflow:hidden; min-height:calc(1.55em * 3);  /* CLS-free: equal height across 606/842/805 */
}
.wb-memo-body .cite{
  font-family:'JetBrains Mono',monospace; font-size:11px;
  color:var(--paper-citation);
  text-decoration:underline dotted; text-underline-offset:2px;
  white-space:nowrap;
}
.wb-memo-foot{ display:flex; align-items:center; gap:8px 10px; flex-wrap:wrap; }
.wb-memo-cite{ /* persistent source binding — always visible, clamp-independent (the artifact carries its own cite) */
  font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.04em;
  color:var(--paper-citation); text-decoration:underline dotted; text-underline-offset:2px;
  white-space:nowrap;
}
.wb-memo-chip{
  font-family:'JetBrains Mono',monospace;
  font-size:9px; letter-spacing:.13em; font-weight:700; text-transform:uppercase;
  color:var(--paper-ink); background:var(--paper-verified-fill);
  border:1px solid var(--proof-verified); border-radius:2px;
  padding:2px 7px; white-space:nowrap;
}
.wb-memo-link{
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:11px; font-weight:600; color:var(--paper-link);
  text-decoration:none; white-space:nowrap; margin-left:auto;
}
.wb-memo-link:hover{ text-decoration:underline; }
.wb-memo a:focus-visible{ outline:2px solid var(--paper-ink); outline-offset:2px; } /* global ring ~1.04:1 on paper — override */
/* typed-word reveal scoped to the paper (mirrors the dark .src/.body reveal at :944) */
.wb-memo-body .tw-w{ opacity:0; }
.wb-memo-body .tw-w.tw-shown{ opacity:1; transition:opacity .1s linear; }
.wb-memo .tw-caret{ background:var(--paper-citation); } /* cyan caret is invisible on paper */
/* SOURCE-BOUND chip stamp — a transient lime PULSE (--pos) settling to the calm verified fill */
@keyframes wbChipStamp{
  0%   { background:var(--pos); box-shadow:0 0 0 0 rgba(180,255,57,.55); }
  55%  { background:var(--pos); box-shadow:0 0 9px 2px rgba(180,255,57,.40); }
  100% { background:var(--paper-verified-fill); box-shadow:0 0 0 0 rgba(180,255,57,0); }
}
.wb-memo-chip.stamp{ animation:wbChipStamp .62s var(--ag-expo) both; }
@media (prefers-reduced-motion:reduce){
  .wb-memo-body .tw-w{ opacity:1!important; }
  .wb-memo-chip.stamp{ animation:none!important; background:var(--paper-verified-fill)!important; }
}

/* ============ SECTION FRAME ============ */
.section{padding:84px 32px;background:var(--bg)}
.section.alt{background:var(--panel)}
.section.deep{background:var(--deep)}
.section-inner{max-width:1240px;margin:0 auto}
.section-label{
  font-family:'JetBrains Mono',monospace;
  font-size:13px; letter-spacing:.22em;
  color:var(--cyan); text-transform:uppercase;
  margin-bottom:12px; font-weight:600;
}

/* === MOAT BAND · transitional surface (hero → product) · brand-architecture statement === */
.moat-band{
  background:linear-gradient(180deg,#000 0%,var(--bg3) 50%,#000 100%);
  border-top:1px solid rgba(0,212,255,.20);
  border-bottom:1px solid rgba(0,212,255,.20);
  padding:64px 32px 68px;
  position:relative; overflow:hidden;
}
.moat-band::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse at center,rgba(0,212,255,.07) 0%,transparent 60%);
  pointer-events:none;
}
.moat-band-inner{ max-width:920px; margin:0 auto; text-align:center; position:relative; z-index:1; }
.moat-band-eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:11px; font-weight:600; letter-spacing:.22em;
  text-transform:uppercase; color:var(--cyan);
  margin-bottom:22px;
  display:inline-block;
}
.moat-band-sep{ opacity:.55; margin:0 .35em; }
.moat-band-tm{
  font-size:.85em; font-weight:700;
  line-height:0; letter-spacing:0;
  position:relative; top:-.45em;
  margin-left:.05em;
}
.moat-band-headline{
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:clamp(28px,3.6vw,44px);
  font-weight:800; letter-spacing:-.025em; line-height:1.08;
  color:var(--ink); margin:0 0 18px;
}
.moat-band-sub{
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:15px; line-height:1.55; color:var(--ink2);
  max-width:600px; margin:0 auto;
}
@media (max-width:720px){
  .moat-band{ padding:44px 20px 48px; }
  .moat-band-headline{ font-size:30px; }
  .moat-band-eyebrow{ font-size:10px; letter-spacing:.18em; }
}
.section-title{
  font-size:34px; font-weight:700;
  color:var(--ink); letter-spacing:-.02em;
  line-height:1.15; margin-bottom:12px; max-width:820px;
}
.section-sub{
  font-size:15px; color:var(--muted);
  max-width:780px; line-height:1.65; margin-bottom:42px;
}
.section-sub b{color:var(--ink2);font-weight:600}

/* ============ THREE CAPABILITIES ============ */
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cap{
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--cyan);
  border-radius:5px; padding:24px 24px 26px;
  position:relative; transition:transform .2s,border-color .2s,background .2s;
}
.cap:hover{transform:translateY(-3px);border-left-color:var(--cyan2);background:var(--panel2)}
.cap-num{
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px; letter-spacing:.24em; color:var(--cyan);
  text-transform:uppercase; font-weight:700; margin-bottom:14px;
}
.cap-title{
  font-size:23px; font-weight:800; color:var(--ink);
  letter-spacing:-.018em; line-height:1.2; margin-bottom:4px;
}
.cap-title .tm{
  font-size:11px; vertical-align:super;
  color:var(--cyan); font-weight:500; letter-spacing:.02em; margin-left:2px;
}
.cap-slash{
  font-family:'JetBrains Mono',monospace;
  font-size:12px; color:var(--cyan);
  letter-spacing:.01em; margin-bottom:14px; font-weight:500;
}
.cap-body{font-size:13px;line-height:1.7;color:var(--ink2);margin-bottom:16px}
.cap-list{list-style:none;padding:0;border-top:1px solid var(--line);padding-top:14px;margin-top:4px}
.cap-list li{
  font-size:12px; line-height:1.55; color:var(--ink2);
  padding-left:16px; position:relative; margin-bottom:7px;
}
.cap-list li::before{
  content:'›'; position:absolute; left:0; top:0;
  color:var(--cyan); font-weight:700; font-size:13px; line-height:1.4;
}

/* ============ BUILT-FOR ============ */
.built-for{
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--green); border-radius:5px;
  padding:28px 30px; margin-top:30px;
}
.built-for-head{
  display:flex; justify-content:space-between; align-items:baseline;
  gap:24px; margin-bottom:14px; flex-wrap:wrap;
}
.built-for-title{font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-.018em}
.built-for-meta{
  font-family:'JetBrains Mono',monospace;
  font-size:10px; letter-spacing:.2em; color:var(--cyan);
  text-transform:uppercase; font-weight:600;
}
.built-for p{font-size:13.5px;line-height:1.75;color:var(--ink2);margin-bottom:10px}
.built-for p b{color:var(--ink);font-weight:600}
.built-for .positioning{
  margin-top:16px; padding:14px 18px;
  background:linear-gradient(90deg,rgba(0,212,255,.09),transparent);
  border-left:3px solid var(--cyan);
  border-radius:0 3px 3px 0;
  font-size:14.5px; color:var(--ink); font-weight:500; line-height:1.5;
}

/* ============ HOW IT WORKS ============ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:6px}
.step{
  background:var(--bg); border:1px solid var(--line);
  border-left:3px solid var(--cyan);
  border-radius:5px; padding:20px 20px;
  position:relative;
}
.step-num{
  display:inline-block; background:var(--deep); color:var(--cyan);
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px; font-weight:700; letter-spacing:.18em;
  padding:4px 9px; border-radius:2px; border:1px solid var(--line2);
  margin-bottom:14px; text-transform:uppercase;
}
.step-title{font-size:15.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em;margin-bottom:8px;line-height:1.25}
.step-body{font-size:12.5px;line-height:1.65;color:var(--ink2)}
.step-anchor{
  font-family:'JetBrains Mono',monospace; font-size:9.5px;
  color:var(--cyan); letter-spacing:.14em;
  margin-top:14px; padding-top:10px;
  border-top:1px dashed var(--line2); display:block;
  font-weight:600; text-transform:uppercase;
}

/* ============ INCLUDED ============ */
.incl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:6px}
.incl{
  background:var(--panel); border:1px solid var(--line);
  border-radius:5px; padding:20px 22px;
  transition:border-color .15s;
}
.incl:hover{border-color:var(--line3)}
.incl-icon{
  font-family:'JetBrains Mono',monospace;
  font-size:18px; color:var(--cyan); font-weight:700;
  margin-bottom:8px; line-height:1;
}
.incl-title{font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em;margin-bottom:6px}
.incl-body{font-size:12.5px;line-height:1.6;color:var(--ink2)}

/* ============ PROOF BAND with security badge ============ */
.proof-inner{display:grid;grid-template-columns:1fr 2fr;gap:48px;align-items:start}
.proof-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.stat{
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--cyan);
  border-radius:5px; padding:18px 18px;
}
.stat-num{font-size:32px;font-weight:700;color:var(--ink);letter-spacing:-.025em;line-height:1;font-variant-numeric:tabular-nums}
.stat-num s{font-size:15px;color:var(--muted);text-decoration:none;font-weight:500}
.stat-label{
  font-family:'JetBrains Mono',monospace;
  font-size:9px; letter-spacing:.16em; color:var(--cyan);
  text-transform:uppercase; margin-top:10px; font-weight:700;
}
.stat-body{font-size:11.5px;line-height:1.55;color:var(--ink2);margin-top:8px}

.security-badge{
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--green); border-radius:5px;
  padding:18px 22px;
}
.security-badge-l{
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px; letter-spacing:.22em; color:var(--green);
  text-transform:uppercase; font-weight:700; margin-bottom:10px;
  display:flex; align-items:center; gap:8px;
}
.security-badge-l::before{
  content:''; width:8px; height:8px; border-radius:50%;
  background:var(--green); box-shadow:0 0 0 3px rgba(67,210,111,.18);
}
.security-badge-t{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.005em;margin-bottom:6px}
.security-badge-b{font-size:12px;color:var(--ink2);line-height:1.6}
.security-badge-b code{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--cyan);background:var(--deep);padding:1px 5px;border-radius:2px}
.security-badge-link{
  display:inline-block; margin-top:10px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px; letter-spacing:.16em; color:var(--cyan);
  text-decoration:none; text-transform:uppercase; font-weight:600;
}

/* ============ THE SERIES ============ */
.series-intro{
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--cyan);
  border-radius:5px; padding:24px 26px; margin-bottom:28px;
  display:grid; grid-template-columns:160px 1fr; gap:24px; align-items:center;
}
.series-intro-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:10px; letter-spacing:.24em; color:var(--cyan);
  text-transform:uppercase; font-weight:700; line-height:1.4;
  border-right:1px solid var(--line2); padding-right:24px;
}
.series-intro-tag b{display:block;color:var(--ink);font-size:11px;margin-top:4px}
.series-intro-b{font-size:14px;line-height:1.7;color:var(--ink2)}
.series-intro-b b{color:var(--ink);font-weight:600}
.series-intro-b .em{color:var(--cyan);font-weight:500}

.series-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.series-card{
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--cyan);
  border-radius:5px; padding:18px 20px 18px;
  text-decoration:none; display:flex; flex-direction:column;
  transition:background .15s,transform .15s,border-left-color .15s;
  position:relative;
}
.series-card:hover{background:var(--panel2);transform:translateY(-2px);border-left-color:var(--cyan2)}
.series-card .part{
  font-family:'JetBrains Mono',monospace;
  font-size:9px; letter-spacing:.22em; color:var(--cyan);
  text-transform:uppercase; font-weight:700; margin-bottom:10px;
  display:flex; justify-content:space-between; align-items:center;
}
.series-card .part .stat-pill{
  background:var(--deep); border:1px solid var(--line2);
  color:var(--muted); padding:2px 6px; border-radius:2px;
  font-size:8.5px; letter-spacing:.16em; font-weight:600;
}
.series-card .part .stat-pill.live{color:var(--cyan);border-color:var(--cyan)}
.series-card .ttl{
  font-size:14.5px; font-weight:700; color:var(--ink);
  line-height:1.35; letter-spacing:-.005em; margin-bottom:8px;
}
.series-card .dek{font-size:12px;color:var(--ink2);line-height:1.55;margin-bottom:14px;flex:1}
.series-card .meta{
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px; color:var(--muted); letter-spacing:.14em;
  text-transform:uppercase; font-weight:500;
  display:flex; justify-content:space-between; align-items:center;
  padding-top:10px; border-top:1px dashed var(--line2);
}
.series-card .meta .ar{color:var(--cyan);font-weight:600}

.series-subscribe{
  margin-top:24px; padding:20px 24px;
  background:var(--deep); border:1px solid var(--line);
  border-left:3px solid var(--green); border-radius:5px;
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
}
.series-subscribe .copy{flex:1;min-width:280px}
.series-subscribe .copy b{
  display:block; color:var(--ink); font-weight:700;
  font-size:14px; letter-spacing:-.005em; margin-bottom:4px;
}
.series-subscribe .copy span{color:var(--muted);font-size:12px;line-height:1.55}
.series-subscribe .copy span em{color:var(--cyan);font-style:normal;font-weight:500}
.series-subscribe form{display:flex;gap:8px;min-width:300px}
.series-subscribe input{
  flex:1; padding:11px 14px; border:1px solid var(--line2);
  border-radius:3px; font-size:13px; font-family:inherit;
  background:var(--bg); color:var(--ink);
}
.series-subscribe input::placeholder{color:var(--muted)}
.series-subscribe input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,212,255,.12)}
.series-subscribe button{
  background:transparent; color:var(--ink);
  font-weight:600; font-size:12.5px;
  padding:11px 16px; border-radius:3px;
  border:1px solid var(--line2); cursor:pointer;
  font-family:inherit; letter-spacing:.01em;
  transition:border-color .15s,background .15s;
}
.series-subscribe button:hover{border-color:var(--cyan);background:var(--panel)}
.series-subscribe .form-stack{display:flex;flex-direction:column;gap:10px;min-width:300px}
.series-subscribe .opt-in-row{
  display:flex; align-items:flex-start; gap:9px;
  font-size:11.5px; line-height:1.5; color:var(--muted);
  cursor:pointer; padding:4px 2px 0; user-select:none;
}
.series-subscribe .opt-in-row input[type="checkbox"]{
  width:14px; height:14px; flex-shrink:0;
  accent-color:var(--cyan); margin-top:2px; cursor:pointer;
}
.series-subscribe .opt-in-row b{color:var(--ink);font-weight:600}
.series-subscribe .opt-in-row:hover{color:var(--ink2)}

/* ============ TRUST + COMPARISON + PRICING ============ */
.tri-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tri{
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--cyan); border-radius:5px;
  padding:22px 24px; text-decoration:none; display:block;
  transition:background .15s,border-left-color .15s;
}
.tri:hover{background:var(--panel2);border-left-color:var(--cyan2)}
.tri-l{
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px; color:var(--cyan); letter-spacing:.22em;
  text-transform:uppercase; font-weight:700; margin-bottom:10px;
}
.tri-t{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.005em;margin-bottom:6px}
.tri-b{font-size:12px;color:var(--ink2);line-height:1.55;margin-bottom:12px}
.tri-stat{
  background:var(--deep); border:1px solid var(--line);
  border-radius:3px; padding:10px 12px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px; line-height:1.6; color:var(--pos);
  margin-bottom:10px;
}
.tri-stat .l{color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:9px;margin-bottom:4px;display:block;font-weight:600}
.tri-ar{
  font-family:'JetBrains Mono',monospace; font-size:10px;
  color:var(--cyan); margin-top:4px; display:block; font-weight:600;
}

/* ============ PRACTITIONER CREDIBILITY ============ */
.prac{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:center}
.prac-frame{
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--cyan); border-radius:5px;
  padding:24px; text-align:center;
}
.prac-avatar{
  width:120px; height:120px; border-radius:50%;
  background:linear-gradient(135deg,var(--bg2),var(--deep));
  border:2px solid var(--cyan);
  margin:0 auto 14px;
  display:flex; align-items:center; justify-content:center;
  font-family:'JetBrains Mono',monospace;
  font-size:32px; color:var(--cyan); font-weight:700;
}
.prac-name{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.005em;margin-bottom:4px}
.prac-role{
  font-family:'JetBrains Mono',monospace;
  font-size:10px; letter-spacing:.16em; color:var(--cyan);
  text-transform:uppercase; font-weight:600;
}
.prac-body{color:var(--ink2);font-size:14px;line-height:1.7}
.prac-body b{color:var(--ink);font-weight:600}
.prac-body .em{color:var(--cyan);font-weight:500}
.prac-sig{
  margin-top:18px; padding-top:14px;
  border-top:1px solid var(--line);
  font-family:'JetBrains Mono',monospace;
  font-size:11px; color:var(--muted); letter-spacing:.14em;
  text-transform:uppercase;
}
.prac-sig a{color:var(--cyan);text-decoration:none;margin-left:14px;font-weight:600}

/* ============ FAQ ============ */
.faq-wrap{max-width:880px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--line);padding:16px 0}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-q{
  display:flex; justify-content:space-between; align-items:baseline; gap:20px;
  cursor:pointer; list-style:none;
  font-size:15px; font-weight:700; color:var(--ink);
  letter-spacing:-.005em; line-height:1.35;
}
.faq-q::-webkit-details-marker{display:none}
.faq-q::after{
  content:'+'; font-family:'JetBrains Mono',monospace;
  font-size:20px; color:var(--cyan); font-weight:400; line-height:1;
  flex-shrink:0; transition:transform .2s;
}
details[open] .faq-q::after{content:'−'}
.faq-a{
  font-size:13.5px; line-height:1.7; color:var(--ink2);
  padding:14px 16px 6px; max-width:820px;
  margin-top:10px;
  background:linear-gradient(90deg,rgba(0,212,255,.05),transparent);
  border-left:3px solid var(--cyan);
}
.faq-a b{color:var(--ink);font-weight:600}
.faq-a em{color:var(--cyan);font-style:normal;font-weight:500}
.faq-a .cite{
  display:block; margin-top:10px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px; letter-spacing:.16em; color:var(--cyan); text-transform:uppercase;
}

/* ============ CTA BAND ============ */
.cta-band{
  background:linear-gradient(135deg,var(--bg2) 0%,var(--bg) 60%,#000 100%);
  color:var(--ink); padding:74px 32px; text-align:center;
  position:relative; overflow:hidden;
}
.cta-band::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%,rgba(0,212,255,.10),transparent 60%);
}
.cta-inner{max-width:720px;margin:0 auto;position:relative;z-index:2}
.cta-title{font-size:34px;font-weight:800;color:var(--ink);letter-spacing:-.025em;line-height:1.1;margin-bottom:12px}
.cta-sub{font-size:15.5px;color:var(--ink2);line-height:1.55;margin-bottom:24px}
.cta-form{display:flex;gap:8px;max-width:480px;margin:0 auto}
.cta-form input{
  flex:1; padding:12px 14px; border:1px solid var(--line2);
  border-radius:4px; font-size:13.5px; font-family:inherit;
  background:var(--deep); color:var(--ink);
}
.cta-form input::placeholder{color:var(--muted)}
.cta-form input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,212,255,.12)}
.cta-form button{
  background:var(--green); color:#0A0B0D; font-weight:700; font-size:13.5px;
  padding:12px 20px; border-radius:4px; border:none; cursor:pointer;
  font-family:inherit; letter-spacing:.01em;
}
.cta-fineprint{
  font-family:'JetBrains Mono',monospace;
  font-size:10px; letter-spacing:.22em;
  color:var(--muted); text-transform:uppercase;
  margin-top:14px; font-weight:600;
}
.cta-opt-in{
  display:flex; align-items:flex-start; gap:9px;
  font-size:12px; line-height:1.5; color:rgba(255,255,255,.62);
  cursor:pointer; max-width:480px; margin:14px auto 0;
  user-select:none; text-align:left;
}
.cta-opt-in input[type="checkbox"]{
  width:14px; height:14px; flex-shrink:0;
  accent-color:var(--cyan); margin-top:2px; cursor:pointer;
}
.cta-opt-in b{color:#fff;font-weight:600}
.cta-opt-in:hover{color:rgba(255,255,255,.82)}

/* ============ FOOTER ============ */
.foot{background:var(--deep);color:var(--ink);padding:54px 32px 30px;border-top:1px solid var(--line)}
.foot-inner{max-width:1240px;margin:0 auto}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
.foot h3{
  font-family:'JetBrains Mono',monospace;
  font-size:10px; letter-spacing:.26em; color:var(--cyan);
  text-transform:uppercase; font-weight:700; margin-bottom:14px;
}
.foot-brand b{
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:18px; color:var(--ink); letter-spacing:-.015em; line-height:1; font-weight:500;
  display:inline-flex; align-items:center;
}
.foot-brand-mark{ width:30px; height:30px; flex-shrink:0; display:block; margin-right:11px; }
.foot-brand .ask{color:#85878F;font-weight:500}
.foot-brand .gaap{color:#fff;font-weight:700;letter-spacing:-.005em}
.foot-brand .tld{color:#22d3ee;font-weight:500}
.foot-tag{color:var(--cyan);font-weight:600;font-size:13px;margin-top:10px;display:block;font-family:'Inter',sans-serif;letter-spacing:-.005em}
.foot-tag2{color:var(--muted);font-size:12px;line-height:1.55;margin-top:4px;display:block}
.foot-address{font-size:11.5px;color:var(--muted);line-height:1.65;margin-top:16px}
.foot-address a{color:var(--cyan);text-decoration:none}
.foot-col a{display:block;color:var(--ink2);text-decoration:none;font-size:12.5px;margin-bottom:8px}
.foot-col a:hover{color:var(--cyan)}
.foot-caveat{
  margin-top:18px; padding:11px 14px;
  background:var(--bg); border:1px solid var(--line);
  border-left:2px solid var(--muted); border-radius:3px;
  font-size:10.5px; color:var(--muted); line-height:1.6;
}
.foot-caveat b{
  color:var(--ink); font-family:'JetBrains Mono',monospace;
  font-size:9px; letter-spacing:.26em; text-transform:uppercase;
  margin-right:8px; font-weight:700;
}
.foot-bot{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:20px; border-top:1px solid var(--line);
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px; letter-spacing:.2em; color:var(--muted);
  text-transform:uppercase; flex-wrap:wrap; gap:14px;
}
.foot-bot a{color:var(--ink2);text-decoration:none}
.foot-bot a:hover{color:var(--cyan)}

/* ============ RESPONSIVE ============ */
@media (max-width:1180px){
  .series-intro{grid-template-columns:1fr;gap:14px}
  .series-intro-tag{border-right:none;border-bottom:1px solid var(--line2);padding-right:0;padding-bottom:14px}
}
@media (max-width:1080px){
  .series-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr 1fr;gap:28px}
  .foot-brand{grid-column:span 3}
}
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr;gap:36px}
  .cap-grid,.steps,.proof-inner,.tri-strip{grid-template-columns:1fr}
  .incl-grid{grid-template-columns:1fr 1fr}
  .prac{grid-template-columns:1fr;gap:24px}
  .prac-frame{max-width:280px;margin:0 auto}
  .nav-links{display:none}
  .nav-toggle{display:inline-flex}
  .cta-form{flex-direction:column}
  .live-card-controls{flex-wrap:wrap}
}
@media (max-width:640px){
  .section{padding:64px 20px}
  .hero{padding:72px 20px 84px}
  .series-grid,.incl-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:span 2}
  .hero-cta{flex-direction:column;align-items:stretch;gap:12px}
  .hero-cta .hero-btn,.hero-cta .hero-btn-secondary{width:100%;text-align:center}
  .live-card-meta{grid-template-columns:1fr}
  .proof-stats{grid-template-columns:1fr}
  .series-subscribe .form-stack,.series-subscribe form{min-width:0;width:100%}
  .series-subscribe input{min-width:0;flex:1 1 120px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto!important}/* reduced-motion: kill smooth scroll (WCAG 2.3.3) */
  /* Entrance elements use opacity:0 + animation:forwards to fade up; with the
     animation killed above they would rest BLANK. Force their final visible
     state so nothing is ever hidden under reduced motion. */
  .eyebrow,.hero-title,.hero-sub,.hero-cta,.live-card,.mrs{
    opacity:1!important; transform:none!important;
  }
}

/* ===== MUST-READ STRIP · hero-gap knowledge-base signal band ===== */
.mrs{max-width:1240px;margin:40px auto 0;position:relative;z-index:2;
  opacity:0; animation:agSlideUp .85s var(--ag-expo) .64s forwards;}
.mrs-bar{
  display:flex;align-items:center;width:100%;
  background:linear-gradient(90deg,rgba(229,57,46,.14),var(--panel) 42%);
  border:1px solid var(--line2);border-left:3px solid var(--red);border-radius:6px;
  text-decoration:none;transition:border-color .2s,background .2s,transform .2s;
}
.mrs-bar:hover{background:linear-gradient(90deg,rgba(229,57,46,.20),var(--panel2) 42%);border-color:var(--line3);transform:translateY(-1px)}
.mrs-left{display:inline-flex;align-items:center;gap:13px;padding:18px 28px;font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:700;letter-spacing:.16em;color:#FF6B5E;text-transform:uppercase;white-space:nowrap}
.mrs-left .dot{width:11px;height:11px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(229,57,46,.2)}/* de-converge: static (mrpulse removed) */
@keyframes mrpulse{0%,100%{box-shadow:0 0 0 4px rgba(229,57,46,.2)}50%{box-shadow:0 0 0 8px rgba(229,57,46,.05)}}
.mrs-mid{flex:1;height:1px;min-width:30px;background:linear-gradient(90deg,rgba(229,57,46,.5),var(--line2));margin:0 8px}
.mrs-right{display:inline-flex;align-items:center;gap:12px;padding:18px 28px;font-size:19px;font-weight:600;color:var(--ink);white-space:nowrap;letter-spacing:-.01em}
.mrs-right .ar{color:var(--cyan);font-family:'JetBrains Mono',monospace;font-size:22px;transition:transform .2s}
.mrs-bar:hover .mrs-right .ar{transform:translateX(5px)}
@media (max-width:760px){.mrs-bar{flex-direction:column;align-items:stretch}.mrs-mid{display:none}.mrs-left,.mrs-right{justify-content:center}}

/* ================================================================
   ADDITIVE MOTION LAYERS · lifted from motion-option{1..4} demos
   Layout/content/tokens unchanged. Keyframes prefixed `ag` to avoid
   collisions. All disabled + rested-final under prefers-reduced-motion.
   ================================================================ */

/* ===== LAYER 2 · HERO SIGNATURE — proof assembling =====
   The card shell entrance is owned by LAYER 1 (.live-card agSlideUp).
   While the card carries .is-animating, its INTERNAL contents stage in
   one at a time, driven by the JS timeline. Default (no .is-animating /
   no-JS / reduced-motion) = fully assembled, never blank. */
.live-card.is-animating .stg{
  opacity:0;
  transition:opacity .42s var(--ag-expo), transform .42s var(--ag-expo);
}
.live-card.is-animating .stg.slide{ transform:translateY(8px); }
.live-card.is-animating .stg.in{ opacity:1; transform:translateY(0); }

/* Confidence dots light one at a time, left -> right */
.live-card.is-animating .conf-meter span{
  opacity:.12; transform:scaleY(.55); transform-origin:bottom;
  transition:opacity .18s var(--ag-expo), transform .18s var(--ag-expo);
}
.live-card.is-animating .conf-meter span.lit{ opacity:1; transform:scaleY(1); }

/* Loop re-arm: snap content back to its hidden state with NO transition, so the
   next scenario's assembly starts clean instead of cross-fading the old one out. */
.live-card.reset .stg,
.live-card.reset .conf-meter span{ transition:none!important; }

/* Literal word-by-word evidence reveal: each word starts hidden; the JS timer
   reveals them one at a time, a caret riding the cursor position. The evidence
   panel still slides in via .stg; only the inner words type. */
.live-card-evidence .src .tw-w,
.live-card-evidence .body .tw-w{ opacity:0; }
.live-card-evidence .src .tw-w.tw-shown,
.live-card-evidence .body .tw-w.tw-shown{ opacity:1; transition:opacity .1s linear; }
.tw-caret{
  display:inline-block; width:2px; height:1em; margin:0 1px -1px;
  background:var(--cyan); vertical-align:baseline; opacity:.9; /* de-converge: solid, no blink */
}
@keyframes agCaret{ 0%,50%{opacity:1} 51%,100%{opacity:0} }
@media (prefers-reduced-motion: reduce){ .tw-caret{ display:none; } }

/* SHA-256 chip lock: quick lime glow settling to solid (step 7) */
.sha-chip{ position:relative; }
.live-card.is-animating .sha-chip.glow{
  animation:agShaLock .55s var(--ag-expo) forwards;
}
@keyframes agShaLock{
  0%{   color:var(--cyan); text-shadow:0 0 0 rgba(180,255,57,0); }
  45%{  color:#dfffaa; text-shadow:0 0 14px rgba(180,255,57,.95), 0 0 6px rgba(180,255,57,.7); }
  100%{ color:var(--pos); text-shadow:0 0 0 rgba(180,255,57,0); }
}

/* ===== LAYER 3 · SELECTIVE SCROLL-REVEALS (IntersectionObserver) =====
   Applied ONLY to §2 COSO .steps (stagger) and §4 .proof-stats (count-up).
   .js-stagger is added by JS only when motion is allowed, so a JS failure
   or reduced-motion path leaves the cards visible. */
.steps.js-stagger .step{
  opacity:0; transform:translateY(16px);
  transition:opacity .62s var(--ag-expo), transform .62s var(--ag-expo);
}
.steps.js-stagger.is-revealed .step{ opacity:1; transform:translateY(0); }
.steps.js-stagger.is-revealed .step:nth-child(1){transition-delay:0ms}
.steps.js-stagger.is-revealed .step:nth-child(2){transition-delay:90ms}
.steps.js-stagger.is-revealed .step:nth-child(3){transition-delay:180ms}
.steps.js-stagger.is-revealed .step:nth-child(4){transition-delay:270ms}

/* ===== LAYER 4 · PREMIUM MATERIALS ===== */
/* Slow faint cyan shimmer sweep over the hero's existing 40px grid (~6s). */
.hero-shimmer{
  position:absolute; inset:-40% -60%; pointer-events:none; z-index:1;
  background:linear-gradient(
    115deg,
    transparent 38%,
    rgba(0,212,255,.05) 47%,
    rgba(79,227,255,.11) 50%,
    rgba(0,212,255,.05) 53%,
    transparent 62%
  );
  mix-blend-mode:screen;
  transform:translateX(0);
  opacity:.35; /* de-converge: static faint sheen, sweep removed */
}
@keyframes agHeroShimmer{
  0%   {transform:translateX(-32%)}
  100% {transform:translateX(32%)}
}
/* Breathing lime glow (~3s) on the verified live-card SHA-256 chip */
.live-card-meta-item .pos.sha-chip{
  display:inline-block;
  background:rgba(180,255,57,.08);
  border:1px solid rgba(180,255,57,.5);
  border-radius:2px; padding:1px 6px;
  box-shadow:0 0 8px 1px rgba(180,255,57,.35); /* de-converge: static verified glow, breath removed */
}
@keyframes agLimeBreath{
  0%,100%{box-shadow:0 0 4px 0 rgba(180,255,57,.20); border-color:rgba(180,255,57,.32)}
  50%    {box-shadow:0 0 12px 2px rgba(180,255,57,.45); border-color:rgba(180,255,57,.6)}
}
/* (Top-bucket breathing glow removed — no 6th bucket; perpetual glow retired per long-session ergonomics.) */

/* ===== REDUCED MOTION — disable ALL new motion; rest in final visible state =====
   The global block above already kills animation+transition. These rules
   guarantee every JS-staged element rests fully assembled/visible, never
   blank, even if a state class lingers before the JS branch runs. Verified
   states hold a static (non-pulsing) glow. */
@media (prefers-reduced-motion:reduce){
  .live-card.is-animating .stg,
  .live-card.is-animating .stg.slide,
  .live-card.is-animating .stg.in,
  .live-card.is-animating .conf-meter span,
  .live-card.is-animating .conf-meter span.lit,
  .live-card.is-animating .sha-chip.glow{
    opacity:1!important; transform:none!important;
    animation:none!important; transition:none!important; text-shadow:none!important;
  }
  .steps.js-stagger .step,
  .steps.js-stagger.is-revealed .step{
    opacity:1!important; transform:none!important;
  }
  .hero-shimmer{ animation:none!important; transform:translateX(0)!important; opacity:.5; }
  .live-card-meta-item .pos.sha-chip{
    animation:none!important;
    box-shadow:0 0 8px 1px rgba(180,255,57,.35)!important;
    border-color:rgba(180,255,57,.5)!important;
  }
}
/* ===== AEO query kickers — quiet natural-language question above each editorial H2 (voice-preserving; H2 untouched) ===== */
.section-q{
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:13px; line-height:1.45; font-weight:500;
  color:var(--muted); letter-spacing:0;
  margin:0 0 8px; max-width:780px;
}
.sr-only{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}

/* Extracted inline style attributes. */

.csp-style-1ym3oz8{margin-top:18px;display:flex;justify-content:center}

.csp-style-1ybduq3{display:inline-flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line2);border-left:3px solid var(--cyan);border-radius:5px;padding:13px 22px;text-decoration:none;color:var(--ink);font-size:14px;font-weight:600;letter-spacing:-.005em;transition:background .15s,border-color .15s}

.csp-style-0hiucpr{color:var(--cyan);font-family:'JetBrains Mono',monospace;font-size:16px}

.csp-style-1t0lomq{position:absolute;left:-9999px}

.csp-style-1bzpq1k{margin-top:14px}

.csp-style-1dq6ljx{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--cyan);background:var(--panel);padding:1px 5px;border-radius:2px}

.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}

/* ============ UTILITY PAGES (404 / thanks / accessibility) ============ */
/* Dark-native content shell so utility pages carry the homepage nav+footer on the same theme.
   Tokens only (WCAG-2.2-AA verified on --bg): --ink 15.9:1, --ink2 12.1:1, --cyan 11.1:1, --muted 5.6:1. */
.util-main{max-width:760px;margin:0 auto;padding:96px 32px 120px;min-height:52vh}
.util-main h1{font-family:'Inter','Segoe UI',sans-serif;font-size:clamp(30px,5vw,44px);line-height:1.12;letter-spacing:-.02em;font-weight:700;color:var(--ink);margin:0 0 16px}
.util-main h2{font-family:'Inter','Segoe UI',sans-serif;font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:32px 0 12px}
.util-main .util-lead{font-size:18px;line-height:1.65;color:var(--ink2);margin:0 0 20px;max-width:60ch}
.util-main p{font-size:16px;line-height:1.7;color:var(--ink2);margin:0 0 16px;max-width:64ch}
.util-main .util-links{margin-top:28px;line-height:2.2}
.util-main .util-note{color:var(--muted);font-size:14px;margin-top:32px}
.util-main a{color:var(--cyan);text-decoration:none;border-bottom:1px solid rgba(0,212,255,.35);transition:border-color .15s}
.util-main a:hover{border-bottom-color:var(--cyan)}

/* ============ BACK-TO-TOP floating control (2026-07-09) ============ */
/* Ships [hidden]; JS removes the attribute past ~1 viewport of scroll. z-index 30 keeps it
   under the menu scrim (40) and sticky nav (50) so the open mobile menu always wins.
   Contrast: --cyan on --panel 9.5:1, --ink2 on --panel 10.4:1 — AA. The global
   prefers-reduced-motion block above already disables the entrance animation. */
.back-to-top{
  position:fixed; right:24px; bottom:24px; z-index:30;
  display:inline-flex; align-items:center; gap:7px;
  padding:11px 16px; border-radius:999px;
  background:var(--panel); border:1px solid var(--line2);
  color:var(--ink2); font-family:'Inter','Segoe UI',sans-serif;
  font-size:13px; font-weight:600; letter-spacing:.02em; line-height:1;
  cursor:pointer; box-shadow:0 8px 24px -8px rgba(0,0,0,.55);
  animation:bttIn .25s var(--ag-expo);
  transition:border-color .15s,color .15s;
}
.back-to-top .btt-arrow{color:var(--cyan); font-size:14px}
.back-to-top:hover{color:#fff;border-color:var(--cyan)}
.back-to-top:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.back-to-top[hidden]{display:none}
@keyframes bttIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:640px){ .back-to-top{right:16px;bottom:16px} }
