:root {
  --font-sans: system-ui, "Segoe UI", "Source Sans 3", Helvetica, Arial, sans-serif;
  --font-serif: "Source Serif 4", "Palatino Linotype", Palatino, "Times New Roman", serif;
  --text-caption: 0.8rem;
  --text-label: 0.875rem;
  --text-body: 1rem;
  --text-h3: 1.25rem;
  --text-h2: 1.5rem;
  --text-h1: 2rem;
  --color-primary: #07a2ab;
  --color-secondary: #141414;
  --color-accent: #058a92;
  --color-success: #14532d;
  --color-warning: #92400e;
  --color-error: #9f1239;
  --color-info: #1e3a5f;
  --color-neutral: #5c574f;
  --color-paper: #f3f1ee;
  --color-line: #d5d0c8;
  --color-surface: #ffffff;
}

body { font-family: var(--font-sans); font-size: var(--text-body); }
h1, .ds-h1 { font-family: var(--font-serif); font-size: var(--text-h1); line-height: 1.2; }
h2, .ds-h2 { font-family: var(--font-serif); font-size: var(--text-h2); line-height: 1.25; }
h3, .ds-h3 { font-size: var(--text-h3); }
.ds-label { font-size: var(--text-label); font-weight: 700; }
.ds-caption { font-size: var(--text-caption); color: var(--color-neutral); }
