/* Shared white and red theme for every page. */
:root {
  color-scheme: light;
  --ink: #a90d25;
  --text: #a90d25;
  --ink-soft: #a12d3f;
  --muted: #a12d3f;
  --success: #a90d25;
  --danger: #a90d25;
  --shadow: 0 18px 48px rgba(110, 20, 35, .06);
}
body { background: #fff; color: var(--ink); }
input, textarea, select { color: var(--ink); background-color: #fff; }
input::placeholder, textarea::placeholder { color: #a12d3f; opacity: 1; }
.btn, .btn-outline { background: #fff; color: var(--ink); border: 1px solid var(--ink); }
.btn:hover, .btn:focus-visible, .btn-outline:hover, .btn-outline:focus-visible {
  background: #fff1f3; color: var(--ink);
}
.story-panel { background: #fff5f6; color: var(--ink); }
:focus-visible { outline: 2px solid #a90d25; outline-offset: 4px; }
@media (max-width: 600px) {
  header > nav { flex-wrap: wrap; justify-content: center; padding: 12px 18px; gap: 12px; }
  header > nav .brand { order: -1; flex-basis: 100%; display: flex; justify-content: center; }
  header > nav .links { flex-wrap: wrap; justify-content: center; gap: 12px; }
  header > nav .links a { display: inline-flex; align-items: center; min-height: 44px; }
  .hero, .story, .details { min-width: 0; }
  .hero-media { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}