/* ===================================
   Design Tokens
   =================================== */

:root {
  /* Colours */
  --color-cream: #ECE3C8;
  --color-navy: #162340;
  --color-sage: #7A8B6F;
  --color-warm-white: #FAF8F3;
  --color-charcoal: #2C2C2C;
  --color-border: #D6CBAE;
  --color-overlay: rgba(22, 35, 64, 0.55);
  --color-gold: #B8963E;
  --color-gold-light: rgba(184, 150, 62, 0.15);

  /* Typography */
  --font-heading: 'DM Serif Display', Georgia, serif;
  --font-body: 'Cormorant Garamond', 'Georgia', serif;
  --font-hero-script: 'Italianno', 'Brush Script MT', 'Segoe Script', cursive;
  --font-ui: 'Source Sans 3', 'Source Sans Pro', system-ui, sans-serif;

  /* Font sizes — fluid scale */
  --text-xs: clamp(0.7rem, 0.65rem + 0.25vw, 0.8rem);
  --text-sm: clamp(0.8rem, 0.75rem + 0.25vw, 0.9rem);
  --text-base: clamp(1.05rem, 1rem + 0.25vw, 1.15rem);
  --text-lg: clamp(1.2rem, 1.1rem + 0.5vw, 1.375rem);
  --text-xl: clamp(1.4rem, 1.2rem + 0.8vw, 1.75rem);
  --text-2xl: clamp(1.7rem, 1.4rem + 1.2vw, 2.375rem);
  --text-3xl: clamp(2.1rem, 1.6rem + 2vw, 3.25rem);
  --text-4xl: clamp(2.6rem, 1.8rem + 3.2vw, 4.5rem);
  --text-5xl: clamp(3.2rem, 2.2rem + 4vw, 5.5rem);

  /* Spacing */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --space-2xl: 6rem;
  --space-3xl: 8rem;

  /* Layout */
  --max-width: 1200px;
  --max-width-narrow: 800px;
  --gutter: clamp(1rem, 3vw, 2rem);
  --header-height: 72px;

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 300ms ease;
  --transition-slow: 600ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --transition-reveal: 800ms cubic-bezier(0.25, 0.46, 0.45, 0.94);

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.14);
  --shadow-xl: 0 16px 60px rgba(0, 0, 0, 0.18);

  /* Borders */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
}