/* ==========================================================================
   Política de Privacidade — tipografia de leitura, reaproveita tokens de style.css
   ========================================================================== */
.legal-hero{ background: var(--bg-card); border-bottom:1px solid var(--line); padding: 48px 0 40px; }
.legal-hero .container{ max-width: 760px; }
.legal-hero h1{ font-size: clamp(1.7rem,3.4vw,2.3rem); color: var(--green-950); }
.legal-hero .updated{ margin-top:14px; font-family: var(--font-mono); font-size:12.5px; letter-spacing:.04em; color: var(--ink-soft); }
.legal-hero .lede{ margin-top:18px; font-size:16px; color: var(--green-900); max-width:62ch; }

.legal-body{ padding: 56px 0 90px; }
.legal-body .container{ max-width: 760px; }

.legal-article h2{
  font-family: var(--font-display); font-size:1.3rem; color: var(--green-950);
  margin: 46px 0 14px; padding-top:20px; border-top:1px solid var(--line);
}
.legal-article h2:first-child{ margin-top:0; padding-top:0; border-top:none; }
.legal-article h3{ font-family: var(--font-body); font-weight:700; font-size:15.5px; color: var(--green-950); margin:22px 0 8px; }
.legal-article p{ font-size:15.5px; line-height:1.75; color: var(--green-900); margin-bottom:14px; max-width:66ch; }
.legal-article ul{ margin:0 0 14px; padding-left:0; list-style:none; display:flex; flex-direction:column; gap:10px; max-width:66ch; }
.legal-article li{ font-size:15px; line-height:1.6; color: var(--green-900); padding-left:22px; position:relative; }
.legal-article li::before{ content:""; position:absolute; left:0; top:9px; width:7px; height:7px; border-radius:50%; background: var(--gold); }
.legal-article strong{ color: var(--green-950); }
.legal-article a{ color: var(--green-700); }
.legal-article a:hover{ color: var(--green-800); }

.legal-callout{
  margin: 22px 0; padding:18px 20px; border-left:3px solid var(--green-600);
  background: rgba(28,82,54,0.06); border-radius:0 10px 10px 0;
}
.legal-callout p{ margin:0; font-size:14.5px; color: var(--green-950); }
.legal-callout p + p{ margin-top:8px; }

.legal-toc{
  margin-bottom:40px; padding:20px 22px; border:1px solid var(--line); border-radius: var(--radius-md); background: var(--bg-card);
}
.legal-toc span{ font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color: var(--green-700); display:block; margin-bottom:12px; }
.legal-toc ol{ margin:0; padding:0 0 0 18px; display:grid; grid-template-columns:1fr 1fr; gap:6px 20px; }
.legal-toc li{ font-size:13.8px; }
.legal-toc a{ color: var(--green-900); text-decoration:none; }
.legal-toc a:hover{ color: var(--green-700); text-decoration:underline; }

.legal-contact-box{
  margin-top:10px; padding:22px; border:1px solid var(--line); border-radius: var(--radius-md); background: var(--paper);
  display:flex; flex-wrap:wrap; gap:20px; align-items:center; justify-content:space-between;
}
.legal-contact-box p{ margin:0; font-size:14.5px; color: var(--ink-soft); }

@media (max-width:640px){
  .legal-toc ol{ grid-template-columns:1fr; }
}
