
/* ─────────────────────────────────────────
   ANIMAÇÕES
   ───────────────────────────────────────── */

/* ── Animações de entrada ── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.fu0  { animation: fadeUp 0.5s       ease both; }
.fu1  { animation: fadeUp 0.5s 0.08s ease both; }
.fu2  { animation: fadeUp 0.5s 0.16s ease both; }
.fu3  { animation: fadeUp 0.5s 0.24s ease both; }
.fu4  { animation: fadeUp 0.5s 0.32s ease both; }
.fu5  { animation: fadeUp 0.5s 0.40s ease both; }
.fu6  { animation: fadeUp 0.5s 0.48s ease both; }
.fu7  { animation: fadeUp 0.5s 0.56s ease both; }
.fu8  { animation: fadeUp 0.5s 0.64s ease both; }
.fu9  { animation: fadeUp 0.5s 0.72s ease both; }
.fu10 { animation: fadeUp 0.5s 0.80s ease both; }
.fu11 { animation: fadeUp 0.5s 0.88s ease both; }
.fu12 { animation: fadeUp 0.5s 0.96s ease both; }

@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
.cursor {
  display: inline-block; width: 4px; height: 0.85em;
  background: var(--red); animation: blink 1s step-end infinite;
  vertical-align: middle; margin-left: 4px;
}

.reveal { opacity: 0; transform: translateY(16px); transition: opacity 0.5s ease, transform 0.5s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 768px) {
  .hero { min-height: auto; padding: 96px 0 60px; }
  .hero-cta-row { flex-direction: column; }
  .hero-cta-row .btn { width: 100%; }
}
