/* ============================================================
   Site-wide subtle fade-up animation
   Triggered when an element gets the .envi-reveal class (added by
   /scripts/scroll-reveal.js). Uses a CSS @keyframes animation
   (not transition) so it ALWAYS fires from initial state once class
   is added — no rAF timing fragility.
   ============================================================ */

@keyframes envi-fade-up {
  0% {
    opacity: 0;
    transform: translateY(24px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.envi-reveal {
  animation: envi-fade-up 800ms cubic-bezier(0.22, 1, 0.36, 1) both;
  will-change: opacity, transform;
}

@media (prefers-reduced-motion: reduce) {
  .envi-reveal {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
