:root {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-hero: clamp(3rem, 1rem + 6vw, 6.5rem);

  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem; --space-5: 1.25rem;
  --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem; --space-16: 4rem;
  --space-20: 5rem; --space-24: 6rem; --space-32: 8rem;

  --radius-sm: .375rem; --radius-md: .5rem; --radius-lg: .875rem; --radius-xl: 1.25rem; --radius-full: 9999px;
  --transition-interactive: 180ms cubic-bezier(0.16, 1, 0.3, 1);
  --content-wide: 1200px;

  --font-body: 'DM Sans', 'Helvetica Neue', sans-serif;
  --font-display: 'DM Sans', 'Helvetica Neue', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  /* Brand constants */
  --brand-purple: #7c3aed;
  --brand-purple-deep: #5b21b6;
  --brand-green: #059669;
  --brand-green-bright: #2eef6e;
}

/* LIGHT (default brand face) */
:root, [data-theme='light'] {
  --color-bg: #f7f6fb;
  --color-surface: #ffffff;
  --color-surface-2: #f1eff8;
  --color-border: #e2deed;
  --color-divider: #ebe8f3;
  --color-text: #17141f;
  --color-text-muted: #57526a;
  --color-text-faint: #7c778d;
  --color-primary: #6d28d9;          /* text/link purple, AA on light */
  --color-primary-hover: #5b21b6;
  --color-primary-soft: #ede7fb;
  --color-primary-line: #c9b8f5;
  --color-btn: #7c3aed;
  --color-btn-hover: #6d28d9;
  --color-on-btn: #ffffff;
  --color-wm-ai: #7c3aed;
  --color-wm-comma: #059669;
  --color-ok: #047857;
  --color-ok-soft: #d9f3e8;
  --color-header: rgba(247, 246, 251, .86);
  --orb-1: rgba(124, 58, 237, .22);
  --orb-2: rgba(5, 150, 105, .10);
  --grid-line: rgba(23, 20, 31, .05);
  --shadow-md: 0 10px 30px rgba(36, 22, 74, .08);
  --shadow-lg: 0 24px 60px rgba(36, 22, 74, .14);
  --band-bg: linear-gradient(120deg, #efe9fd, #f6f3fe 55%, #eaf7f1);
}

[data-theme='dark'] {
  --color-bg: #0e0c14;
  --color-surface: #15121d;
  --color-surface-2: #1b1726;
  --color-border: #2a2538;
  --color-divider: #211d2c;
  --color-text: #edebf3;
  --color-text-muted: #a8a3b8;
  --color-text-faint: #78738a;
  --color-primary: #b39dfb;
  --color-primary-hover: #cbbcfd;
  --color-primary-soft: rgba(139, 92, 246, .14);
  --color-primary-line: rgba(167, 139, 250, .38);
  --color-btn: #7c3aed;
  --color-btn-hover: #8b5cf6;
  --color-on-btn: #ffffff;
  --color-wm-ai: #9f7aea;
  --color-wm-comma: #2eef6e;
  --color-ok: #4ade80;
  --color-ok-soft: rgba(74, 222, 128, .12);
  --color-header: rgba(14, 12, 20, .82);
  --orb-1: rgba(124, 58, 237, .30);
  --orb-2: rgba(46, 239, 110, .07);
  --grid-line: rgba(237, 235, 243, .045);
  --shadow-md: 0 10px 30px rgba(0, 0, 0, .35);
  --shadow-lg: 0 24px 60px rgba(0, 0, 0, .5);
  --band-bg: linear-gradient(120deg, #1d1433, #15121d 55%, #0f1d18);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: none; text-size-adjust: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-behavior: smooth; scroll-padding-top: var(--space-20); }
body { min-height: 100dvh; line-height: 1.6; font-family: var(--font-body); font-size: var(--text-base); color: var(--color-text); background: var(--color-bg); transition: background-color .3s ease, color .3s ease; }
body.no-scroll { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
ul[role='list'], ol[role='list'] { list-style: none; }
h1, h2, h3 { text-wrap: balance; line-height: 1.12; }
p, li { text-wrap: pretty; }
a { color: inherit; text-decoration: none; }
a, button { transition: color var(--transition-interactive), background-color var(--transition-interactive), border-color var(--transition-interactive), box-shadow var(--transition-interactive), transform var(--transition-interactive); }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; border-radius: var(--radius-sm); }
::selection { background: color-mix(in oklab, var(--brand-purple) 28%, transparent); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; } }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: var(--space-4); top: -100px; background: var(--color-btn); color: var(--color-on-btn); padding: var(--space-2) var(--space-4); border-radius: var(--radius-md); z-index: 100; }
.skip:focus { top: var(--space-4); }

.wrap { width: 100%; max-width: var(--content-wide); margin-inline: auto; padding-inline: clamp(var(--space-5), 5vw, var(--space-10)); }
.mono { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: .02em; }

/* Wordmark */
.wordmark { font-weight: 700; font-size: 1.5rem; letter-spacing: -.02em; line-height: 1; display: inline-flex; align-items: baseline; }
.wordmark--sm { font-size: 1.25rem; }
.wm-a { color: var(--color-text); }
.wm-b { color: var(--color-wm-comma); }
.wm-c { color: var(--color-wm-ai); }

/* Header */
.header { position: sticky; top: 0; z-index: 50; background: var(--color-header); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--color-divider); }
.header.is-scrolled { box-shadow: var(--shadow-md); }
.header__inner { display: flex; align-items: center; gap: var(--space-8); height: 68px; }
.header__actions { display: flex; align-items: center; gap: var(--space-3); margin-left: auto; }
.nav__list { display: flex; gap: var(--space-1); }
.nav__item { position: relative; }
.nav__trigger { display: inline-flex; align-items: center; gap: 6px; font-size: var(--text-sm); font-weight: 500; color: var(--color-text-muted); padding: var(--space-2) var(--space-3); border-radius: var(--radius-md); }
.nav__trigger:hover, .nav__trigger[aria-expanded='true'] { color: var(--color-text); background: var(--color-surface-2); }
.chev { width: 12px; height: 12px; transition: transform .2s ease; }
.nav__trigger[aria-expanded='true'] .chev { transform: rotate(180deg); }
.mega { position: absolute; top: calc(100% + 10px); left: 0; display: none; gap: var(--space-2); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: var(--space-3); min-width: 520px; grid-template-columns: 1.4fr 1fr; }
.mega--sm { min-width: 300px; grid-template-columns: 1fr; }
.nav__trigger[aria-expanded='true'] + .mega { display: grid; animation: drop .18s ease-out; }
@keyframes drop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.mega__col { display: grid; align-content: start; gap: 2px; }
.mega__col--aside { background: var(--color-primary-soft); border-radius: var(--radius-md); padding: var(--space-2); }
.mega__label { font-family: var(--font-mono); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .1em; color: var(--color-text-faint); padding: var(--space-2) var(--space-3) var(--space-1); }
.mega a { display: grid; gap: 1px; padding: var(--space-2) var(--space-3); border-radius: var(--radius-md); }
.mega a b { font-size: var(--text-sm); font-weight: 600; color: var(--color-text); }
.mega a span { font-size: var(--text-xs); color: var(--color-text-muted); }
.mega a:hover { background: var(--color-surface-2); }
.mega__col--aside a:hover { background: var(--color-surface); }

