/* ==========================================================================
   Pacifica of Vegas — animations.css
   Keyframes + scroll-reveal classes (matches the design mockup exactly).
   ========================================================================== */

@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(44px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes lineReveal {
  from { clip-path: inset(0 100% 0 0); opacity: 0; transform: translateX(-16px); }
  to   { clip-path: inset(0 0% 0 0);   opacity: 1; transform: translateX(0); }
}
@keyframes rotateSlow {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@keyframes scrollDot {
  0%,100% { transform: translateY(0); opacity: 1; }
  60%     { transform: translateY(16px); opacity: 0; }
}
@keyframes pulseRing {
  0%   { transform: scale(1) translate(50%,-50%);    opacity: 0.5; }
  100% { transform: scale(1.5) translate(33%,-33%);  opacity: 0; }
}

/* Scroll-reveal */
.animate-in {
  opacity: 0;
  transform: translateY(48px);
  transition: opacity 0.95s cubic-bezier(0.16,1,0.3,1), transform 0.95s cubic-bezier(0.16,1,0.3,1);
}
.animate-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Graceful degradation: if clip-path is unsupported the hero lines simply fade in */
@supports not (clip-path: inset(0 0 0 0)) {
  .hero-line-1, .hero-line-2 { animation-name: fadeUp; }
}

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .animate-in { opacity: 1; transform: none; }
}
