/* VOXYN — folha de estilo dos documentos legais.
   Direção: editorial escuro. A tela existe pra LER e pra ACHAR uma cláusula.
   Sem card, sem glass, sem gradiente de marca espalhado. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: #070B14;
  color: #C9D1E0;
  font: 400 16px/1.7 "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: #8F89FF; text-decoration: none; border-bottom: 1px solid rgba(143,137,255,.35); }
a:hover { color: #FFF; border-bottom-color: #6C63FF; }

/* topo fino — identidade sem hero */
.topo {
  position: sticky; top: 0; z-index: 20;
  display: flex; align-items: baseline; gap: 16px;
  padding: 14px 28px;
  background: rgba(7,11,20,.92);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid #16203A;
}
.marca { font-size: 15px; font-weight: 800; letter-spacing: .22em; color: #FFF; }
.marca span { color: #6C63FF; }
.topo nav { margin-left: auto; display: flex; gap: 20px; font-size: 13px; }
.topo nav a { border: 0; color: #7C8AA6; }
.topo nav a:hover, .topo nav a[aria-current] { color: #FFF; }

.wrap { max-width: 1120px; margin: 0 auto; padding: 0 28px 96px; }

/* cabeçalho do documento: assimétrico, sem centralizar */
header.doc { padding: 56px 0 34px; border-bottom: 1px solid #16203A; }
header.doc .tipo {
  font-size: 11px; letter-spacing: .28em; text-transform: uppercase;
  color: #FF6B9D; font-weight: 700; margin-bottom: 14px;
}
header.doc h1 {
  margin: 0 0 18px; color: #FFF;
  font-size: clamp(30px, 5.4vw, 46px); line-height: 1.08;
  font-weight: 800; letter-spacing: -.02em; max-width: 16ch;
}
header.doc .resumo { max-width: 62ch; color: #9FB0C9; font-size: 17px; }
header.doc .meta {
  margin-top: 26px; display: flex; flex-wrap: wrap; gap: 8px 30px;
  font-size: 13px; color: #6E7D97;
}
header.doc .meta b { color: #C9D1E0; font-weight: 600; }

/* corpo: índice à esquerda (só em tela grande), texto à direita */
.corpo { display: grid; grid-template-columns: 232px minmax(0, 1fr); gap: 64px; padding-top: 44px; align-items: start; }
@media (max-width: 900px) { .corpo { grid-template-columns: 1fr; gap: 0; } }

.indice { position: sticky; top: 78px; font-size: 13px; }
@media (max-width: 900px) {
  .indice { position: static; margin: 0 0 40px; padding: 20px 0; border-top: 1px solid #16203A; border-bottom: 1px solid #16203A; }
}
.indice p { margin: 0 0 14px; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: #55637C; }
.indice ol { list-style: none; margin: 0; padding: 0; counter-reset: idx; }
.indice li { counter-increment: idx; margin-bottom: 9px; display: flex; gap: 10px; }
.indice li::before { content: counter(idx, decimal-leading-zero); color: #3D4A66; font-variant-numeric: tabular-nums; font-size: 12px; padding-top: 1px; }
.indice a { border: 0; color: #8296B4; }
.indice a:hover { color: #FFF; }

article { max-width: 70ch; }
article section { padding: 34px 0; border-top: 1px solid #121B31; }
article section:first-of-type { border-top: 0; padding-top: 0; }
article h2 {
  margin: 0 0 16px; color: #FFF; font-size: 21px; font-weight: 700; letter-spacing: -.01em;
  display: flex; gap: 14px; align-items: baseline; scroll-margin-top: 86px;
}
article h2 .n { color: #6C63FF; font-size: 13px; font-variant-numeric: tabular-nums; font-weight: 700; letter-spacing: .06em; }
article h3 { margin: 26px 0 8px; color: #E4EAF5; font-size: 15px; font-weight: 650; }
article p { margin: 0 0 14px; }
article ul { margin: 0 0 14px; padding-left: 20px; }
article li { margin-bottom: 7px; }
article strong { color: #E9EEF8; font-weight: 600; }

/* destaque de leitura — usado com parcimônia, só onde a informação muda decisão */
.nota {
  margin: 22px 0; padding: 16px 18px; border-left: 2px solid #6C63FF;
  background: #0C1220; font-size: 15px; color: #AEBCD3;
}
.nota.alerta { border-left-color: #FF6B9D; }
.nota.ok { border-left-color: #00D4FF; }
.nota b { color: #FFF; }

/* tabela de dados — informação densa, sem virar card */
.dados { width: 100%; border-collapse: collapse; margin: 18px 0 22px; font-size: 14.5px; }
.dados th, .dados td { text-align: left; vertical-align: top; padding: 11px 14px 11px 0; border-bottom: 1px solid #121B31; }
.dados th { color: #6E7D97; font-weight: 600; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.dados td:first-child { color: #E4EAF5; font-weight: 600; width: 30%; }
@media (max-width: 640px) {
  .dados, .dados tbody, .dados tr, .dados td { display: block; width: 100%; }
  .dados thead { display: none; }
  .dados tr { padding: 12px 0; border-bottom: 1px solid #121B31; }
  .dados td { border: 0; padding: 2px 0; }
  .dados td:first-child { width: auto; margin-bottom: 4px; }
}

footer.rodape {
  margin-top: 64px; padding-top: 26px; border-top: 1px solid #16203A;
  font-size: 13.5px; color: #6E7D97; display: flex; flex-wrap: wrap; gap: 10px 34px;
}
footer.rodape a { color: #8296B4; border: 0; }
footer.rodape a:hover { color: #FFF; }