.theme-toggle { width: 40px; height: 40px; display: grid; place-items: center; border-radius: var(--radius-full); border: 1px solid var(--color-border); color: var(--color-text-muted); }
.theme-toggle:hover { color: var(--color-text); border-color: var(--color-primary-line); }
.theme-toggle svg { width: 18px; height: 18px; grid-area: 1 / 1; }
[data-theme='light'] .i-sun, [data-theme='dark'] .i-moon { display: none; }

.menu-btn { display: none; width: 40px; height: 40px; border-radius: var(--radius-full); border: 1px solid var(--color-border); position: relative; }
.menu-btn span { position: absolute; left: 11px; right: 11px; height: 2px; background: var(--color-text); border-radius: 2px; transition: transform .2s ease, top .2s ease; }
.menu-btn span:first-child { top: 15px; } .menu-btn span:last-child { top: 22px; }
.menu-btn[aria-expanded='true'] span:first-child { top: 18.5px; transform: rotate(45deg); }
.menu-btn[aria-expanded='true'] span:last-child { top: 18.5px; transform: rotate(-45deg); }

.drawer { border-top: 1px solid var(--color-divider); background: var(--color-bg); max-height: calc(100dvh - 60px); overflow-y: auto; padding-block: var(--space-4) var(--space-8); }
.drawer details { border-bottom: 1px solid var(--color-divider); }
.drawer summary { list-style: none; cursor: pointer; padding: var(--space-4) 0; font-weight: 600; display: flex; justify-content: space-between; align-items: center; }
.drawer summary::-webkit-details-marker { display: none; }
.drawer summary::after { content: '+'; font-family: var(--font-mono); color: var(--color-text-faint); }
.drawer details[open] summary::after { content: '–'; }
.drawer details a { display: block; padding: var(--space-2) 0 var(--space-2) var(--space-4); color: var(--color-text-muted); font-size: var(--text-sm); }
.drawer details[open] { padding-bottom: var(--space-3); }
.drawer__cta { width: 100%; margin-top: var(--space-6); }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); font-weight: 600; font-size: var(--text-sm); padding: var(--space-3) var(--space-6); border-radius: var(--radius-full); border: 1px solid transparent; white-space: nowrap; }
.btn--sm { padding: var(--space-2) var(--space-5); }
.btn--primary { background: var(--color-btn); color: var(--color-on-btn); box-shadow: 0 6px 18px color-mix(in oklab, var(--brand-purple) 28%, transparent); }
.btn--primary:hover { background: var(--color-btn-hover); transform: translateY(-1px); }
.btn--ghost { border-color: var(--color-border); color: var(--color-text); background: var(--color-surface); }
.btn--ghost:hover { border-color: var(--color-primary-line); }
.btn--light { background: #fff; color: #2e1065; }
.btn--light:hover { background: #f1ebff; }

/* Type helpers */
.eyebrow, .kicker { font-family: var(--font-mono); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .12em; color: var(--color-primary); margin-bottom: var(--space-5); }
.kicker--on { color: #e4d9ff; }
h1 { font-family: var(--font-display); font-size: var(--text-hero); font-weight: 700; letter-spacing: -.045em; line-height: .98; }
h2 { font-family: var(--font-display); font-size: var(--text-xl); font-weight: 700; letter-spacing: -.025em; max-width: 26ch; }
h3 { font-size: var(--text-lg); font-weight: 600; letter-spacing: -.01em; }
.lede { font-size: var(--text-lg); line-height: 1.5; color: var(--color-text-muted); max-width: 40ch; margin-top: var(--space-6); }
.lede--sm { font-size: var(--text-base); max-width: 44ch; }
.note { color: var(--color-text-muted); font-size: var(--text-sm); margin-top: var(--space-8); max-width: 70ch; }
.note--inline { margin-top: 0; }
.link { font-weight: 600; color: var(--color-primary); border-bottom: 1px solid currentColor; padding-bottom: 2px; font-size: var(--text-sm); }
.link--on { color: #fff; }
.link--on:hover { color: #e4d9ff; }

/* Hero */
.hero { padding-block: clamp(var(--space-12), 8vw, var(--space-24)); position: relative; overflow: hidden; }
.hero__bg { position: absolute; inset: 0; pointer-events: none; }
.orb { position: absolute; border-radius: 50%; filter: blur(10px); }
.orb--1 { width: 56vw; height: 56vw; max-width: 760px; max-height: 760px; right: -12vw; top: -22vw; background: radial-gradient(closest-side, var(--orb-1), transparent 72%); animation: drift1 18s ease-in-out infinite alternate; }
.orb--2 { width: 40vw; height: 40vw; max-width: 520px; max-height: 520px; left: -10vw; bottom: -18vw; background: radial-gradient(closest-side, var(--orb-2), transparent 72%); animation: drift2 22s ease-in-out infinite alternate; }
.grid-lines { position: absolute; inset: 0; background-image: linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px); background-size: 56px 56px; mask-image: radial-gradient(ellipse at 70% 30%, #000 10%, transparent 70%); -webkit-mask-image: radial-gradient(ellipse at 70% 30%, #000 10%, transparent 70%); }
@keyframes drift1 { to { transform: translate(-6vw, 5vw) scale(1.08); } }
@keyframes drift2 { to { transform: translate(5vw, -3vw) scale(1.1); } }
.hero__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(var(--space-10), 6vw, var(--space-20)); align-items: center; position: relative; }
.hero__ctas { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-10); }

/* Flow figure */
.flow { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-6); box-shadow: var(--shadow-lg); }
.flow__head { display: flex; justify-content: space-between; align-items: center; padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-divider); color: var(--color-text-muted); }
.flow__title { display: inline-flex; align-items: center; gap: var(--space-2); }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--color-ok); box-shadow: 0 0 0 0 var(--color-ok); animation: pulse 2s ease-out infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--color-ok) 55%, transparent); } 100% { box-shadow: 0 0 0 8px transparent; } }
.tag { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-muted); border: 1px solid var(--color-border); border-radius: var(--radius-full); padding: 2px var(--space-3); }
.tag--accent { color: var(--color-primary); border-color: var(--color-primary-line); background: var(--color-primary-soft); }
.flow__body { position: relative; padding-block: var(--space-5) var(--space-2); }
.flow__rail { position: absolute; left: 9px; top: calc(var(--space-5) + 12px); bottom: calc(var(--space-2) + 44px); width: 2px; background: var(--color-border); border-radius: 2px; overflow: hidden; }
.flow__fill { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(var(--brand-purple), #a78bfa); transition: height .6s cubic-bezier(0.16, 1, 0.3, 1); }
.flow__steps li { display: grid; grid-template-columns: 20px 1fr; gap: var(--space-4); position: relative; padding-bottom: var(--space-5); }
.flow__steps li:last-child { padding-bottom: var(--space-2); }
.flow__steps .dot { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--brand-purple); background: var(--brand-purple); margin-top: 2px; position: relative; z-index: 1; transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease; }
.flow__steps b { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); font-size: var(--text-sm); font-weight: 600; transition: color .3s ease; }
.flow__steps span:not(.dot) { display: block; font-size: var(--text-xs); color: var(--color-text-muted); }
.flow__steps li.is-human .dot { border-color: var(--color-ok); background: var(--color-ok); }
.approval { font-style: normal; font-family: var(--font-mono); font-size: .7rem; font-weight: 500; padding: 1px 8px; border-radius: var(--radius-full); color: var(--color-ok); background: var(--color-ok-soft); }
.approval:empty { display: none; }
.approval.is-wait { color: var(--color-primary); background: var(--color-primary-soft); animation: blink 1.1s ease-in-out infinite; }
@keyframes blink { 50% { opacity: .55; } }
/* animated state (only when JS runs) */
.flow.is-animated .flow__fill { height: 0; }
.flow.is-animated .flow__steps .dot { background: var(--color-surface); border-color: var(--color-border); }
.flow.is-animated .flow__steps li b { color: var(--color-text-muted); }
.flow.is-animated .flow__steps li.is-done .dot { background: var(--brand-purple); border-color: var(--brand-purple); }
.flow.is-animated .flow__steps li.is-done b,
.flow.is-animated .flow__steps li.is-active b { color: var(--color-text); }
.flow.is-animated .flow__steps li.is-active .dot { background: var(--color-surface); border-color: var(--brand-purple); box-shadow: 0 0 0 5px var(--color-primary-soft); }
.flow.is-animated .flow__steps li.is-human.is-active .dot { border-color: var(--color-primary); }
.flow.is-animated .flow__steps li.is-human.is-done .dot { background: var(--color-ok); border-color: var(--color-ok); }
.flow figcaption { color: var(--color-text-faint); padding-top: var(--space-4); border-top: 1px solid var(--color-divider); }

