/* Estilo compartilhado das páginas legais (privacidade.html, termos.html).
   Fontes servidas do próprio domínio — nenhuma requisição a terceiros. */
@font-face {
  font-family: 'Roboto'; font-style: normal; font-weight: 100 900;
  font-stretch: 100%; font-display: swap;
  src: url('fonts/roboto-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Roboto'; font-style: normal; font-weight: 100 900;
  font-stretch: 100%; font-display: swap;
  src: url('fonts/roboto-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --brand:#0E62FF; --brand-dark:#0047B2; --ink-900:#001529; --ink-700:#4a5568;
  --ink-500:#666; --line:#D9D9D9; --surface:#F0F2F5;
  --font-sans:"Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
* { box-sizing:border-box; }
body { margin:0; font-family:var(--font-sans); color:var(--ink-900); background:#fff; line-height:1.7; }
.legal-top { background:linear-gradient(-66deg,#002147 -9%,#0047B2 88%); color:#fff; padding:28px 0 56px; }
.legal-wrap { max-width:820px; margin:0 auto; padding:0 24px; }
.legal-top a.back { display:inline-flex; align-items:center; gap:10px; color:#fff; text-decoration:none; font-weight:700; font-size:20px; opacity:.9; }
.legal-top a.back:hover { opacity:1; }
.legal-top h1 { margin:40px 0 8px; font-size:40px; line-height:1.15; letter-spacing:-.01em; }
.legal-top p.updated { margin:0; font-size:14px; color:rgba(255,255,255,.75); }
main.legal-wrap { padding-top:48px; padding-bottom:80px; }
.legal-wrap h2 { margin:48px 0 12px; font-size:24px; line-height:1.25; color:var(--ink-900); scroll-margin-top:24px; }
.legal-wrap h3 { margin:28px 0 8px; font-size:18px; color:var(--brand-dark); }
.legal-wrap p, .legal-wrap li { font-size:16px; color:var(--ink-700); }
.legal-wrap ul, .legal-wrap ol { padding-left:22px; }
.legal-wrap li { margin-bottom:8px; }
.legal-wrap a { color:var(--brand); }
.legal-wrap strong { color:var(--ink-900); }
.toc { background:var(--surface); border-radius:12px; padding:24px 28px; margin:0; }
.toc h2 { margin:0 0 12px; font-size:14px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-500); }
.toc ol { margin:0; }
.note { border-left:4px solid var(--brand); background:var(--surface); padding:16px 20px; border-radius:0 8px 8px 0; margin:24px 0; }
.note p { margin:0; }
table.legal { width:100%; border-collapse:collapse; margin:16px 0; font-size:15px; display:block; overflow-x:auto; }
table.legal th, table.legal td { border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top; }
table.legal th { background:var(--surface); color:var(--ink-900); font-weight:700; }
table.legal td { color:var(--ink-700); }
.legal-foot { border-top:1px solid var(--line); margin-top:64px; padding-top:24px; font-size:14px; color:var(--ink-500); }
.draft { background:#FFF4CE; border:1px solid #E6C200; border-radius:8px; padding:16px 20px; margin:32px 0 0; font-size:15px; color:#5c4a00; }
.draft strong { color:#5c4a00; }
@media (max-width:640px){ .legal-top h1 { font-size:30px; } .legal-wrap h2 { font-size:21px; } }
