/* Motion enhancements */
.logo-link,
.eyebrow,
.hero-section h1,
.hero-copy,
.waitlist-form,
.social-proof,
.countdown,
.product-showcase {
    opacity: 0;
    animation: heroReveal .75s cubic-bezier(.2, .75, .25, 1) forwards;
}

.logo-link { animation-delay: .05s; }
.eyebrow { animation-delay: .14s; }
.hero-section h1 { animation-delay: .23s; }
.hero-copy { animation-delay: .31s; }
.waitlist-form { animation-delay: .39s; }
.social-proof { animation-delay: .47s; }
.countdown { animation-delay: .55s; }
.product-showcase { animation-delay: .63s; }

.brand-logo-img {
    transition: transform .35s ease, filter .35s ease;
}

.logo-link:hover .brand-logo-img {
    transform: translateY(-3px) scale(1.025);
    filter: drop-shadow(0 10px 18px rgba(239, 23, 36, .18));
}

.time-card {
    transition: transform .25s ease, border-color .25s ease, background-color .25s ease;
}

.time-card:hover {
    transform: translateY(-5px);
    border-color: rgba(239, 23, 36, .5);
    background-color: rgba(239, 23, 36, .08);
}

.feature-card {
    transition: box-shadow .3s ease, border-color .3s ease;
}

.feature-card:hover {
    box-shadow: 0 25px 65px rgba(239, 23, 36, .2);
}

.feature-icon,
.categories i,
.product-thumb {
    transition: transform .3s cubic-bezier(.2, .8, .2, 1);
}

.feature-card:hover .feature-icon,
.categories span:hover i,
.product-row:hover .product-thumb {
    transform: translateY(-3px) rotate(-3deg) scale(1.06);
}

.accordion-item {
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.accordion-item:hover {
    transform: translateY(-2px);
    border-color: rgba(239, 23, 36, .25) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .08);
}

.accordion-collapse {
    transition: height .35s cubic-bezier(.4, 0, .2, 1) !important;
}

.reveal-on-scroll {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .7s ease, transform .7s cubic-bezier(.2, .75, .25, 1);
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@keyframes heroReveal {
    from { opacity: 0; transform: translateY(22px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .reveal-on-scroll {
        opacity: 1;
        transform: none;
    }
}
