/* NGOV · página "Em breve" (index.html): logo, frase rotativa (phrases.js) e um aperitivo do que
   o NGOV faz (lead, os cinco produtos e as fontes), sem links e sem e-mail.
   O site completo em revisão fica em /site/. */
:root {
  --bg: #fbfaf8;
  --text: #16181d;
  --muted: #76726c;
  --plum: #792f63;
  --plum-soft: rgba(121, 47, 99, 0.08);
  --line: rgba(22, 24, 29, 0.1);
  --font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0c1322;
    --text: #f1f3f6;
    --muted: #97a0ae;
    --plum: #cf7fb2;
    --plum-soft: rgba(207, 127, 178, 0.12);
    --line: rgba(241, 243, 246, 0.12);
    color-scheme: dark;
  }
}
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}
.soon {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  padding: 2rem 1.5rem;
  text-align: center;
}
.soon__brand { display: block; color: inherit; margin-bottom: .5rem; }
.logo { width: clamp(180px, 32vw, 320px); height: auto; fill: currentColor; display: block; }
.soon__badge {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .45rem 1rem;
  border-radius: 999px;
  background: var(--plum-soft);
  color: var(--plum);
  font-size: .85rem;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pulse { position: relative; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.pulse::after {
  content: ""; position: absolute; inset: -4px; border-radius: 50%;
  border: 1px solid currentColor; opacity: 0;
  animation: pulse 2.8s ease-out infinite;
}
@keyframes pulse { 0% { transform: scale(.6); opacity: .8; } 100% { transform: scale(2); opacity: 0; } }
.soon__lead {
  margin: 0;
  font-size: clamp(1.25rem, 1rem + 1.6vw, 1.75rem);
  color: var(--text);
  max-width: 34ch;
  line-height: 1.4;
  letter-spacing: -0.01em;
  text-wrap: balance;
  min-height: 4.2em; /* 3 linhas: evita o salto de layout quando a frase muda */
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Rotor de frases (phrases.js): fade de 600 ms em cada troca; sem animação com reduced-motion */
.phrase-rotor { opacity: 1; transition: opacity 600ms ease; }
.phrase-rotor.is-out { opacity: 0; }
@media (prefers-reduced-motion: reduce) { .pulse::after { animation: none; } .phrase-rotor { transition: none; } }
