:root {
  /* Primary — Warm Taupe */
  --primary-50: #F7F4EF;
  --primary-100: #EFE8DC;
  --primary-200: #E0D4C2;
  --primary-300: #CBBAA3;
  --primary-400: #BDAE93;
  --primary-500: #B09C7F;
  --primary-600: #967F63;
  --primary-700: #76624C;
  --primary-800: #524536;
  --primary-900: #2E261E;

  /* Neutral — Warm Gray / Ink */
  --neutral-50: #FAFAF8;
  --neutral-100: #F5F5F3;
  --neutral-200: #E8E8E8;
  --neutral-300: #D4D4D2;
  --neutral-400: #B8B8B6;
  --neutral-500: #8A8A88;
  --neutral-600: #5C5C5A;
  --neutral-700: #3D3D3C;
  --neutral-800: #1F1F1E;
  --neutral-900: #1A1A1A;

  /* Accent */
  --accent-taupe: #B09C7F;
  --accent-sand: #C8B8A0;
  --accent-gold: #F8C058;
  --accent-ink: #1A1A1A;

  /* Semantic */
  --color-background: #FFFFFF;
  --color-background-alt: #F5F5F3;
  --color-surface: #FFFFFF;
  --color-surface-dark: #2E261E;
  --color-surface-tint: #C8B8A0;
  --color-surface-elevated: #FFFFFF;
  --color-text: #1A1A1A;
  --color-text-muted: #5C5C5A;
  --color-text-accent: #B09C7F;
  --color-text-on-dark: #FAFAF8;
  --color-text-on-primary: #FFFFFF;
  --color-overlay: rgba(46, 38, 30, 0.45);
  --color-overlay-light: rgba(255, 255, 255, 0.86);
  --color-image-letterbox: #2E261E;

  /* CTA */
  --cta-primary-bg: #B09C7F;
  --cta-primary-text: #FFFFFF;
  --cta-primary-hover-bg: #967F63;
  --cta-secondary-bg: transparent;
  --cta-secondary-text: #B09C7F;
  --cta-secondary-hover-bg: #F7F4EF;
  --cta-ghost-bg: transparent;
  --cta-ghost-text: #1A1A1A;
  --cta-ghost-border: #E0D4C2;
  --cta-ghost-hover-bg: #F7F4EF;

  /* Border */
  --border-default: #E8E8E8;
  --border-subtle: rgba(46, 38, 30, 0.08);
  --border-on-dark: rgba(250, 250, 248, 0.16);
  --border-focus: #B09C7F;
  --border-error: #C45C4A;

  /* Typography */
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: "Outfit", Inter, system-ui, sans-serif;

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10: 128px;

  /* Radius */
  --radius-none: 0;
  --radius-sm: 12px;
  --radius-md: 24px;
  --radius-lg: 40px;
  --radius-xl: 56px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-none: none;
  --shadow-sm: 0 4px 16px rgba(46, 38, 30, 0.06);
  --shadow-md: 0 12px 32px rgba(46, 38, 30, 0.08);
  --shadow-lg: 0 24px 56px rgba(46, 38, 30, 0.12);
  --shadow-card-hover: 0 16px 40px rgba(46, 38, 30, 0.1);

  /* Motion */
  --duration-fast: 200ms;
  --duration-normal: 400ms;
  --duration-slow: 800ms;
  --ease-default: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-enter: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --ease-drawer: cubic-bezier(0.77, 0.2, 0.05, 1);

  /* Layout */
  --max-content: 1280px;
  --scroll-offset: 88px;
  --header-stick-trigger: 12px;
}
