/* Só existe quando o JS decidiu mostrar (html.intro-on). Sem JS: nada. */
.site-intro { display: none; position: fixed; inset: 0; z-index: 100; background: var(--spa-offwhite); color: var(--spa-ink); align-items: center; justify-content: center; }
html.intro-on .site-intro { display: flex; }
html.intro-on body { overflow: hidden; }
.intro-palco { position: relative; width: min(90vw, 900px); text-align: center; display: grid; place-items: center; }
.intro-mascara { grid-area: 1 / 1; overflow: hidden; line-height: 1.1; padding: .1em 0; }
.intro-linha { font-family: var(--ff-display); font-weight: 800; font-size: clamp(2.2rem, 8vw, 6.5rem); letter-spacing: -.035em; white-space: nowrap; will-change: transform; }
.intro-logo { grid-area: 1 / 1; width: clamp(160px, 24vw, 270px); height: auto; opacity: 0; }
.intro-cursor { position: absolute; left: 50%; bottom: -3.2rem; width: 2px; height: 28px; background: var(--spa-cyan); transform: translateX(-50%); animation: intro-pisca 1s steps(2, end) infinite; }
@keyframes intro-pisca { to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .intro-cursor { animation: none; } }
