:root {
  /* Brand palette */
  --primary-deep: #4c3a51;
  --primary-mid: #774360;
  --primary-rose: #b25068;
  --primary-gold: #e7ab79;
  --bg-dark: #1e1e2f;
  --bg-light: #f8f5f2;
  --accent-lilac: #d8c4e2;
  --accent-pink: #ff78ac;

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

  /* Spacing */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --space-2xl: 6rem;
  --section-pad: clamp(4rem, 10vw, 7rem);

  /* Layout */
  --container: min(1140px, 92vw);
  --nav-height: 80px;
  --nav-height-shrink: 64px;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-full: 9999px;

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast: 0.25s;
  --duration-med: 0.45s;
  --duration-slow: 0.8s;

  /* Glass */
  --glass-bg: rgba(255, 255, 255, 0.06);
  --glass-border: rgba(255, 255, 255, 0.12);
  --glass-blur: 20px;

  /* Shadows & glow */
  --glow-rose: 0 0 40px rgba(178, 80, 104, 0.35);
  --glow-gold: 0 0 50px rgba(231, 171, 121, 0.25);
  --shadow-card: 0 20px 60px rgba(0, 0, 0, 0.25);

  /* Theme — dark default */
  --bg: var(--bg-dark);
  --bg-elevated: #26263a;
  --text: #f8f5f2;
  --text-muted: rgba(248, 245, 242, 0.65);
  --text-subtle: rgba(248, 245, 242, 0.45);
  --surface: rgba(255, 255, 255, 0.04);
  --gradient-hero: linear-gradient(135deg, var(--primary-deep) 0%, var(--primary-mid) 40%, var(--primary-rose) 100%);
  --gradient-accent: linear-gradient(120deg, var(--primary-gold), var(--accent-pink));
  --blob-1: rgba(119, 67, 96, 0.45);
  --blob-2: rgba(178, 80, 104, 0.35);
  --blob-3: rgba(216, 196, 226, 0.2);
  --cursor-color: var(--accent-pink);
  --nav-bg: rgba(30, 30, 47, 0.72);
}

[data-theme="light"] {
  --bg: var(--bg-light);
  --bg-elevated: #ffffff;
  --text: #1e1e2f;
  --text-muted: rgba(30, 30, 47, 0.7);
  --text-subtle: rgba(30, 30, 47, 0.5);
  --surface: rgba(76, 58, 81, 0.04);
  --glass-bg: rgba(255, 255, 255, 0.75);
  --glass-border: rgba(76, 58, 81, 0.12);
  --nav-bg: rgba(248, 245, 242, 0.82);
  --blob-1: rgba(216, 196, 226, 0.6);
  --blob-2: rgba(255, 120, 172, 0.25);
  --blob-3: rgba(231, 171, 121, 0.35);
  --shadow-card: 0 20px 50px rgba(76, 58, 81, 0.12);
}
