/* Theory Media — design tokens.
   Two-stage system, paper-dominant: dark acts are fully colorless
   (invisibility has no color); lit sections carry ink typography on paper
   with ONE chromatic note, logo-slate, marking what is measured, live, or
   yours. Promoted from the Paper Cut experiment 2026-08-04, restoring the
   firm's original identity over the retired dark/volt system. */

:root {
  /* ---- Greyscale ladder ---- */
  --paper: #ECEDEC;
  --card: #FAFAF8;
  --mist: #D3D1CE;
  --slope: #B3B7BA;
  --slate: #6C6D74;
  --label-ink: #575A61;
  --body-ink: #3C4248;
  --logo: #3D4C5C;
  --charcoal: #262E36;
  --ink: #0E1318;
  --void: #080B0E;   /* below ink, for the deepest stage */

  /* Raised surfaces on the dark field. The subtle lift that makes cards read. */
  --surface: #151C24;
  --surface-2: #1B242E;
  --surface-line: rgba(236, 237, 236, 0.12);

  /* ---- The one chromatic note ----
     Logo-slate (--logo, declared in the ladder above): the firm's original
     mark, restored 2026-08-04 when the Paper Cut was promoted. The volt
     signal accent from the dark experiment is retired (git history has it).
     RULE: color appears only in the light, and only on what is measured,
     live, or yours — kickers' numerals, the live end of a chart, the one
     figure that is the finding. The dark acts stay colorless. */

  /* ---- Semantic status (diagnostic data only) ---- */
  --good: #6FA07E;
  --mid: #C0913E;
  --bad: #C2705A;

  /* ---- Type ---- */
  --font-display: "Manrope", -apple-system, sans-serif;
  --font-label: "Hanken Grotesk", -apple-system, sans-serif;

  --text-display: clamp(3rem, 1.6rem + 6.4vw, 9rem);
  --text-h1: clamp(2.4rem, 1.6rem + 3.4vw, 5rem);
  --text-h2: clamp(1.9rem, 1.45rem + 2vw, 3.25rem);
  --text-h3: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem);
  --text-h4: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem);
  --text-body-lg: clamp(1.0625rem, 1rem + 0.35vw, 1.3rem);
  --text-body: 1rem;
  --text-small: 0.875rem;
  --text-caption: 0.75rem;
  --text-fig: clamp(3.5rem, 2rem + 6vw, 8rem);

  --leading-tight: 1.02;
  --leading-snug: 1.3;
  --leading-body: 1.65;

  --tracking-tight: -0.03em;
  --tracking-wide: 0.08em;
  --tracking-wider: 0.16em;

  /* ---- Space ---- */
  --space-1: 4px;   --space-2: 8px;   --space-3: 12px;  --space-4: 16px;
  --space-5: 20px;  --space-6: 24px;  --space-8: 32px;  --space-12: 48px;
  --space-16: 64px; --space-24: 96px; --space-32: 128px;

  --section-pad-lg: clamp(72px, 7vw + 32px, 176px);
  --section-pad-md: clamp(48px, 4vw + 24px, 96px);

  --container-max: 1320px;
  --container-pad: clamp(20px, 4.5vw, 72px);

  --radius-tight: 3px;
  --radius-standard: 8px;
  --radius-round: 999px;

  /* ---- Lines ---- */
  --rule-dark: 1px solid rgba(236, 237, 236, 0.13);
  --rule-dark-soft: 1px solid rgba(236, 237, 236, 0.07);
  --rule-light: 1px solid rgba(14, 19, 24, 0.12);

  /* ---- Motion tokens: named by PURPOSE, not by shape ---- */
  --ease-entrance: cubic-bezier(0.16, 1, 0.3, 1);      /* things arriving */
  --ease-exit:     cubic-bezier(0.55, 0, 0.7, 0);      /* things leaving */
  --ease-fade:     cubic-bezier(0.76, 0, 0.24, 1);     /* symmetric */
  --ease-instrument: cubic-bezier(0.22, 1, 0.36, 1);   /* readouts, counters */

  --dur-fast: 0.3s;
  --dur-normal: 0.65s;
  --dur-slow: 1.075s;
  --stagger: 0.05s;

  --z-nav: 100;
}
