:root {
  /* === Paleta === */
  --sage-50:  #F2F5F1;
  --sage-100: #E2EADE;
  --sage-200: #C9D6C2;
  --sage-300: #A8BDA1;
  --sage-400: #87A180;
  --sage-500: #6F8C6A;
  --sage-600: #577256;
  --sage-700: #425843;
  --sage-800: #2F3F30;
  --sage-900: #1E2A1F;

  --cream-50:  #FDFBF7;
  --cream-100: #F9F4EA;
  --cream-200: #F2EAD6;
  --cream-300: #E6D9BA;

  --peach-200: #FADCC2;
  --peach-300: #F5C9A8;
  --peach-400: #EFB58C;
  --peach-500: #E8A476;
  --peach-600: #D48A5A;
  --peach-700: #B8794C;

  --ink-900: #1F1E1A;
  --ink-700: #3A3832;
  --ink-500: #5A584F;
  --ink-400: #7C7A70;
  --ink-300: #A8A59A;
  --ink-200: #D8D5C9;
  --ink-100: #ECEAE0;

  --white: #FFFFFF;
  --black: #0F0E0C;

  /* === Semánticos === */
  --color-bg: var(--cream-50);
  --color-bg-alt: var(--cream-100);
  --color-bg-contrast: var(--sage-800);
  --color-surface: var(--white);

  --color-text: var(--ink-900);
  --color-text-soft: var(--ink-500);
  --color-text-muted: var(--ink-400);
  --color-text-on-dark: var(--cream-50);

  --color-primary: var(--sage-600);
  --color-primary-hover: var(--sage-700);
  --color-accent: var(--peach-500);
  --color-accent-hover: var(--peach-600);

  --color-border: var(--ink-100);
  --color-border-strong: var(--ink-200);

  /* === Tipografía === */
  --font-display: "Fraunces", "Times New Roman", serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --fs-xs: 0.8125rem;   /* 13 */
  --fs-sm: 0.9375rem;   /* 15 */
  --fs-base: 1.0625rem; /* 17 */
  --fs-md: 1.1875rem;   /* 19 */
  --fs-lg: 1.375rem;    /* 22 */
  --fs-xl: 1.75rem;     /* 28 */
  --fs-2xl: clamp(1.75rem, 3vw + 1rem, 2.75rem);
  --fs-3xl: clamp(2.25rem, 4vw + 1rem, 3.75rem);
  --fs-4xl: clamp(2.75rem, 5.5vw + 1rem, 5rem);

  --lh-tight: 1.15;
  --lh-snug: 1.3;
  --lh-normal: 1.6;
  --lh-relaxed: 1.75;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  /* === Espaciado === */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  /* === Layout === */
  --container: 1200px;
  --container-narrow: 820px;
  --container-wide: 1380px;

  /* === Radios === */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-xl: 32px;
  --radius-pill: 999px;

  /* === Sombras === */
  --shadow-sm: 0 1px 2px rgba(31, 30, 26, 0.04), 0 1px 3px rgba(31, 30, 26, 0.06);
  --shadow-md: 0 4px 12px rgba(31, 30, 26, 0.06), 0 2px 4px rgba(31, 30, 26, 0.04);
  --shadow-lg: 0 20px 40px -12px rgba(31, 30, 26, 0.12), 0 8px 16px -8px rgba(31, 30, 26, 0.08);
  --shadow-glow: 0 0 0 4px rgba(111, 140, 106, 0.12);

  /* === Animación === */
  --ease: cubic-bezier(0.2, 0.6, 0.2, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 150ms;
  --dur: 250ms;
  --dur-slow: 450ms;

  /* === Header === */
  --header-h: 76px;
}
