/* Scroll Fade-In Animation */
.fade-on-scroll {
    opacity: 0;
    transform: translateX(-80px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
}
.fade-on-scroll.fade-visible {
    opacity: 1;
    transform: translateX(0);
}
/* Stagger the cards so they cascade in */
.news-card.fade-on-scroll {
    transition-delay: calc(var(--fade-index, 0) * 0.12s);
}
@media (prefers-reduced-motion: reduce) {
    .fade-on-scroll {
        opacity: 1;
        transform: none;
        transition: none;
    }
}