/* Motion — reveal, hover lift, header shrink. Honors prefers-reduced-motion. */

[data-reveal] {
    opacity: 0;
    transform: translateY(1rem);
    transition:
        opacity var(--dur-slow) var(--ease-out),
        transform var(--dur-slow) var(--ease-out);
    transition-delay: calc(var(--reveal-index, 0) * 70ms);
}

[data-reveal].is-revealed,
.no-js [data-reveal],
.cta-band[data-reveal],
.page-cta[data-reveal],
.trust-bar[data-reveal] {
    opacity: 1;
    transform: none;
}


.service-card,
.menu-card,
.testimonial-card,
.team-card,
.pricing-card,
.gallery-item {
    transition:
        transform var(--dur-base) var(--ease-out),
        box-shadow var(--dur-base) var(--ease-out),
        border-color var(--dur-base) var(--ease-out);
}

.service-card:hover,
.menu-card:hover,
.testimonial-card:hover,
.team-card:hover,
.pricing-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.gallery-item img,
.hero-image-frame img,
.hero-overlay-visual img {
    transition: transform 0.7s var(--ease-out);
}

.gallery-item:hover img,
.hero-image-frame:hover img,
.hero-overlay-visual:hover img {
    transform: scale(1.04);
}

.site-header {
    transition:
        box-shadow var(--dur-base) var(--ease-out),
        padding var(--dur-base) var(--ease-out),
        background var(--dur-base) var(--ease-out);
}

.site-header.is-scrolled .header-inner {
    padding-block: 0.55rem;
}

@media (prefers-reduced-motion: reduce) {
    [data-reveal],
    .hero-content > .hero-badge,
    .hero-content > .hero-title,
    .hero-content > .hero-lead,
    .hero-content > .hero-actions {
        opacity: 1;
        transform: none;
        animation: none;
        transition: none;
    }

    .service-card:hover,
    .menu-card:hover,
    .gallery-item:hover img {
        transform: none;
    }
}
