body { padding: 0; background: var(--site-bg); }
:root { --text-muted: var(--site-texto-muted); } /* alias: scripts legados (privacidade-publico.js / termos-publico.js) usam esse nome em style inline */
.moldura-legal { min-height: 100vh; display: flex; justify-content: center; padding: 48px 20px 100px; }
.pagina-legal { width: 100%; max-width: min(94%, 900px); }
.cabecalho-legal { margin-bottom: 28px; }
.cabecalho-legal .marca { padding: 0; margin-bottom: 16px; font-size: 17px; font-weight: 800; color: var(--site-azul-escuro); }
.cabecalho-legal .marca a { color: var(--site-azul-escuro); display: inline-flex; align-items: center; gap: 8px; }
.cabecalho-legal .marca i { color: var(--site-azul-claro); font-size: 18px; }
.cabecalho-legal .marca span { color: var(--site-azul-claro); }
.cabecalho-legal h1 { font-size: 26px; margin: 0 0 6px; font-weight: 800; color: var(--site-azul-escuro); }
.cabecalho-legal .meta { color: var(--site-texto-muted); font-size: 13.5px; }
.corpo-legal {
    background: var(--site-surface); border: 1px solid var(--site-azul-linha); border-radius: var(--site-radius);
    box-shadow: var(--site-sombra);
    padding: 40px clamp(24px, 6vw, 64px);
}
.corpo-legal p { margin: 0 0 14px; font-size: 15px; line-height: 1.75; color: var(--site-texto); text-align: justify; text-justify: inter-word; }
.corpo-legal p:last-child { margin-bottom: 0; }
.rodape-legal {
    margin-top: 24px; font-size: 13.5px; color: var(--site-texto-muted);
    display: flex; gap: 20px; flex-wrap: wrap; justify-content: center;
}
.rodape-legal a { color: var(--site-azul-claro); font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }
