/* Tipografía de los documentos legales, con los mismos tokens del sitio */
.legal-prose h2 {
  padding-top: 2rem;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--brand);
}
.legal-prose h3 {
  padding-top: 1rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--foreground);
}
.legal-prose p,
.legal-prose li {
  font-size: 0.875rem;
  line-height: 1.75;
  color: color-mix(in oklab, var(--foreground) 75%, transparent);
}
.legal-prose ul {
  margin: 0;
  padding-left: 1.25rem;
  list-style: disc;
}
.legal-prose li { margin-top: 0.5rem; }
.legal-prose ul.toc {
  list-style: none;
  padding-left: 0;
  border: 1px solid var(--border);
  border-radius: 1rem;
  padding: 1.25rem 1.5rem;
}
.legal-prose ul.toc li { margin-top: 0.35rem; }
.legal-prose a {
  color: var(--brand);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.legal-prose a:hover { opacity: 0.8; }
.legal-prose strong { color: var(--foreground); font-weight: 600; }
.legal-prose .section-divider {
  height: 1px;
  background: var(--border);
  margin: 2.5rem 0;
}
.legal-prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  color: color-mix(in oklab, var(--foreground) 75%, transparent);
}
.legal-prose th,
.legal-prose td {
  border: 1px solid var(--border);
  padding: 0.5rem 0.75rem;
  text-align: left;
}
@media (min-width: 768px) {
  .legal-prose h2 { font-size: 1.5rem; }
  .legal-prose h3 { font-size: 1.125rem; }
  .legal-prose p,
  .legal-prose li { font-size: 1rem; }
}
