:root {
  /* === Color Palette === */
  --color-cream: #FDF8F0;
  --color-cream-dark: #F5EDE0;
  --color-blush: #F2D7D5;
  --color-dusty-rose: #C9A9A6;
  --color-champagne-gold: #C5A55A;
  --color-gold-light: #D4B96B;
  --color-gold-metallic: #BFA14F;
  --color-charcoal: #2D2926;
  --color-charcoal-light: #5A5550;
  --color-white: #FFFFFF;
  --color-black: #1A1714;

  /* === Typography === */
  --font-heading: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'Work Sans', -apple-system, sans-serif;
  --font-accent: 'Cormorant Garamond', Georgia, serif;

  --fs-display: clamp(3rem, 5vw + 1rem, 5.5rem);
  --fs-h1: clamp(2.25rem, 3.5vw + 0.5rem, 4rem);
  --fs-h2: clamp(1.75rem, 2.5vw + 0.5rem, 3rem);
  --fs-h3: clamp(1.25rem, 1.5vw + 0.5rem, 1.75rem);
  --fs-body: clamp(1rem, 0.5vw + 0.875rem, 1.125rem);
  --fs-small: clamp(0.8125rem, 0.3vw + 0.75rem, 0.875rem);
  --fs-caption: 0.75rem;

  --lh-heading: 1.15;
  --lh-body: 1.7;

  --ls-heading: 0.02em;
  --ls-uppercase: 0.15em;

  /* === Spacing === */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 6rem;
  --space-2xl: 8rem;
  --space-section: clamp(4rem, 8vw, 8rem);

  /* === Layout === */
  --max-width: 1280px;
  --max-width-narrow: 800px;
  --nav-height: 80px;
  --border-radius: 4px;

  /* === Shadows === */
  --shadow-soft: 0 2px 20px rgba(45, 41, 38, 0.06);
  --shadow-card: 0 4px 30px rgba(45, 41, 38, 0.08);
  --shadow-hover: 0 8px 40px rgba(45, 41, 38, 0.12);

  /* === Transitions === */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 200ms;
  --duration-med: 400ms;
  --duration-slow: 800ms;
}
