/* Black terminal night with lime. Ink is near-white text; accent and glow are the lime visor line. */
:root {
  --ground: #0B0D0C;
  --stage-ground: #141816;
  --ink: #E9F2ED;
  --ink-soft: #8FA39A;
  --accent: #8EE303;
  --accent-deep: #5FA300; /* the only green that carries text at AA on the dark ground */
  --tint: #141816;
  --glow: #8ee303; /* glow only, never text */
  --hairline: rgba(233, 242, 237, 0.10);

  --forest: var(--ink);
  --lime: var(--accent);
  --card: #141816;
  --paper: var(--card);
  --line: #23302A;
  --mute: var(--ink-soft);
  --signal: var(--ink);
  --pg-accent: var(--accent);
  --band: #10130F;

  --font-display: "Geologica", "Segoe UI", system-ui, sans-serif;
  --font-body: "Public Sans", "Segoe UI", system-ui, sans-serif;
  --font-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;

  /* 4pt space scale */
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-32: 32px;
  --space-40: 40px;
  --space-48: 48px;
  --space-64: 64px;
  --space-80: 80px;
  --space-96: 96px;

  /* 5-step type, 12px floor, at least 1.25 between steps */
  --step-0: 0.75rem;
  --step-1: 1rem;
  --step-2: 1.25rem;
  --step-3: 1.75rem;
  --step-4: clamp(2.25rem, 1.4rem + 2.2vw, 3.25rem);
  --hero-copy-block: 16.5rem;
  --waterline-origin: calc(var(--nav-h) + var(--hero-copy-block) + var(--space-16));
  --object-fill: 68%;

  --fs-h1: var(--step-4);
  --fs-h2: var(--step-3);
  --fs-h3: var(--step-2);
  --fs-body: var(--step-1);
  --fs-label: var(--step-0);
  --fs-data: var(--step-0);

  --track-display: -0.035em;
  --track-label: 0.08em;
  --leading-body: 1.55;
  --leading-display: 1.02;

  --maxw: 1180px;
  --gutter: var(--space-24);
  --nav-h: 64px;
  --touch: 44px;
  --radius: 2px;
  --radius-sm: 2px;

  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease: var(--ease-out-expo);
  --ease-soft: var(--ease-out-quart);
  --fx-reveal: 720ms;
  --fx-stagger: 70ms;
  --fx-hover: 180ms;

  color-scheme: dark;
}

@media (min-width: 768px) {
  :root { --gutter: var(--space-32); --nav-h: 72px; }
}

@media (min-width: 1440px) {
  :root { --gutter: var(--space-48); }
}

/* --- tech pill + "The tech" section (tech-pill task, 2026-09-27) --- */
p.tech-pill{display:inline-block;text-transform:none;letter-spacing:0;white-space:normal;margin:0 0 var(--space-16);padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb, var(--card) 55%, transparent);color:var(--ink-soft);max-width:56ch}
.tech-section .tech-specs{margin:var(--space-24) 0 0;border-top:1px solid var(--line)}
.tech-section .tech-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:var(--space-8) var(--space-24);padding:var(--space-16) 0;border-bottom:1px solid var(--line)}
.tech-section .tech-row dt{margin:0;padding-top:2px}
.tech-section .tech-row dd{margin:0;font-size:var(--fs-body);line-height:var(--leading-body);color:var(--ink);overflow-wrap:anywhere}
.tech-section .tech-row dd code{overflow-wrap:anywhere;word-break:break-all}
.tech-section .tech-row-shared{border-top:1px solid var(--line);margin-top:var(--space-8)}
.tech-section .tech-limit{margin-top:var(--space-24);color:var(--ink-soft);max-width:64ch}
.tech-section .tech-planned{margin-top:var(--space-16);color:var(--ink-soft);max-width:64ch}
.tech-section .tech-planned-label{font-family:var(--font-mono);font-weight:400;font-size:var(--fs-label);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-soft)}
@media(max-width:480px){.tech-section .tech-row{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}}
