/* =========================================================
   AURELIA BAY — ANIMATIONS
   ========================================================= */

@keyframes heroZoom {
  from { transform: scale(1); }
  to   { transform: scale(1.12); }
}

@keyframes scrollLine {
  0%   { top: -100%; }
  60%  { top: 100%; }
  100% { top: 100%; }
}

/* -------------------- SCROLL REVEALS -------------------- */
.reveal-up, .reveal-left, .reveal-right, .reveal-scale {
  opacity: 0;
  transition: opacity .8s var(--ease), transform .8s var(--ease);
  transition-delay: var(--d, 0s);
}
.reveal-up    { transform: translateY(36px); }
.reveal-left  { transform: translateX(-40px); }
.reveal-right { transform: translateX(40px); }
.reveal-scale { transform: scale(.92); }

.reveal-up.is-visible,
.reveal-left.is-visible,
.reveal-right.is-visible,
.reveal-scale.is-visible {
  opacity: 1;
  transform: none;
}

/* Hero content plays immediately on load, not on scroll */
.hero-content .reveal-up {
  animation: heroFadeUp .9s var(--ease) forwards;
  animation-delay: var(--d, 0s);
  opacity: 0;
  transform: translateY(24px);
}
@keyframes heroFadeUp {
  to { opacity: 1; transform: none; }
}

/* Counter pop */
.counter-item { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
.counters.is-visible .counter-item { opacity: 1; transform: none; }
.counters.is-visible .counter-item:nth-child(2) { transition-delay: .08s; }
.counters.is-visible .counter-item:nth-child(3) { transition-delay: .16s; }
.counters.is-visible .counter-item:nth-child(4) { transition-delay: .24s; }

/* -------------------- REDUCED MOTION -------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
  .hero-img { animation: none; }
  .reveal-up, .reveal-left, .reveal-right, .reveal-scale,
  .hero-content .reveal-up {
    opacity: 1 !important;
    transform: none !important;
  }
}
