:root {
  /* Color */
  --citronela-green-950: #002d1d;
  --citronela-green-900: #003b26;
  --citronela-green-800: #064b31;
  --citronela-ochre-600: #c88716;
  --citronela-gold-500: #e6a514;
  --citronela-ivory-100: #f7f1e3;
  --citronela-ivory-50: #fcfaf4;
  --citronela-ink: #142a1e;

  /* Madera natural: rotar con moderación, no aleatoriamente */
  --wood-light: #c99552;
  --wood-honey: #b9792d;
  --wood-cedar: #99511f;
  --wood-walnut: #74401f;
  --wood-amber: #c17a22;

  /* Escala espacial de 4 px */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-14: 3.5rem;

  /* Ritmo vertical de página */
  --section-space: var(--space-10); /* 40 px móvil */
  --section-padding-block: var(--space-8);

  /* Forma e interacción */
  --radius-sm: 0.5rem;
  --radius-md: 0.875rem;
  --shadow-warm: 0 0.5rem 1.25rem rgb(55 32 8 / 18%);
  --focus-ring: 0 0 0 3px var(--citronela-gold-500);
  --motion-fast: 180ms ease;
  --motion-normal: 240ms ease;

  /* Tipografía */
  --font-institutional: "Montserrat", Arial, sans-serif;
  --font-memory: "Caveat", "Segoe Print", cursive;
}

@media (min-width: 40rem) {
  :root {
    --section-space: var(--space-12); /* 48 px tablet */
    --section-padding-block: var(--space-10);
  }
}

@media (min-width: 64rem) {
  :root {
    --section-space: var(--space-14); /* 56 px escritorio */
    --section-padding-block: var(--space-12);
  }
}

.page-flow {
  display: flex;
  flex-direction: column;
  gap: var(--section-space);
}

.page-flow > section {
  margin-block: 0;
}

.voice-memory {
  font-family: var(--font-memory);
  font-size: clamp(1.5rem, 1.15rem + 1vw, 2.25rem);
  line-height: 1.15;
}

:focus-visible {
  outline: 0;
  box-shadow: var(--focus-ring);
}

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

