/* ==========================================================================
   Design tokens — editorial system
   Direction: warm paper ground, deep warm ink, single vermillion accent.
   Numbers are treated as display typography, not as UI chrome.
   ========================================================================== */

:root {
  /* --- Surface ------------------------------------------------------------ */
  --paper: oklch(96.5% 0.009 84);
  --paper-raised: oklch(98.4% 0.006 84);
  --ink-panel: oklch(17.5% 0.014 62);
  --ink-panel-2: oklch(22% 0.016 62);

  /* --- Ink ---------------------------------------------------------------- */
  --ink: oklch(19% 0.013 62);
  --ink-soft: oklch(42% 0.012 62);
  --ink-mute: oklch(50% 0.011 62);
  --on-dark: oklch(95% 0.008 84);
  --on-dark-soft: oklch(76% 0.010 84);
  --on-dark-mute: oklch(65% 0.010 84);

  /* --- Accent ------------------------------------------------------------- */
  --accent: oklch(56% 0.185 34);
  --accent-on-dark: oklch(72% 0.175 42);

  /* --- Lines -------------------------------------------------------------- */
  --rule: oklch(85% 0.012 84);
  --rule-strong: oklch(74% 0.014 84);
  --rule-dark: oklch(30% 0.014 62);

  /* --- Type --------------------------------------------------------------- */
  --font-display: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --font-text: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --text-hero: clamp(2.6rem, 1rem + 5.6vw, 6.25rem);
  --text-display: clamp(2.6rem, 1.3rem + 5.2vw, 5.75rem);
  --text-h2: clamp(2.1rem, 1.25rem + 3.4vw, 4rem);
  --text-h3: clamp(1.5rem, 1.15rem + 1.5vw, 2.25rem);
  --text-metric: clamp(2.35rem, 1.5rem + 3vw, 3.75rem);
  --text-lead: clamp(1.1rem, 1rem + 0.55vw, 1.4rem);
  --text-body: clamp(1rem, 0.96rem + 0.22vw, 1.0625rem);
  --text-small: 0.9375rem;
  --text-label: 0.6875rem;

  --leading-tight: 0.92;
  --leading-snug: 1.12;
  --leading-body: 1.62;
  --track-label: 0.14em;

  /* --- Space -------------------------------------------------------------- */
  --space-section: clamp(5rem, 3rem + 7vw, 11rem);
  --space-block: clamp(2.5rem, 1.6rem + 3vw, 5rem);
  --gutter: clamp(1.25rem, 0.6rem + 2.6vw, 3.5rem);
  --measure: 62ch;
  --shell: 78rem;

  /* --- Motion ------------------------------------------------------------- */
  --duration-fast: 160ms;
  --duration-normal: 320ms;
  --duration-slow: 720ms;
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-soft: cubic-bezier(0.33, 1, 0.68, 1);

  /* --- Depth -------------------------------------------------------------- */
  --shadow-card: 0 1px 2px oklch(19% 0.013 62 / 0.05),
                 0 12px 28px -12px oklch(19% 0.013 62 / 0.18);

  /* Paper grain — adds tooth so large flat areas don't read as a template. */
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.42'/%3E%3C/svg%3E");
}
