/*
 * Design tokens — derived from DESIGN.md.
 * Locked palette, type scale, spacing, and border weights.
 * Do not introduce additional values without updating DESIGN.md and AGENTS.md first.
 */

:root {
  /* ---- Color ---- */
  --color-ink-black:     #000000;  /* ribbons, hard borders, ink */
  --color-page-ink:      #1a1a1a;  /* headlines, body text */
  --color-paper:         #ffffff;  /* canvas */
  --color-caption-gray:  #757575;  /* metadata, captions, disabled borders */
  --color-disabled-gray: #999999;  /* inactive labels */
  --color-hairline-tint: #e2e8f0;  /* quiet section dividers */
  --color-link-blue:     #057dbc;  /* the only accent — link hover */
  --color-error-red:     #e53e3e;  /* form error label only */
  --color-footer-ink:    #1a1a1a;  /* inverted footer surface */

  /* ---- Typography — font families ---- */
  /* Substitutes per DESIGN.md §3 "Note on Font Substitutes" */
  --font-display: "Playfair Display", Georgia, "Times New Roman", serif;        /* WiredDisplay → loosen line-heights +0.10 */
  --font-body:    "Lora", Georgia, "Times New Roman", serif;                    /* BreveText */
  --font-ui:      "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;    /* Apercu */
  --font-mono:    "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;  /* WiredMono */

  /* ---- Type scale (rem) ---- */
  --fs-display-hero:    4.00rem;   /* 64px */
  --fs-display-mid:     1.63rem;   /* 26px */
  --fs-section-heading: 1.25rem;   /* 20px */
  --fs-subheading:      1.06rem;   /* 17px */
  --fs-deck:            1.19rem;   /* 19px */
  --fs-body:            1.00rem;   /* 16px */
  --fs-button:          1.00rem;   /* 16px */
  --fs-link:            0.88rem;   /* 14px */
  --fs-eyebrow:         0.81rem;   /* 13px */
  --fs-ribbon:          0.75rem;   /* 12px */
  --fs-caption:         0.80rem;   /* ~12.7px */
  --fs-meta:            0.75rem;   /* 12px */
  --fs-tertiary:        0.69rem;   /* 11px */

  /* ---- Line heights (Playfair adjusted +0.10 vs DESIGN.md tokens) ---- */
  --lh-display-hero:    1.05;      /* DESIGN: 0.93, +0.10 for Playfair */
  --lh-display-mid:     1.18;      /* DESIGN: 1.08, +0.10 for Playfair */
  --lh-section:         1.20;
  --lh-deck:            1.47;
  --lh-body:            1.50;
  --lh-ui:              1.25;
  --lh-eyebrow:         1.23;
  --lh-caption:         2.20;

  /* ---- Letter spacing ---- */
  --ls-display-hero:    -0.5px;
  --ls-section:         -0.28px;
  --ls-button:          0.3px;
  --ls-eyebrow:         0.92px;
  --ls-ribbon:          1.2px;
  --ls-meta:            1.1px;

  /* ---- Spacing scale (DESIGN.md §5; 8px base) ---- */
  --space-hairline: 1px;
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  24px;
  --space-6:  32px;
  --space-7:  40px;
  --space-8:  48px;
  --space-9:  64px;

  /* ---- Border weights ---- */
  --border-hairline: 1px;
  --border-rule:     1px;
  --border-hard:     2px;

  /* ---- Layout ---- */
  --container-max:   1280px;
  --container-pad-mobile:  16px;
  --container-pad-tablet:  24px;
  --container-pad-desktop: 64px;

  /* ---- Motion (per DESIGN.md: instant or ~150ms color swaps only) ---- */
  --transition-color: 150ms linear;
}
