@keyframes animate-text-shadow {
    0%, 100% {
        text-shadow: 0 0 5px rgba(0, 0, 0, 0.1), 0 0 10px rgba(0, 0, 0, 0.05);
    }
    50% {
        text-shadow: 0 0 10px rgba(0, 0, 0, 0.2), 0 0 20px rgba(0, 0, 0, 0.1);
    }
}

@keyframes animate-fade-in-up {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animate-slide-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animate-float {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-10px);
    }
}

@keyframes animate-social-float {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-5px) rotate(6deg);
    }
}

@keyframes animate-spin-slow {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@keyframes animate-text-glow {
    0%, 100% {
        text-shadow: 0 0 5px rgba(255, 255, 255, 0.5), 0 0 10px rgba(255, 255, 255, 0.3), 0 0 15px rgba(255, 255, 255, 0.2);
    }
    50% {
        text-shadow: 0 0 10px rgba(255, 255, 255, 0.8), 0 0 20px rgba(255, 255, 255, 0.6), 0 0 30px rgba(255, 255, 255, 0.4);
    }
}

.animate-text-shadow {
    animation: animate-text-shadow 2s ease-in-out infinite;
}

.animate-fade-in-up {
    animation: animate-fade-in-up 1s ease-out;
}

.animate-slide-up {
    animation: animate-slide-up 1s ease-out;
}

.animate-float {
    animation: animate-float 3s ease-in-out infinite;
}

.animate-social-float {
    animation: animate-social-float 2s ease-in-out infinite;
}

.animate-spin-slow {
    animation: animate-spin-slow 8s linear infinite;
}

.animate-text-glow {
    animation: animate-text-glow 2s ease-in-out infinite;
}