:root {
  /* Colour tokens (locked per spec §2.2) */
  --bg: #FFFFFF;
  --ink: #1F1F1F;
  --ink-muted: #667085;
  --accent: #B8612A;
  --meta: #8B7E66;
  --surface-cream: #F8F6F1;
  --rule: rgba(31, 31, 31, 0.08);
  --rule-strong: rgba(31, 31, 31, 0.18);

  /* Type scale (responsive, all clamp()) */
  --hero-display: clamp(36px, 4.4vw, 60px);
  --section-display: clamp(28px, 3vw, 44px);
  --heading: 22px;
  --body: 16px;
  --caption: 13px;
  --eyebrow: 11px;
  --meta-size: 10px;

  /* Spacing scale (8pt) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 72px;
  --space-8: 96px;
  --space-9: 128px;

  /* Section vertical padding (responsive) */
  --section-pad: clamp(72px, 9vw, 144px);

  /* Layout */
  --content-max: 1440px;
  --stage-max: 1600px;
  --gutter: 24px;

  /* Letter-spacing */
  --ls-display: -0.02em;
  --ls-eyebrow: 0.32em;
  --ls-label: 0.18em;
  --ls-wordmark: 0.32em;
}
