/* ── animations.css ─────────────────────────────── */

/* Reveal on scroll */
.reveal {
  opacity: 0;
  transform: translateY(36px);
  transition:
    opacity  var(--duration-slow) var(--ease-default),
    transform var(--duration-slow) var(--ease-default);
  transition-delay: var(--delay, 0s);
}
.reveal--right {
  transform: translateX(40px);
}
.reveal--left {
  transform: translateX(-40px);
}
.reveal.visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* Page load hero animation */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.hero__tag  { animation: fadeUp .5s var(--ease-default) .1s both; }
.hero__title { animation: fadeUp .6s var(--ease-default) .2s both; }
.hero__sub   { animation: fadeUp .6s var(--ease-default) .35s both; }
.hero__cta   { animation: fadeUp .6s var(--ease-default) .45s both; }
