/* ---------------------------------------------------------------------------
   Reveal safety net — text pages
   ---------------------------------------------------------------------------
   The editorial scroll-reveal (GSAP + ScrollTrigger) writes inline
   `opacity` / `transform` onto elements before animating them in. On the
   text-only pages the tween can stall part-way, leaving headings and body
   copy permanently stuck between 7% and 35% opacity — readable to nobody.

   Legibility must never depend on an animation finishing, so we pin the
   final state for prose elements inside <main>. An author `!important`
   declaration outranks GSAP's inline style, so this holds whether the
   tween stalls, never starts, or the script fails to load at all.

   Scoped to <main> and to prose tags only, so the homepage's deliberate
   editorial reveals on cards, images and section wrappers are untouched.
   --------------------------------------------------------------------------- */

main h1,
main h2,
main h3,
main h4,
main p,
main li,
main dt,
main dd,
main strong,
main a {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Respect users who ask for less motion, everywhere on these pages. */
@media (prefers-reduced-motion: reduce) {
  main * {
    animation: none !important;
    transition: none !important;
  }
}
