/* ==========================================================
   CONSULTORIA MEDUARDA - ANIMAÇÕES
   Todas respeitam prefers-reduced-motion.
   ========================================================== */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 650ms ease, transform 650ms ease; }
.reveal.from-left { transform: translateX(-24px); }
.reveal.from-right { transform: translateX(24px); }
.reveal.is-visible { opacity: 1; transform: translate(0,0); }

.float-soft { animation: floatSoft 5s ease-in-out infinite; }
@keyframes floatSoft { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes pulseSoft { from { transform: scale(.95); opacity: .8; } to { transform: scale(1.05); opacity: 1; } }

/* Animação do Pulso em Tempo Real */
@keyframes livePulse {
    0%, 100% { transform: scale(1); opacity: 0.6; }
    50% { transform: scale(2.2); opacity: 0; }
}

/* Animação Shimmer em Botões */
@keyframes buttonShimmer {
    0%, 75% { left: -75%; }
    100% { left: 135%; }
}

/* Luz de Fundo Pulsante */
@keyframes ambientPulse {
    0% { transform: scale(1) translate(0, 0); }
    50% { transform: scale(1.1) translate(20px, -20px); }
    100% { transform: scale(0.95) translate(-15px, 15px); }
}

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

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .reveal { opacity: 1 !important; transform: none !important; }
    .ambient-glow,
    .btn-premium::after,
    .badge-live-pulse .status-dot::after {
        animation: none !important;
    }
}
