/* Páginas legais (termos, privacidade, exclusão de conta). */
:root {
  --bg:#F6F9FC; --surface:#FFFFFF; --ink:#0A2540; --body:#425466; --muted:#697386; --line:#E3E8EE;
  --brand:#635BFF; --brand-ink:#4B45C6; --brand-soft:#EEEDFF; --mint:#02C389; --mint-soft:#E6F9F2;
  --info-bg:#F5F4FF; --info-line:#DCD9FF; --warn-bg:#FFF4EC; --warn-line:#FFD8C2; --warn-ink:#A82C00;
  --head-bg:rgba(255,255,255,.86); --shadow:0 1px 2px rgba(10,37,64,.05), 0 12px 32px -18px rgba(10,37,64,.18);
  --display:"Bricolage Grotesque", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --sans:"Onest", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg:#061A2F; --surface:#0B2340; --ink:#F2F5F9; --body:#B9C5D3; --muted:#8C9DB2; --line:#1B3756;
    --brand:#A9A4FF; --brand-ink:#C9C6FF; --brand-soft:#1C2558; --mint:#3EEBB0; --mint-soft:#0E3A33;
    --info-bg:#141E4A; --info-line:#2B3A7C; --warn-bg:#2B1B12; --warn-line:#5C3521; --warn-ink:#FFB48C;
    --head-bg:rgba(6,26,47,.86); --shadow:0 1px 2px rgba(0,0,0,.3), 0 12px 32px -18px rgba(0,0,0,.6);
    color-scheme: dark;
  }
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:128px; -webkit-text-size-adjust:100%; }
body { margin:0; font:400 17px/1.7 var(--sans); color:var(--body); background:var(--bg); -webkit-font-smoothing:antialiased; }
a { color:var(--brand-ink); text-underline-offset:3px; }
a:hover { color:var(--brand); }
:focus-visible { outline:3px solid var(--mint); outline-offset:3px; border-radius:6px; }
h1, h2, h3 { color:var(--ink); font-family:var(--display); letter-spacing:-.02em; }
strong { color:var(--ink); font-weight:600; }
.wrap { max-width:1120px; margin:0 auto; padding:0 24px; }
.skip { position:absolute; left:16px; top:-60px; z-index:30; padding:10px 14px; border-radius:10px; background:var(--surface); color:var(--ink); font-weight:600; }
.skip:focus { top:12px; }

 
.top { position:sticky; top:0; z-index:20; background:var(--head-bg); backdrop-filter:saturate(180%) blur(14px); -webkit-backdrop-filter:saturate(180%) blur(14px); border-bottom:1px solid var(--line); }
.top__in { display:flex; align-items:center; gap:24px; height:68px; }
.brand { display:block; flex:none; }
.brand img { display:block; height:26px; width:auto; }
.tabs { display:flex; gap:4px; margin-left:auto; padding:4px; border-radius:999px; background:var(--bg); border:1px solid var(--line); }
.tabs a { padding:7px 14px; border-radius:999px; color:var(--body); font-size:14.5px; font-weight:500; text-decoration:none; white-space:nowrap; transition:background-color .2s, color .2s; }
.tabs a:hover { color:var(--ink); }
.tabs a[aria-current="page"] { background:var(--surface); color:var(--ink); font-weight:600; box-shadow:var(--shadow); }
.progress { position:absolute; left:0; right:0; bottom:-1px; height:3px; }
.progress i { display:block; height:100%; transform-origin:left; transform:scaleX(0); background:linear-gradient(90deg, var(--brand), var(--mint)); }

 
.hero { border-bottom:1px solid var(--line); background:radial-gradient(80% 140% at 0% 0%, var(--brand-soft), transparent 60%), var(--surface); }
.hero__in { padding:52px 24px 44px; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; margin:0 0 14px; color:var(--brand-ink); font-size:13px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow::before { content:""; width:20px; height:2px; border-radius:2px; background:linear-gradient(90deg, var(--brand), var(--mint)); }
h1 { margin:0; font-size:clamp(34px, 5vw, 50px); line-height:1.05; font-weight:780; letter-spacing:-.03em; }
.lead { max-width:680px; margin:16px 0 0; font-size:19px; }
.meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:24px; }
.chip { display:inline-flex; align-items:center; gap:7px; padding:6px 12px; border-radius:999px; background:var(--bg); border:1px solid var(--line); color:var(--body); font-size:14px; }
.chip svg { width:15px; height:15px; color:var(--muted); }
.btn { display:inline-flex; align-items:center; gap:7px; padding:6px 13px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--ink); font:500 14px/1.5 var(--sans); cursor:pointer; }
.btn:hover { border-color:var(--brand); color:var(--brand-ink); }
.btn svg { width:15px; height:15px; }

 
.layout { display:grid; grid-template-columns:minmax(0, 1fr) 260px; gap:56px; align-items:start; padding-top:40px; padding-bottom:72px; }
.doc { min-width:0; max-width:760px; }
.summary { margin:0 0 36px; padding:26px 28px; border:1px solid var(--line); border-left:4px solid var(--mint); border-radius:18px; background:var(--surface); box-shadow:var(--shadow); }
.summary h2 { margin:0 0 12px; font-size:20px; }
.summary ul { margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.summary li { position:relative; padding-left:32px; color:var(--ink); }
.summary li::before { content:""; position:absolute; left:0; top:4px; width:20px; height:20px; border-radius:50%; background:var(--mint-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='%2302C389' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat; }
.summary p { margin:14px 0 0; color:var(--muted); font-size:14px; }
.sec { padding:30px 0; border-top:1px solid var(--line); }
.sec:first-of-type { border-top:0; padding-top:4px; }
.sec h2 { display:flex; align-items:baseline; gap:12px; margin:0 0 12px; font-size:23px; line-height:1.25; }
.num { flex:none; display:inline-grid; place-items:center; min-width:30px; height:30px; padding:0 6px; border-radius:9px; background:var(--brand-soft); color:var(--brand-ink); font:700 14px/1 var(--sans); letter-spacing:0; transform:translateY(-3px); }
.anchor { margin-left:auto; padding:0 4px; color:var(--muted); font:500 16px var(--sans); text-decoration:none; opacity:0; transition:opacity .2s; }
.sec h2:hover .anchor, .anchor:focus-visible { opacity:1; }
.sec p { margin:0 0 14px; }
.sec ul, .sec ol { margin:0 0 14px; padding-left:22px; }
.sec li { margin:6px 0; padding-left:4px; }
.sec li::marker { color:var(--brand); }
.sec ol li::marker { font-weight:700; }
.sec dl { display:grid; grid-template-columns:minmax(120px, 190px) 1fr; margin:0 0 14px; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface); }
.sec dt, .sec dd { margin:0; padding:12px 16px; border-top:1px solid var(--line); }
.sec dt:first-of-type, .sec dt:first-of-type + dd { border-top:0; }
.sec dt { color:var(--ink); font-weight:600; background:var(--bg); }
.callout { margin:16px 0; padding:16px 18px 16px 50px; border:1px solid var(--info-line); border-radius:14px; background:var(--info-bg); position:relative; }
.callout::before { content:"i"; position:absolute; left:16px; top:17px; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; background:var(--brand); color:#fff; font:700 13px/1 Georgia, serif; }
.callout p:last-child { margin-bottom:0; }
.callout--warn { border-color:var(--warn-line); background:var(--warn-bg); }
.callout--warn::before { content:"!"; background:var(--warn-ink); font-family:var(--sans); }
.callout--warn strong { color:var(--warn-ink); }
.contact { display:grid; gap:4px; padding:18px 20px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.contact strong { font-size:17px; }

 
.toc { position:sticky; top:96px; max-height:calc(100vh - 120px); overflow:auto; padding:4px 4px 12px; }
.toc p { margin:0 0 10px; color:var(--muted); font-size:12.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.toc ol { margin:0; padding:0; list-style:none; border-left:2px solid var(--line); }
.toc a { display:flex; gap:8px; margin-left:-2px; padding:6px 0 6px 14px; border-left:2px solid transparent; color:var(--muted); font-size:14.5px; line-height:1.4; text-decoration:none; transition:color .2s, border-color .2s; }
.toc a span { flex:none; min-width:20px; color:var(--muted); }
.toc a:hover { color:var(--ink); }
.toc a.is-on { color:var(--ink); font-weight:600; border-left-color:var(--brand); }
.toc a.is-on span { color:var(--brand-ink); }
.toc__top { display:inline-block; margin-top:14px; color:var(--muted); font-size:14px; text-decoration:none; }
.toc-mobile { display:none; }

 
.foot { border-top:1px solid var(--line); background:var(--surface); }
.foot__in { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px 32px; padding:28px 24px 36px; color:var(--muted); font-size:14px; }
.foot a { color:var(--body); }
.foot nav { display:flex; flex-wrap:wrap; gap:6px 18px; }

@media (max-width: 980px) {
  html { scroll-padding-top:140px; }
  .layout { grid-template-columns:minmax(0, 1fr); gap:0; padding-top:28px; }
  .toc { display:none; }
  .toc-mobile { display:block; margin:0 0 28px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
  .toc-mobile summary { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; color:var(--ink); font-weight:600; cursor:pointer; list-style:none; }
  .toc-mobile summary::-webkit-details-marker { display:none; }
  .toc-mobile summary::after { content:"+"; font-size:22px; line-height:1; color:var(--brand-ink); transition:transform .2s; }
  .toc-mobile[open] summary::after { transform:rotate(45deg); }
  .toc-mobile ol { margin:0; padding:0 18px 14px 40px; }
  .toc-mobile li { padding:5px 0; }
  .toc-mobile a { color:var(--body); text-decoration:none; }
}
@media (max-width: 640px) {
  body { font-size:16px; }
  .wrap { padding:0 16px; }
  .top__in { flex-wrap:wrap; height:auto; gap:10px; padding-top:12px; padding-bottom:10px; }
  .brand img { height:22px; }
  .tabs { width:100%; margin-left:0; overflow-x:auto; }
  .tabs a { flex:1; text-align:center; padding:7px 10px; font-size:13.5px; }
  .hero__in { padding:34px 16px 30px; }
  .lead { font-size:17px; }
  .summary { padding:20px; }
  .sec h2 { font-size:20px; }
  .sec dl { grid-template-columns:1fr; }
  .sec dd { border-top:0; padding-top:0; }
  .callout { padding-left:46px; }
}
@media print {
  .top, .toc, .toc-mobile, .meta .btn, .anchor, .skip { display:none !important; }
  body { background:#fff; color:#222; font-size:12pt; }
  .hero { background:none; }
  .layout { display:block; padding:0; }
  .summary, .callout, .contact, .sec dl { box-shadow:none; break-inside:avoid; }
  a { color:inherit; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
