/* Martian Mono cyrillic-ext */
@font-face {
  font-family: 'Martian Mono';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/martian-mono-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Martian Mono cyrillic */
@font-face {
  font-family: 'Martian Mono';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/martian-mono-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Martian Mono latin-ext */
@font-face {
  font-family: 'Martian Mono';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/martian-mono-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Martian Mono latin */
@font-face {
  font-family: 'Martian Mono';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/martian-mono-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Onest cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/onest-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Onest cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/onest-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Onest math */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/onest-math.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-209F, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* Onest symbols */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/onest-symbols.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AE, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F8D0-1F8D8, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FAC6, U+1FAC8, U+1FACC-1FADD, U+1FADF-1FAEB, U+1FAEF-1FAFA, U+1FB00-1FBFF;
}
/* Onest latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/onest-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Onest latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/onest-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Unbounded cyrillic-ext */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/assets/fonts/unbounded-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Unbounded cyrillic */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/assets/fonts/unbounded-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Unbounded latin-ext */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/assets/fonts/unbounded-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Unbounded latin */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url(/assets/fonts/unbounded-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root, [data-theme="dark"] {
  --bg: #0c0d0a;
  --surface: #14160f;
  --surface-2: #1c1e17;
  --line: #2b2e25;
  --line-strong: #63675a;
  --fg: #f2f1eb;
  --fg-muted: #a4a79b;
  --fg-subtle: #818478;
  --volt: #c8ff2e;
  --on-volt: #0c0d0a;
  --accent: #c8ff2e;
  --signal: #ff5a1f;
  --on-signal: #0c0d0a;
  --signal-text: #ff7a47;
  --focus: #c8ff2e;
  color-scheme: dark;
}
[data-theme="light"] {
  --bg: #f2f1eb;
  --surface: #fbfaf5;
  --surface-2: #e9e8e0;
  --line: #d4d3c9;
  --line-strong: #85867b;
  --fg: #0c0d0a;
  --fg-muted: #575950;
  --fg-subtle: #686a60;
  --volt: #c8ff2e;
  --on-volt: #0c0d0a;
  --accent: #3a6200;
  --signal: #ff5a1f;
  --on-signal: #0c0d0a;
  --signal-text: #b23a0b;
  --focus: #3a6200;
  color-scheme: light;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 120px;
  --radius-s: 4px;
  --radius-m: 10px;
  --radius-pill: 999px;
  --container: 1280px;
  --measure: 68ch;
  --font-display: "Unbounded", "Arial Black", system-ui, sans-serif;
  --font-sans: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Martian Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

/* SLCTR — site styles. Colours, spacing, radii and families come from design/tokens.json
   (compiled to custom properties by build.js and prepended to this file). */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 88px; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font: 400 16px/1.6 var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: 3px; text-decoration-thickness: 1px; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
::selection { background: var(--volt); color: var(--on-volt); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--volt); color: var(--on-volt); padding: 10px 16px; border-radius: var(--radius-s); font-weight: 600; text-decoration: none; }
.skip:focus { top: 12px; }

[data-theme] { background: var(--bg); color: var(--fg); }

.wrap { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--space-4); }
@media (min-width: 768px) { .wrap { padding: 0 var(--space-6); } }

.band { padding: var(--space-8) 0; position: relative; }
@media (min-width: 960px) { .band { padding: var(--space-9) 0; } }

/* ---------- type ---------- */
.display-xl, .display-l, .h1, .h2 { font-family: var(--font-display); margin: 0; font-weight: 600; text-wrap: balance; }
.display-xl { font-weight: 700; font-size: clamp(40px, 8.4vw, 112px); line-height: .92; letter-spacing: -0.045em; }
.display-l { font-size: clamp(32px, 4.6vw, 60px); line-height: .98; letter-spacing: -0.035em; }
.h1 { font-size: clamp(28px, 3.6vw, 40px); line-height: 1.08; letter-spacing: -0.025em; }
.h2 { font-size: clamp(20px, 2vw, 24px); line-height: 1.2; letter-spacing: -0.015em; }
.h3 { font: 600 19px/1.35 var(--font-sans); margin: 0; }
.lead { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.5; color: var(--fg-muted); margin: 0; max-width: 46ch; text-wrap: pretty; }
.small { font-size: 14px; line-height: 1.5; }
.muted { color: var(--fg-muted); }
.subtle { color: var(--fg-subtle); }
.label {
  font: 500 12px/1.4 var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--fg-subtle);
  margin: 0;
}
.num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
/* volt highlight: a band from just above x-height to below the baseline, kept inside the tight display leading */
.hl {
  color: var(--on-volt); padding: 0 .1em; margin: 0 -.02em;
  background: linear-gradient(var(--volt), var(--volt)) 0 .2em / 100% .94em no-repeat;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.accent { color: var(--accent); }

.eyebrow { display: inline-flex; align-items: center; gap: 10px; }
.eyebrow::before { content: ""; width: 8px; height: 8px; background: var(--volt); flex: none; }
[data-theme="light"] .eyebrow::before { background: var(--accent); }

.section-head { display: grid; gap: var(--space-5); margin-bottom: var(--space-7); }
@media (min-width: 960px) {
  .section-head { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: end; gap: var(--space-7); }
  .section-head .lead { justify-self: end; }
}
.section-head .label { grid-column: 1 / -1; }

/* ---------- buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 52px; padding: 0 26px;
  border-radius: var(--radius-pill); border: 1px solid transparent;
  font: 600 16px/1.1 var(--font-sans); text-decoration: none; cursor: pointer;
  transition: transform .16s ease-out, border-color .16s ease-out, background-color .16s ease-out;
  white-space: nowrap;
}
.btn .arr { display: inline-block; transition: transform .16s ease-out; }
.btn:hover .arr { transform: translateX(4px); }
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--volt); color: var(--on-volt); }
.btn-primary:hover { box-shadow: inset 0 0 0 2px var(--on-volt); }
.btn-ghost { border-color: var(--line-strong); color: var(--fg); background: transparent; }
.btn-ghost:hover { border-color: var(--fg); }
.btn-sm { min-height: 40px; padding: 0 18px; font-size: 14px; }
.btn-block { width: 100%; }

/* ---------- header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--bg);
  background: color-mix(in srgb, var(--bg) 82%, transparent);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  backdrop-filter: saturate(140%) blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease-out;
}
.site-header.is-scrolled { border-bottom-color: var(--line); }
.site-header .wrap { display: flex; align-items: center; gap: var(--space-5); height: 72px; }
.logo {
  display: inline-flex; align-items: baseline; gap: 4px;
  font: 800 22px/1 var(--font-display); letter-spacing: -0.04em; text-decoration: none; color: var(--fg);
}
.logo i { width: 7px; height: 7px; background: var(--volt); display: inline-block; }
[data-theme="light"] .logo i { background: var(--accent); }
.nav { display: none; margin-left: auto; gap: 4px; }
.nav a {
  padding: 8px 12px; border-radius: var(--radius-pill); text-decoration: none;
  font-size: 15px; color: var(--fg-muted); transition: color .16s;
}
.nav a:hover { color: var(--fg); }
.header-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.lang {
  display: inline-flex; border: 1px solid var(--line-strong); border-radius: var(--radius-pill); padding: 3px;
  font: 500 11px/1 var(--font-mono); letter-spacing: .06em;
}
.lang a, .lang span { padding: 7px 9px; border-radius: var(--radius-pill); text-decoration: none; color: var(--fg-muted); }
.lang [aria-current] { background: var(--fg); color: var(--bg); }
.lang a:hover { color: var(--fg); }
.header-cta { display: none; }
.menu-btn {
  width: 44px; height: 44px; border-radius: var(--radius-pill); border: 1px solid var(--line-strong);
  background: transparent; cursor: pointer; display: grid; place-items: center; padding: 0;
}
.menu-btn span { display: block; width: 18px; height: 2px; background: var(--fg); position: relative; transition: transform .2s ease-out; }
.menu-btn span::before, .menu-btn span::after { content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: var(--fg); transition: transform .2s ease-out, top .2s ease-out; }
.menu-btn span::before { top: -6px; }
.menu-btn span::after { top: 6px; }
.site-header.is-open .menu-btn span { background: transparent; }
.site-header.is-open .menu-btn span::before { top: 0; transform: rotate(45deg); }
.site-header.is-open .menu-btn span::after { top: 0; transform: rotate(-45deg); }
.mobile-nav {
  display: none; position: fixed; inset: 72px 0 0 0; background: var(--bg); z-index: 49;
  padding: var(--space-6) var(--space-4); overflow-y: auto; border-top: 1px solid var(--line);
}
.site-header.is-open + .mobile-nav { display: block; }
.mobile-nav ol { list-style: none; margin: 0 0 var(--space-6); padding: 0; counter-reset: m; }
.mobile-nav li { border-bottom: 1px solid var(--line); counter-increment: m; }
.mobile-nav li a {
  display: flex; align-items: baseline; gap: 16px; padding: 18px 0; text-decoration: none;
  font: 600 26px/1.1 var(--font-display); letter-spacing: -0.03em;
}
.mobile-nav li a::before { content: "0" counter(m); font: 500 12px/1 var(--font-mono); color: var(--fg-subtle); letter-spacing: .06em; }
@media (min-width: 1080px) {
  .nav { display: flex; }
  .header-actions { margin-left: var(--space-4); }
  .header-cta { display: inline-flex; }
  .menu-btn, .mobile-nav, .site-header.is-open + .mobile-nav { display: none; }
}

/* ---------- hero ---------- */
.hero { padding: var(--space-7) 0 var(--space-8); overflow: hidden; }
@media (min-width: 960px) { .hero { padding: var(--space-8) 0 var(--space-9); } }
.hero .label { margin-bottom: var(--space-5); }
.hero h1 { margin-bottom: var(--space-7); }
.hero h1 .line { display: block; }
.hero-grid { display: grid; gap: var(--space-7); align-items: end; }
@media (min-width: 960px) { .hero-grid { grid-template-columns: 5fr 6fr; gap: var(--space-9); } }
.hero-copy .lead { margin-bottom: var(--space-6); }
.cta-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* the SLCTR ledger */
.ledger { border: 1px solid var(--line); border-radius: var(--radius-m); background: var(--surface); overflow: hidden; }
.ledger-head, .ledger-foot {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 14px var(--space-5); border-bottom: 1px solid var(--line);
}
.ledger-foot { border-bottom: 0; border-top: 1px solid var(--line); }
.live { display: inline-flex; align-items: center; gap: 8px; }
.live i { width: 8px; height: 8px; border-radius: 50%; background: var(--signal); animation: pulse 1.6s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .25; } }
.ledger ol { list-style: none; margin: 0; padding: 0; }
.lrow {
  position: relative; display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 4px 16px;
  padding: 16px var(--space-5) 20px; border-bottom: 1px solid var(--line);
  transition: background-color .16s ease-out;
}
.lrow:last-child { border-bottom: 0; }
.lrow:hover { background: var(--surface-2); }
.lrow .L { font: 700 34px/1 var(--font-display); letter-spacing: -0.04em; }
.lrow .n { font-weight: 600; font-size: 16px; line-height: 1.25; }
.lrow .n small { display: block; font-weight: 400; font-size: 13px; color: var(--fg-muted); margin-top: 2px; }
.lrow .m { font: 500 11px/1.2 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--fg-muted); text-align: right; }
.lrow .bar { position: absolute; left: 0; bottom: 0; height: 3px; width: 0; transition: width 1s cubic-bezier(.2,.7,.2,1); }
.lrow:nth-child(1) .bar { background: var(--line-strong); --to: 20%; transition-delay: .1s; }
.lrow:nth-child(2) .bar { background: var(--fg-subtle); --to: 40%; transition-delay: .25s; }
.lrow:nth-child(3) .bar { background: var(--fg-muted); --to: 60%; transition-delay: .4s; }
.lrow:nth-child(4) .bar { background: var(--fg); --to: 80%; transition-delay: .55s; }
.lrow:nth-child(5) .bar { background: var(--volt); --to: 100%; transition-delay: .7s; height: 4px; }
.lrow:nth-child(5) .L { color: var(--accent); }
.is-in .lrow .bar, .no-js .lrow .bar { width: var(--to); }
.ledger-foot .eq { font: 600 18px/1 var(--font-display); letter-spacing: -0.02em; }
.ledger-foot .eq b { color: var(--accent); font-weight: 600; }

/* ticker */
.ticker { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; white-space: nowrap; }
.ticker-track { display: inline-flex; animation: ticker 38s linear infinite; }
.ticker span {
  display: inline-flex; align-items: center; gap: 22px; padding: 18px 11px;
  font: 500 13px/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--fg-muted);
}
.ticker span::after { content: ""; width: 7px; height: 7px; background: var(--volt); margin-left: 11px; }
.ticker span b { color: var(--fg); font-weight: 500; }
@keyframes ticker { to { transform: translateX(-50%); } }

