:root {
  /* Paleta oficial Casa Ayni — Key Visual v1. */
  --ayni-aubergine-900: #1f0922;
  --ayni-violet-700: #653b6e;
  --ayni-pink-500: #ea92be;
  --ayni-yellow-500: #f4c567;
  --ayni-lilac-300: #daa7f1;
  --ayni-cream-100: #f9f3db;
  --ayni-turquoise-700: #21a6a6;
  --ayni-brown-700: #724529;

  /* Neutros y variaciones funcionales derivados de la paleta oficial. */
  --ayni-cream-50: color-mix(in srgb, var(--ayni-cream-100) 42%, white);
  --ayni-cream-200: color-mix(in srgb, var(--ayni-cream-100) 82%, var(--ayni-brown-700));
  --ayni-white-warm: #fff;
  --ayni-ink-950: var(--ayni-aubergine-900);
  --ayni-ink-700: color-mix(in srgb, var(--ayni-aubergine-900) 78%, white);
  --ayni-ink-600: color-mix(in srgb, var(--ayni-aubergine-900) 66%, white);
  --ayni-violet-600: color-mix(in srgb, var(--ayni-violet-700) 78%, var(--ayni-aubergine-900));
  --ayni-violet-100: color-mix(in srgb, var(--ayni-lilac-300) 28%, white);
  --ayni-green-700: #35684d;
  --ayni-green-100: #edf7ef;
  --ayni-turquoise-800: color-mix(in srgb, var(--ayni-turquoise-700) 66%, var(--ayni-aubergine-900));
  --ayni-turquoise-100: color-mix(in srgb, var(--ayni-turquoise-700) 18%, white);
  --ayni-ochre-600: #9c651c;
  --ayni-ochre-100: color-mix(in srgb, var(--ayni-yellow-500) 36%, white);
  --ayni-earth-700: var(--ayni-brown-700);
  --ayni-line: color-mix(in srgb, var(--ayni-aubergine-900) 15%, var(--ayni-cream-100));

  --color-background: var(--ayni-cream-50);
  --color-surface: var(--ayni-white-warm);
  --color-surface-soft: var(--ayni-cream-100);
  --color-text: var(--ayni-ink-950);
  --color-text-muted: var(--ayni-ink-600);
  --color-border: var(--ayni-line);
  --color-action: var(--ayni-violet-700);
  --color-action-hover: var(--ayni-violet-600);
  --color-link: var(--ayni-violet-700);
  --color-focus: var(--ayni-ochre-600);
  --color-info: var(--ayni-turquoise-800);
  --color-success: var(--ayni-green-700);
  --color-warning: var(--ayni-ochre-600);
  --color-error: #a83f35;

  --font-editorial: "Lora", Georgia, serif;
  --font-interface: "Nunito Sans", Arial, sans-serif;

  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-body: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-h4: 1.25rem;
  --font-size-h3: clamp(1.375rem, 1.8vw, 1.625rem);
  --font-size-h2: clamp(1.875rem, 3vw, 2.5rem);
  --font-size-h1: clamp(2.25rem, 5vw, 4rem);
  --line-height-tight: 1.2;
  --line-height-body: 1.65;

  /* Escala aprobada: unidad base de 8 px, con medio paso de 4 px. */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 4rem;
  --space-8: 6rem;
  --space-9: 8rem;

  --container-editorial: 47.5rem;
  --container-standard: 75rem;
  --container-expanded: 90rem;
  --content-gutter: clamp(1rem, 4vw, 2rem);

  --radius-sm: 0.375rem;
  --radius-md: 0.75rem;
  --radius-lg: 1.125rem;
  --shadow-soft: 0 0.5rem 2rem rgba(24, 32, 25, 0.1);
  --transition-fast: 150ms ease;
}
