/* 1. Ignition sequence: cockpit panel wakes, needle sweeps, lamps test, headlights warm. */
.js [data-motion="leg-ignition"] .leg-hero-copy { animation: legIgnitionPanel .92s cubic-bezier(.18, .8, .24, 1) both paused; }
.js [data-motion="leg-ignition"] .leg-dashboard-needle { animation: legIgnitionNeedle 1.55s cubic-bezier(.24, .02, .22, 1) .2s both paused; }
.js [data-motion="leg-ignition"] .leg-dashboard-lamps i { animation: legIgnitionLamp .52s steps(2, end) 3 both paused; }
.js [data-motion="leg-ignition"] .leg-dashboard-lamps i:nth-child(2) { animation-delay: .16s; }
.js [data-motion="leg-ignition"] .leg-dashboard-lamps i:nth-child(3) { animation-delay: .32s; }
.js [data-motion="leg-ignition"] .leg-headlight { animation: legHeadlightWarm 3.8s ease-in-out infinite alternate both paused; }
.js [data-motion="leg-ignition"] .leg-headlight-right { animation-delay: .7s; }
.js [data-motion="leg-ignition"].is-motion-active .leg-hero-copy,
.js [data-motion="leg-ignition"].is-motion-active .leg-dashboard-needle,
.js [data-motion="leg-ignition"].is-motion-active .leg-dashboard-lamps i,
.js [data-motion="leg-ignition"].is-motion-active .leg-headlight { animation-play-state: running; }