/* ---------- stages (staircase) ---------- */
.stages { display: grid; gap: 16px; list-style: none; margin: 0; padding: 0; }
.stage {
  position: relative; display: flex; flex-direction: column;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-m);
  padding: var(--space-5); padding-top: var(--space-6); overflow: hidden;
}
.stage::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; }
.stage:nth-child(1)::before { background: var(--line-strong); }
.stage:nth-child(2)::before { background: var(--fg-subtle); }
.stage:nth-child(3)::before { background: var(--fg-muted); }
.stage:nth-child(4)::before { background: var(--fg); }
.stage .stage-letter { font: 700 88px/.8 var(--font-display); letter-spacing: -0.05em; margin: 0 0 var(--space-5); color: var(--fg); }
.stage.is-r .stage-letter { color: var(--on-volt); }
.stage .h2 { margin-bottom: 10px; }
.stage p { margin: 0 0 var(--space-5); color: var(--fg-muted); font-size: 15px; line-height: 1.55; }
.stage ul { list-style: none; margin: 0 0 var(--space-5); padding: 0; font-size: 14px; }
.stage li { display: flex; gap: 10px; padding: 8px 0; border-top: 1px solid var(--line); }
.stage li::before { content: ""; width: 6px; height: 6px; background: currentColor; margin-top: 8px; flex: none; opacity: .55; }
.stage .own { margin-top: auto; padding-top: var(--space-4); border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.stage .own b { font: 500 15px/1.2 var(--font-mono); letter-spacing: -0.01em; text-align: right; }
.stage.is-r { background: var(--volt); color: var(--on-volt); border-color: var(--volt); }
.stage.is-r p, .stage.is-r .label { color: var(--on-volt); }
.stage.is-r li, .stage.is-r .own { border-top-color: rgba(12, 13, 10, .22); }
@media (min-width: 720px) {
  .stages { grid-template-columns: 1fr 1fr; }
  .stage.is-r { grid-column: 1 / -1; }
}
@media (min-width: 1140px) {
  .stages { grid-template-columns: repeat(5, 1fr); align-items: end; gap: 12px; }
  .stage.is-r { grid-column: auto; }
  .stage { min-height: 560px; }
  .stage:nth-child(1) { min-height: 560px; }
  .stage:nth-child(2) { min-height: 604px; }
  .stage:nth-child(3) { min-height: 648px; }
  .stage:nth-child(4) { min-height: 692px; }
  .stage:nth-child(5) { min-height: 736px; }
  .stage .stage-letter { font-size: 104px; }
}

/* ---------- calculator ---------- */
.calc { display: grid; gap: var(--space-5); }
@media (min-width: 1000px) { .calc { grid-template-columns: 5fr 7fr; gap: var(--space-6); align-items: start; } .calc > form { position: sticky; top: 96px; } }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-m); padding: var(--space-5); }
@media (min-width: 768px) { .panel { padding: var(--space-6); } }
.field-calc { padding: 18px 0; border-bottom: 1px solid var(--line); }
.field-calc:first-of-type { padding-top: 0; }
.field-calc:last-of-type { border-bottom: 0; padding-bottom: 0; }
.field-calc .top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.field-calc label { font-size: 15px; font-weight: 500; }
.field-calc .numwrap { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line-strong); border-radius: var(--radius-s); background: var(--surface-2); padding: 0 10px; height: 38px; }
.field-calc .numwrap:focus-within { border-color: var(--focus); }
.field-calc input[type="number"] {
  width: 104px; border: 0; background: transparent; text-align: right; outline: none;
  font: 500 15px/1 var(--font-mono); font-variant-numeric: tabular-nums; -moz-appearance: textfield; appearance: textfield;
}
.field-calc input[type="number"]::-webkit-inner-spin-button, .field-calc input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.field-calc .unit { font: 500 13px/1 var(--font-mono); color: var(--fg-muted); }

