/*
  Design tokens — the single source of truth for colour, type, spacing,
  and motion. Every other stylesheet reads from these custom properties
  instead of hard-coding values.
*/

:root {
  /* Colour */
  --color-ink: #14120f;
  --color-ink-soft: #211e19;
  --color-ink-line: #3a352c;
  --color-ivory: #f6f2e8;
  --color-ivory-dim: #e8e1d0;
  --color-gold: #b8935f;
  --color-gold-bright: #cfa876;
  --color-gold-dim: #8a6f4c;
  /* A darker gold for text on light (surface-inverse) backgrounds — the
     regular --color-gold only reaches ~2.5:1 against ivory, well under the
     4.5:1 WCAG AA minimum for normal text. This hits ~5.3:1. */
  --color-gold-contrast: #7a5f3f;
  --color-error: #c26b5f;

  /* Surfaces */
  --surface-primary: var(--color-ink);
  --surface-secondary: var(--color-ink-soft);
  --surface-inverse: var(--color-ivory);
  --text-primary: var(--color-ivory);
  --text-muted: #b6ae9e;
  --text-inverse: var(--color-ink);
  --text-inverse-muted: #5c5648;
  --border-hairline: rgba(246, 242, 232, 0.14);
  --border-hairline-inverse: rgba(20, 18, 15, 0.14);

  /* Typography */
  --font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --fs-2xs: 0.75rem;
  --fs-xs: 0.8125rem;
  --fs-sm: 0.9375rem;
  --fs-md: 1.0625rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.75rem;
  --fs-2xl: 2.5rem;
  --fs-3xl: 3.5rem;
  --fs-4xl: 4.75rem;

  --lh-tight: 1.08;
  --lh-snug: 1.3;
  --lh-normal: 1.6;

  --tracking-wide: 0.14em;
  --tracking-wider: 0.22em;

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;
  --space-9: 6.5rem;
  --space-10: 9rem;

  /* Layout */
  --content-max: 1240px;
  --content-pad: clamp(1.5rem, 4vw, 3.5rem);
  --radius-sm: 2px;

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 180ms;
  --duration-base: 420ms;
  --duration-slow: 700ms;
}
