/* ============================================================
   AUTOCENTO — /css/animations.css
   Animazioni e transizioni. Rispetta prefers-reduced-motion.
   ============================================================ */

/* Scroll reveal */
/* ---------- Reveal animations ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal-d1{transition-delay:.08s}
.reveal-d2{transition-delay:.16s}
.reveal-d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .reveal{opacity:1;transform:none}
}

/* Hero scroll pulse */
@keyframes scrollPulse{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* Marquee */
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Apertura/chiusura menu full-screen ---------- */
.fsmenu{transition:opacity .55s cubic-bezier(.22,.61,.21,1),visibility 0s .55s}
.fsmenu.open{opacity:1;visibility:visible;transition:opacity .55s cubic-bezier(.22,.61,.21,1)}
.fsmenu__primary a,.fsmenu__secondary,.fsmenu__meta{
  opacity:0;transform:translateY(22px);
  transition:opacity .6s cubic-bezier(.22,.61,.21,1),transform .6s cubic-bezier(.22,.61,.21,1);
}
.fsmenu.open .fsmenu__primary a,.fsmenu.open .fsmenu__secondary,.fsmenu.open .fsmenu__meta{opacity:1;transform:none}
.fsmenu__preview{clip-path:inset(0 0 0 100%);transition:clip-path .8s cubic-bezier(.22,.61,.21,1)}
.fsmenu.open .fsmenu__preview{clip-path:inset(0 0 0 0)}
.burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ---------- Transizione di pagina ---------- */
body{animation:pageEnter .6s cubic-bezier(.22,.61,.21,1)}
@keyframes pageEnter{from{opacity:0}to{opacity:1}}
body.page-leave{opacity:0;transition:opacity .28s ease}

/* ---------- Zoom lento hero ---------- */
.hero__bg{animation:heroZoom 14s cubic-bezier(.22,.61,.21,1) both}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1.02)}}

@media (prefers-reduced-motion:reduce){
  body{animation:none}
  .hero__bg{animation:none}
  .fsmenu,.fsmenu__preview,.fsmenu__primary a,.fsmenu__secondary,.fsmenu__meta{transition-duration:.01ms}
}
