/* Documentos: tokens da marca, leitura em areia e navegação em carvão. */
.pagina-legal {
  --legal-linha: color-mix(in srgb, var(--cor-texto) 18%, transparent);
}
.pagina-legal .legal {
  padding-top: clamp(2.5rem, 5vw, 5rem);
  padding-bottom: clamp(3rem, 7vw, 7rem);
}
.legal__abertura {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr);
  align-items: end;
  gap: 3rem;
  padding-bottom: 2.75rem;
}
.legal__sobrancelha {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 1.5rem;
  color: var(--cor-texto-luz);
  font-size: .75rem;
  font-weight: 650;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.legal__sobrancelha::before { content: ""; width: 1.75rem; height: 2px; background: currentColor; }
.legal__abertura h1 {
  max-width: 15ch;
  margin: 0;
  color: var(--terracota-500);
  font-size: clamp(2.7rem, 5.2vw, 4.5rem);
  font-stretch: 100%;
  font-weight: 760;
  line-height: 1.06;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.legal__apresentacao > p:first-child { max-width: 38ch; margin: 0; color: var(--cor-texto-suave); font-size: 1rem; line-height: 1.65; }
.legal__atualizacao { margin: 1.25rem 0 0; color: var(--cor-texto-suave); font-size: .75rem; }
.legal__atualizacao time { color: var(--cor-texto); font-variant-numeric: tabular-nums; }
.legal__documentos { display: flex; gap: 2.5rem; margin-bottom: 2.75rem; border-bottom: 1px solid var(--legal-linha); }
.legal__documentos a {
  display: flex;
  align-items: center;
  min-height: 56px;
  padding: .875rem 0;
  border-bottom: 3px solid transparent;
  color: var(--cor-texto-suave);
  font-size: .9375rem;
  font-weight: 550;
  text-decoration: none;
}
.legal__documentos a:hover { color: var(--cor-texto); }
.legal__documentos a[aria-current="page"] { color: var(--cor-texto); border-bottom-color: var(--marca); }
.legal__layout { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); align-items: start; gap: clamp(2rem, 5vw, 5rem); }
.legal__lateral { position: sticky; top: 6.5rem; min-width: 0; }
.legal__indice summary { display: flex; justify-content: space-between; align-items: center; min-height: 44px; cursor: pointer; list-style: none; font-size: .8125rem; font-weight: 650; }
.legal__indice summary::-webkit-details-marker { display: none; }
.legal__indice summary span { color: var(--cor-texto-marca); font-size: 1.25rem; font-weight: 400; }
.legal__indice[open] summary span { transform: rotate(45deg); }
.legal__indice nav { max-height: min(53vh, 32rem); overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--cor-borda-forte) transparent; margin-top: .5rem; padding: .25rem 6px .25rem 0; }
.legal__indice ol { list-style: none; counter-reset: legal-secao; margin: 0; padding: 0; }
.legal__indice li { counter-increment: legal-secao; }
.legal__indice a { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); align-items: baseline; gap: .625rem; min-height: 44px; padding: .65rem .25rem; color: var(--cor-texto-suave); font-size: .8125rem; line-height: 1.45; text-decoration: none; }
.legal__indice a::before { content: counter(legal-secao, decimal-leading-zero); font-size: .625rem; font-variant-numeric: tabular-nums; color: var(--cor-texto-marca); }
.legal__indice a:hover, .legal__indice a[aria-current="location"] { color: var(--cor-texto); text-decoration: underline; text-underline-offset: .25em; }
.legal__ajuda { margin-top: 1.75rem; padding-top: 1.75rem; border-top: 1px solid var(--legal-linha); }
.legal__ajuda h2 { margin: 0; font-size: 1rem; font-stretch: 100%; font-weight: 650; letter-spacing: -.015em; text-wrap: auto; }
.legal__ajuda p { margin: .75rem 0 .5rem; color: var(--cor-texto-suave); font-size: .8125rem; line-height: 1.6; }
.legal__ajuda a { display: inline-flex; align-items: center; gap: 1rem; min-height: 44px; color: var(--cor-texto-marca); font-size: .8125rem; text-underline-offset: .25em; }
.legal__papel { min-width: 0; padding: clamp(1.5rem, 4vw, 3.5rem); border-radius: 1rem; border-top: 3px solid var(--marca); color-scheme: light; }
.legal__papel .prosa-documento { font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.legal__papel .prosa-documento > :first-child { margin-top: 0; }
.legal__papel .prosa-documento > p:first-child { font-size: 1.125rem; line-height: 1.75; font-weight: 500; letter-spacing: -.015em; }
.legal__papel .prosa-documento h2 { margin: 2.75rem 0 1rem; padding-top: 1.75rem; border-top: 1px solid var(--cor-borda); font-size: clamp(1.35rem, 2vw, 1.7rem); font-stretch: 100%; font-weight: 720; letter-spacing: -.035em; line-height: 1.25; text-wrap: auto; scroll-margin-top: 1.5rem; }
.legal__papel .prosa-documento h3 { margin: 1.75rem 0 .75rem; font-size: 1.125rem; font-stretch: 100%; font-weight: 650; line-height: 1.4; text-wrap: auto; }
.legal__papel .prosa-documento p { margin-bottom: 1.25rem; }
.legal__papel .prosa-documento li { margin-bottom: .75rem; }
.legal__papel .prosa-documento li::marker { color: var(--cor-texto-marca); }
.legal__papel .prosa-documento blockquote { margin: 1.75rem 0; padding: 1.125rem 1.25rem; background: color-mix(in srgb, var(--marca) 6%, var(--cor-superficie-clara)); border-left: 3px solid var(--cor-texto-marca); border-radius: 0 .5rem .5rem 0; }
.legal__papel .prosa-documento blockquote p { margin: 0; }
.legal__papel .prosa-documento table { min-width: 34rem; font-size: .875rem; line-height: 1.6; overflow-wrap: normal; }
.legal__papel .tabela-rolante { margin: 1.5rem 0; scrollbar-color: var(--cor-texto-marca) var(--cor-superficie-clara); }
.legal__papel .tabela-rolante:focus-visible { outline: 2px solid var(--cor-foco); outline-offset: 3px; }
.legal__papel .prosa-documento th { background: color-mix(in srgb, var(--cor-texto) 6%, var(--cor-superficie-clara)); }
.legal__papel .prosa-documento td, .legal__papel .prosa-documento th { padding: .875rem; }
.legal__papel .prosa-documento h2:target { border-top-color: var(--cor-texto-marca); }
.legal__fim { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem 1.5rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--cor-borda); font-size: .75rem; line-height: 1.5; }
.legal__fim p { margin: 0; color: var(--cor-texto-suave); }
.legal__fim a { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; text-underline-offset: .25em; }
.legal :is(a, summary):focus-visible { outline: 2px solid var(--cor-foco); outline-offset: 3px; border-radius: 2px; }
@media (max-width: 64rem) {
  .legal__layout { grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); gap: 2rem; }
  .legal__abertura { gap: 2rem; }
}
@media (max-width: 54rem) {
  .legal__abertura { grid-template-columns: 1fr; gap: 1.5rem; padding-bottom: 1.75rem; }
  .legal__apresentacao > p:first-child { max-width: 50ch; }
  .legal__atualizacao { margin-top: .75rem; }
  .legal__documentos { margin-bottom: 1.5rem; }
  .legal__layout { display: flex; flex-direction: column; gap: 1.5rem; }
  .legal__lateral { position: static; display: contents; }
  .legal__indice { width: 100%; border: 1px solid var(--legal-linha); border-radius: .5rem; padding: .375rem 1rem; }
  .legal__indice nav { max-height: 20rem; }
  .legal__ajuda { order: 2; width: 100%; margin-top: .5rem; }
  .legal__papel { width: 100%; padding: 2rem; }
}
@media (max-width: 30rem) {
  .pagina-legal .legal { padding: 2rem 1rem 3rem; }
  .legal__abertura h1 { font-size: clamp(2.35rem, 10vw, 3rem); }
  .legal__sobrancelha { margin-bottom: 1.25rem; }
  .legal__documentos { gap: 1.5rem; }
  .legal__documentos a { font-size: .8125rem; }
  .legal__papel { padding: 1.5rem 1.125rem; border-radius: .75rem; }
  .legal__papel .prosa-documento > p:first-child { font-size: 1.0625rem; }
}
@media print {
  .legal__lateral, .legal__documentos, .legal__fim a { display: none; }
  .legal__layout { display: block; }
  .legal__papel { border: 0; padding: 0; }
  .legal__abertura { display: block; }
}
