:root {
  color-scheme: light;

  /* Primitive colors */
  --color-cream-050: #fbf7ef;
  --color-cream-100: #f5eee3;
  --color-cream-150: #ece1d1;
  --color-honey-500: #ba8a12;
  --color-honey-600: #9d750d;
  --color-honey-700: #7f5f0f;
  --color-charcoal-900: #2f2325;
  --color-charcoal-800: #403133;
  --color-charcoal-700: #5a4a4d;
  --color-sage-500: #6b8d7f;
  --color-sage-100: #dce9e3;
  --color-white: #ffffff;

  /* Semantic aliases */
  --theme-bg: radial-gradient(circle at 0% 0%, #fff9ef 0%, #f3eadf 55%, #f0e5d8 100%);
  --theme-surface: rgba(255, 255, 255, 0.84);
  --theme-surface-strong: #fffdf9;
  --theme-surface-soft: rgba(255, 255, 255, 0.62);
  --theme-text: var(--color-charcoal-900);
  --theme-text-muted: var(--color-charcoal-700);
  --theme-heading: var(--color-charcoal-900);
  --theme-primary: var(--color-honey-500);
  --theme-primary-hover: var(--color-honey-600);
  --theme-border: rgba(92, 71, 45, 0.18);
  --theme-border-strong: rgba(90, 67, 36, 0.35);
  --theme-focus: rgba(186, 138, 18, 0.35);

  /* Typography */
  --font-display: "Cormorant Garamond", "Times New Roman", serif;
  --font-heading: "Lora", Georgia, serif;
  --font-body: "Source Sans 3", "Segoe UI", sans-serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-md: 1.125rem;
  --text-lg: 1.375rem;
  --text-xl: clamp(1.65rem, 2.4vw, 2.3rem);
  --text-2xl: clamp(2.2rem, 4.2vw, 4.2rem);

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  --tracking-tight: -0.02em;
  --tracking-base: 0;
  --tracking-wide: 0.04em;

  /* Space and radius */
  --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;

  --radius-sm: 0.5rem;
  --radius-md: 0.85rem;
  --radius-lg: 1.25rem;
  --radius-pill: 999px;

  /* Shadow */
  --shadow-soft: 0 12px 30px rgba(66, 49, 18, 0.08);
  --shadow-pop: 0 16px 35px rgba(95, 70, 13, 0.16);

  /* Motion */
  --easing-standard: cubic-bezier(0.2, 0.65, 0.2, 1);
  --dur-fast: 160ms;
  --dur-base: 280ms;
  --dur-slow: 420ms;

  --container: min(68rem, calc(100% - 2rem));
  --container-wide: min(78rem, calc(100% - 2rem));
}
