/* ===========================================================
   Pickel'z — animations.css  (v3)
   Scroll reveal, hero intro, parallax layer transforms.
   Collapses under prefers-reduced-motion.
   =========================================================== */

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.is-visible{opacity:1;transform:none;}

/* ---------- Hero intro (no loading screen) ---------- */
.hero__content{opacity:0;}
.hero.is-ready .hero__content{animation:introUp .9s var(--ease) forwards;}
.hero__burger{opacity:0;}
.hero.is-ready .hero__burger{animation:fadeIn 1s .25s var(--ease) forwards;}
.hero__more svg{animation:bobble 1.8s ease-in-out infinite;}

/* ---------- Parallax layers (JS sets --sy / --cx / --cy) ---------- */
[data-speed]{transform:translate3d(0,var(--sy,0),0);will-change:transform;}
.ed-float[data-speed]{transform:translate3d(var(--cx,0),calc(var(--sy,0) + var(--cy,0)),0);transition:transform .25s ease-out;}

/* ---------- Keyframes ---------- */
@keyframes introUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
@keyframes fadeIn{to{opacity:1;}}
@keyframes bobble{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .hero__content,.hero__burger{opacity:1;animation:none;}
  .hero__more svg{animation:none;}
  [data-speed],.ed-float[data-speed]{transform:none;}
  body::before{animation:none;}
}
