.reveal {

    opacity: 0;

    transform: translateY(30px);

    transition:
        opacity .8s ease,
        transform .8s ease;

}


.reveal.visible {

    opacity: 1;

    transform: translateY(0);

}


@keyframes heroZoom {

    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.05);
    }

}


.hero-background {

    animation:
        heroZoom 12s ease-in-out infinite alternate;

}


@keyframes pulseRed {

    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(227, 6, 19, .3);
    }

    50% {
        box-shadow: 0 0 0 8px rgba(227, 6, 19, 0);
    }

}


.search-button {

    animation:
        pulseRed 3s infinite;

}


/* Reveal homepage stock cards in sequence after vehicle data loads */
@keyframes stockCardReveal {

    from {
        opacity: 0;
        transform: translateY(28px) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

}


.stock-card-reveal {

    opacity: 0;
    animation: stockCardReveal .65s cubic-bezier(.2, .7, .2, 1) forwards;
    animation-delay: var(--card-delay, 0ms);
    cursor: pointer;

}


.stock-card-reveal:focus-visible {

    outline: 3px solid var(--red);
    outline-offset: 3px;

}


@media (prefers-reduced-motion: reduce) {

    .stock-card-reveal {
        opacity: 1;
        animation: none;
    }

}