/* Sections */
.section { padding-block: clamp(var(--space-16), 9vw, var(--space-32)); border-top: 1px solid var(--color-divider); }
.section--alt { background: var(--color-surface); }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); margin-top: var(--space-12); }
.panel { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: clamp(var(--space-6), 3vw, var(--space-10)); }
.section--alt .panel { background: var(--color-bg); }
.panel h3 { margin-bottom: var(--space-3); }
.panel p { color: var(--color-text-muted); }
.panel--line { border-top: 3px solid var(--brand-purple); }
.label { color: var(--color-primary); text-transform: uppercase; letter-spacing: .12em; margin-bottom: var(--space-3); }

.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-8); margin-top: var(--space-12); }
.steps li { border-top: 2px solid var(--color-border); padding-top: var(--space-6); position: relative; }
.steps li::before { content: ''; position: absolute; top: -2px; left: 0; width: 40px; height: 2px; background: var(--brand-purple); }
.steps__n { color: var(--color-primary); display: block; margin-bottom: var(--space-4); }
.steps h3 { margin-bottom: var(--space-3); }
.steps p { color: var(--color-text-muted); font-size: var(--text-sm); }

.cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-5); margin-top: var(--space-12); }
.card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: clamp(var(--space-6), 3vw, var(--space-8)); display: flex; flex-direction: column; gap: var(--space-3); }
.card p { color: var(--color-text-muted); font-size: var(--text-sm); }
.card--lead { border-color: var(--color-primary-line); background: linear-gradient(160deg, var(--color-primary-soft), var(--color-surface) 65%); }
.card .tag { align-self: flex-start; }

