/* ==========================================================================
   ANIMATIONS
   All respect prefers-reduced-motion via the override in base.css
   ========================================================================== */
@keyframes blink{0%,45%{opacity:1;}50%,95%{opacity:0;}100%{opacity:1;}}

@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(52,211,153,0.45);}
  70%{box-shadow:0 0 0 8px rgba(52,211,153,0);}
  100%{box-shadow:0 0 0 0 rgba(52,211,153,0);}
}

@keyframes scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* Scroll-reveal: elements start hidden, .in is toggled by js/reveal.js */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease;}
.reveal.in{opacity:1; transform:none;}
