/* Animations */
@keyframes animateReveal {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animateFadeUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animateCardReveal {
    from {
        opacity: 0;
        transform: translateY(60px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animateExperienceReveal {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes animateTestimonialReveal {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Scroll Transition Effects */
@keyframes sectionTransition {
    0% {
        opacity: 0;
        transform: translateY(100px) scale(0.95);
        filter: blur(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

@keyframes slideTransition {
    0% {
        opacity: 0;
        transform: translateX(-100px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes zoomTransition {
    0% {
        opacity: 0;
        transform: scale(1.1);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes rotateTransition {
    0% {
        opacity: 0;
        transform: rotate(-5deg) translateY(50px);
    }
    100% {
        opacity: 1;
        transform: rotate(0) translateY(0);
    }
}

.animate-reveal {
    animation: animateReveal 1s ease forwards;
}

.animate-fade-up {
    animation: animateFadeUp 0.8s ease forwards;
    opacity: 0;
}

.animate-card-reveal {
    animation: animateCardReveal 0.8s ease forwards;
    opacity: 0;
}

.animate-experience-reveal {
    animation: animateExperienceReveal 0.6s ease forwards;
    opacity: 0;
}

.animate-testimonial-reveal {
    animation: animateTestimonialReveal 0.8s ease forwards;
    opacity: 0;
}

/* Scroll Transition Classes */
.section-transition {
    animation: sectionTransition 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    opacity: 0;
}

.slide-transition {
    animation: slideTransition 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    opacity: 0;
}

.zoom-transition {
    animation: zoomTransition 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    opacity: 0;
}

.rotate-transition {
    animation: rotateTransition 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    opacity: 0;
}
