/* Páginas de documento (privacidade, termos, dados da empresa): leitura longa, com índice ao lado no computador. */
.hero-doc .hero-grade { display: block; }
.hero-doc .hero-texto { max-width: 46rem; }
.hero-doc .lead { margin-bottom: 14px; }
.doc-vigencia { margin: 0; font-size: .9rem; opacity: .75; }

.doc-layout { display: grid; gap: 28px; max-width: 62rem; margin: 0 auto; }
@media (min-width: 960px) {
  .doc-layout { grid-template-columns: 15rem minmax(0, 1fr); gap: 56px; align-items: start; }
  .doc-indice { position: sticky; top: 96px; }
}
.doc-indice { font-size: .92rem; }
.doc-indice p { margin: 0 0 10px; font-weight: 700; color: var(--tinta); }
.doc-indice ol { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 2px solid var(--papel-3); display: grid; gap: 2px; counter-reset: indice; }
.doc-indice li { counter-increment: indice; }
.doc-indice a { display: block; padding: 7px 0; color: var(--tinta-3); text-decoration: none; line-height: 1.35; }
.doc-indice a::before { content: counter(indice) ". "; color: var(--laranja-fosco); font-variant-numeric: tabular-nums; }
.doc-indice a:hover { color: var(--tinta); text-decoration: underline; text-underline-offset: 3px; }

.doc { max-width: 42rem; color: var(--tinta-2); font-size: 1.04rem; line-height: 1.7; counter-reset: secao; }
.doc section { counter-increment: secao; padding: 0 0 8px; margin: 0 0 30px; scroll-margin-top: 90px; }
.doc h2 { margin: 0 0 12px; font-size: clamp(1.25rem, 2.4vw, 1.5rem); line-height: 1.25; color: var(--tinta); }
.doc h2::before { content: counter(secao) ". "; color: var(--laranja-fosco); font-variant-numeric: tabular-nums; }
.doc p { margin: 0 0 14px; }
.doc ul { margin: 0 0 14px; padding-left: 1.2em; display: grid; gap: 8px; }
.doc li::marker { color: var(--laranja-fosco); }
.doc a { color: var(--tinta); text-underline-offset: 3px; text-decoration-thickness: 1.5px; text-decoration-color: var(--laranja-fosco); }
.doc a:hover { color: var(--laranja-fosco); }
.doc-dados { margin: 0; display: grid; border: 1px solid var(--papel-3); border-radius: 12px; overflow: hidden; }
.doc-dados div { display: grid; gap: 2px; padding: 14px 18px; }
.doc-dados div + div { border-top: 1px solid var(--papel-3); }
.doc-dados dt { font-size: .82rem; color: var(--tinta-3); }
.doc-dados dd { margin: 0; font-weight: 600; color: var(--tinta); }
@media (min-width: 640px) { .doc-dados div { grid-template-columns: 11rem 1fr; align-items: baseline; gap: 16px; } }
@media print { .doc-indice, .topo, .rodape { display: none; } .doc { max-width: none; } }
