/* páginas institucionais (privacidade, termos, suporte, excluir conta) — mesmos tokens do site */
:root {
  --blue-700:#154B70; --blue-600:#1B5E8C; --blue-300:#6FA8D4; --blue-100:#E3EEF6; --coral-500:#D9603B;
  --bg:#F6F3EE; --surface:#FFFFFF; --surface-2:#EFEAE2; --border:#E2DCD2; --text:#1E2126; --text-2:#5B6068; --text-3:#8A9099;
  --primary:var(--blue-600); --primary-soft:var(--blue-100); --accent:var(--coral-500);
  --serif:'Newsreader', Georgia, 'Times New Roman', serif; --ui:'Outfit', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --bg:#12151A; --surface:#1B1F26; --surface-2:#242932; --border:#2B313A; --text:#F2EFE9; --text-2:#A9AEB7; --text-3:#737983;
  --primary:var(--blue-300); --primary-soft:rgba(111,168,212,.16); --accent:#E8795A; } }
:root[data-theme="dark"] { --bg:#12151A; --surface:#1B1F26; --surface-2:#242932; --border:#2B313A; --text:#F2EFE9; --text-2:#A9AEB7; --text-3:#737983;
  --primary:var(--blue-300); --primary-soft:rgba(111,168,212,.16); --accent:#E8795A; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--ui); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; padding-inline: 20px; }
a { color: var(--primary); text-underline-offset: 3px; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; border-radius: 4px; }
.topo { max-width: 760px; margin: 0 auto; padding-block: 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.topo .logo { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 18px; color: var(--text); text-decoration: none; }
.topo .logo img { height: 28px; }
.so-escuro { display: none; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .so-claro { display: none; } :root:not([data-theme="light"]) .so-escuro { display: inline; } }
.topo .voltar { font-size: 15px; text-decoration: none; }
main { max-width: 760px; margin: 0 auto; padding-block: 12px 56px; }
.caps { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); font-weight: 600; }
h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(34px, 6vw, 46px); line-height: 1.12; margin: 8px 0 12px; text-wrap: balance; }
h2 { font-family: var(--serif); font-weight: 500; font-size: 27px; line-height: 1.25; margin: 44px 0 10px; text-wrap: balance; scroll-margin-top: 16px; }
h3 { font-size: 18px; font-weight: 600; margin: 26px 0 6px; }
p, li { max-width: 68ch; }
.lead { font-size: 19px; color: var(--text-2); margin: 0 0 8px; }
.data { font-size: 14px; color: var(--text-3); margin: 0 0 28px; }
ul, ol { padding-left: 22px; } li { margin: 4px 0; }
.quadro { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 18px 22px; margin: 22px 0; }
.quadro.destaque { border-color: var(--primary); background: var(--primary-soft); }
.quadro p:first-child, .quadro h3:first-child { margin-top: 0; } .quadro p:last-child, .quadro ul:last-child { margin-bottom: 0; }
.indice { columns: 2 260px; column-gap: 32px; margin: 0; padding-left: 20px; }
.indice li { break-inside: avoid; }
.tabela { overflow-x: auto; margin: 16px 0; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
table { width: 100%; border-collapse: collapse; font-size: 15.5px; line-height: 1.5; }
th, td { text-align: left; vertical-align: top; padding: 11px 14px; border-bottom: 1px solid var(--border); }
th { font-weight: 600; background: var(--surface-2); } tr:last-child td { border-bottom: 0; }
td:first-child { font-weight: 500; white-space: nowrap; }
.passos { counter-reset: p; list-style: none; padding: 0; }
.passos li { counter-increment: p; position: relative; padding-left: 44px; margin: 14px 0; }
.passos li::before { content: counter(p); position: absolute; left: 0; top: 1px; width: 30px; height: 30px; border-radius: 50%; background: var(--primary-soft); color: var(--primary); font-weight: 700; display: grid; place-items: center; font-size: 15px; }
.btn { display: inline-flex; align-items: center; gap: 8px; background: var(--primary); color: var(--bg); text-decoration: none; font-weight: 600; padding: 12px 20px; border-radius: 999px; }
.rodape { max-width: 760px; margin: 0 auto; padding-block: 28px 40px; border-top: 1px solid var(--border); font-size: 14.5px; color: var(--text-2); display: flex; flex-wrap: wrap; gap: 8px 22px; }
.rodape a { color: var(--text-2); }
@media (max-width: 480px) { body { font-size: 16px; } h2 { font-size: 24px; } td:first-child { white-space: normal; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
