.legal-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-3) var(--space-6);
    margin-top: var(--space-6);
    color: var(--text-muted);
    font-size: var(--font-small);
}
.legal-links a, .legal-document a {
    text-decoration: underline;
    text-underline-offset: .2em;
    overflow-wrap: anywhere;
}
.public-content.legal-content {
    width: min(100%, 960px);
    text-align: left;
}
.legal-document {
    padding: var(--space-px-32);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    line-height: 1.75;
    overflow-wrap: anywhere;
}
.legal-document h1 {
    font-family: var(--font-heading);
    font-size: clamp(1.65rem, 4vw, 2.4rem);
    line-height: 1.25;
    margin: var(--space-6) 0 var(--space-2);
}
.legal-document h2 {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    line-height: 1.4;
    scroll-margin-top: var(--space-6);
}
.legal-document p { margin: var(--space-3) 0; }
.legal-document ul, .legal-document ol { padding-left: var(--space-6); }
.legal-document li + li { margin-top: var(--space-3); }
.legal-version, .legal-back { color: var(--text-muted); }
.legal-contact { display: grid; grid-template-columns: auto 1fr; gap: var(--space-2) var(--space-4); }
.legal-contact dt { font-weight: 700; }
.legal-contact dd { margin: 0; min-width: 0; }
.legal-toc, .legal-review {
    margin-top: var(--space-6);
    padding: var(--space-4);
    border-radius: var(--radius-control);
    background: var(--primary-soft);
}
.legal-toc ol { list-style: none; padding: 0; }
.legal-section { padding-top: var(--space-6); border-top: 1px solid var(--border); margin-top: var(--space-6); }
.legal-sources { color: var(--primary); }
@media (max-width: 600px) {
    .legal-document { padding: var(--space-4); }
    .legal-contact { grid-template-columns: 1fr; gap: var(--space-1); }
    .legal-contact dd + dt { margin-top: var(--space-3); }
    .legal-links { gap: var(--space-3); }
}
@media print {
    .public-body { background: var(--surface-white); padding: 0; }
    .public-content.legal-content { width: 100%; }
    .legal-document { border: 0; border-radius: 0; padding: 0; }
    .legal-toc, .legal-back, .legal-links { display: none; }
    .legal-document h2 { break-after: avoid; }
}
