/* Image fly-in/fly-out animations */
.fly-in-image {
    opacity: 0;
    transform: translateY(100px) scale(0.8);
    transition: all 0.8s ease-out;
}

.fly-in-image.fly-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.fly-in-image.fly-out {
    opacity: 0;
    transform: translateY(-100px) scale(0.8);
}

/* Different directions for variety */
.fly-in-left {
    transform: translateX(-100px) scale(0.8);
}

.fly-in-left.fly-in {
    transform: translateX(0) scale(1);
}

.fly-in-left.fly-out {
    transform: translateX(100px) scale(0.8);
}

.fly-in-right {
    transform: translateX(100px) scale(0.8);
}

.fly-in-right.fly-in {
    transform: translateX(0) scale(1);
}

.fly-in-right.fly-out {
    transform: translateX(-100px) scale(0.8);
}

/* Text fly-in animations */
.fly-in-text {
    opacity: 0;
    transform: translateY(50px) scale(0.9);
    transition: all 0.8s ease-out;
}

.fly-in-text.fly-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.fly-in-text.fly-out {
    opacity: 0;
    transform: translateY(-50px) scale(0.9);
}