.legal-page.legal-document { padding: 64px max(24px, calc((100vw - 1220px) / 2)) 90px; }
.legal-document > header { max-width: 960px; }
.legal-document-grid { display: grid; grid-template-columns: 255px minmax(0, 1fr); gap: 60px; align-items: start; }
.legal-section-nav { position: sticky; top: 24px; margin-top: 35px; max-height: calc(100dvh - 48px); overflow-y: auto; padding: 20px; border: 1px solid #d7dfd9; border-radius: 12px; background: #f0f4ef; }
.legal-section-nav summary { font-weight: 700; color: #063f3b; cursor: pointer; }
.legal-section-nav nav { display: grid; gap: 2px; margin-top: 14px; }
.legal-section-nav nav a { padding: 7px 8px; font-size: 13px; line-height: 1.4; color: #063f3b; text-decoration: none; border-radius: 4px; }
.legal-section-nav a:hover, .legal-section-nav a:focus-visible { background: #dce8e0; text-decoration: underline; }
.legal-related { display: block; margin-top: 18px; padding-top: 14px; border-top: 1px solid #ced9d1; font-size: 14px; color: #063f3b; }
.legal-document-content { min-width: 0; }
.legal-document-content section, .legal-document > header { scroll-margin-top: 24px; }
.legal-document-content section:target { border-top-color: #a68439; }
.legal-document-content section:focus-visible { outline: 2px solid #a68439; outline-offset: 8px; }
.legal-document-content a { overflow-wrap: anywhere; }
.legal-document-content address { font-style: normal; line-height: 1.8; }
@media (max-width: 800px) {
    .legal-page.legal-document { padding: 40px 22px 60px; }
    .legal-document-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .legal-section-nav { position: static; max-height: none; margin-top: 24px; }
    .legal-section-nav nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 440px) { .legal-section-nav nav { grid-template-columns: minmax(0, 1fr); } }
@media print {
    .legal-header, .legal-footer, .legal-section-nav { display: none; }
    .legal-page.legal-document { padding: 0; background: white; color: black; }
    .legal-document-grid { display: block; }
    .legal-document-content h2 { break-after: avoid; }
    .legal-document-content p { orphans: 3; widows: 3; }
}
