/* ==========================================================================
   ANIMATIONS & DYNAMIC MOTION - FRESH EDITORIAL STUDIO
   ========================================================================== */

@keyframes auraFloat {
  0% {
    transform: translate(0, 0) scale(0.95);
    opacity: 0.35;
  }
  50% {
    transform: translate(40px, -30px) scale(1.1);
    opacity: 0.55;
  }
  100% {
    transform: translate(-30px, 40px) scale(1);
    opacity: 0.4;
  }
}

@keyframes pulseDot {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(0.75);
    opacity: 0.5;
  }
}

@keyframes marquee {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

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

.animate-float {
  animation: floatSoft 6s ease-in-out infinite;
}

/* Reveal on scroll (Snappy & Hardware-Accelerated) */
.reveal-fade-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-fade-up.revealed {
  opacity: 1;
  transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.08s; }
.reveal-delay-2 { transition-delay: 0.15s; }
.reveal-delay-3 { transition-delay: 0.22s; }
.reveal-delay-4 { transition-delay: 0.3s; }
.reveal-delay-5 { transition-delay: 0.38s; }

/* Mobile Performance Optimization: Faster Paint & Zero Lag */
@media (max-width: 768px) {
  .reveal-fade-up {
    transform: translateY(10px);
    transition-duration: 0.3s;
  }
}