@keyframes legIgnitionPanel {
  0% { opacity: 0; filter: brightness(.25); clip-path: circle(0 at 12% 50%); }
  62% { opacity: 1; filter: brightness(1.12); clip-path: circle(105% at 12% 50%); }
  100% { opacity: 1; filter: brightness(1); clip-path: circle(130% at 12% 50%); }
}
@keyframes legIgnitionNeedle {
  0% { transform: rotate(-104deg); }
  43% { transform: rotate(54deg); }
  68% { transform: rotate(9deg); }
  82% { transform: rotate(-31deg); }
  100% { transform: rotate(-22deg); }
}
@keyframes legIgnitionLamp {
  0%, 100% { background: #59606b; box-shadow: none; }
  50% { background: var(--leg-amber); box-shadow: 0 0 13px rgba(255, 180, 72, .8); }
}
@keyframes legHeadlightWarm {
  0% { opacity: .08; filter: blur(4px); }
  100% { opacity: .25; filter: blur(0); }
}

/* 2. Service bay sequence: three overhead doors open with different slat behaviour. */
.js [data-motion="leg-bays"] .leg-bay:nth-child(1)::before { animation: legBayDoorA .92s cubic-bezier(.2, .78, .22, 1) both paused; }
.js [data-motion="leg-bays"] .leg-bay:nth-child(2)::before { animation: legBayDoorB 1.02s cubic-bezier(.2, .78, .22, 1) .12s both paused; }
.js [data-motion="leg-bays"] .leg-bay:nth-child(3)::before { animation: legBayDoorC 1.08s cubic-bezier(.2, .78, .22, 1) .24s both paused; }
.js [data-motion="leg-bays"] .leg-bay > span,
.js [data-motion="leg-bays"] .leg-bay h3,
.js [data-motion="leg-bays"] .leg-bay p { animation: legBayContentRise .66s ease-out both paused; animation-delay: calc(.3s + var(--bay) * 130ms); }
.js [data-motion="leg-bays"] .leg-bay > i { animation: legBayTrack 2.6s linear infinite both paused; }
.js [data-motion="leg-bays"].is-motion-active .leg-bay::before,
.js [data-motion="leg-bays"].is-motion-active .leg-bay > span,
.js [data-motion="leg-bays"].is-motion-active .leg-bay h3,
.js [data-motion="leg-bays"].is-motion-active .leg-bay p,
.js [data-motion="leg-bays"].is-motion-active .leg-bay > i { animation-play-state: running; }

@keyframes legBayDoorA {
  0% { transform: translateY(0) scaleY(1); opacity: 1; }
  100% { transform: translateY(-84%) scaleY(.16); opacity: .22; }
}
@keyframes legBayDoorB {
  0% { transform: perspective(700px) rotateX(0); opacity: 1; }
  100% { transform: perspective(700px) rotateX(78deg); opacity: .2; }
}
@keyframes legBayDoorC {
  0% { clip-path: inset(0 0 0 0); opacity: 1; }
  100% { clip-path: inset(0 0 88% 0); opacity: .22; }
}
@keyframes legBayContentRise {
  0% { opacity: 0; transform: translateY(38px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes legBayTrack {
  to { background-position: 66px 0; }
}

/* 3. Roadside safety field: hazard lamps alternate, chevrons march, rule rows gain a halo. */
.js [data-motion="leg-hazard"] .leg-hazard-array span { animation: legHazardFlash 1.15s steps(2, end) infinite both paused; }
.js [data-motion="leg-hazard"] .leg-hazard-array span:nth-child(2) { animation-delay: .38s; }
.js [data-motion="leg-hazard"] .leg-hazard-array span:nth-child(3) { animation-delay: .76s; }
.js [data-motion="leg-hazard"] .leg-chevron-band { animation: legChevronMarch 2.4s linear infinite both paused; }
.js [data-motion="leg-hazard"] .leg-safety-rules li { animation: legSafetyHalo 1.05s ease-out both paused; }
.js [data-motion="leg-hazard"] .leg-safety-rules li:nth-child(2) { animation-delay: .18s; }
.js [data-motion="leg-hazard"] .leg-safety-rules li:nth-child(3) { animation-delay: .36s; }
.js [data-motion="leg-hazard"] .leg-safety-copy { animation: legSafetyZone .85s cubic-bezier(.2, .8, .28, 1) both paused; }
.js [data-motion="leg-hazard"].is-motion-active .leg-hazard-array span,
.js [data-motion="leg-hazard"].is-motion-active .leg-chevron-band,
.js [data-motion="leg-hazard"].is-motion-active .leg-safety-rules li,
.js [data-motion="leg-hazard"].is-motion-active .leg-safety-copy { animation-play-state: running; }

@keyframes legHazardFlash {
  0%, 48% { opacity: .24; filter: saturate(.5); }
  49%, 100% { opacity: 1; filter: saturate(1.25); }
}
@keyframes legChevronMarch {
  to { background-position: 68px 0; }
}
@keyframes legSafetyHalo {
  0% { box-shadow: inset 0 0 0 0 rgba(255, 180, 72, 0); }
  42% { box-shadow: inset 0 0 0 3px rgba(255, 180, 72, .58); }
  100% { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05); }
}
@keyframes legSafetyZone {
  0% { opacity: 0; clip-path: polygon(0 50%, 0 50%, 0 50%); }
  100% { opacity: 1; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
}

/* 4. Camera sequence: the contact print settles, shutter turns, focus corners lock, film advances. */
.js [data-motion="leg-camera"] .leg-data-photo { animation: legPhotoSettle .95s cubic-bezier(.18, .8, .24, 1) both paused; }
.js [data-motion="leg-camera"] .leg-shutter { animation: legCameraShutter 1.4s cubic-bezier(.2, .65, .24, 1) .25s both paused; }
.js [data-motion="leg-camera"] .leg-focus-frame i { animation: legFocusLock .72s cubic-bezier(.15, .8, .25, 1.2) .5s both paused; }
.js [data-motion="leg-camera"] .leg-filmstrip article { animation: legFilmAdvance .65s steps(4, end) both paused; animation-delay: calc(var(--frame) * 115ms); }
.js [data-motion="leg-camera"].is-motion-active .leg-data-photo,
.js [data-motion="leg-camera"].is-motion-active .leg-shutter,
.js [data-motion="leg-camera"].is-motion-active .leg-focus-frame i,
.js [data-motion="leg-camera"].is-motion-active .leg-filmstrip article { animation-play-state: running; }

@keyframes legPhotoSettle {
  0% { opacity: 0; transform: translateY(72px) rotate(5deg) scale(.92); }
  72% { opacity: 1; transform: translateY(-4px) rotate(-2.2deg) scale(1.01); }
  100% { opacity: 1; transform: translateY(0) rotate(-1.6deg) scale(1); }
}
@keyframes legCameraShutter {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(-120deg) scale(1.9); }
  45% { opacity: 1; transform: translate(-50%, -50%) rotate(0) scale(.42); }
  70% { opacity: .85; transform: translate(-50%, -50%) rotate(50deg) scale(1.15); }
  100% { opacity: .58; transform: translate(-50%, -50%) rotate(60deg) scale(1); }
}
@keyframes legFocusLock {
  0% { opacity: 0; transform: translate(34px, 28px) scale(1.45); }
  72% { opacity: 1; transform: translate(-3px, -2px) scale(.96); }
  100% { opacity: 1; transform: translate(0, 0) scale(1); }
}
@keyframes legFilmAdvance {
  0% { opacity: 0; transform: translateX(110px); }
  75% { opacity: 1; transform: translateX(-8px); }
  100% { opacity: 1; transform: translateX(0); }
}

/* 5. Loading deck sequence: image ramp lowers, steel slats extend, guide lamps chase. */
.js [data-motion="leg-deck"] .leg-platform-photo { animation: legRampLower 1.2s cubic-bezier(.16, .8, .23, 1) both paused; }
.js [data-motion="leg-deck"] .leg-deck-slats i { animation: legDeckExtend .82s cubic-bezier(.18, .76, .24, 1) both paused; }
.js [data-motion="leg-deck"] .leg-deck-slats i:nth-child(2) { animation-delay: .08s; }
.js [data-motion="leg-deck"] .leg-deck-slats i:nth-child(3) { animation-delay: .16s; }
.js [data-motion="leg-deck"] .leg-deck-slats i:nth-child(4) { animation-delay: .24s; }
.js [data-motion="leg-deck"] .leg-deck-slats i:nth-child(5) { animation-delay: .32s; }
.js [data-motion="leg-deck"] .leg-deck-slats i:nth-child(6) { animation-delay: .4s; }
.js [data-motion="leg-deck"] .leg-deck-slats i:nth-child(7) { animation-delay: .48s; }
.js [data-motion="leg-deck"] .leg-guide-lights span { animation: legGuideLights 1.15s steps(2, end) infinite both paused; }
.js [data-motion="leg-deck"] .leg-guide-lights span:nth-child(2) { animation-delay: .13s; }
.js [data-motion="leg-deck"] .leg-guide-lights span:nth-child(3) { animation-delay: .26s; }
.js [data-motion="leg-deck"] .leg-guide-lights span:nth-child(4) { animation-delay: .39s; }
.js [data-motion="leg-deck"] .leg-guide-lights span:nth-child(5) { animation-delay: .52s; }
.js [data-motion="leg-deck"] .leg-deck-diagram { animation: legDeckPanel .88s cubic-bezier(.2, .78, .26, 1) .2s both paused; }
.js [data-motion="leg-deck"].is-motion-active .leg-platform-photo,
.js [data-motion="leg-deck"].is-motion-active .leg-deck-slats i,
.js [data-motion="leg-deck"].is-motion-active .leg-guide-lights span,
.js [data-motion="leg-deck"].is-motion-active .leg-deck-diagram { animation-play-state: running; }

@keyframes legRampLower {
  0% { opacity: 0; transform: perspective(1100px) rotateX(-16deg) translateY(-70px); transform-origin: bottom; }
  75% { opacity: 1; transform: perspective(1100px) rotateX(2deg) translateY(5px); }
  100% { opacity: 1; transform: perspective(1100px) rotateX(0) translateY(0); }
}
@keyframes legDeckExtend {
  0% { opacity: 0; transform: scaleX(.05) skewY(12deg); }
  100% { opacity: 1; transform: scaleX(1) skewY(0); }
}
@keyframes legGuideLights {
  0%, 45% { opacity: .25; box-shadow: none; }
  46%, 100% { opacity: 1; box-shadow: 0 0 0 8px rgba(255, 180, 72, .12); }
}
@keyframes legDeckPanel {
  0% { opacity: 0; clip-path: polygon(0 0, 0 0, 0 100%, 0 100%); }
  100% { opacity: 1; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
}

/* 6. Dolly mechanism: bearing rotates, carrier travels, stops lock, circular aperture opens. */
.js [data-motion="leg-dolly"] .leg-bearing { animation: legBearingSpin 5.4s linear infinite both paused; }
.js [data-motion="leg-dolly"] .leg-dolly-track span { animation: legDollySlide 2.1s cubic-bezier(.45, 0, .25, 1) both paused; }
.js [data-motion="leg-dolly"] .leg-dolly-sequence li { animation: legWheelLock .72s cubic-bezier(.16, .8, .24, 1.2) both paused; }
.js [data-motion="leg-dolly"] .leg-dolly-sequence li:nth-child(2) { animation-delay: .17s; }
.js [data-motion="leg-dolly"] .leg-dolly-sequence li:nth-child(3) { animation-delay: .34s; }
.js [data-motion="leg-dolly"] .leg-wheels-photo { animation: legDollyAperture 1.1s cubic-bezier(.18, .78, .24, 1) both paused; }
.js [data-motion="leg-dolly"].is-motion-active .leg-bearing,
.js [data-motion="leg-dolly"].is-motion-active .leg-dolly-track span,
.js [data-motion="leg-dolly"].is-motion-active .leg-dolly-sequence li,
.js [data-motion="leg-dolly"].is-motion-active .leg-wheels-photo { animation-play-state: running; }

@keyframes legBearingSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes legDollySlide {
  0% { opacity: 0; transform: translateX(0) rotate(0); }
  12% { opacity: 1; }
  78% { opacity: 1; transform: translateX(var(--leg-dolly-mid, 36vw)) rotate(600deg); }
  100% { opacity: 0; transform: translateX(var(--leg-dolly-distance, 43vw)) rotate(720deg); }
}
@keyframes legWheelLock {
  0% { opacity: 0; transform: translateX(-45px) rotate(-7deg); }
  72% { opacity: 1; transform: translateX(5px) rotate(1deg); }
  100% { opacity: 1; transform: translateX(0) rotate(0); }
}
@keyframes legDollyAperture {
  0% { opacity: 0; clip-path: circle(8% at 50% 50%); }
  100% { opacity: 1; clip-path: circle(75% at 50% 50%); }
}

/* 7. Price plate sequence: plate inserts, four bolts seat, rate band snaps, amount illuminates. */
.js [data-motion="leg-plate"] .leg-price-plate { animation: legPlateInsert 1.08s cubic-bezier(.16, .82, .24, 1) both paused; }
.js [data-motion="leg-plate"] .leg-bolt { animation: legBoltSeat .64s cubic-bezier(.14, .78, .2, 1.35) both paused; }
.js [data-motion="leg-plate"] .leg-bolt-b { animation-delay: .14s; }
.js [data-motion="leg-plate"] .leg-bolt-c { animation-delay: .28s; }
.js [data-motion="leg-plate"] .leg-bolt-d { animation-delay: .42s; }
.js [data-motion="leg-plate"] .leg-km-band { animation: legKmBand .82s cubic-bezier(.18, .8, .25, 1) .55s both paused; }
.js [data-motion="leg-plate"] .leg-price-value { animation: legPriceGlow 1.8s ease-in-out .72s both paused; }
.js [data-motion="leg-plate"].is-motion-active .leg-price-plate,
.js [data-motion="leg-plate"].is-motion-active .leg-bolt,
.js [data-motion="leg-plate"].is-motion-active .leg-km-band,
.js [data-motion="leg-plate"].is-motion-active .leg-price-value { animation-play-state: running; }

@keyframes legPlateInsert {
  0% { opacity: 0; transform: perspective(1100px) translateX(-105px) rotateY(-18deg); }
  72% { opacity: 1; transform: perspective(1100px) translateX(7px) rotateY(2deg); }
  100% { opacity: 1; transform: perspective(1100px) translateX(0) rotateY(0); }
}
@keyframes legBoltSeat {
  0% { opacity: 0; transform: scale(2.2) rotate(-210deg); }
  72% { opacity: 1; transform: scale(.88) rotate(12deg); }
  100% { opacity: 1; transform: scale(1) rotate(0); }
}
@keyframes legKmBand {
  0% { opacity: 0; transform: scaleX(.08); transform-origin: left; }
  100% { opacity: 1; transform: scaleX(1); transform-origin: left; }
}
@keyframes legPriceGlow {
  0% { color: #6d43e4; text-shadow: none; }
  48% { color: #ff607c; text-shadow: 0 0 28px rgba(255, 96, 124, .28); }
  100% { color: #6d43e4; text-shadow: none; }
}

/* 8. Handover tension: strap tightens, ratchet advances by teeth, four nodes lock in sequence. */
.js [data-motion="leg-tension"] .leg-tension-line::before { animation: legStrapTension 1.15s cubic-bezier(.2, .8, .27, 1) both paused; }
.js [data-motion="leg-tension"] .leg-ratchet { animation: legRatchetStep 1.25s steps(6, end) .25s both paused; }
.js [data-motion="leg-tension"] .leg-tension-line article { animation: legHandoverNode .68s cubic-bezier(.16, .8, .25, 1.15) both paused; animation-delay: calc(var(--strap) * 145ms); }
.js [data-motion="leg-tension"] .leg-handover-note { animation: legStrapPulse 1.05s ease-out .7s both paused; }
.js [data-motion="leg-tension"].is-motion-active .leg-tension-line::before,
.js [data-motion="leg-tension"].is-motion-active .leg-ratchet,
.js [data-motion="leg-tension"].is-motion-active .leg-tension-line article,
.js [data-motion="leg-tension"].is-motion-active .leg-handover-note { animation-play-state: running; }

@keyframes legStrapTension {
  0% { transform: scaleY(.04); transform-origin: top; filter: saturate(.4); }
  72% { transform: scaleY(1.04); transform-origin: top; filter: saturate(1.4); }
  100% { transform: scaleY(1); transform-origin: top; filter: saturate(1); }
}
@keyframes legRatchetStep {
  0% { opacity: 0; transform: rotate(-180deg) scale(.7); }
  20% { opacity: 1; }
  100% { opacity: 1; transform: rotate(180deg) scale(1); }
}
@keyframes legHandoverNode {
  0% { opacity: 0; transform: translateX(78px); }
  68% { opacity: 1; transform: translateX(-6px); }
  100% { opacity: 1; transform: translateX(0); }
}
@keyframes legStrapPulse {
  0% { opacity: 0; box-shadow: inset 0 0 0 0 rgba(255, 96, 124, 0); }
  54% { opacity: 1; box-shadow: inset 0 0 0 4px rgba(255, 96, 124, .52); }
  100% { opacity: 1; box-shadow: inset 0 0 0 0 rgba(255, 96, 124, 0); }
}

/* 9. Owner manual sequence: glovebox lid opens, index tabs fan, active answer unfolds. */
.js [data-motion="leg-manual"] .leg-glovebox { animation: legGloveboxOpen 1.18s cubic-bezier(.16, .8, .24, 1) both paused; }
.js [data-motion="leg-manual"] .leg-manual-tabs span { animation: legManualFan .72s cubic-bezier(.15, .82, .23, 1.25) both paused; }
.js [data-motion="leg-manual"] .leg-manual-tabs span:nth-child(2) { animation-delay: .09s; }
.js [data-motion="leg-manual"] .leg-manual-tabs span:nth-child(3) { animation-delay: .18s; }
.js [data-motion="leg-manual"] .leg-manual-tabs span:nth-child(4) { animation-delay: .27s; }
.js [data-motion="leg-manual"] .leg-manual-tabs span:nth-child(5) { animation-delay: .36s; }
.js [data-motion="leg-manual"] .leg-manual-tabs span:nth-child(6) { animation-delay: .45s; }
.js [data-motion="leg-manual"] .leg-faq-photo { animation: legManualCover .9s cubic-bezier(.18, .8, .26, 1) both paused; }
.js [data-motion="leg-manual"].is-motion-active .leg-glovebox,
.js [data-motion="leg-manual"].is-motion-active .leg-manual-tabs span,
.js [data-motion="leg-manual"].is-motion-active .leg-faq-photo { animation-play-state: running; }
.leg-faq-list details[open] p { animation: legFaqPage .42s cubic-bezier(.2, .75, .28, 1) both; }

@keyframes legGloveboxOpen {
  0% { opacity: 0; transform: translate(-50%, -50%) perspective(800px) rotateX(0); transform-origin: top; }
  48% { opacity: 1; transform: translate(-50%, -50%) perspective(800px) rotateX(-62deg); }
  72% { transform: translate(-50%, -50%) perspective(800px) rotateX(9deg); }
  100% { opacity: 1; transform: translate(-50%, -50%) perspective(800px) rotateX(0); }
}
@keyframes legManualFan {
  0% { opacity: 0; transform: translateX(-80px) rotate(-16deg); }
  72% { opacity: 1; transform: translateX(5px) rotate(2deg); }
  100% { opacity: 1; transform: translateX(0) rotate(0); }
}
@keyframes legManualCover {
  0% { opacity: 0; clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); }
  100% { opacity: 1; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
}
@keyframes legFaqPage {
  0% { opacity: 0; transform: perspective(500px) rotateX(-20deg) translateY(-8px); transform-origin: top; }
  100% { opacity: 1; transform: perspective(500px) rotateX(0) translateY(0); transform-origin: top; }
}

/* 10. Dispatch radio: panel latches, tuner scans, scale bars answer, waveform breathes. */
.js [data-motion="leg-radio"] .leg-radio-panel { animation: legContactLatch .98s cubic-bezier(.16, .8, .24, 1) both paused; }
.js [data-motion="leg-radio"] .leg-radio-tuner { animation: legRadioTune 2.1s cubic-bezier(.45, 0, .25, 1) .35s both paused; }
.js [data-motion="leg-radio"] .leg-radio-scale i { animation: legRadioScale .9s ease-in-out infinite alternate both paused; }
.js [data-motion="leg-radio"] .leg-radio-scale i:nth-child(2n) { animation-delay: .17s; }
.js [data-motion="leg-radio"] .leg-radio-scale i:nth-child(3n) { animation-delay: .34s; }
.js [data-motion="leg-radio"] .leg-radio-wave span { animation: legWaveform 1.35s ease-in-out infinite alternate both paused; }
.js [data-motion="leg-radio"] .leg-radio-wave span:nth-child(2n) { animation-delay: .16s; }
.js [data-motion="leg-radio"] .leg-radio-wave span:nth-child(3n) { animation-delay: .32s; }
.js [data-motion="leg-radio"]::after { animation: legSignalLine 3.2s linear infinite both paused; }
.js [data-motion="leg-radio"].is-motion-active .leg-radio-panel,
.js [data-motion="leg-radio"].is-motion-active .leg-radio-tuner,
.js [data-motion="leg-radio"].is-motion-active .leg-radio-scale i,
.js [data-motion="leg-radio"].is-motion-active .leg-radio-wave span,
.js [data-motion="leg-radio"].is-motion-active::after { animation-play-state: running; }

@keyframes legContactLatch {
  0% { opacity: 0; transform: translateX(-88px); clip-path: inset(0 100% 0 0 round 8px); }
  72% { opacity: 1; transform: translateX(6px); clip-path: inset(0 0 0 0 round 8px); }
  100% { opacity: 1; transform: translateX(0); clip-path: inset(0 0 0 0 round 8px); }
}
@keyframes legRadioTune {
  0% { left: 13%; opacity: .35; }
  38% { left: 72%; opacity: 1; }
  61% { left: 46%; }
  100% { left: 30%; opacity: 1; }
}
@keyframes legRadioScale {
  0% { transform: scaleY(.35); opacity: .42; transform-origin: bottom; }
  100% { transform: scaleY(1); opacity: 1; transform-origin: bottom; }
}
@keyframes legWaveform {
  0% { transform: scaleY(.28); opacity: .35; }
  100% { transform: scaleY(1); opacity: 1; }
}
@keyframes legSignalLine {
  0% { filter: hue-rotate(0); }
  100% { filter: hue-rotate(360deg); }
}

@media (max-width: 840px) {
  .js [data-motion="leg-dolly"] .leg-dolly-track span { --leg-dolly-mid: 60vw; --leg-dolly-distance: 72vw; }
}

@media (max-width: 560px) {
  .js [data-motion="leg-camera"] .leg-data-photo { animation-name: legPhotoSettleMobile; }
  @keyframes legPhotoSettleMobile {
    0% { opacity: 0; transform: translateY(55px) rotate(3deg) scale(.94); }
    100% { opacity: 1; transform: translateY(0) rotate(-1deg) scale(1); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .leg-page { scroll-behavior: auto; }
  .leg-page [data-motion] *,
  .leg-page [data-motion] *::before,
  .leg-page [data-motion] *::after {
    animation: none !important;
    transition-duration: .01ms !important;
    transition-delay: 0ms !important;
  }
}
