/* Countersign design tokens - "Field Survey, Plate Edition".
   Warm printed-plate paper, forest-green structural spine,
   coordinated earthy severity inks. Light scheme. No shadows. */
:root {
  /* Color: paper, ink, hairlines */
  --color-bg: #f8f4ea;
  --color-bg-alt: #efe7d6;
  --color-surface: #fdfbf4;
  --color-text: #232019;
  --color-text-muted: #6b6354;
  --color-text-faint: #978d7b;
  --color-border: #ddd4c1;
  --color-border-soft: #e7dfcd;

  /* Color: forest spine */
  --color-forest: #1f3d2e;
  --color-forest-deep: #17301f;
  --color-forest-fg: #eef2ec;
  --color-forest-fg-dim: rgba(238, 242, 236, 0.72);

  /* Color: severity inks */
  --sev-critical: #9c3b2e;
  --sev-high: #c0892d;
  --sev-medium: #2f6b6b;
  --sev-critical-ink: #9c3b2e;
  --sev-high-ink: #8a5d14;
  --sev-medium-ink: #2a6060;
  --sev-critical-bg: #f3e6e1;
  --sev-high-bg: #f3ead4;
  --sev-medium-bg: #e2eced;

  /* Color: gold, links, and compatibility aliases */
  --color-gold: #b89042;
  --color-gold-ink: #8a6a1f;
  --color-link: #1f3d2e;
  --color-link-on-forest: #eef2ec;
  --color-muted: var(--color-text-muted);
  --color-accent: var(--color-forest);
  --color-accent-strong: var(--color-forest-deep);

  /* Code and diff block */
  --code-bg: #221f17;
  --code-fg: #d8d2c4;
  --code-cmt: #9a917c;
  --code-del: #d49a8c;
  --code-add: #9cc6a2;

  /* Typography: families. Self-hosted @font-face in fonts.css (F-008).
     The *-Fallback families are metric-tuned (size-adjust) to minimize the
     layout shift when the web fonts swap in. */
  --font-serif: "Newsreader", "Newsreader Fallback", Georgia, "Times New Roman", serif;
  --font-sans: "DM Sans", "DM Sans Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* Typography: scale */
  --text-hero: clamp(3rem, 8vw, 6.5rem);
  --text-display: clamp(2.6rem, 6vw, 3.25rem);
  --text-7xl: 2.75rem;
  --text-6xl: 2.25rem;
  --text-5xl: 1.95rem;
  --text-4xl: 1.6rem;
  --text-3xl: 1.4rem;
  --text-2xl: 1.25rem;
  --text-lede: clamp(1.3rem, 2.3vw, 1.5rem);
  --text-xl: 1.125rem;
  --text-base: 1.0625rem;
  --text-sm: 0.95rem;
  --text-xs: 0.82rem;
  --text-2xs: 0.72rem;
  --text-3xs: 0.62rem;

  --leading-hero: 0.98;
  --leading-display: 1.06;
  --leading-heading: 1.14;
  --leading-snug: 1.4;
  --leading-body: 1.78;
  --leading-normal: 1.6;
  --tracking-display: -0.024em;
  --tracking-tight: -0.01em;
  --tracking-body: 0.002em;
  --tracking-label: 0.2em;
  --tracking-eyebrow: 0.26em;

  /* Spacing: 4px base */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.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-18: 4.5rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-28: 7rem;
  --space-30: 7.5rem;
  --flow: 1.3rem;

  /* Layout and measures */
  --measure: 60ch;
  --measure-lede: 44ch;
  --measure-quote: 22ch;
  --measure-wide: 1180px;
  --margin-col: 17rem;
  --gutter: var(--space-10);
  --gutter-mobile: 1.4rem;
  --grid-spread: minmax(0, 1fr) var(--margin-col);
  --grid-spread-gap: var(--space-18);
  --bp-spread: 880px;
  --rhythm-hero: var(--space-28) 0 var(--space-20);
  --rhythm-section: var(--space-24) 0;
  --rhythm-quote: var(--space-30) 0;
  --rhythm-tight: var(--space-12) 0;

  /* Radius, rules, and depth */
  --radius-0: 0;
  --radius-1: 2px;
  --radius: var(--radius-0);
  --shadow: none;
  --registration-h: 4px;
  --rule-w-hair: 1px;
  --rule-w-spine: 3px;
  --rule-w-sev: 4px;

  /* Motion */
  --reveal-dur: 0.55s;
  --reveal-ease: ease;
  --reveal-shift: 16px;
  --reveal-stagger: 0.08s;
  --transition-ui: 0.2s;
}