.gov { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(var(--space-10), 6vw, var(--space-20)); align-items: start; }
.checks { display: grid; gap: var(--space-5); }
.checks li { padding-left: var(--space-8); position: relative; color: var(--color-text-muted); font-size: var(--text-sm); }
.checks li::before { content: ''; position: absolute; left: 0; top: .45em; width: 14px; height: 8px; border-left: 2px solid var(--color-primary); border-bottom: 2px solid var(--color-primary); transform: rotate(-45deg); }
.checks b { color: var(--color-text); font-weight: 600; }

/* Partners */
.promises { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); margin-top: var(--space-10); }
.promises li { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); font-size: var(--text-sm); color: var(--color-text-muted); }
.promises .mono { color: var(--color-primary); padding-top: 2px; }
.promises b { color: var(--color-text); display: block; }
.partner-cta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-5); margin-top: var(--space-10); }

/* Band */
.band { background: var(--band-bg); border-block: 1px solid var(--color-divider); padding-block: clamp(var(--space-16), 8vw, var(--space-24)); }
.band__inner { display: grid; gap: var(--space-2); }
.band h2 { margin-bottom: var(--space-3); }
.band p:not(.kicker) { color: var(--color-text-muted); max-width: 66ch; }

/* Founder */
.founder { display: grid; grid-template-columns: auto 1fr; gap: clamp(var(--space-8), 5vw, var(--space-16)); align-items: start; }
.founder__mark { width: 96px; height: 96px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: var(--text-xl); background: var(--color-primary-soft); border: 1px solid var(--color-primary-line); color: var(--color-primary); }
.founder blockquote { font-size: var(--text-lg); line-height: 1.5; display: grid; gap: var(--space-5); max-width: 60ch; }
.founder blockquote p + p { color: var(--color-text-muted); font-size: var(--text-base); }
.sig { margin-top: var(--space-8); display: grid; }
.sig span { color: var(--color-text-faint); font-size: var(--text-sm); }

