.hero-digitando { position: relative; }
.home-hero .hero-digitando { font-size: clamp(38px, 5.4vw, 72px); line-height: 1.08; }
.hero-frase { color: #fff; transition: color .65s ease, text-shadow .65s ease, background-size .85s ease; background: linear-gradient(90deg, #dfa44300, #dfa443aa, #dfa44300) left bottom / 0% 2px no-repeat; }
.hero-frase.is-em-foco { color: var(--brass); text-shadow: 0 0 35px #dfa44322; background-size: 100% 2px; }
.home-hero { position: relative; isolation: isolate; overflow: hidden; }
.home-hero > .shell { position: relative; z-index: 1; }
.hero-vivo { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.hero-luzes { position: absolute; inset: -12%; transform: translate(var(--hero-x, 0px), var(--hero-y, 0px)); transition: transform .35s ease-out; }
.hero-luz { position: absolute; border-radius: 50%; animation: luz-viva 10s ease-in-out infinite alternate; animation-play-state: paused; }
.hero-luz.azul { width: 65%; height: 90%; right: -10%; top: -25%; background: radial-gradient(ellipse, #2c75b18c, transparent 68%); }
.hero-luz.dourada { width: 55%; height: 65%; right: 0; bottom: -20%; background: radial-gradient(ellipse, #dba23f44, transparent 68%); animation-delay: -5s; animation-duration: 13s; }
.hero-luz.central { width: 45%; height: 65%; left: 25%; top: 15%; background: radial-gradient(ellipse, #22639355, transparent 70%); animation-delay: -3s; }
.hero-halo { position: absolute; left: var(--halo-x, 72%); top: var(--halo-y, 35%); width: 580px; height: 580px; border-radius: 50%; transform: translate(-50%, -50%); background: radial-gradient(circle, #dfaa4a2b 0%, #2b70a638 25%, transparent 65%); transition: left .4s ease-out, top .4s ease-out; }
.hero-malha { position: absolute; inset: 0; opacity: .15; background-image: radial-gradient(#8ca4b9 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(90deg, transparent 35%, #000); }
.hero-em-movimento .hero-luz { animation-play-state: running; }
.hero-movimento { margin-top: 22px; padding: 7px 0; color: #c2d1d8; font: inherit; font-size: 12px; border: 0; border-bottom: 1px solid #8198a566; background: transparent; cursor: pointer; }
.hero-movimento[hidden] { display: none; }
.hero-movimento:hover { color: var(--brass); }
.hero-movimento:focus-visible { outline: 2px solid var(--brass); outline-offset: 5px; }
@keyframes luz-viva { from { transform: translate(-9%, -7%) scale(.88); } to { transform: translate(12%, 9%) scale(1.15); } }
@media (prefers-reduced-motion: reduce) {
  .hero-frase { transition: none; }
  .hero-luz { animation: none; }
  .hero-luzes { transform: none; transition: none; }
  .hero-halo { transition: none; }
}

/* Hierarquia permanente: o dourado continua visível durante todo o ciclo. */
.hero-frase.is-em-foco { color: #fff; background-size: 100% 2px; }
.hero-chave { color: var(--brass, #e0a44a); }
.hero-frase.is-em-foco .hero-chave { text-shadow: 0 0 30px #e0a44a66; }
.hero-etapas { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.hero-etapas[hidden] { display: none; }
.hero-etapas button { position: relative; overflow: hidden; padding: 12px 16px; border: 1px solid #8198a566; border-radius: 8px; background: #0e2e47aa; color: #d5e0e6; font: inherit; font-size: 13px; cursor: pointer; transition: background .25s, border-color .25s, transform .25s; }
.hero-etapas button span { margin-right: 7px; color: var(--brass, #e0a44a); font-size: 11px; }
.hero-etapas button:hover { background: #204e70; transform: translateY(-3px); border-color: #e0a44a; }
.hero-etapas button[aria-pressed="true"] { color: #fff; border-color: #e0a44a; background: #e0a44a20; }
.hero-etapas button[aria-pressed="true"]::after { content: ''; position: absolute; bottom: 0; left: 0; height: 2px; width: 100%; background: #e0a44a; transform-origin: left; }
.hero-em-movimento .hero-etapas button[aria-pressed="true"]::after { animation: hero-progresso 3.2s linear; }
.hero-etapas button:focus-visible { outline: 2px solid #e0a44a; outline-offset: 4px; }
.hero-halo { width: 460px; height: 460px; background: radial-gradient(circle, #e0a44a55 0%, #3988bd55 28%, transparent 68%); }
.hero-halo::after { content: ''; position: absolute; inset: 25%; border: 1px solid #e0a44a66; border-radius: 50%; box-shadow: 0 0 70px #3f8abd44, inset 0 0 40px #e0a44a11; }
.hero-malha { opacity: .25; transform: translate(calc(var(--hero-x, 0px) * .25), calc(var(--hero-y, 0px) * .25)); transition: transform .4s ease-out; }
.home-hero[data-etapa="1"] .hero-luz.central { background: radial-gradient(ellipse, #367fc37a, transparent 70%); }
.home-hero[data-etapa="2"] .hero-luz.dourada { background: radial-gradient(ellipse, #e0a44a70, transparent 68%); }
@keyframes hero-progresso { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (max-width: 600px) { .hero-etapas { gap: 7px; } .hero-etapas button { padding: 10px 12px; font-size: 12px; } .hero-halo { width: 320px; height: 320px; } }
@media (prefers-reduced-motion: reduce) { .hero-etapas button, .hero-malha { transition: none; } .hero-etapas button:hover { transform: none; } .hero-em-movimento .hero-etapas button[aria-pressed="true"]::after { animation: none; } }