
:root {
  --color-primary: #210085;
  --color-primary-dark: #1a0068;
  --color-primary-soft: rgba(33,0,133,0.08);
  --warm-white: #FAFAF8;
  --warm-cream: #F5F4F2;
  --warm-sand: #EDEAE6;
  --warm-stone: #D8D4CE;
  --text-body: #3D3833;
  --text-heading: #2A2622;
  --text-muted: #8A8380;
  --text-light: #A8A29E;
  --bg-body: var(--warm-white);
  --bg-section: var(--warm-cream);
  --bg-card: #FFFFFF;
  --bg-dark: #2A2622;
  --bg-dark-soft: #3D3833;
  --border-light: var(--warm-sand);
  --border-medium: var(--warm-stone);
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Inter', -apple-system, sans-serif;
  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1.0625rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.5rem;
  --fs-2xl: 2rem;
  --fs-3xl: 2.75rem;
  --fs-4xl: 3.5rem;
  --fs-5xl: 5rem;
  --fs-6xl: 7rem;
  --transition-slow: 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --transition-medium: 0.4s ease-out;
  --transition-fast: 0.2s ease;
  --container-max: 1200px;
  --container-pad: clamp(1.5rem, 5vw, 4rem);
  --header-h: 80px;
  --shadow-soft: 0 2px 20px rgba(42,38,34,0.06);
  --shadow-medium: 0 8px 40px rgba(42,38,34,0.10);
}
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body {
  font-family: var(--font-body); font-size: var(--fs-base);
  line-height: 1.7; color: var(--text-body); background: var(--bg-body);
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; animation: none !important; }
}
