@media (prefers-reduced-motion: no-preference) {
  html.motion-ready .reveal:not(.is-visible) {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  html.motion-ready .reveal {
    transition: opacity 680ms ease, transform 680ms cubic-bezier(.2, .7, .2, 1);
    transition-delay: var(--reveal-delay, 0ms);
  }
  html.motion-ready .reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  html.motion-ready .card.reveal.is-visible:hover { transform: translateY(-6px); }
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}
