:root {
  /* ── Colores ── */
  --color-white:          #FFFFFF;
  --color-champagne:      #F5ECD7;
  --color-champagne-deep: #E8D5B0;
  --color-olive:          #6B6B47;
  --color-olive-dark:     #4A4A30;
  --color-black:          #0D0D0D;
  --color-text:           #1A1A1A;
  --color-text-light:     #888880;
  --color-overlay:        rgba(13, 13, 13, 0.45);
  --color-overlay-deep:   rgba(13, 13, 13, 0.72);
  --color-scrim:          linear-gradient(to top, rgba(13,13,13,0.80) 0%, rgba(13,13,13,0.30) 50%, transparent 100%);

  /* ── Tipografía ── */
  --font-serif:  'Cormorant Garamond', Georgia, serif;
  --font-sans:   'DM Sans', 'Inter', system-ui, sans-serif;

  --fw-light:    300;
  --fw-regular:  400;
  --fw-medium:   500;

  /* Tamaños fluidos */
  --fs-xs:    clamp(0.625rem, 1.5vw, 0.75rem);
  --fs-sm:    clamp(0.75rem,  2vw,   0.875rem);
  --fs-base:  clamp(0.875rem, 2.5vw, 1rem);
  --fs-md:    clamp(1rem,     3vw,   1.25rem);
  --fs-lg:    clamp(1.25rem,  4vw,   1.75rem);
  --fs-xl:    clamp(1.75rem,  6vw,   2.75rem);
  --fs-2xl:   clamp(2.5rem,   9vw,   4.5rem);
  --fs-3xl:   clamp(3rem,     12vw,  6rem);

  /* Espaciado de letras */
  --ls-tight:  -0.01em;
  --ls-base:    0.02em;
  --ls-wide:    0.10em;
  --ls-wider:   0.15em;
  --ls-widest:  0.25em;

  /* ── Espaciado ── */
  --space-xs:   0.25rem;
  --space-sm:   0.5rem;
  --space-md:   1rem;
  --space-lg:   1.5rem;
  --space-xl:   2.5rem;
  --space-2xl:  4rem;
  --space-3xl:  6rem;

  /* ── Radios ── */
  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  16px;
  --radius-pill: 999px;

  /* ── Transiciones ── */
  --ease-smooth:  cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-out:     cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:  cubic-bezier(0.65, 0, 0.35, 1);

  --duration-fast:   200ms;
  --duration-base:   400ms;
  --duration-slow:   800ms;
  --duration-cinematic: 1200ms;

  /* ── Z-index ── */
  --z-base:       1;
  --z-above:      10;
  --z-nav:        100;
  --z-modal:      200;
  --z-cta:        150;
  --z-transition: 300;

  /* ── Layout ── */
  --nav-height:   56px;
  --max-width:    1200px;
  --gutter:       clamp(1rem, 5vw, 3rem);
}