/* OperVyn · páginas de privacidade, cookies, termos, segurança e direitos
   Mesma família do site (modelo.css). Topo escuro, leitura em branco, uma cor de destaque. */
:root {
  --escuro: #0A0A16; --tinta: #11111C; --tinta-2: #4A4A5E; --mudo: #77778C; --linha: #E4E4EC;
  --acento: #6C4BFF; --lilas: #8B7CFF;
  --disp: "Inter Tight", system-ui, sans-serif;
  --txt: Inter, system-ui, sans-serif;
  --mono: "Geist Mono", ui-monospace, monospace;
  --pad: clamp(16px, 4vw, 40px);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body { background: #fff; color: var(--tinta); font: 400 16.5px/1.65 var(--txt); -webkit-font-smoothing: antialiased; }
a { color: inherit; }

.topo { background: var(--escuro); color: #fff; }
.topo-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1200px; margin: 0 auto; padding: 18px var(--pad); }
.marca { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font: 600 21px/1 var(--disp); letter-spacing: -.035em; }
.marca img, .marca svg { width: 30px; height: 30px; }
.topo-nav { display: flex; flex-wrap: wrap; gap: 6px 22px; font: 500 14px/1 var(--txt); }
.topo-nav a { color: rgba(255, 255, 255, .7); text-decoration: none; padding: 6px 0; }
.topo-nav a:hover, .topo-nav a.on { color: var(--lilas); }

.capa { background: var(--escuro); color: #fff; padding: clamp(40px, 7vw, 88px) 0 clamp(36px, 6vw, 72px); }
.capa .wrap { max-width: 1200px; margin: 0 auto; padding: 0 var(--pad); }
.capa .dt { font: 500 12px/1.3 var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--lilas); }
.capa h1 { margin-top: 14px; font: 700 clamp(34px, 5vw, 56px)/1.04 var(--disp); letter-spacing: -.035em; max-width: 900px; }
.capa p { margin-top: 18px; max-width: 720px; font-size: 17.5px; color: rgba(255, 255, 255, .78); }

.doc { max-width: 820px; margin: 0 auto; padding: clamp(36px, 5vw, 64px) var(--pad) clamp(60px, 8vw, 100px); }
.doc h2 { margin-top: 44px; font: 700 clamp(22px, 2.6vw, 28px)/1.12 var(--disp); letter-spacing: -.02em; }
.doc h2:first-child { margin-top: 0; }
.doc h2 .n { margin-right: 12px; font: 500 14px/1 var(--mono); color: var(--acento); vertical-align: 3px; }
.doc h3 { margin-top: 26px; font: 600 17px/1.3 var(--txt); }
.doc p, .doc li { margin-top: 12px; color: var(--tinta-2); }
.doc p b, .doc li b { color: var(--tinta); font-weight: 600; }
.doc ul, .doc ol { padding-left: 22px; }
.doc li { margin-top: 8px; }
.doc table { width: 100%; margin-top: 16px; border-collapse: collapse; font-size: 15px; }
.doc th, .doc td { padding: 10px 12px 10px 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--linha); color: var(--tinta-2); }
.doc th { font: 500 12px/1.3 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--mudo); }
.doc .meta { display: flex; flex-wrap: wrap; gap: 8px 28px; padding-bottom: 20px; border-bottom: 1px solid var(--linha); font: 500 12.5px/1.4 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--mudo); }
.doc .aviso { margin-top: 24px; padding: 16px 18px; border: 2px dotted rgba(108, 75, 255, .5); font-size: 15px; color: var(--tinta-2); }
.doc .aviso b { color: var(--acento); }
.doc .caixa { margin-top: 20px; padding: 20px 22px; background: #F6F6FA; border-radius: 4px; }
.doc .caixa p:first-child { margin-top: 0; }
.doc .grade { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 20px; }
.doc .grade > div { padding: 18px 20px; border: 1px solid var(--linha); border-radius: 4px; }
.doc .grade .dt { font: 500 12px/1.3 var(--mono); text-transform: uppercase; letter-spacing: .1em; color: var(--mudo); }
.doc .grade p { margin-top: 8px; font-size: 15px; }
.doc a { color: var(--acento); text-decoration: none; border-bottom: 1px solid rgba(108, 75, 255, .35); }
.doc a:hover { border-bottom-color: var(--acento); }
mark.pendente { background: #FFE266; color: #11111C; padding: 1px 6px; border-radius: 2px; font-weight: 600; }

.rodape { background: var(--escuro); color: rgba(255, 255, 255, .62); }
.rodape .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; max-width: 1200px; margin: 0 auto; padding: 26px var(--pad) 34px; font: 400 12.5px/1.5 var(--txt); }
.rodape nav { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.rodape a { color: rgba(255, 255, 255, .62); text-decoration: none; }
.rodape a:hover { color: #fff; }

@media (max-width: 700px) {
  .topo-in { flex-direction: column; align-items: flex-start; }
  .doc .grade { grid-template-columns: 1fr; }
  .doc table { font-size: 14px; }
}
@media print { .topo, .rodape, .topo-nav { display: none; } .capa { background: none; color: #000; } .capa p { color: #333; } }
