@media (prefers-reduced-motion: no-preference) {
  html.motion-ready .motion-reveal {
    transition: opacity .7s ease-out, transform .8s cubic-bezier(.2,.75,.25,1);
    transition-delay: var(--motion-delay, 0ms);
  }
  html.motion-ready .motion-reveal:not(.motion-visible) {
    opacity: 0;
    transform: translate3d(var(--motion-x, 0px), 28px, 0) scale(.985);
  }
  .hero:before { animation: hero-drift 22s ease-in-out infinite alternate; }
  @keyframes hero-drift {
    from { transform: scale(1); }
    to { transform: scale(1.055); }
  }
  .hero .btn, .contact .btn { transition: transform .22s ease, background-color .22s ease; }
  .hero .btn:hover, .contact .btn:hover { transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) {
  .motion-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .hero:before { animation: none !important; }
}
