@keyframes wingDraw { 0% { stroke-dashoffset: 460; } 55%,100% { stroke-dashoffset: 0; } }
@keyframes logoGlow { 0%,100% { filter: drop-shadow(0 0 0 rgba(168,200,152,0)); } 50% { filter: drop-shadow(0 0 14px rgba(168,200,152,.65)); } }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(168,200,152,.48); } 70% { box-shadow: 0 0 0 18px rgba(168,200,152,0); } 100% { box-shadow: 0 0 0 0 rgba(168,200,152,0); } }
@keyframes whatsappPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.07); } }
@keyframes bounceBadge { 0% { transform: scale(.6) translateY(18px); opacity: 0; } 65% { transform: scale(1.08) translateY(-3px); } 100% { transform: scale(1) translateY(0); opacity: 1; } }
@keyframes scrollArrow { 0%,100% { transform: translateX(0); opacity: .35; } 50% { transform: translateX(9px); opacity: 1; } }
@keyframes toastIn { from { transform: translateX(120%); } to { transform: translateX(0); } }

.wing-line { stroke-dasharray: 460; stroke-dashoffset: 460; animation: wingDraw 1.7s ease infinite alternate; }
.wing-line--delay { animation-delay: .22s; }
.preloader-mark { animation: logoGlow 1.6s infinite; }
.hero .button:first-child { animation: pulse 2.3s infinite; }
.hero-note::before { animation: scrollArrow 1.6s infinite; }
.whatsapp-float { animation: whatsappPulse 2.5s ease-in-out infinite; }
.car-card.in-view .price-badge { animation: bounceBadge .75s cubic-bezier(.34,1.56,.64,1) both; }
.toast { animation: toastIn .45s ease both; }

[data-reveal] { opacity: 0; transform: translateY(38px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
[data-reveal="left"] { transform: translateX(-45px); }
[data-reveal="right"] { transform: translateX(45px); }
[data-reveal="scale"] { transform: scale(.92); }
[data-reveal].in-view { opacity: 1; transform: none; }
.stagger > * { opacity: 0; transform: translateY(30px); transition: opacity .6s, transform .6s; }
.stagger.in-view > * { opacity: 1; transform: none; }
.stagger.in-view > *:nth-child(2) { transition-delay: .1s; }
.stagger.in-view > *:nth-child(3) { transition-delay: .2s; }
.stagger.in-view > *:nth-child(4) { transition-delay: .3s; }
.stagger.in-view > *:nth-child(5) { transition-delay: .4s; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal], .stagger > * { opacity: 1; transform: none; }
}

