/* =========================================================================
   animations.css · keyframes e utilitários de movimento
   Movimento sóbrio: fade, reveal, parallax leve. Nada infantil.
   ========================================================================= */

@keyframes telaEntra {
  0% { opacity: 0; transform: translateY(18px) scale(0.995); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeUp {
  0% { opacity: 0; transform: translateY(16px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes entraDireita { to { transform: translateX(0); } }
@keyframes entraDireitaLeve {
  0% { opacity: 0; transform: translateX(-16px); }
  100% { opacity: 1; transform: translateX(0); }
}
@keyframes subirBarra { to { transform: translateX(-50%) translateY(0); } }
@keyframes pulso {
  0% { box-shadow: 0 0 0 0 rgba(245,195,60,0.55); }
  70% { box-shadow: 0 0 0 16px rgba(245,195,60,0); }
  100% { box-shadow: 0 0 0 0 rgba(245,195,60,0); }
}
@keyframes flutua {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-14px); }
}

/* ---- Reveal on scroll ---- */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.7s var(--transicao), transform 0.7s var(--transicao); }
.reveal.visivel { opacity: 1; transform: translateY(0); }
.reveal.d1 { transition-delay: 0.08s; }
.reveal.d2 { transition-delay: 0.16s; }
.reveal.d3 { transition-delay: 0.24s; }
.reveal.d4 { transition-delay: 0.32s; }
.reveal.d5 { transition-delay: 0.40s; }

/* números progressivos herdam via JS */
.contador { font-variant-numeric: tabular-nums; }

/* flutuação sutil de peças decorativas */
.flutua { animation: flutua 12s ease-in-out infinite; }

/* respeita quem prefere menos movimento */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
