:root {
  /* Color palette: monastic warmth — cream, parchment, stone, ink */
  --color-cream: #F3EEE3;
  --color-parchment: #E9E1D0;
  --color-bone: #F8F5EC;
  --color-sand: #D9CDB5;
  --color-ochre: #B89466;
  --color-ochre-deep: #9A7548;
  --color-umber: #6B5233;
  --color-ink: #1E1B16;
  --color-stone-900: #24211C;
  --color-stone-700: #44403A;
  --color-stone-500: #7A736A;
  --color-stone-300: #B8B1A5;
  --color-accent: #8B6F47;

  /* Semantic */
  --bg-base: var(--color-cream);
  --bg-elev: var(--color-bone);
  --bg-inverse: var(--color-stone-900);
  --text-primary: var(--color-ink);
  --text-secondary: var(--color-stone-700);
  --text-muted: var(--color-stone-500);
  --text-inverse: var(--color-cream);
  --border-subtle: rgba(30, 27, 22, 0.08);
  --border-strong: rgba(30, 27, 22, 0.16);

  /* Typography */
  --font-display: 'Newsreader', 'Playfair Display', 'PT Serif', Georgia, serif;
  --font-serif: 'Cormorant Garamond', 'PT Serif', Georgia, serif;
  --font-sans: 'Inter', 'PT Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Spacing scale */
  --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;

  /* Radii */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-arch: 160px 160px 20px 20px;
  --radius-full: 999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(30, 27, 22, 0.06), 0 1px 3px rgba(30, 27, 22, 0.04);
  --shadow-md: 0 4px 12px rgba(30, 27, 22, 0.08), 0 2px 6px rgba(30, 27, 22, 0.05);
  --shadow-lg: 0 24px 48px -12px rgba(30, 27, 22, 0.18), 0 8px 20px rgba(30, 27, 22, 0.08);
  --shadow-xl: 0 40px 80px -20px rgba(30, 27, 22, 0.28);

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast: 180ms;
  --duration-base: 320ms;
  --duration-slow: 620ms;

  /* Layout */
  --container: 1240px;
  --container-narrow: 860px;
  --topbar-h: 0px;
  --header-h: 112px;
}
