/* Small, purposeful keyframes only. No continuous/infinite motion, no
   particle effects, nothing that runs once the relevant element is done
   telling its part of the story. */

@keyframes hero-glow-drift {
  0% { transform: translate3d(-2%, -1%, 0) scale(1); opacity: 0.7; }
  100% { transform: translate3d(2%, 1%, 0) scale(1.06); opacity: 1; }
}
.hero__backdrop {
  animation: hero-glow-drift 3600ms var(--ease-standard) forwards;
}

@keyframes check-dot-pop {
  0% { transform: scale(0.6); }
  60% { transform: scale(1.25); }
  100% { transform: scale(1); }
}
.me-check.is-lit .me-check__dot {
  animation: check-dot-pop 420ms var(--ease-out);
}

@keyframes reveal-up {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.reveal-up {
  animation: reveal-up 480ms var(--ease-out) both;
}

@media (prefers-reduced-motion: reduce) {
  .hero__backdrop { animation: none; opacity: 0.85; }
  .me-check.is-lit .me-check__dot { animation: none; }
  .reveal-up { animation: none; }
}
