/* animations.css — one orchestrated moment (hero shine) + counters + reveal on a few blocks */
@keyframes shine{from{background-position:100% 0}to{background-position:0 0}}
@keyframes twinkle{0%,100%{transform:scale(.6) rotate(0);opacity:0}40%{transform:scale(1) rotate(45deg);opacity:1}80%{opacity:0}}
@keyframes floatIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-title .shine{animation:shine 2.2s cubic-bezier(.3,.6,.2,1) .4s both}
.hero-spark{position:absolute;width:40px;height:40px;color:var(--ice);pointer-events:none;animation:twinkle 2.2s ease .9s both}
.hero .float-card{animation:floatIn .6s ease both}
.hero .fc-1{animation-delay:.9s}.hero .fc-2{animation-delay:1.1s}.hero .fc-3{animation-delay:1.3s}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .hero-title .shine{animation:none;background:none;color:var(--heading)}
  .hero-spark{display:none}
  .reveal{opacity:1;transform:none}
}
