/**
 * Lightweight reveal effects. Only opacity and transforms are animated.
 * Default state is visible, including when JavaScript fails or is disabled.
 */
.nascar-reveal.is-reveal-ready {
    opacity: 0;
    transition:
        opacity var(--reveal-duration, 700ms) ease var(--reveal-delay, 0ms),
        transform var(--reveal-duration, 700ms) cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}

.nascar-reveal.is-reveal-ready[data-reveal="fade-up"] { transform: translate3d(0, 34px, 0); }
.nascar-reveal.is-reveal-ready[data-reveal="slide-left"] { transform: translate3d(-42px, 0, 0); }
.nascar-reveal.is-reveal-ready[data-reveal="slide-right"] { transform: translate3d(42px, 0, 0); }
.nascar-reveal.is-reveal-ready[data-reveal="zoom"] { transform: scale(0.975); }

.nascar-reveal.is-reveal-ready.is-revealed {
    opacity: 1;
    transform: none;
    will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
    .nascar-reveal.is-reveal-ready {
        opacity: 1;
        transform: none;
        transition: none;
        will-change: auto;
    }
}
