/* Base reveal styles */
.scroll-reveal {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    backface-visibility: hidden;
}

/* Direction variants */
.scroll-reveal.reveal-up {
    transform: translateY(30px);
}

.scroll-reveal.reveal-down {
    transform: translateY(-30px);
}

.scroll-reveal.reveal-left {
    transform: translateX(30px);
}

.scroll-reveal.reveal-right {
    transform: translateX(-30px);
}

.scroll-reveal.reveal-scale {
    transform: scale(0.95);
}

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

/* Card animations */
.scroll-reveal[class*="card"] {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.scroll-reveal[class*="card"]:hover {
    transform: translateY(-5px);
}

/* Fix for achievement cards while maintaining smooth transitions */
.scroll-reveal.achievement-card {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.scroll-reveal.achievement-card:hover {
    transform: translateX(10px);
}

/* Delay variants with smoother timing */
.scroll-reveal[data-delay="1"] {
    transition-delay: 0.15s;
}

.scroll-reveal[data-delay="2"] {
    transition-delay: 0.3s;
}

.scroll-reveal[data-delay="3"] {
    transition-delay: 0.45s;
}

/* Fallback for reduced motion */
@media (prefers-reduced-motion: reduce) {
    .scroll-reveal {
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}