/* Estados iniciais de movimento. Só valem com JS pronto (html.js); sem JS, tudo visível. */
html.js .hero-title:not(.is-ready) { visibility: hidden; animation: show-fallback 0s 3s forwards; }
@keyframes show-fallback { to { visibility: visible; } }           /* evita flash antes de dividir as palavras */
.w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .12em; margin-bottom: -.12em; }
.wi { display: inline-block; will-change: transform; }

.truth-big .w { overflow: visible; padding: 0; margin: 0; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-bg::before, .hero-bg::after { animation: none; }
  .btn-primary::after { display: none; }
}
.hero-bg.is-off::before, .hero-bg.is-off::after { animation-play-state: paused; }
