:root {
  /* ─── Colors ─── */
  --color-primary: #2C5F6B;
  --color-primary-dark: #1E4550;
  --color-primary-light: #3A7A89;
  --color-secondary: #A3C4BC;
  --color-secondary-light: #C8DDD8;
  --color-accent: #D4A574;
  --color-accent-light: #E8C9A8;
  --color-bg: #F7F4F0;
  --color-bg-alt: #EDE8E2;
  --color-white: #FFFFFF;
  --color-text: #2D3436;
  --color-text-light: #636E72;
  --color-text-inverse: #F7F4F0;
  --color-border: #D5CFC7;
  --color-crisis: #B33A3A;
  --color-success: #27AE60;
  --color-overlay: rgba(30, 69, 80, 0.7);

  /* ─── Typography ─── */
  --font-heading: 'DM Serif Display', Georgia, serif;
  --font-body: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-accent: 'Cormorant Garamond', Georgia, serif;

  --text-xs: 0.8125rem;
  --text-sm: 0.875rem;
  --text-base: 1.0625rem;
  --text-md: 1.125rem;
  --text-lg: 1.3125rem;
  --text-xl: 1.5rem;
  --text-2xl: 1.875rem;
  --text-3xl: 2.25rem;
  --text-4xl: 2.75rem;
  --text-5xl: 3.5rem;

  --leading-tight: 1.2;
  --leading-normal: 1.6;
  --leading-relaxed: 1.8;

  --letter-tight: -0.02em;
  --letter-normal: 0;
  --letter-wide: 0.05em;

  /* ─── Spacing ─── */
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;
  --space-5xl: 8rem;

  /* ─── Layout ─── */
  --max-width: 1200px;
  --content-width: 740px;
  --narrow-width: 600px;
  --gutter: 1.5rem;

  /* ─── Borders & Radius ─── */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 20px;
  --radius-full: 9999px;

  /* ─── Shadows ─── */
  --shadow-sm: 0 1px 3px rgba(45, 52, 54, 0.06);
  --shadow-md: 0 4px 12px rgba(45, 52, 54, 0.08);
  --shadow-lg: 0 8px 30px rgba(45, 52, 54, 0.12);
  --shadow-xl: 0 16px 50px rgba(45, 52, 54, 0.16);

  /* ─── Transitions ─── */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast: 150ms;
  --duration-normal: 300ms;
  --duration-slow: 500ms;

  --staff-line-color: var(--color-secondary);
  --staff-line-opacity: 0.3;
}
