/* ============================================================
   Phoenix Forge Studios — animations.css
   Keyframes + scroll-reveal. Respects prefers-reduced-motion.
   ============================================================ */

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes drop{0%{opacity:0;transform:translateY(-8px)}50%{opacity:1}100%{opacity:0;transform:translateY(8px)}}
@keyframes pulse{0%,100%{transform:scale(.85);opacity:.55}50%{transform:scale(1.15);opacity:1}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}

.hero-art img{animation:float 6s ease-in-out infinite}
.flag-visual .orb{animation:float 7s ease-in-out infinite}
.flag-visual .mon{animation:float 5s ease-in-out infinite}
.scroll-hint .ln{animation:drop 2s ease-in-out infinite}

/* scroll reveal — toggled by animations.js */
.reveal{opacity:0;transform:translateY(26px);
  transition:opacity .9s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}

/* lazy image fade-in */
img.lazy{opacity:0;transition:opacity .6s ease}
img.lazy.loaded{opacity:1}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important}
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

@keyframes kenburns{from{transform:scale(1.06) translateY(0)}to{transform:scale(1.15) translateY(-2%)}}
