/* ==========================================================================
   Reveal primitives and the prefers-reduced-motion escape hatch.
   Loads last so it can override anything above it.
   ========================================================================== */

.reveal{ opacity:0; transform:translateY(28px); will-change:transform,opacity; }
@media (prefers-reduced-motion:reduce){
  .grain,.hero .scrollcue .bar::after,.strip .mq-track,.f-status .dot,.hero .eyebrow .dot,.hud .hv .dot{ animation:none; }
  .reveal{ opacity:1; transform:none; }
  .ph .ph-out li,.ph .ph-ok{ opacity:1; transform:none; }
}
