/* Animation base states */
.anim-fade-up,
.anim-fade-down,
.anim-fade-left {
    opacity: 0;
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.anim-fade-up {
    transform: translateY(30px);
}

.anim-fade-down {
    transform: translateY(-20px);
}

.anim-fade-left {
    transform: translateX(40px);
}

/* Animated state */
.anim-visible {
    opacity: 1 !important;
    transform: translateY(0) translateX(0) !important;
}

/* Cards get a slight scale on hover too */
.pbi-card {
    transition: box-shadow 0.2s, transform 0.3s ease, opacity 0.7s ease;
}

.pbi-card:hover {
    transform: translateY(-4px);
}
