/* Animations and motion preferences */

/* Reveal animations */
.reveal{ opacity:0; transform: translateY(8px); transition: opacity .5s ease, transform .5s ease; }
.reveal.show{ opacity:1; transform: translateY(0); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .btn, .card{ transition: none }
  .body-glow::before,.body-glow::after{ animation: none }
}

/* Keyframes */
@keyframes float{ 0%,100%{transform: translate3d(0,0,0) rotate(0deg)} 50%{transform: translate3d(2rem,-1rem,0) rotate(10deg)} }
@keyframes spin{ to { transform: rotate(360deg) } }

/* Disable overscroll chaining and rubber-band on the page */
html, body {
  height: 100%;
  overscroll-behavior: none; /* modern browsers + Safari 16.4+ */
  margin: 0;                 /* avoid default body margin gaps */
}