:root {
  /* Colour — the only place hex values live */
  --teal-950: #062A30;
  --teal-900: #08343C;
  --teal-700: #0D4B57;
  --teal-500: #2F6E78;
  --teal-100: #DCE8E8;
  --gold-500: #C9A46B;
  --gold-600: #A8834F;
  --gold-700: #8A6A3B;
  --gold-foil: linear-gradient(135deg, #E6CB96 0%, #C9A46B 45%, #B08D58 100%);
  --paper: #FAF7F0;
  --paper-2: #F3EEE3;
  --card: #FFFDF8;
  --line: #E6DFD0;
  --text: #0D4B57;
  --text-muted: #3F6670;
  --on-dark: #FAF7F0;
  --on-dark-muted: #A9C2C4;
  --line-dark: rgb(250 247 240 / .14);
  --line-dark-strong: rgb(250 247 240 / .4);
  --scrim: rgb(6 42 48 / .55);
  --success: #2E7D5B;
  --success-bg: #E3EFE8;
  --danger: #B3412E;
  --danger-bg: #F6E4DF;
  --warning: #8A5A12;
  --warning-bg: #F4EAD6;

  /* Type */
  --font-display: 'Libre Caslon Display', Georgia, 'Times New Roman', serif;
  --font-body: 'Hanken Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;
  --fs-display: clamp(2.75rem, 1.6rem + 4.8vw, 6rem);
  --fs-h1: clamp(2.25rem, 1.5rem + 3.2vw, 4rem);
  --fs-h2: clamp(1.75rem, 1.35rem + 1.8vw, 2.75rem);
  --fs-h3: clamp(1.5rem, 1.35rem + .6vw, 2rem);
  --fs-h4: 1.25rem;
  --fs-body: 1.0625rem;
  --fs-small: .875rem;
  --fs-mono: .75rem;
  /* The gold italic headline accent, relative to its heading: .84em optically matches the Display roman (base.css).
     Never below 24px (WCAG large text, where --gold-600 passes on ivory) and never above the heading itself. */
  --fs-accent: max(.84em, min(1em, 24px));
  --lh-tight: 1.04;
  --lh-heading: 1.15;
  --lh-body: 1.65;
  --tracking-mono: .08em;

  /* Space and layout */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10: 128px;
  --section-pad: clamp(80px, 10vw, 160px);
  --gutter: clamp(16px, 3vw, 32px);
  --container: 1320px;
  --header-h: 76px;

  /* Shape and depth (spec §1A.1 radius scale) */
  --radius-0: 0;
  --radius-1: 2px;
  --radius-field: 10px;
  --radius-card: 14px;
  --radius-pill: 999px;
  --border: 1px solid var(--line);
  --shadow-float: 0 30px 60px -30px rgb(8 52 60 / .25);
  --shadow-card: 0 30px 60px -34px rgb(8 52 60 / .35);
  --focus-ring: 2px solid var(--gold-700);

  /* Motion */
  --dur-fast: 160ms;
  --dur-base: 320ms;
  --dur-slow: 700ms;
  --dur-reveal: 1000ms;
  --ease-out-expo: cubic-bezier(.16, 1, .3, 1);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);

  /* Layers */
  --z-header: 50;
  --z-overlay: 80;
  --z-modal: 90;
  --z-toast: 95;
  --z-transition: 100;
}
