/* Gallery Section Animations */
.gallery-reveal {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s cubic-bezier(0.17, 0.55, 0.55, 1);
}

.gallery-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Image hover effects */
.gallery-reveal img {
    transition: transform 0.3s ease;
}

.gallery-reveal:hover img {
    transform: scale(1.1);
}

/* Overlay animation */
.gallery-reveal .overlay {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.gallery-reveal:hover .overlay {
    opacity: 1;
}

/* Header animation */
.fade-up-element {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.17, 0.55, 0.55, 1);
}

.fade-up-element.visible {
    opacity: 1;
    transform: translateY(0);
}