input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 24px; background: transparent; cursor: pointer; margin: 0; --p: 50%; }
input[type="range"]::-webkit-slider-runnable-track { height: 2px; background: linear-gradient(to right, var(--accent) var(--p), var(--line-strong) var(--p)); }
input[type="range"]::-moz-range-track { height: 2px; background: var(--line-strong); }
input[type="range"]::-moz-range-progress { height: 2px; background: var(--accent); }
input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; margin-top: -8px; background: var(--volt); border: 2px solid var(--bg); outline: 1px solid var(--accent); border-radius: 0; }
input[type="range"]::-moz-range-thumb { width: 14px; height: 14px; background: var(--volt); border: 2px solid var(--bg); outline: 1px solid var(--accent); border-radius: 0; }
input[type="range"]:focus-visible { outline: none; }
input[type="range"]:focus-visible::-webkit-slider-thumb { outline: 2px solid var(--focus); outline-offset: 2px; }
input[type="range"]:focus-visible::-moz-range-thumb { outline: 2px solid var(--focus); outline-offset: 2px; }

.formula {
  font: 500 13px/1.7 var(--font-mono); color: var(--fg-muted); font-variant-numeric: tabular-nums;
  padding-bottom: var(--space-5); border-bottom: 1px solid var(--line); margin: 0 0 var(--space-5);
  overflow-wrap: anywhere;
}
.formula b { color: var(--fg); font-weight: 500; }
.formula .op { color: var(--fg-subtle); padding: 0 .35em; }
.big-figure { font: 500 clamp(36px, 5vw, 56px)/1 var(--font-mono); letter-spacing: -0.045em; font-variant-numeric: tabular-nums; margin: 8px 0 var(--space-5); }
.figures { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius-s); overflow: hidden; margin-bottom: var(--space-6); }
@media (min-width: 560px) { .figures { grid-template-columns: repeat(4, 1fr); } }
.figures div { background: var(--surface); padding: 14px 16px; }
.figures b { display: block; font: 500 20px/1.2 var(--font-mono); letter-spacing: -0.02em; margin-top: 6px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.scenario-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 10px; }
.scenario-head label { font-weight: 600; }
.scenario-head output { font: 500 20px/1 var(--font-mono); color: var(--accent); }
.chart { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; align-items: end; height: 220px; margin: var(--space-5) 0 10px; }
.chart .col { display: flex; flex-direction: column; justify-content: flex-end; height: 100%; min-width: 0; }
.chart .v { font: 500 11px/1.2 var(--font-mono); color: var(--fg-muted); margin-bottom: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.chart .b { height: 0; transition: height .5s cubic-bezier(.2,.7,.2,1); }
.chart .col:nth-child(1) .b { background: var(--line-strong); }
.chart .col:nth-child(2) .b { background: var(--fg-subtle); }
.chart .col:nth-child(3) .b { background: var(--fg-muted); }
.chart .col:nth-child(4) .b { background: var(--fg); }
.chart .col:nth-child(5) .b { background: var(--volt); }
.chart .col:nth-child(5) .v { color: var(--accent); }
.chart-labels { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; border-top: 1px solid var(--line-strong); padding-top: 8px; }
.chart-labels span { font: 500 10px/1.3 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--fg-subtle); }
.result-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 24px; margin-top: var(--space-5); padding-top: var(--space-5); border-top: 1px solid var(--line); }
.result-row .delta { font: 500 clamp(28px, 3.4vw, 40px)/1 var(--font-mono); letter-spacing: -0.04em; color: var(--accent); font-variant-numeric: tabular-nums; }
.disclaimer { margin: var(--space-5) 0 0; font-size: 13px; line-height: 1.5; color: var(--fg-subtle); max-width: 62ch; }

