/* Intro failsafe, forced colours, global reduced motion. Component motion lives with its component. */
html.intro .hero__h1 .w { visibility: hidden; animation: intro-show 0s linear 1.2s forwards; }
html.intro .hero__portrait { clip-path: inset(0 0 100% 0); animation: intro-show 0s linear 1.2s forwards; }
html.intro .sw { color: var(--ink); animation: intro-blank 0s linear 1.2s forwards; }
@keyframes intro-show { to { visibility: visible; clip-path: inset(0 0 0 0); } }
@keyframes intro-blank { to { color: transparent; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html.intro .hero__h1 .w, html.intro .hero__portrait, html.intro .sw { animation: none; }
}
@media (forced-colors: active) {
  mark, .mp.is-found, .found-tag, .chip, .find__phrase { background: Mark; color: MarkText; }
  .slot { background: none; outline: 2px solid CanvasText; }
  .sw { color: transparent; }
  .flag::before { background: Mark; }
}
