.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{opacity:1;transform:none}
@keyframes vehicleMove{0%,100%{transform:translateX(0) rotate(-4deg)}50%{transform:translateX(30px) rotate(-1deg)}}
@keyframes alertFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 #1684ff55}50%{box-shadow:0 0 0 12px #1684ff00}}
@keyframes contactRing{
  0%{transform:scale(.78);opacity:.8}
  70%,100%{transform:scale(1.58);opacity:0}
}
@keyframes mobileCarDrive{
  0%,100%{transform:translateX(-9px) translateY(1px) rotate(-2deg)}
  50%{transform:translateX(15px) translateY(-3px) rotate(2deg)}
}
@keyframes mobileAlertFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}
@keyframes mobileDotPulse{
  0%,100%{transform:scale(.9);box-shadow:0 0 0 0 #1683f56b}
  50%{transform:scale(1.08);box-shadow:0 0 0 11px #1683f500}
}
@keyframes mobileRouteGlow{
  0%,100%{filter:drop-shadow(0 0 0 #ef283700)}
  50%{filter:drop-shadow(0 0 5px #ef283788)}
}
.vehicle{animation:vehicleMove 4s ease-in-out infinite}.alert-float{animation:alertFloat 3.6s ease-in-out infinite}.pin{animation:pulse 2s infinite}
.mobile-car{animation:mobileCarDrive 3.4s ease-in-out infinite}
.mobile-alert{animation:mobileAlertFloat 3s ease-in-out infinite}
.mobile-dot{animation:mobileDotPulse 2s ease-out infinite}.mobile-dot.d2{animation-delay:.35s}.mobile-dot.d3{animation-delay:.7s}
.mobile-route{animation:mobileRouteGlow 2.4s ease-in-out infinite}
.floating-contact a{--ring-color:#0057d9;position:relative;isolation:isolate}
.floating-contact a::before,.floating-contact a::after{content:"";position:absolute;inset:-2px;border:2px solid var(--ring-color);border-radius:50%;z-index:-1;pointer-events:none;animation:contactRing 2.2s ease-out infinite}
.floating-contact a::after{animation-delay:1.1s}
.floating-contact .whatsapp{--ring-color:#25d366}
.floating-contact .telephone{--ring-color:#0057d9}
.floating-contact .instagram{--ring-color:#e1306c}
.floating-contact .facebook{--ring-color:#1877f2}
.floating-contact a:nth-child(2)::before{animation-delay:.25s}.floating-contact a:nth-child(2)::after{animation-delay:1.35s}
.floating-contact a:nth-child(3)::before{animation-delay:.5s}.floating-contact a:nth-child(3)::after{animation-delay:1.6s}
.floating-contact a:nth-child(4)::before{animation-delay:.75s}.floating-contact a:nth-child(4)::after{animation-delay:1.85s}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
