/* ================================================
   animations.css – Keyframes e classes de animação
   ================================================ */

/* ── Reveal ao scroll ───────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}
.reveal.visible        { opacity: 1; transform: translateY(0); }
.reveal-delay-1        { transition-delay: 0.10s; }
.reveal-delay-2        { transition-delay: 0.20s; }
.reveal-delay-3        { transition-delay: 0.30s; }
.reveal-delay-4        { transition-delay: 0.40s; }

/* ── Float (hero) ───────────────────────────── */
.hero__circle    { animation: float 3.5s ease-in-out infinite; }
.hero__deco--1   { animation: floatAlt 4.0s ease-in-out infinite; }
.hero__deco--2   { animation: floatAlt 3.0s ease-in-out infinite 0.8s; }
.hero__deco--3   { animation: floatAlt 5.0s ease-in-out infinite 0.3s; }

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-12px); }
}
@keyframes floatAlt {
  0%, 100% { transform: translateY(0) scale(1); }
  50%       { transform: translateY(-8px) scale(1.05); }
}

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