.legal-document { overflow-wrap: anywhere; }
.legal-document h2 { margin-top: 30px; font-size: clamp(21px, 3vw, 27px); line-height: 1.3; }
.legal-document h2:first-child { margin-top: 0; }
.legal-actions { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 18px; font-size: 14px; }
.legal-actions a, .legal-contact a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
.legal-index { list-style: none; padding: 0 !important; margin: 0 !important; }
.legal-index li { margin: 0; border-bottom: 1px solid var(--line); }
.legal-index li:last-child { border-bottom: 0; }
.legal-index a { display: block; padding: 16px 0; text-decoration: none; }
.legal-contact { color: var(--soft); font-size: 15px; line-height: 1.6; margin-top: 24px; }
/* The native reader owns its close control; the same public text stays readable without JS. */
.legal-app .site-nav, .legal-app footer, .legal-app .legal-actions { display: none; }
.legal-app .legal-page { padding: 22px 16px 32px; background: #fff; }
.legal-app .legal-hero { text-align: left; margin-bottom: 20px; }
.legal-app .legal-hero h1 { font-size: 27px; line-height: 1.2; margin: 0 0 10px; }
.legal-app .legal-block { margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
.legal-app .legal-document p, .legal-app .legal-document li { color: var(--ink); }