@media (max-width: 479px) {
  .field-calc input[type="number"] { width: 84px; }
  .chart { gap: 6px; height: 190px; }
  .chart-labels { gap: 6px; }
  .chart .v { font-size: 10px; letter-spacing: -0.03em; text-overflow: clip; }
  .chart-labels span { font-size: 9px; letter-spacing: 0; }
}

/* ---------- services ---------- */
.services { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid var(--line); }
@media (min-width: 860px) { .services { grid-template-columns: 1fr 1fr; column-gap: var(--space-7); } }
.service { display: grid; grid-template-columns: 44px 1fr; gap: 6px 16px; padding: var(--space-5) 0 var(--space-6); border-bottom: 1px solid var(--line); }
.service .idx { font: 500 12px/1 var(--font-mono); letter-spacing: .06em; color: var(--fg-subtle); padding-top: 8px; transition: color .16s; }
.service:hover .idx { color: var(--accent); }
.service .h2 { margin-bottom: 8px; }
.service p { margin: 0 0 14px; color: var(--fg-muted); max-width: 52ch; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.tag {
  display: inline-flex; align-items: center; height: 26px; padding: 0 9px; border: 1px solid var(--line-strong); border-radius: var(--radius-s);
  font: 500 11px/1 var(--font-mono); letter-spacing: .04em; color: var(--fg-muted); white-space: nowrap;
}
.tag.is-letter { background: var(--fg); color: var(--bg); border-color: var(--fg); font-weight: 600; }

/* ---------- report ---------- */
.report { display: grid; gap: var(--space-6); }
@media (min-width: 1000px) { .report { grid-template-columns: 8fr 4fr; gap: var(--space-7); align-items: start; } }
.metrics { width: 100%; border-collapse: collapse; }
.metrics th { text-align: left; padding: 0 16px 12px 0; border-bottom: 1px solid var(--line-strong); }
.metrics td { padding: 18px 16px 18px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.metrics td:first-child { font-weight: 600; white-space: nowrap; }
.metrics td.f { font: 500 13px/1.5 var(--font-mono); color: var(--accent); }
.metrics td:last-child { color: var(--fg-muted); padding-right: 0; }
@media (max-width: 719px) {
  .metrics thead { display: none; }
  .metrics, .metrics tbody, .metrics tr, .metrics td { display: block; }
  .metrics tr { padding: 16px 0; border-bottom: 1px solid var(--line); }
  .metrics td { padding: 2px 0; border: 0; white-space: normal !important; }
}
.not-list { list-style: none; margin: 0; padding: 0; }
.not-list li { display: flex; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); color: var(--fg-muted); }
.not-list li::before { content: "−"; font: 600 18px/1.2 var(--font-mono); color: var(--signal-text); flex: none; }
.not-list li b { color: var(--fg); font-weight: 600; }

/* ---------- process ---------- */
.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.step { position: relative; padding: 0 0 var(--space-6) 36px; border-left: 1px solid var(--line-strong); margin-left: 7px; }
.step:last-child { padding-bottom: 0; border-left-color: transparent; }
.step::before { content: ""; position: absolute; left: -8px; top: 0; width: 15px; height: 15px; background: var(--bg); border: 2px solid var(--fg); }
.step:last-child::before { background: var(--accent); border-color: var(--accent); }
.step .label { margin-bottom: 10px; }
.step .h2 { margin-bottom: 10px; }
.step p { margin: 0 0 12px; color: var(--fg-muted); max-width: 46ch; }
.step .out { font-size: 14px; }
.step .out b { font-weight: 600; }
@media (min-width: 960px) {
  .steps { grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }
  .step, .step:last-child { padding: 36px 0 0; border-left: 0; margin-left: 0; border-top: 1px solid var(--line-strong); }
  .step:last-child { border-top-color: var(--line-strong); }
  .step::before { left: 0; top: -8px; }
}

/* ---------- formats ---------- */
.formats { display: grid; gap: 16px; }
@media (min-width: 960px) { .formats { grid-template-columns: repeat(3, 1fr); } }
.format { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-m); padding: var(--space-5); }
@media (min-width: 768px) { .format { padding: var(--space-6); } }
.format.is-main { border-color: var(--volt); box-shadow: inset 0 0 0 1px var(--volt); }
.format .top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: var(--space-6); min-height: 26px; }
.badge { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; background: var(--volt); color: var(--on-volt); border-radius: var(--radius-s); font: 600 11px/1 var(--font-mono); letter-spacing: .05em; text-transform: uppercase; }
.format .h1 { margin-bottom: 14px; }
.format > p { margin: 0 0 var(--space-5); color: var(--fg-muted); }
.format ul { list-style: none; margin: 0 0 var(--space-6); padding: 0; font-size: 15px; }
.format li { display: flex; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); }
.format li::before { content: "+"; font-family: var(--font-mono); color: var(--accent); flex: none; }
.format .price { margin-top: auto; padding-top: var(--space-5); border-top: 1px solid var(--line-strong); display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.format .price b { font: 500 16px/1.2 var(--font-mono); }
.formats-note { margin: var(--space-5) 0 0; color: var(--fg-subtle); font-size: 14px; }

/* ---------- faq ---------- */
.faq-grid { display: grid; gap: var(--space-6); }
@media (min-width: 960px) { .faq-grid { grid-template-columns: 4fr 7fr; gap: var(--space-7); } .faq-grid .section-head { position: sticky; top: 112px; align-self: start; display: block; } .faq-grid .section-head .display-l { margin: var(--space-5) 0; } }
.faq { border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px;
  padding: 22px 0; font: 600 clamp(17px, 1.6vw, 19px)/1.35 var(--font-sans);
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: var(--radius-pill); font: 400 18px/1 var(--font-mono); transition: transform .2s ease-out, background-color .2s; }
.faq details[open] summary::after { transform: rotate(45deg); background: var(--fg); color: var(--bg); border-color: var(--fg); }
.faq details p { margin: 0; padding: 0 56px 24px 0; color: var(--fg-muted); max-width: var(--measure); }

/* ---------- contact (volt band) ---------- */
.contact-band { background: var(--volt); color: var(--on-volt); }
.contact-band .label, .contact-band .lead { color: var(--on-volt); }
.contact-band .eyebrow::before { background: var(--on-volt); }
.contact-grid { display: grid; gap: var(--space-7); }
@media (min-width: 1000px) { .contact-grid { grid-template-columns: 5fr 6fr; gap: var(--space-9); align-items: start; } }
.contact-copy .display-l { margin: var(--space-5) 0; }
.contact-copy .lead { margin-bottom: var(--space-6); max-width: 40ch; }
.contact-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(12, 13, 10, .25); }
.contact-list li { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(12, 13, 10, .25); }
.contact-list a { font-weight: 600; }
.form-card { border-radius: var(--radius-m); padding: var(--space-5); }
@media (min-width: 768px) { .form-card { padding: var(--space-6); } }
.form-card .h2 { margin-bottom: 6px; }
.form-card > p { margin: 0 0 var(--space-5); color: var(--fg-muted); font-size: 15px; }
.fgrid { display: grid; gap: 16px; }
@media (min-width: 640px) { .fgrid { grid-template-columns: 1fr 1fr; } .fgrid .full { grid-column: 1 / -1; } }
.field { display: grid; gap: 8px; }
.field > span { font-size: 14px; font-weight: 500; color: var(--fg-muted); }
.field > span em { font-style: normal; color: var(--accent); }
.input, .select, .textarea {
  width: 100%; min-height: 52px; padding: 13px 16px; border-radius: var(--radius-s);
  border: 1px solid var(--line-strong); background: var(--surface-2); color: var(--fg); font-size: 16px; outline: none;
  transition: border-color .16s;
}
.input::placeholder, .textarea::placeholder { color: var(--fg-subtle); opacity: 1; }
.input:hover, .select:hover, .textarea:hover { border-color: var(--fg-muted); }
.input:focus, .select:focus, .textarea:focus { border-color: var(--focus); box-shadow: 0 0 0 1px var(--focus); }
.textarea { min-height: 112px; resize: vertical; line-height: 1.5; }
.select-wrap { position: relative; }
.select { -webkit-appearance: none; appearance: none; padding-right: 44px; cursor: pointer; }
.select-wrap::after { content: "↓"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-family: var(--font-mono); font-size: 14px; color: var(--fg-muted); pointer-events: none; }
.field.has-error .input, .field.has-error .select { border-color: var(--signal-text); }
.err { font-size: 13px; color: var(--signal-text); min-height: 0; }
.err:empty { display: none; }
.check { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; font-size: 14px; line-height: 1.5; color: var(--fg-muted); cursor: pointer; }
.check input { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; margin: 0; border: 1px solid var(--line-strong); border-radius: var(--radius-s); background: var(--surface-2); display: grid; place-items: center; cursor: pointer; }
.check input::after { content: "✓"; font: 700 14px/1 var(--font-sans); color: var(--on-volt); opacity: 0; }
.check input:checked { background: var(--volt); border-color: var(--volt); }
.check input:checked::after { opacity: 1; }
.check a { color: var(--fg); }
.check.has-error input { border-color: var(--signal-text); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-foot { display: grid; gap: 14px; margin-top: var(--space-5); }
.form-done { display: none; padding: var(--space-6) 0 var(--space-4); }
.form-done .sq { width: 56px; height: 56px; background: var(--volt); margin-bottom: var(--space-5); display: grid; place-items: center; font: 700 26px/1 var(--font-display); color: var(--on-volt); }
.form-done .h1 { margin-bottom: 12px; }
.form-done p { margin: 0 0 var(--space-5); color: var(--fg-muted); }
.form-card.is-done form { display: none; }
.form-card.is-done .form-done { display: block; }

/* ---------- footer ---------- */
.site-footer { padding: var(--space-8) 0 0; overflow: hidden; }
.foot-grid { display: grid; gap: var(--space-6); padding-bottom: var(--space-7); border-bottom: 1px solid var(--line); }
@media (min-width: 860px) { .foot-grid { grid-template-columns: 4fr 2fr 3fr 3fr; } }
.foot-grid h2 { margin: 0 0 14px; }
.foot-grid ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.foot-grid a { color: var(--fg-muted); text-decoration: none; font-size: 15px; }
.foot-grid a:hover { color: var(--fg); text-decoration: underline; }
.foot-claim { margin: 0; font: 600 clamp(20px, 2vw, 26px)/1.2 var(--font-display); letter-spacing: -0.025em; max-width: 18ch; }
.foot-claim span { color: var(--accent); }
.foot-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding: var(--space-5) 0; color: var(--fg-subtle); font-size: 13px; }
.wordmark {
  /* Unbounded 800: "SLCTR" + square ≈ 4.1em wide; line-height .75 puts the baseline on the box bottom */
  font: 800 calc((100vw - 32px) / 4.15)/.75 var(--font-display); letter-spacing: -0.06em; margin: 0 0 0 -0.03em;
  color: var(--fg); user-select: none; white-space: nowrap; display: flex; align-items: flex-end;
}
@media (min-width: 768px) { .wordmark { font-size: calc((min(100vw, 1280px) - 64px) / 4.15); } }
.wordmark i { display: inline-block; width: .16em; height: .16em; background: var(--volt); margin-left: .04em; margin-bottom: .02em; }

