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

@keyframes glow {
    0%, 100% { text-shadow: 0 0 10px currentColor; }
    50% { text-shadow: 0 0 20px currentColor, 0 0 30px currentColor; }
}

@keyframes slideInFromLeft {
    0% { transform: translateX(-100%); opacity: 0; }
    100% { transform: translateX(0); opacity: 1; }
}

@keyframes slideInFromRight {
    0% { transform: translateX(100%); opacity: 0; }
    100% { transform: translateX(0); opacity: 1; }
}

@keyframes fadeInUp {
    0% { transform: translateY(50px); opacity: 0; }
    100% { transform: translateY(0); opacity: 1; }
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

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

.glow-text {
    animation: glow 2s ease-in-out infinite;
}

.slide-in-left {
    animation: slideInFromLeft 1s ease-out;
}

.slide-in-right {
    animation: slideInFromRight 1s ease-out;
}

.fade-in-up {
    animation: fadeInUp 1s ease-out;
}

.pulse {
    animation: pulse 2s infinite;
}

/* AOS custom animations */
[data-aos] {
    pointer-events: none;
}

[data-aos].aos-animate {
    pointer-events: auto;
}