/* CTA */
.cta { background: linear-gradient(135deg, var(--brand-purple), var(--brand-purple-deep)); color: #fff; padding-block: clamp(var(--space-16), 8vw, var(--space-24)); position: relative; overflow: hidden; }
.cta::after { content: ''; position: absolute; right: -10%; top: -40%; width: 50%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(46, 239, 110, .16), transparent 70%); pointer-events: none; }
.cta__inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--space-12); align-items: end; position: relative; z-index: 1; }
.cta h2 { max-width: 20ch; }
.cta p:not(.kicker) { margin-top: var(--space-5); max-width: 52ch; color: #ece4ff; }
.cta__actions { display: grid; gap: var(--space-5); justify-items: start; }

/* Footer */
.footer { padding-block: var(--space-16) var(--space-8); border-top: 1px solid var(--color-divider); }
.footer__grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: var(--space-8); }
.footer__brand p { font-size: var(--text-sm); color: var(--color-text-muted); margin-top: var(--space-3); max-width: 28ch; }
.footer nav { display: grid; align-content: start; gap: var(--space-2); font-size: var(--text-sm); color: var(--color-text-muted); }
.footer nav a:hover { color: var(--color-primary); }
.footer__h { font-family: var(--font-mono); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .1em; color: var(--color-text-faint); margin-bottom: var(--space-1); }
.footer__base { margin-top: var(--space-12); padding-top: var(--space-6); border-top: 1px solid var(--color-divider); }
.footer__base p { font-size: var(--text-xs); color: var(--color-text-faint); }

/* Responsive */
@media (max-width: 1080px) {
  .steps { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: repeat(2, 1fr); }
  .footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 960px) {
  .nav { display: none; }
  .menu-btn { display: inline-block; }
}
@media (max-width: 860px) {
  .hero__grid, .split, .gov, .cta__inner { grid-template-columns: 1fr; }
  .cards, .promises { grid-template-columns: 1fr; }
  .cta__inner { align-items: start; }
}
@media (max-width: 560px) {
  .steps { grid-template-columns: 1fr; }
  .founder { grid-template-columns: 1fr; }
  .founder__mark { width: 72px; height: 72px; }
  .hero__ctas .btn { width: 100%; }
  .header__inner { height: 60px; gap: var(--space-4); }
  .header__cta { display: none; }
}
@media (min-width: 961px) { .drawer { display: none !important; } }

