/* ============================================================
   SoftPay Fiscal — Movimento (reveal no scroll)
   Regra de ouro: nenhum conteúdo depende do JS para existir.
   O CSS só ESCONDE quando <html> ganha .reveal-ready (posto pelo
   main.js). Sem JS, GSAP ou com prefers-reduced-motion, tudo nasce
   visível.
   ============================================================ */

.reveal-ready [data-reveal] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity var(--d-slow) var(--e-out),
              transform var(--d-slow) var(--e-out);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.reveal-ready [data-reveal].is-in {
  opacity: 1;
  transform: none;
}

/* Variações de entrada */
.reveal-ready [data-reveal="left"]  { transform: translateX(-26px); }
.reveal-ready [data-reveal="right"] { transform: translateX(26px); }
.reveal-ready [data-reveal="scale"] { transform: scale(0.96); }
.reveal-ready [data-reveal="left"].is-in,
.reveal-ready [data-reveal="right"].is-in,
.reveal-ready [data-reveal="scale"].is-in { transform: none; }

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