/* ---------- cookie notice ---------- */
.cookie {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60; max-width: 440px;
  background: var(--surface); color: var(--fg); border: 1px solid var(--line-strong); border-radius: var(--radius-m);
  padding: 18px 20px; display: none; gap: 14px; font-size: 14px; line-height: 1.5;
}
.cookie.is-shown { display: grid; }
.cookie p { margin: 0; color: var(--fg-muted); }
.cookie a { color: var(--fg); }
.cookie .btn { justify-self: start; }

/* ---------- documents ---------- */
.doc-hero { padding: var(--space-7) 0 var(--space-6); border-bottom: 1px solid var(--line); }
.doc-hero .crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--space-5); }
.doc-hero .crumbs a { color: var(--fg-subtle); text-decoration: none; }
.doc-hero .crumbs a:hover { color: var(--fg); }
.doc-hero .h1 { font-size: clamp(30px, 4.4vw, 52px); max-width: 22ch; }
.doc-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: var(--space-5); }
.doc-layout { display: grid; gap: var(--space-6); padding: var(--space-7) 0 var(--space-9); }
@media (min-width: 1000px) { .doc-layout { grid-template-columns: 3fr 8fr; gap: var(--space-9); } }
.toc { align-self: start; }
@media (min-width: 1000px) { .toc { position: sticky; top: 104px; } }
.toc ol { list-style: none; margin: 14px 0 0; padding: 0; counter-reset: t; border-top: 1px solid var(--line); }
.toc li { counter-increment: t; border-bottom: 1px solid var(--line); }
.toc a { display: grid; grid-template-columns: 28px 1fr; gap: 8px; padding: 10px 0; text-decoration: none; font-size: 14px; color: var(--fg-muted); line-height: 1.4; }
.toc a::before { content: counter(t, decimal-leading-zero); font: 500 11px/1.6 var(--font-mono); color: var(--fg-subtle); }
.toc a:hover, .toc a.is-active { color: var(--fg); }
@media (max-width: 999px) { .toc details:not([open]) ol { display: none; } }
.toc summary { cursor: pointer; list-style: none; }
.toc summary::-webkit-details-marker { display: none; }
@media (min-width: 1000px) { .toc summary { pointer-events: none; } }
.prose { max-width: var(--measure); }
.prose section { padding-top: var(--space-6); }
.prose section:first-child { padding-top: 0; }
.prose h2 { font: 600 clamp(20px, 2vw, 24px)/1.25 var(--font-display); letter-spacing: -0.02em; margin: 0 0 var(--space-4); display: flex; gap: 14px; align-items: baseline; }
.prose h2 .n { font: 500 13px/1 var(--font-mono); color: var(--fg-subtle); letter-spacing: .04em; flex: none; }
.prose p, .prose li { color: var(--fg); }
.prose p { margin: 0 0 14px; }
.prose ul, .prose ol { margin: 0 0 14px; padding-left: 22px; }
.prose li { margin-bottom: 8px; }
.prose li::marker { color: var(--fg-subtle); }
.prose a { color: var(--accent); }
.prose strong { font-weight: 600; }
.prose .note { padding: 16px 18px; background: var(--surface-2); border-radius: var(--radius-s); color: var(--fg-muted); font-size: 15px; }
.prose table { width: 100%; border-collapse: collapse; margin: 0 0 18px; font-size: 15px; }
.prose th, .prose td { text-align: left; padding: 12px 12px 12px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.prose th { font: 500 11px/1.4 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--fg-subtle); border-bottom-color: var(--line-strong); }
.prose td code { font: 500 13px/1.4 var(--font-mono); }

