/* Animations */
.animate-fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}
.animate-fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

.animate-fade-in {
    opacity: 0;
    transition: opacity 1s ease;
}
.animate-fade-in.visible {
    opacity: 1;
}

/* Hover Zoom */
.hover-zoom {
    overflow: hidden;
}
.hover-zoom img {
    transition: transform 0.5s ease;
}
.hover-zoom:hover img {
    transform: scale(1.05);
}

/* Bounce animation for scroll indicator */
@keyframes bounce { 
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);} 
    40% {transform: translateY(-10px);} 
    60% {transform: translateY(-5px);} 
}
