/* Progressive motion: content stays visible before JavaScript or observation. */
.live-v3 .live-motion-enter { animation:live-rise .68s cubic-bezier(.2,.7,.2,1) both; animation-delay:var(--live-delay,0ms); }
.live-v3 .live-motion-enter:focus-within { animation:none; }
@keyframes live-rise { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@keyframes live-photo-breathe { from { transform:scale(1); } to { transform:scale(1.025); } }
@keyframes live-icon-float { from { transform:translateY(0) rotate(-1deg); } to { transform:translateY(-5px) rotate(1deg); } }
@keyframes live-device-float { from { transform:translateY(0); } to { transform:translateY(-9px); } }
@keyframes live-map-wave { from { transform:translate(-50%,-50%) scale(.94); opacity:.65; } to { transform:translate(-50%,-50%) scale(1.09); opacity:1; } }
@keyframes live-closing-wave { from { transform:scale(.96); opacity:.7; } to { transform:scale(1.08); opacity:1; } }
@keyframes live-button-shine { 0%,65% { transform:translateX(-220%) skewX(-18deg); } 100% { transform:translateX(520%) skewX(-18deg); } }
@keyframes live-contact-pulse { 0%,65%,100% { box-shadow:0 0 0 0 #0e7a3f00; } 80% { box-shadow:0 0 0 10px #0e7a3f25; } }
@keyframes live-total-highlight { from { box-shadow:0 0 0 5px #05b6f830; } to { box-shadow:0 0 0 0 #05b6f800; } }
@keyframes live-popup-arrival { from { opacity:0; transform:translateY(14px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(prefers-reduced-motion:no-preference) {
 .live-v3 .lv3-hero-photo img { animation:live-photo-breathe 20s ease-in-out infinite alternate; }
 .live-v3 .lv3-benefit .elementor-icon,.live-v3 .lv3-quick-card .elementor-icon { animation:live-icon-float 4.5s ease-in-out infinite alternate; }
 .live-v3 .lv3-benefit-card:nth-child(2) .elementor-icon,.live-v3 .lv3-quick-card:nth-child(3) .elementor-icon { animation-delay:-2s; }
 .live-v3 .lv3-benefit-card:nth-child(3) .elementor-icon,.live-v3 .lv3-quick-card:nth-child(4) .elementor-icon { animation-delay:-3.5s; }
 .live-v3 .lv3-app-visual { animation:live-device-float 5s ease-in-out infinite alternate; }
 .live-v3 .lv3-map::before { animation:live-map-wave 3.8s ease-in-out infinite alternate; }
 .live-v3 .lv3-map-pin .elementor-icon { animation:live-device-float 3.8s ease-in-out infinite alternate; }
 .live-v3 .lv3-closing::after { animation:live-closing-wave 6s ease-in-out infinite alternate; }
 .live-v3 .lv3-button .elementor-button,.live-v3 .planos-live .btn-plano { position:relative; overflow:hidden; }
 .live-v3 .lv3-button .elementor-button::after,.live-v3 .planos-live .btn-plano::after { content:""; position:absolute; top:0; bottom:0; left:0; width:35%; background:linear-gradient(90deg,transparent,#fff5,transparent); pointer-events:none; animation:live-button-shine 7s ease-in-out infinite; }
 .live-v3 .planos-live .plano:nth-child(2n) .btn-plano::after { animation-delay:-3s; }
 .live-v3 .lv3-whatsapp-floating::after { content:""; position:absolute; inset:0; border-radius:99px; pointer-events:none; animation:live-contact-pulse 6s ease-out infinite; }
 .live-v3 .live-total-updated { border-radius:12px; animation:live-total-highlight .65s ease-out; }
 .lv3-black-popup .dialog-widget-content { animation:live-popup-arrival .38s ease-out; }
 .live-v3 .lv3-footer-accordion .elementor-tab-content { animation:live-rise .3s ease-out; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .live-v3 .lv3-benefit-card,.live-v3 .lv3-service-art,.live-v3 .lv3-quick-card { transition:transform .28s ease,box-shadow .28s ease; }
 .live-v3 .lv3-benefit-card:hover,.live-v3 .lv3-service-art:hover,.live-v3 .lv3-quick-card:hover { transform:translateY(-4px); box-shadow:0 12px 30px #0061bb14; }
 .live-v3 .planos-live .plano:hover { transform:translateY(-6px); box-shadow:0 14px 32px #0061bb1c; }
}
@media(prefers-reduced-motion:reduce) {
 .live-v3 .live-motion-enter,.live-v3 .live-total-updated { animation:none; opacity:1; transform:none; }
 .lv3-black-popup .dialog-widget-content { animation:none; }
}