/* ===== Interior pages ===== */
.nav__trigger[data-current='true'] { color: var(--color-text); }
.nav__trigger[data-current='true']::after { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--brand-purple); margin-left: 2px; }
.hero--page { padding-block: clamp(var(--space-12), 7vw, var(--space-20)); }
.h1--page { font-size: clamp(2.5rem, 1rem + 4.2vw, 4.75rem); letter-spacing: -.04em; line-height: 1.02; max-width: 14ch; }

/* lanes figure */
.lanes { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-6); box-shadow: var(--shadow-lg); }
.lanes__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); padding-block: var(--space-5); }
.lanes__col { background: var(--color-surface-2); border-radius: var(--radius-lg); padding: var(--space-4); }
.lanes__h { display: flex; align-items: center; gap: var(--space-2); font-weight: 600; font-size: var(--text-sm); margin-bottom: var(--space-3); }
.sw { width: 10px; height: 10px; border-radius: 3px; }
.sw--you { background: var(--color-ok); }
.sw--us { background: var(--brand-purple); }
.lanes__col li { font-size: var(--text-xs); color: var(--color-text-muted); padding: var(--space-2) 0; border-top: 1px solid var(--color-border); }
.lanes__col li:first-child { border-top: 0; }
.lanes figcaption { color: var(--color-text-faint); padding-top: var(--space-4); border-top: 1px solid var(--color-divider); }

/* trio */
.trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-8); margin-top: var(--space-12); }
.trio article { border-top: 2px solid var(--color-border); padding-top: var(--space-6); position: relative; }
.trio article::before { content: ''; position: absolute; top: -2px; left: 0; width: 40px; height: 2px; background: var(--brand-purple); }
.trio h3 { margin-bottom: var(--space-3); }
.trio p { color: var(--color-text-muted); font-size: var(--text-sm); }

/* models */
.models { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); margin-top: var(--space-12); align-items: stretch; }
.model { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: clamp(var(--space-6), 2.5vw, var(--space-8)); display: flex; flex-direction: column; gap: var(--space-3); }
.model .tag { align-self: flex-start; }
.model--lead { border-color: var(--color-primary-line); background: linear-gradient(170deg, var(--color-primary-soft), var(--color-surface) 55%); box-shadow: var(--shadow-md); }
.model__sum { color: var(--color-text-muted); font-size: var(--text-sm); }
.model dl { margin-top: auto; padding-top: var(--space-4); display: grid; gap: 0; }
.model dl div { display: grid; gap: 2px; padding: var(--space-3) 0; border-top: 1px solid var(--color-divider); }
.model dt { font-family: var(--font-mono); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--color-text-faint); }
.model dd { font-size: var(--text-sm); font-weight: 500; }

/* faq */
.faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(var(--space-10), 6vw, var(--space-20)); align-items: start; }
.faq__list { display: grid; }
.faq__list details { border-top: 1px solid var(--color-border); }
.faq__list details:last-child { border-bottom: 1px solid var(--color-border); }
.faq__list summary { list-style: none; cursor: pointer; padding: var(--space-5) var(--space-8) var(--space-5) 0; font-weight: 600; position: relative; }
.faq__list summary::-webkit-details-marker { display: none; }
.faq__list summary::after { content: '+'; position: absolute; right: 0; top: var(--space-5); font-family: var(--font-mono); color: var(--color-primary); }
.faq__list details[open] summary::after { content: '–'; }
.faq__list summary:hover { color: var(--color-primary); }
.faq__list details p { color: var(--color-text-muted); font-size: var(--text-sm); padding-bottom: var(--space-5); max-width: 62ch; }

@media (max-width: 960px) {
  .models, .trio { grid-template-columns: 1fr; }
  .faq { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .lanes__grid { grid-template-columns: 1fr; }
}

/* 404 */
.notfound { min-height: 70vh; display: grid; align-items: center; }
.notfound__inner { position: relative; }
.notfound__links { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-8); margin-top: var(--space-12); padding-top: var(--space-6); border-top: 1px solid var(--color-divider); }
.notfound__links a { font-size: var(--text-sm); color: var(--color-text-muted); }
.notfound__links a:hover { color: var(--color-primary); }

/* ===== Agents pages ===== */
.h1--wide { max-width: 18ch; }
.lede--wide { max-width: 58ch; }
.crumbs { display: flex; gap: var(--space-2); color: var(--color-text-faint); margin-bottom: var(--space-8); position: relative; }
.crumbs a { color: var(--color-text-muted); }
.crumbs a:hover { color: var(--color-primary); }
.crumbs [aria-current] { color: var(--color-text); }

