/* ==========================================================================
   RESTOVUE — PHOTO ENHANCER
   Animations & Motion Stylesheet
   ========================================================================== */

/* Keyframe Animations */
@keyframes neonPulse {
  0%, 100% {
    opacity: 0.6;
    transform: scale(1);
  }
  50% {
    opacity: 0.85;
    transform: scale(1.05);
  }
}

@keyframes waveFloat {
  0% {
    transform: translateX(-2%) translateY(0);
  }
  50% {
    transform: translateX(2%) translateY(-10px);
  }
  100% {
    transform: translateX(-2%) translateY(0);
  }
}

@keyframes phoneBobbing {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

.hero-backdrop-glow {
  animation: neonPulse 7s ease-in-out infinite;
}

.hero-neon-wave {
  animation: waveFloat 9s ease-in-out infinite;
}

.phone-mockup-composite {
  animation: phoneBobbing 5s ease-in-out infinite;
}

/* GSAP Initial State Utilities */
.gsap-reveal {
  opacity: 0;
  transform: translateY(24px);
  will-change: transform, opacity;
}

.gsap-fade {
  opacity: 0;
  will-change: opacity;
}

/* Accessibility: Respect Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  
  .hero-backdrop-glow,
  .hero-neon-wave,
  .phone-mockup-composite,
  .animated-floating-phone,
  .phones-ambient-glow,
  .phones-ground-reflection,
  .hero-benefit-card,
  .benefit-card-sheen {
    animation: none !important;
  }
  
  .gsap-reveal,
  .gsap-fade,
  .hero-benefit-card,
  .feature-card,
  .use-case-box,
  .screenshot-card {
    opacity: 1 !important;
    transform: none !important;
  }
}
