/* ============================================
   ANIMATIONS.CSS - Animation Keyframes
   ============================================ */

@keyframes pulse-glow {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

@keyframes text-gradient {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

@keyframes shimmer {
    0% { background-position: -500px 0; }
    100% { background-position: 500px 0; }
}

@keyframes parallax {
    0% { transform: translateY(0px); }
    100% { transform: translateY(-500px); }
}

@keyframes tilt {
    0%, 100% { transform: rotate(-1deg); }
    50% { transform: rotate(1deg); }
}

@keyframes kenburns {
    0% { transform: scale(1) translateX(0) translateY(0); }
    50% { transform: scale(1.1) translateX(-20px) translateY(10px); }
    100% { transform: scale(1) translateX(0) translateY(0); }
}

@keyframes rotate3d {
    0% { transform: perspective(1000px) rotateY(0deg); }
    100% { transform: perspective(1000px) rotateY(360deg); }
}

@keyframes rotate3d-reverse {
    0% { transform: perspective(1000px) rotateY(0deg); }
    100% { transform: perspective(1000px) rotateY(-360deg); }
}

@keyframes orbit {
    0% { transform: rotate(0deg) translateX(100px) rotate(0deg); }
    100% { transform: rotate(360deg) translateX(100px) rotate(-360deg); }
}

@keyframes pulse-soft {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
}

@keyframes film-scan {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

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

@keyframes filmReel {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes lightFlare {
    0%, 100% { opacity: 0.3; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.1); }
}

/* Animation Utility Classes */
.animate-pulse-glow { animation: pulse-glow 2s ease-in-out infinite; }
.animate-text-gradient { animation: text-gradient 3s ease infinite; }
.animate-shimmer { animation: shimmer 2.5s infinite; }
.animate-parallax { animation: parallax 20s linear infinite; }
.animate-tilt { animation: tilt 10s infinite linear; }
.animate-kenburns { animation: kenburns 20s infinite; }
.animate-rotate-3d { animation: rotate3d 20s linear infinite; }
.animate-rotate-3d-reverse { animation: rotate3d-reverse 25s linear infinite; }
.animate-orbit { animation: orbit 30s linear infinite; }
.animate-pulse-soft { animation: pulse-soft 4s ease-in-out infinite; }
.animate-film-scan { animation: film-scan 3s linear infinite; }
.animate-marquee { animation: marquee 40s linear infinite; }
.animate-film-reel { animation: filmReel 20s linear infinite; }
.animate-light-flare { animation: lightFlare 5s ease-in-out infinite; }

/* Delay Classes */
.animation-delay-100 { animation-delay: 100ms; }
.animation-delay-200 { animation-delay: 200ms; }
.animation-delay-300 { animation-delay: 300ms; }
.animation-delay-400 { animation-delay: 400ms; }
.animation-delay-500 { animation-delay: 500ms; }
.animation-delay-1000 { animation-delay: 1000ms; }

/* Duration Classes */
.animation-duration-500 { animation-duration: 500ms; }
.animation-duration-1000 { animation-duration: 1000ms; }
.animation-duration-2000 { animation-duration: 2000ms; }
.animation-duration-3000 { animation-duration: 3000ms; }
.animation-duration-5000 { animation-duration: 5000ms; }

/* Make AOS animations more visible */
[data-aos="fade-up"] {
    transform: translate3d(0, 60px, 0) !important;
    opacity: 0 !important;
    transition-property: transform, opacity !important;
}

[data-aos="fade-up"].aos-animate {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
}

[data-aos="fade-right"] {
    transform: translate3d(-60px, 0, 0) !important;
    opacity: 0 !important;
}

[data-aos="fade-right"].aos-animate {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
}

[data-aos="fade-left"] {
    transform: translate3d(60px, 0, 0) !important;
    opacity: 0 !important;
}

[data-aos="fade-left"].aos-animate {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
}

/* Add zoom animation for variety */
[data-aos="zoom-in"] {
    transform: scale(0.6) !important;
    opacity: 0 !important;
}

[data-aos="zoom-in"].aos-animate {
    transform: scale(1) !important;
    opacity: 1 !important;
}