.standard { border-top: 1px solid var(--color-divider); border-bottom: 1px solid var(--color-divider); background: var(--color-surface); }
.standard__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.standard__grid > div { padding: var(--space-8) var(--space-6) var(--space-8) 0; display: grid; gap: var(--space-1); }
.standard__grid > div + div { padding-left: var(--space-6); border-left: 1px solid var(--color-divider); }
.standard .mono { color: var(--color-primary); }
.standard b { font-size: var(--text-base); }
.standard p { font-size: var(--text-sm); color: var(--color-text-muted); }

.agents-list .wrap { display: grid; gap: var(--space-6); }
.agent { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(var(--space-8), 5vw, var(--space-16)); padding: clamp(var(--space-6), 3vw, var(--space-10)); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-xl); scroll-margin-top: var(--space-24); }
.agent:first-child { border-color: var(--color-primary-line); background: linear-gradient(160deg, var(--color-primary-soft), var(--color-surface) 50%); }
.agent__intro { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.agent__intro p { color: var(--color-text-muted); }
.agent__intro .link { margin-top: var(--space-2); }
.agent__body { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); }
.agent__h { text-transform: uppercase; letter-spacing: .1em; color: var(--color-text-faint); margin-bottom: var(--space-3); }
.agent__h + .agent__p { margin-bottom: 0; }
.agent .chips + .agent__h { margin-top: var(--space-6); }
.agent__p { font-size: var(--text-sm); color: var(--color-text-muted); }

.ticks { display: grid; gap: var(--space-3); }
.ticks li { position: relative; padding-left: var(--space-6); font-size: var(--text-sm); color: var(--color-text-muted); }
.ticks li::before { content: ''; position: absolute; left: 0; top: .5em; width: 8px; height: 8px; border-radius: 2px; background: var(--brand-purple); }
.chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.chips li { font-size: var(--text-xs); font-weight: 500; padding: var(--space-1) var(--space-3); border-radius: var(--radius-full); background: var(--color-surface-2); border: 1px solid var(--color-border); }
.chips--lg { margin-top: var(--space-8); }
.chips--lg li { font-size: var(--text-sm); padding: var(--space-2) var(--space-4); }

.models--plain .model { gap: var(--space-5); }
.split--top { align-items: start; margin-top: 0; gap: clamp(var(--space-10), 6vw, var(--space-20)); }
.split--top h2 { margin-bottom: var(--space-6); }

.flow__tabs { display: inline-flex; gap: 2px; background: var(--color-surface-2); border: 1px solid var(--color-border); border-radius: var(--radius-full); padding: 3px; }
.flow__tabs button { font-size: var(--text-xs); font-weight: 600; padding: 4px var(--space-3); border-radius: var(--radius-full); color: var(--color-text-muted); }
.flow__tabs button:hover { color: var(--color-text); }
.flow__tabs button[aria-selected='true'] { background: var(--brand-purple); color: #fff; }

@media (max-width: 960px) {
  .standard__grid { grid-template-columns: 1fr 1fr; }
  .standard__grid > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .standard__grid > div:nth-child(n+3) { border-top: 1px solid var(--color-divider); }
  .agent { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .standard__grid { grid-template-columns: 1fr; }
  .standard__grid > div, .standard__grid > div + div { padding: var(--space-5) 0; border-left: 0; }
  .standard__grid > div + div { border-top: 1px solid var(--color-divider); }
  .agent__body { grid-template-columns: 1fr; }
  .flow__head { flex-wrap: wrap; gap: var(--space-3); }
}

/* ===== Agents by function ===== */
.tag--ok { color: var(--color-ok); border-color: color-mix(in oklab, var(--color-ok) 40%, transparent); background: var(--color-ok-soft); }
.tag--inline { display: inline-block; vertical-align: middle; margin-inline: 2px; }
.fnav { position: sticky; top: 68px; z-index: 40; background: var(--color-header); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-block: 1px solid var(--color-divider); }
.fnav__inner { display: flex; align-items: center; gap: var(--space-2); overflow-x: auto; padding-block: var(--space-3); scrollbar-width: none; }
.fnav__inner::-webkit-scrollbar { display: none; }
.fnav__label { color: var(--color-text-faint); text-transform: uppercase; letter-spacing: .1em; margin-right: var(--space-3); white-space: nowrap; }
.fnav a { white-space: nowrap; font-size: var(--text-sm); font-weight: 500; color: var(--color-text-muted); padding: var(--space-1) var(--space-4); border-radius: var(--radius-full); border: 1px solid var(--color-border); background: var(--color-surface); }
.fnav a:hover { color: var(--color-primary); border-color: var(--color-primary-line); }
.func { scroll-margin-top: 40px; }
.func:nth-of-type(odd) { background: var(--color-surface); }
.func:nth-of-type(odd) .fcard { background: var(--color-bg); }
.func__head { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); align-items: end; }
.func__head .kicker { margin-bottom: var(--space-3); }
.func__line { font-size: var(--text-lg); color: var(--color-text-muted); line-height: 1.45; }
.fcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); margin-top: var(--space-10); }
.fcard { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-6); display: flex; flex-direction: column; gap: var(--space-3); }
.fcard--lead { border-color: var(--color-primary-line); background: linear-gradient(165deg, var(--color-primary-soft), var(--color-surface) 60%) !important; }
.fcard__top { display: flex; flex-direction: column-reverse; align-items: flex-start; gap: var(--space-2); }
.fcard__top .tag { white-space: nowrap; flex-shrink: 0; }
.fcard > p { font-size: var(--text-sm); color: var(--color-text-muted); }
.fcard dl { margin-top: auto; padding-top: var(--space-2); }
.fcard dl div { padding: var(--space-3) 0; border-top: 1px solid var(--color-divider); display: grid; gap: 2px; }
.fcard dt { font-family: var(--font-mono); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--color-text-faint); }
.fcard dd { font-size: var(--text-sm); }
.fcard .link { align-self: flex-start; }