.doc-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.doc-list a { display: grid; grid-template-columns: 40px 1fr auto; gap: 6px 16px; align-items: baseline; padding: var(--space-5) 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.doc-list .idx { font: 500 12px/1 var(--font-mono); color: var(--fg-subtle); }
.doc-list .t { font: 600 clamp(19px, 2vw, 24px)/1.25 var(--font-display); letter-spacing: -0.02em; }
.doc-list .d { grid-column: 2; color: var(--fg-muted); font-size: 15px; }
.doc-list .go { grid-row: 1; grid-column: 3; font-family: var(--font-mono); transition: transform .16s; }
.doc-list a:hover .go { transform: translateX(4px); color: var(--accent); }
.doc-list a:hover .t { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.reqs { margin-top: var(--space-7); display: grid; gap: var(--space-5); }
@media (min-width: 860px) { .reqs { grid-template-columns: 3fr 8fr; gap: var(--space-9); } }
.reqs dl { margin: 0; display: grid; grid-template-columns: minmax(140px, 220px) 1fr; border-top: 1px solid var(--line); }
.reqs dt, .reqs dd { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--line); }
.reqs dt { color: var(--fg-muted); font-size: 15px; padding-right: 16px; }

/* ---------- 404 ---------- */
.nf { min-height: calc(100vh - 72px); display: grid; align-content: center; padding: var(--space-8) 0; }
.nf .num-big { font: 700 clamp(120px, 28vw, 360px)/.8 var(--font-display); letter-spacing: -0.06em; margin: 0 0 var(--space-6); }
.nf .num-big span { color: var(--accent); }

/* ---------- utilities ---------- */
.mb-0 { margin-bottom: 0 !important; }
.mb-6 { margin-bottom: 6px; }
.mt-10 { margin-top: 10px; }
.mt-20 { margin-top: 20px; }
.form-sub { margin: 0 0 24px; color: var(--fg-muted); font-size: 14px; }
.check .err { display: block; }
.hub-body { padding-top: var(--space-7); padding-bottom: var(--space-9); }
.nf-p { margin: 16px 0 8px; }
.nf-p2 { margin: 0 0 32px; }

/* ---------- reveal ---------- */
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease-out, transform .6s cubic-bezier(.2,.7,.2,1); }
.js .reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .reveal { opacity: 1; transform: none; }
  .lrow .bar { width: var(--to); }
}
@media print {
  .site-header, .mobile-nav, .cookie, .site-footer, .toc { display: none !important; }
  [data-theme] { background: #fff !important; color: #000 !important; }
  .doc-layout { display: block; padding: 0; }
}
