:root {
  --color-forest: #283e32;
  --color-olive: #657052;
  --color-sage: #ced5c5;
  --color-ivory: #f5f1e8;
  --color-sand: #e5d9c8;
  --color-clay: #a65e43;
  --color-coffee: #382e27;
  --color-paper: #fffdf8;
  --bg: var(--color-ivory);
  --surface: var(--color-paper);
  --text: var(--color-coffee);
  --muted: #746b60;
  --line: #d9d1c4;
  --primary: var(--color-forest);
  --on-primary: var(--color-ivory);
  --error: #a33e32;
  --success: #34573b;
  --warning: #78551c;
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'DM Sans', 'Trebuchet MS', sans-serif;
  --color-bronze: #8b7550;
  --font-weight-display: 500;
  --font-weight-body: 400;
  --font-weight-label: 600;
  --type-display: clamp(56px, 6.5vw, 96px);
  --type-title: clamp(32px, 3.5vw, 48px);
  --type-body: 16px;
  --space-1: 4px; --space-2: 8px; --space-3: 12px;
  --space-4: 16px; --space-6: 24px; --space-8: 32px;
  --space-12: 48px; --space-16: 64px; --space-24: 96px;
  --radius-sm: 2px; --radius-md: 6px; --radius-lg: 12px;
  --duration: 180ms;
  --ease: cubic-bezier(.2,.7,.2,1);
}
html[data-theme='dark'] {
  color-scheme: dark; --bg: #222e27; --surface: #2d3b32;
  --text: #f5f1e8; --muted: #c4c7ba; --line: #536153;
  --primary: #ced5c5; --on-primary: #283e32;
  --error: #ffb4a5; --success: #bdd1b3; --warning: #e6cb91;
}
