:root {
  --color-ivory: #F7F3EC;
  --color-off-white: #FAF7F2;
  --color-espresso: #2B2622;
  --color-champagne: #C2A878;
  --color-bronze: #8A6D3B;
  --color-blush: #E8D5CE;
  --color-taupe: #B8A99A;

  --color-bg: var(--color-ivory);
  --color-bg-elevated: var(--color-off-white);
  --color-text: var(--color-espresso);
  --color-text-muted: var(--color-taupe);
  --color-accent: var(--color-champagne);
  --color-accent-text: var(--color-bronze);
  --color-border: rgba(43, 38, 34, 0.12);
  --color-border-accent: rgba(194, 168, 120, 0.5);
  --color-skeleton: rgba(194, 168, 120, 0.15);

  --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;

  --gutter-mobile: 20px;
  --gutter-mobile-max: 24px;
  --gutter-tablet: 32px;
  --gutter-desktop: 48px;
  --gutter-desktop-max: 64px;

  --section-gap-mobile: 64px;
  --section-gap-mobile-max: 80px;
  --section-gap-desktop: 96px;
  --section-gap-desktop-max: 128px;

  --mobile-content-max: 414px;

  --font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-body: 'Manrope', system-ui, -apple-system, sans-serif;

  --text-display: clamp(2.5rem, 8vw, 4rem);
  --text-display-mobile: clamp(2rem, 9vw, 3rem);
  --text-h1: clamp(2rem, 5vw, 3rem);
  --text-h2: clamp(1.5rem, 4vw, 2.25rem);
  --text-h3: clamp(1.25rem, 3vw, 1.75rem);
  --text-lead: clamp(1.125rem, 2vw, 1.375rem);
  --text-body: 1rem;
  --text-small: 0.875rem;
  --text-xs: 0.75rem;
  --text-label: 0.6875rem;

  --leading-display: 1.1;
  --leading-heading: 1.2;
  --leading-body: 1.6;
  --leading-label: 1;

  --tracking-display: 0.01em;
  --tracking-heading: 0.02em;
  --tracking-label: 0.18em;
  --tracking-label-wide: 0.25em;

  --ease-expo-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-reveal: 500ms;
  --duration-hover: 200ms;
  --duration-transition: 300ms;
  --stagger: 60ms;

  --z-base: 1;
  --z-content: 10;
  --z-header: 100;
  --z-tabbar: 200;
  --z-lightbox: 1000;
  --z-toast: 2000;

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  --border-width: 1px;

  --shadow-soft: 0 2px 12px rgba(43, 38, 34, 0.06);
  --shadow-medium: 0 8px 32px rgba(43, 38, 34, 0.08);
  --shadow-elevated: 0 16px 64px rgba(43, 38, 34, 0.12);

  --tabbar-height: 56px;
  --tabbar-safe: env(safe-area-inset-bottom, 0px);
  --topbar-height: 56px;
  --rail-width: 240px;

  --breakpoint-desktop: 1024px;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-reveal: 0ms;
    --duration-hover: 0ms;
    --duration-transition: 0ms;
    --stagger: 0ms;
  }
}
