/* =========================================================
   WOW INTERIORS — ANIMATIONS
   ========================================================= */

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(26px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes scaleIn {
    from { opacity: 0; transform: scale(0.94); }
    to { opacity: 1; transform: scale(1); }
}
@keyframes floatY {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
@keyframes pulseRing {
    0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.55); }
    70% { box-shadow: 0 0 0 14px rgba(37, 211, 102, 0); }
    100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
@keyframes bounceCue {
    0%, 100% { transform: translateY(0); opacity: 0.7; }
    50% { transform: translateY(6px); opacity: 1; }
}

/* Scroll-reveal utility: elements start hidden, JS toggles .in-view */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.in-view { opacity: 1; transform: translateY(0); }

.reveal-stagger > * { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.reveal-stagger.in-view > * { opacity: 1; transform: translateY(0); }
.reveal-stagger.in-view > *:nth-child(1) { transition-delay: 0.02s; }
.reveal-stagger.in-view > *:nth-child(2) { transition-delay: 0.10s; }
.reveal-stagger.in-view > *:nth-child(3) { transition-delay: 0.18s; }
.reveal-stagger.in-view > *:nth-child(4) { transition-delay: 0.26s; }
.reveal-stagger.in-view > *:nth-child(5) { transition-delay: 0.34s; }
.reveal-stagger.in-view > *:nth-child(6) { transition-delay: 0.42s; }
.reveal-stagger.in-view > *:nth-child(7) { transition-delay: 0.50s; }
.reveal-stagger.in-view > *:nth-child(8) { transition-delay: 0.58s; }

.hero-inner .eyebrow, .home-hero .hero-title, .home-hero .hero-desc, .home-hero .hero-cta-row {
    animation: fadeInUp 0.8s ease both;
}
.home-hero .hero-title { animation-delay: 0.08s; }
.home-hero .hero-desc { animation-delay: 0.18s; }
.home-hero .hero-cta-row { animation-delay: 0.28s; }

.page-hero .eyebrow, .page-hero .hero-title, .page-hero .hero-desc, .page-hero .hero-cta-row, .page-hero .hero-badges {
    animation: fadeInUp 0.7s ease both;
}
.page-hero .hero-title { animation-delay: 0.08s; }
.page-hero .hero-desc { animation-delay: 0.16s; }
.page-hero .hero-cta-row { animation-delay: 0.24s; }
.page-hero .hero-badges { animation-delay: 0.32s; }

.lead-gate-card { animation: scaleIn 0.7s ease both; }

.float-btn.whatsapp { animation: pulseRing 2.6s infinite; }

.hero-scroll-cue svg { animation: bounceCue 1.8s ease-in-out infinite; }

.site-header.scrolled { background: rgba(15, 7, 8, 0.98); box-shadow: var(--shadow-sm); }

/* Card hover lift already defined via transition in global.css; ensure smoothing */
.cat-card, .app-card, .award-card, .project-card, .subprod { will-change: transform; }
