/**
 * Scroll Reveal Styles - Fixed Version
 */

/* Base styles */
.scroll-reveal {
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* Initial hidden state */
.scroll-reveal.not-revealed {
    opacity: 0;
    will-change: opacity, transform;
}

/* Revealed state (base) */
.scroll-reveal.revealed {
    opacity: 1;
    transform: translate(0, 0) scale(1);
}

/* Animation variations */
.scroll-reveal.reveal-fade-in.not-revealed {
    opacity: 0;
}

.scroll-reveal.reveal-slide-up.not-revealed {
    opacity: 0;
    transform: translateY(50px);
}

.scroll-reveal.reveal-slide-down.not-revealed {
    opacity: 0;
    transform: translateY(-50px);
}

.scroll-reveal.reveal-slide-left.not-revealed {
    opacity: 0;
    transform: translateX(-50px);
}

.scroll-reveal.reveal-slide-right.not-revealed {
    opacity: 0;
    transform: translateX(50px);
}

.scroll-reveal.reveal-zoom-in.not-revealed {
    opacity: 0;
    transform: scale(0.8);
}

.scroll-reveal.reveal-zoom-out.not-revealed {
    opacity: 0;
    transform: scale(1.2);
}

/* Speed modifiers */
.scroll-reveal.reveal-fast {
    transition-duration: 0.4s;
}

.scroll-reveal.reveal-slow {
    transition-duration: 1.2s;
}

/* Easing modifiers */
.scroll-reveal.reveal-ease-bounce {
    transition-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

.scroll-reveal.reveal-ease-smooth {
    transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* Important: Ensure elements are visible before JS loads */
.scroll-reveal:not(.not-revealed) {
    opacity: 1; 
}