:root {
  --color-forest-deep: #0f1c16;
  --color-forest: #1a2e24;
  --color-forest-mid: #243a30;
  --color-moss: #3d5c4a;
  --color-sage: #8fa892;
  --color-river: #4a6b78;
  --color-sand: #d4c4a8;
  --color-cream: #f3eee4;
  --color-paper: #faf7f1;
  --color-ink: #142018;
  --color-ink-soft: #3a4a40;
  --color-muted: #6b7a70;
  --color-white: #ffffff;
  --color-accent: #e05a1a;
  --color-accent-hover: #c44a12;
  --color-accent-soft: #f4a574;
  --color-line: #f0c94a;
  --color-overlay: rgba(8, 16, 12, 0.48);
  --color-overlay-strong: rgba(8, 16, 12, 0.72);
  --color-border: rgba(255, 255, 255, 0.18);
  --color-border-dark: rgba(20, 32, 24, 0.12);
  --color-error: #b42318;
  --color-success: #1f7a4c;
  --color-focus: #f0c94a;

  --font-display: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "Cascadia Mono", "Consolas", monospace;

  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.375rem;
  --fs-xl: 1.75rem;
  --fs-2xl: 2.25rem;
  --fs-3xl: clamp(2.5rem, 6vw, 4.5rem);
  --fs-hero: clamp(3.2rem, 9vw, 7.5rem);

  --lh-tight: 0.92;
  --lh-snug: 1.2;
  --lh-base: 1.65;
  --lh-relaxed: 1.8;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 800;

  --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: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  --container-width: 72rem;
  --container-narrow: 44rem;
  --container-wide: 84rem;

  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.875rem;
  --radius-pill: 999px;

  --shadow-sm: 0 2px 8px rgba(15, 28, 22, 0.08);
  --shadow-md: 0 12px 32px rgba(15, 28, 22, 0.14);
  --shadow-lg: 0 24px 60px rgba(15, 28, 22, 0.22);

  --transition-fast: 160ms ease;
  --transition-base: 280ms ease;
  --transition-slow: 520ms cubic-bezier(0.22, 1, 0.36, 1);

  --z-base: 1;
  --z-header: 100;
  --z-menu: 200;
  --z-cookie: 300;
  --z-overlay: 250;

  --header-h: 5rem;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}