.measures { display: grid; gap: var(--space-6); }
.measures li { display: grid; grid-template-columns: auto 1fr; gap: var(--space-4); }
.measures .mono { color: var(--color-primary); padding-top: 3px; }
.measures b { display: block; font-size: var(--text-base); margin-bottom: var(--space-1); }
.measures p { font-size: var(--text-sm); color: var(--color-text-muted); }

.trio--roles .role { color: var(--color-primary); text-transform: uppercase; letter-spacing: .1em; margin-bottom: var(--space-3); }
.measure-strip { margin-top: var(--space-12); padding: var(--space-5) var(--space-6); border-radius: var(--radius-lg); background: var(--color-surface); border: 1px solid var(--color-border); display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-6); }
.measure-strip .mono { color: var(--color-text-faint); text-transform: uppercase; letter-spacing: .1em; }
.measure-strip ul { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.measure-strip li { font-size: var(--text-sm); font-weight: 500; padding: var(--space-1) var(--space-3); border-radius: var(--radius-full); background: var(--color-primary-soft); color: var(--color-primary); }

/* home function grid */
.fgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); margin-top: var(--space-12); }
.fbox { display: grid; gap: var(--space-2); align-content: start; padding: var(--space-6); border-radius: var(--radius-lg); background: var(--color-surface); border: 1px solid var(--color-border); }
.fbox:hover { border-color: var(--color-primary-line); transform: translateY(-2px); box-shadow: var(--shadow-md); }
.fbox .mono { color: var(--color-primary); text-transform: uppercase; letter-spacing: .1em; }
.fbox p { font-size: var(--text-sm); color: var(--color-text-muted); }
.fbox--cta { background: linear-gradient(160deg, var(--color-primary-soft), var(--color-surface) 70%); border-color: var(--color-primary-line); }

@media (max-width: 960px) {
  .fcards, .fgrid { grid-template-columns: 1fr 1fr; }
  .func__head { grid-template-columns: 1fr; align-items: start; gap: var(--space-3); }
  .fnav { top: 68px; }
}
@media (max-width: 560px) {
  .fcards, .fgrid { grid-template-columns: 1fr; }
  .fnav { top: 60px; }
}

/* ==== SEO: descriptive eyebrow inside h1 (added by seo_geo_builder) ==== */
h1 > .eyebrow { display: block; font-weight: 500; line-height: 1.5; max-width: 60ch; text-wrap: pretty; }
/* Short extractable answers (definition / in-short blocks) */
.answer { display: grid; gap: var(--space-5); justify-items: start; }
.answer .lede { margin-top: 0; max-width: 60ch; color: var(--color-text); }
.answer p:not(.lede) { color: var(--color-text-muted); max-width: 64ch; }
/* ==== end SEO ==== */
