.mq-reveal { opacity: 0; transform: translateY(16px); transition: opacity var(--dur-3) var(--ease), transform var(--dur-3) var(--ease); }
.mq-reveal.is-in { opacity: 1; transform: none; }

@keyframes mq-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.mq-marquee { display: flex; gap: var(--s-5); width: max-content; animation: mq-marquee var(--marquee-dur) linear infinite; }
.mq-marquee-wrap:hover .mq-marquee,
.mq-marquee-wrap:focus-within .mq-marquee { animation-play-state: paused; }

@media (prefers-reduced-motion: reduce) {
  .mq-reveal { opacity: 1; transform: none; transition: none; }
  .mq-marquee { animation: none; }
  .mq-videobg video { display: none; }
  .mq-card:hover { transform: none; }
  *, *::before, *::after { transition-duration: var(--dur-1) !important; animation: none !important; }
}
