:root {
  --c-bg: #FAF8F5;
  --c-surface: #F0E9DF;
  --c-tierra-1: #E8DDD0;
  --c-tierra-2: #C9B89C;
  --c-tierra-3: #8B7355;
  --c-acento: #4C7A43;          /* verde hoja del logo · AA (4.7:1) sobre fondo claro */
  --c-acento-hover: #3B5F34;
  --c-acento-soft: #BEC9AC;     /* salvia del logo */
  --c-azul: #76AADA;            /* azul del círculo del logo · decorativo */
  --c-azul-soft: #D7E6F4;
  --c-verde-hondo: #333C29;     /* verde profundo del contorno del logo */
  --c-text: #2C2C2A;
  --c-text-muted: #6B6B68;
  --c-border: #D8CFC2;
  --c-overlay: rgba(44, 44, 42, 0.04);

  --ff-display: 'Cormorant Garamond', 'Times New Roman', serif;
  --ff-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  --fs-xs: 0.8125rem;
  --fs-sm: 0.9375rem;
  --fs-base: 1.0625rem;
  --fs-lg: 1.1875rem;
  --fs-xl: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  --fs-h3: clamp(1.5rem, 1.5vw + 1rem, 2rem);
  --fs-h2: clamp(2rem, 3vw + 1rem, 3rem);
  --fs-h1: clamp(2.5rem, 5vw + 1rem, 4.5rem);
  --fs-display: clamp(3rem, 6vw + 1rem, 5.5rem);

  --lh-tight: 1.1;
  --lh-snug: 1.3;
  --lh-base: 1.65;
  --lh-loose: 1.85;

  --sp-1: 0.5rem;
  --sp-2: 1rem;
  --sp-3: 1.5rem;
  --sp-4: 2rem;
  --sp-5: 3rem;
  --sp-6: 4rem;
  --sp-7: 6rem;
  --sp-8: 8rem;

  --container: 72rem;
  --container-narrow: 48rem;
  --pad-x: clamp(1.25rem, 4vw, 3rem);

  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;

  --border-thin: 1px solid var(--c-border);

  --shadow-soft: 0 1px 2px rgba(44, 44, 42, 0.04), 0 4px 12px rgba(44, 44, 42, 0.06);
  --shadow-banner: 0 -2px 24px rgba(44, 44, 42, 0.08);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 180ms;
  --dur-base: 320ms;
  --dur-slow: 600ms;

  --z-header: 100;
  --z-banner: 200;
  --z-modal: 300;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
