/* =========================================================================
LEGAL — folha única das páginas de Privacidade e Termos.

Mesma paleta e mesmas famílias da landing (platform/index.html), para que a
página que fala de confiança não pareça um anexo colado de outro produto.
Tom único near-black de propósito: é superfície pública, sem alternador de
tema, igual à landing e às telas de auth. Ver core/theme-boot.js.

Medida de leitura ~68ch: são documentos para LER, não para escanear.
========================================================================= */
:root{
  --bg:#06070B; --bg-2:#0A0B10; --surface:#0F1118;
  --line:rgba(255,255,255,.07); --line-2:rgba(255,255,255,.13);
  --ink:#F4F5F8; --ink-2:rgba(244,245,248,.72);
  /* .44 dava 4.05:1 sobre o near-black — abaixo do piso de 4.5:1, e é a cor
     da data de vigência, do cabeçalho da tabela de dados e do rodapé. Num
     documento legal, "quando isto passa a valer" não pode ser a linha mais
     apagada da página. .56 leva os três para ~5.9:1.
        node dispatch/scripts/audit-contrast.js */
  --ink-3:rgba(244,245,248,.56);
  --gold:#D4A94E; --gold-lt:#E8C66A;
  --r-sm:8px; --r-md:16px;
  --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s9:80px;
  color-scheme: dark;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:16px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
.wrap{ max-width:760px; margin:0 auto; padding:0 var(--s5); }

/* ── topo ── */
.top{ border-bottom:1px solid var(--line); background:var(--bg-2); }
.top .wrap{
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--s4); padding-top:var(--s5); padding-bottom:var(--s5);
}
.top a.brand{ display:inline-flex; align-items:center; }
.top img{ height:34px; width:auto; display:block; }
.top nav{ display:flex; gap:var(--s5); flex-wrap:wrap; }
.top nav a{
  color:var(--ink-2); text-decoration:none; font-size:14px; font-weight:500;
}
.top nav a:hover, .top nav a[aria-current="page"]{ color:var(--gold); }

/* ── cabeçalho do documento ── */
header.doc{ padding:var(--s9) 0 var(--s6); }
header.doc h1{
  font-family:"Playfair Display", Georgia, serif;
  font-weight:600; font-size:clamp(34px,6vw,52px); line-height:1.06;
  margin:0 0 var(--s4); letter-spacing:-.02em; text-wrap:balance;
}
.dates{
  display:flex; flex-wrap:wrap; gap:var(--s5);
  font-family:"IBM Plex Mono", ui-monospace, monospace;
  font-size:12px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink-3); margin:0;
}
.lede{ font-size:18px; color:var(--ink-2); margin:var(--s5) 0 0; }

/* ── aviso honesto ── */
.note{
  margin:var(--s6) 0 0; padding:var(--s4) var(--s5);
  background:rgba(212,169,78,.07);
  border:1px solid rgba(212,169,78,.28);
  border-radius:var(--r-md);
  font-size:14.5px; color:var(--ink-2);
}
.note b{ color:var(--gold-lt); font-weight:600; }

/* ── corpo ── */
main{ padding:var(--s7) 0 var(--s9); }
section{ margin:0 0 var(--s7); scroll-margin-top:var(--s5); }
h2{
  font-family:"Playfair Display", Georgia, serif;
  font-weight:600; font-size:26px; line-height:1.2;
  margin:0 0 var(--s4); letter-spacing:-.01em;
}
h2 .n{
  font-family:"IBM Plex Mono", monospace; font-size:13px; font-weight:400;
  color:var(--gold); margin-right:var(--s3); vertical-align:2px;
}
h3{ font-size:16px; font-weight:600; margin:var(--s5) 0 var(--s2); }
p{ margin:0 0 var(--s4); color:var(--ink-2); }
ul{ margin:0 0 var(--s4); padding-left:22px; color:var(--ink-2); }
li{ margin-bottom:var(--s2); }
li::marker{ color:var(--gold); }
strong{ color:var(--ink); font-weight:600; }
a{ color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
a:hover{ color:var(--gold-lt); }
a:focus-visible, button:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

/* ── tabela de dados ── */
.tbl{ width:100%; overflow-x:auto; margin:0 0 var(--s4); }
table{ width:100%; border-collapse:collapse; font-size:14.5px; min-width:520px; }
th, td{
  text-align:left; vertical-align:top; padding:var(--s3) var(--s4);
  border-bottom:1px solid var(--line);
}
th{
  font-family:"IBM Plex Mono", monospace; font-weight:500; font-size:11.5px;
  letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3);
}
td{ color:var(--ink-2); }
td:first-child{ color:var(--ink); font-weight:500; width:34%; }

/* ── sumário ── */
.toc{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-md); padding:var(--s5); margin:0 0 var(--s7);
}
.toc h2{ font-family:"Inter",sans-serif; font-size:12px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-3); margin:0 0 var(--s3); }
.toc ol{ margin:0; padding-left:20px; columns:2; column-gap:var(--s6); }
@media (max-width:600px){ .toc ol{ columns:1; } }
.toc li{ margin-bottom:6px; break-inside:avoid; }
.toc a{ color:var(--ink-2); text-decoration:none; font-size:14.5px; }
.toc a:hover{ color:var(--gold); text-decoration:underline; }

/* ── rodapé ── */
footer{
  border-top:1px solid var(--line); background:var(--bg-2);
  padding:var(--s6) 0; font-size:13.5px; color:var(--ink-3);
}
footer .wrap{ display:flex; flex-wrap:wrap; gap:var(--s4); justify-content:space-between; }
footer a{ color:var(--ink-2); text-decoration:none; }
footer a:hover{ color:var(--gold); }

@media (prefers-reduced-motion: reduce){ *{ transition:none !important; } }
