/* Mesmo céu da home, desfocado: o fundo vira atmosfera, o texto vira o assunto. */
body.legal-page { background:none; }
body.legal-page::before {
  content:""; position:fixed; inset:-10%; z-index:-2;
  background:#020509 url("assets/space-deep-blue-4k.png") center / cover no-repeat;
  filter:blur(46px) saturate(112%) brightness(.72);
  transform:scale(1.08);
}
body.legal-page::after {
  content:""; position:fixed; inset:0; z-index:-1;
  background:radial-gradient(ellipse 70% 60% at 50% 0%,rgba(2,5,9,.62) 0%,rgba(2,5,9,.86) 68%,rgba(2,5,9,.94) 100%);
}
.legal-shell { max-width:1180px; margin:0 auto; padding:clamp(34px,6vw,64px) clamp(24px,9vw,150px) clamp(80px,10vw,130px); }
.legal-top { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:clamp(40px,7vw,72px); border-bottom:1px solid var(--line); }
.legal-top .legal-home { display:inline-flex; align-items:center; gap:12px; color:var(--paper); font-size:12px; font-weight:700; letter-spacing:.2em; }
.legal-top img { width:26px; height:auto; }
.legal-top nav { display:flex; gap:22px; color:var(--muted); font-size:12px; letter-spacing:.06em; }
.legal-top nav a:hover, .legal-top .legal-home:hover { color:var(--blue); }
.legal-top nav a[aria-current="page"] { color:var(--blue); }
.legal-header { padding:clamp(48px,8vw,92px) 0 clamp(30px,4vw,44px); }
.legal-header .section-label { padding-top:0; }
.legal-header h1 { max-width:14ch; margin-top:22px; font-size:clamp(38px,5vw,68px); line-height:1.02; }
.legal-meta { display:flex; flex-wrap:wrap; gap:8px 26px; margin:34px 0 0; color:var(--muted); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.legal-meta span { display:inline-block; }
.legal-intro { max-width:680px; margin:30px 0 0; color:#dceafd; font-size:clamp(17px,1.5vw,20px); line-height:1.55; }
.legal-toc { margin:clamp(52px,7vw,80px) 0 0; padding:clamp(24px,3vw,34px) clamp(24px,3vw,38px); border:1px solid var(--line); background:rgba(2,5,9,.55); }
.legal-toc p { margin:0 0 18px; color:var(--blue); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.legal-toc ol { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px 40px; margin:0; padding:0; list-style:none; counter-reset:toc; }
.legal-toc li { counter-increment:toc; color:var(--muted); font-size:14px; line-height:1.5; }
.legal-toc li::before { content:counter(toc,decimal-leading-zero); margin-right:12px; color:var(--blue); font-size:11px; font-weight:600; letter-spacing:.08em; }
.legal-toc a:hover { color:var(--paper); }
.legal-body { counter-reset:clause; }
.legal-body section { display:grid; grid-template-columns:minmax(120px,.35fr) minmax(0,1fr); gap:clamp(20px,5vw,80px); padding:clamp(44px,6vw,74px) 0; border-top:1px solid rgba(172,207,255,.10); }
.legal-body section:first-of-type { border-top:none; }
.legal-body h2 { counter-increment:clause; max-width:760px; font-size:clamp(23px,2.4vw,32px); line-height:1.12; }
.legal-body h2::before { content:counter(clause,decimal-leading-zero); display:block; margin-bottom:14px; color:var(--blue); font-size:11px; font-weight:600; letter-spacing:.16em; }
.legal-body h3 { margin-top:34px; color:#dceafd; font-size:clamp(16px,1.3vw,18px); letter-spacing:-.01em; }
.legal-body .clause-anchor { padding-top:6px; color:var(--muted); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.legal-body p, .legal-body li { color:var(--muted); font-size:16px; line-height:1.68; }
.legal-body p { max-width:760px; margin:18px 0 0; }
.legal-body ul { max-width:760px; margin:18px 0 0; padding:0; list-style:none; }
.legal-body li { position:relative; margin-top:11px; padding-left:22px; }
.legal-body li::before { content:""; position:absolute; top:11px; left:0; width:9px; height:1px; background:var(--blue); }
.legal-body strong { color:var(--paper); font-weight:600; }
.legal-body a:not(.legal-home) { color:var(--paper); border-bottom:1px solid var(--blue); }
.legal-body a:hover { color:var(--blue); }
.legal-callout { max-width:760px; margin-top:26px; padding:20px 24px; border-left:2px solid var(--blue); background:rgba(141,197,255,.06); }
.legal-callout p:first-child { margin-top:0; }
.legal-table { max-width:760px; margin-top:24px; overflow-x:auto; }
.legal-table table { width:100%; min-width:420px; border-collapse:collapse; }
.legal-table th, .legal-table td { padding:13px 16px 13px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:15px; line-height:1.5; text-align:left; vertical-align:top; }
.legal-table th { color:var(--blue); font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.legal-body section > div { min-width:0; }
@media (max-width:820px) {
  .legal-body section { grid-template-columns:minmax(0,1fr); gap:14px; }
  .legal-body .clause-anchor { padding-top:0; }
  .legal-top nav { gap:16px; }
}
@media (max-width:520px) {
  .legal-top { flex-direction:column; align-items:flex-start; gap:18px; }
}
