/* demo-animations.css — utilitário compartilhado de scroll-reveal + micro-interações
   Usado por todos os nichos junto com demo-animations.js */

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1); }
.reveal.is-visible { opacity: 1; transform: none; }
.reveal-1.is-visible { transition-delay: .06s; }
.reveal-2.is-visible { transition-delay: .12s; }
.reveal-3.is-visible { transition-delay: .18s; }
.reveal-4.is-visible { transition-delay: .24s; }
.reveal-5.is-visible { transition-delay: .3s; }
.reveal-6.is-visible { transition-delay: .36s; }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Hero: entrada suave do conteúdo ao carregar a página */
@keyframes demoFadeInUp {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}
.hero-anim > * { animation: demoFadeInUp .8s cubic-bezier(.2,.7,.3,1) both; }
.hero-anim > *:nth-child(2) { animation-delay: .08s; }
.hero-anim > *:nth-child(3) { animation-delay: .16s; }
.hero-anim > *:nth-child(4) { animation-delay: .24s; }
.hero-anim > *:nth-child(5) { animation-delay: .32s; }

@media (prefers-reduced-motion: reduce) {
  .hero-anim > * { animation: none !important; }
}
