:root {
  --colour-green-100: #e8f5e6;
  --colour-green-500: #4a9e3f;
  --colour-green-700: #357a2d;
  --colour-green-900: #1e5c17;
  --colour-gold-500: #f5c200;
  --colour-gold-600: #ddb000;
  --colour-red-600: #d42b2b;
  --colour-cream-100: #faf6ed;
  --colour-earth-600: #7b5e3a;
  --colour-charcoal-900: #252b28;
  --colour-grey-700: #4d5752;
  --colour-grey-500: #6b756f;
  --colour-grey-200: #d9e0dc;
  --colour-white: #ffffff;
  --colour-night-900: #0d0d0d;
  --colour-night-800: #1a1a1a;
  --colour-night-700: #242424;

  --colour-brand: var(--colour-green-700);
  --colour-brand-strong: var(--colour-green-900);
  --colour-brand-bright: var(--colour-green-500);
  --colour-highlight: var(--colour-gold-500);
  --colour-accent: var(--colour-red-600);
  --colour-text: var(--colour-charcoal-900);
  --colour-text-muted: var(--colour-grey-700);
  --colour-surface: var(--colour-white);
  --colour-surface-soft: var(--colour-cream-100);
  --colour-border: var(--colour-grey-200);
  --colour-focus: #154f9b;

  --event-surface: var(--colour-surface);
  --event-surface-alt: var(--colour-surface-soft);
  --event-text: var(--colour-text);
  --event-accent: var(--colour-brand);
  --event-highlight: var(--colour-highlight);

  --font-display: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-body: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --text-step--1: clamp(0.82rem, 0.79rem + 0.12vw, 0.9rem);
  --text-step-0: clamp(1rem, 0.96rem + 0.18vw, 1.12rem);
  --text-step-1: clamp(1.2rem, 1.08rem + 0.5vw, 1.45rem);
  --text-step-2: clamp(1.5rem, 1.28rem + 0.9vw, 2rem);
  --text-step-3: clamp(1.9rem, 1.52rem + 1.5vw, 2.8rem);
  --text-step-4: clamp(2.45rem, 1.82rem + 2.5vw, 4rem);
  --leading-tight: 1.12;
  --leading-heading: 1.22;
  --leading-body: 1.65;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  --content-narrow: 44rem;
  --content-default: 72rem;
  --content-wide: 88rem;
  --page-gutter: clamp(1rem, 4vw, 2.5rem);
  --radius-small: 0.375rem;
  --radius-medium: 0.75rem;
  --radius-large: 1.25rem;
  --radius-round: 999px;
  --shadow-small: 0 2px 12px rgb(15 36 26 / 0.08);
  --shadow-medium: 0 10px 30px rgb(15 36 26 / 0.13);
  --shadow-large: 0 20px 55px rgb(15 36 26 / 0.18);
  --duration-fast: 160ms;
  --duration-normal: 320ms;
  --duration-slow: 650ms;
  --ease-standard: cubic-bezier(0.2, 0.75, 0.3, 1);
  --ease-emphasis: cubic-bezier(0.22, 1, 0.36, 1);
  --layer-sticky: 20;
  --layer-navigation: 50;
  --layer-dialog: 100;
}

body[data-event="bonfire-night"] {
  --event-surface: var(--colour-night-900);
  --event-surface-alt: var(--colour-night-800);
  --event-text: var(--colour-white);
  --event-accent: var(--colour-red-600);
  --event-highlight: var(--colour-gold-500);
}

body[data-event="santa-special"] {
  --event-surface: #f8fbff;
  --event-surface-alt: #e7f0f7;
  --event-text: #17314a;
  --event-accent: #b3282d;
  --event-highlight: #8a5d00;
}
