/* Generic Reveal Classes for Intersection Observer */

.reveal-left {
    opacity: 0;
    transform: translateX(-100px);
    transition: all 1s ease;
}

.reveal-right {
    opacity: 0;
    transform: translateX(100px);
    transition: all 1s ease;
}

.reveal-bottom {
    opacity: 0;
    transform: translateY(100px);
    transition: all 1s ease;
}

.reveal-top {
    opacity: 0;
    transform: translateY(-100px);
    transition: all 1s ease;
}

.reveal-scale {
    opacity: 0;
    transform: scale(0.8);
    transition: all 1s ease;
}

/* Active state added by Javascript */
.reveal-left.active-reveal,
.reveal-right.active-reveal,
.reveal-bottom.active-reveal,
.reveal-top.active-reveal,
.reveal-scale.active-reveal {
    opacity: 1;
    transform: translate(0) scale(1);
}