/* FOTS — Animations utilities */
@keyframes floatUp{0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideInLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
@keyframes slideInRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes zoomIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}

.hero-content>*{animation:fadeUp .9s ease both}
.hero-content .eyebrow{animation-delay:.05s}
.hero-content h1{animation-delay:.18s}
.hero-content p{animation-delay:.32s}
.hero-content .hero-actions{animation-delay:.46s}

.anim-float{animation:floatUp 6s ease-in-out infinite}

.reveal-left{opacity:0;transform:translateX(-40px);transition:.8s ease}
.reveal-left.in{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(40px);transition:.8s ease}
.reveal-right.in{opacity:1;transform:none}
.reveal-zoom{opacity:0;transform:scale(.94);transition:.7s ease}
.reveal-zoom.in{opacity:1;transform:none}

/* stagger children */
.stagger>*{opacity:0;transform:translateY(28px);transition:.6s ease}
.stagger.in>*{opacity:1;transform:none}
.stagger.in>*:nth-child(2){transition-delay:.08s}
.stagger.in>*:nth-child(3){transition-delay:.16s}
.stagger.in>*:nth-child(4){transition-delay:.24s}
.stagger.in>*:nth-child(5){transition-delay:.32s}
.stagger.in>*:nth-child(6){transition-delay:.40s}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .reveal,.reveal-left,.reveal-right,.reveal-zoom,.stagger>*{opacity:1!important;transform:none!important}
}
