:root{--ink:#150430;--muted:#655b70;--violet:#7231ff;--paper:#fafaf7;--line:rgba(21,4,48,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.72 Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#5d20e6;text-underline-offset:3px}
a:hover{color:#4112b8}
a:focus-visible{outline:3px solid #5d20e6;outline-offset:3px;border-radius:3px}
.legal,.legal-capa-in{width:min(920px,calc(100% - 40px));margin:auto}
h1,h2{font-family:"Plus Jakarta Sans",Inter,sans-serif;letter-spacing:-.035em}
h1{max-width:780px;margin:0;font-size:clamp(36px,7vw,66px);line-height:1.03}
.lead{max-width:760px;margin:24px 0 0;color:var(--muted);font-size:18px}
.updated{display:inline-block;margin-top:22px;border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--muted);font-size:12px;font-weight:700}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:48px 0}
.summary div{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px}
.summary strong{display:block;margin-bottom:5px;font-size:13px}
.summary span{color:var(--muted);font-size:13px;line-height:1.48}
.content{max-width:760px}
.content section{padding:30px 0;border-top:1px solid var(--line)}
.content h2{margin:0 0 13px;font-size:25px;line-height:1.22}
.content h3{margin:24px 0 7px;font-size:16px}
.content p{margin:0 0 14px}
.content ul{margin:10px 0 16px;padding-left:22px}
.content li{margin:6px 0}
.table-scroll{width:100%;margin:18px 0;overflow-x:auto;overscroll-behavior-inline:contain}
.table-scroll:focus-visible{outline:3px solid #5d20e6;outline-offset:3px;border-radius:4px}
.data-table{width:100%;min-width:640px;border-collapse:collapse;font-size:14px}
.data-table caption{padding:0 0 10px;text-align:left;color:var(--muted);font-size:13px;font-weight:700}
.data-table th,.data-table td{padding:13px 12px;border:1px solid var(--line);vertical-align:top;text-align:left}
.data-table th{background:#f2edff;font-size:12px;letter-spacing:.03em}
.note{border-left:3px solid var(--violet);background:#f4efff;border-radius:0 12px 12px 0;padding:15px 18px;color:#392754}
@media(max-width:680px){.legal,.legal-capa-in{width:min(100% - 28px,920px)}.legal{padding:52px 0 82px}.summary{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- capa do documento ----------
   Existe para absorver o --topo-shift do topbar compartilhado (o mesmo papel
   do .hero em / e /planos). Sem ela o card do topo, que e puxado 112px para
   dentro do que vem abaixo, cobre o titulo. Os tokens vem de /shell.css. */
.legal-capa{background:#150430;color:var(--on-1);
  padding:calc(var(--e7) + var(--topo-h)) 0 var(--e8);}
.legal-capa h1{color:#fff}
.legal-capa .lead{color:var(--on-2)}
.legal-capa .updated{border-color:var(--borda-esc);color:var(--on-3)}
.legal{padding:var(--e5) 0 96px}
