/* Conteúdo permanece visível quando JavaScript está desativado. */
.animar-suave { transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.animar-suave.aguardando-entrada { opacity: 0; transform: translateY(24px); }
.animar-suave.is-visible { opacity: 1; transform: translateY(0); }
.animar-suave:focus-within { opacity: 1; transform: none; }

/* translate é independente do transform já usado no hover dos CTAs. */
.btn { position: relative; overflow: hidden; isolation: isolate; }
.btn.whatsapp { position: fixed; }
.btn.magnetico { translate: var(--magnet-x, 0px) var(--magnet-y, 0px); transition: translate .24s ease-out, transform .2s ease, background .2s ease; }
.btn:focus-visible { --magnet-x: 0px !important; --magnet-y: 0px !important; }
.ripple { position: absolute; border-radius: 50%; pointer-events: none; background: currentColor; opacity: .22; transform: scale(0); animation: ripple-expand .6s ease-out forwards; }
@keyframes ripple-expand { to { transform: scale(1); opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .animar-suave, .animar-suave.aguardando-entrada, .animar-suave.is-visible { opacity: 1; transform: none; transition: none; }
  .btn.magnetico { translate: none; transition: none; }
  .btn:hover { transform: none; }
  .ripple { display: none; animation: none; }
}
