/* Páginas legais (termos e privacidade): usam /site.css (tokens, topo e rodapé) + este arquivo. */
.legal { padding: 48px 0 80px; }
.legal .container { max-width: 780px; }
.legal h1 { font: 800 clamp(2rem, 4vw, 2.6rem)/1.1 var(--fonte-titulo); color: var(--roxo-900); letter-spacing: -.01em; }
.legal h1 .lt { font-weight: 300; }
.legal .meta { margin-top: 10px; font: 500 .8rem/1.5 var(--fonte); color: var(--texto-suave); letter-spacing: .06em; }
.legal .summary { margin: 28px 0 8px; padding: 20px 22px; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); }
.legal .summary ul { margin: 8px 0 0 18px; }
.legal h2 { margin: 36px 0 10px; font: 700 1.25rem/1.3 var(--fonte-titulo); color: var(--roxo-900); }
.legal h3 { margin: 20px 0 6px; font: 700 1rem/1.4 var(--fonte); color: var(--texto); }
.legal p, .legal li { color: var(--texto); line-height: 1.65; }
.legal p + p { margin-top: 10px; }
.legal ul { margin: 8px 0 0 20px; }
.legal li + li { margin-top: 6px; }
.legal a { color: var(--roxo-700); text-decoration: underline; text-underline-offset: 3px; }
.legal table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: .95rem; }
.legal th, .legal td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--linha); }
.legal th { font: 600 .72rem/1.3 var(--fonte); letter-spacing: .06em; text-transform: uppercase; color: var(--texto-suave); }
@media (max-width: 640px) { .legal table, .legal thead, .legal tbody, .legal tr, .legal th, .legal td { display: block; } .legal thead { display: none; } .legal td { border: 0; padding: 4px 0; } .legal tr { padding: 10px 0; border-bottom: 1px solid var(--linha); } }
