/* ORGASTRO BCN — Keyframes y clases de animación.
   Solo animan transform / opacity / box-shadow / text-shadow (propiedades
   baratas que no provocan reflow). Las animaciones de scroll viven en GSAP
   (scroll-fx.js, loader.js). Respeta prefers-reduced-motion al final. */

@keyframes pulseRingM{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}
  70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}
}

@keyframes wbounce{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}

@keyframes fireGlow{
  0%{box-shadow:0 0 26px 2px rgba(224,52,30,.5), 0 0 60px 10px rgba(242,140,20,.28), inset 0 0 30px rgba(224,52,30,.18)}
  50%{box-shadow:0 0 40px 6px rgba(242,140,20,.62), 0 0 92px 20px rgba(224,52,30,.4), inset 0 0 44px rgba(242,140,20,.26)}
  100%{box-shadow:0 0 30px 3px rgba(224,52,30,.55), 0 0 70px 14px rgba(224,52,30,.32), inset 0 0 34px rgba(224,52,30,.2)}
}

@keyframes stickerFloat{0%,100%{transform:translateY(0) rotate(var(--rot,0deg))}50%{transform:translateY(-10px) rotate(var(--rot,0deg))}}
.org-sticker{animation:stickerFloat 4.5s ease-in-out infinite}

@keyframes carFade{from{opacity:0}to{opacity:1}}

@keyframes wagentsGlow{0%,100%{text-shadow:0 0 0 rgba(224,52,30,0)}50%{text-shadow:0 0 10px rgba(242,140,20,.55),0 0 20px rgba(224,52,30,.35)}}
.org-credit a{animation:wagentsGlow 3.2s ease-in-out infinite}

/* Accesibilidad: si el usuario pide menos movimiento, se desactivan los
   bucles decorativos. */
@media (prefers-reduced-motion: reduce){
  .org-sticker,.org-credit a{animation:none}
}
