.body-content:has(.legal-page) { padding: 0; }
.legal-page {
    --legal-ink: #142f49;
    --legal-muted: #586b7e;
    --legal-accent: #2463a4;
    padding: 56px 24px 80px;
    color: var(--legal-ink);
    background: linear-gradient(115deg, #f5f8fc 30%, #e5eff9);
}
.legal-shell { max-width: 960px; margin: 0 auto; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 8px; width: fit-content; max-width: 100%; padding: 6px; margin: 0 auto 28px; background: #fff; border: 1px solid #d6e3ef; border-radius: 12px; }
.legal-nav a { flex: 1 1 auto; padding: 12px 24px; border-radius: 7px; text-align: center; color: var(--legal-accent); font-size: .95rem; font-weight: 700; text-decoration: none; }
.legal-nav a:hover { color: var(--legal-ink); background: #edf4fc; }
.legal-nav a[aria-current="page"] { color: #fff; background: #00845d; box-shadow: 0 4px 12px #0076531a; }
.legal-nav a[aria-current="page"]:hover { background: #006d4d; }
.legal-page a:focus-visible { outline: 3px solid var(--legal-accent); outline-offset: 4px; }
.legal-document { padding: 56px 64px; background: #fff; border: 1px solid #d6e3f0; border-radius: 12px; box-shadow: 0 12px 40px #193b5009; font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.legal-document h1, .legal-document h2, .legal-document h3, .legal-document h4 { color: var(--legal-ink); font-family: inherit; font-weight: 700; line-height: 1.25; }
.legal-document h1 { font-size: clamp(2.3rem, 4vw, 3.5rem); letter-spacing: -.045em; line-height: 1.1; margin: 0 0 20px; }
.legal-document h1 + p, .legal-document h1 + h6 { color: var(--legal-muted) !important; font-size: .85rem; font-weight: 400; font-style: normal !important; line-height: 1.85; padding-bottom: 28px; margin-bottom: 32px !important; border-bottom: 1px solid #e1eaf2; }
.legal-document h2 { font-size: clamp(1.4rem, 2.5vw, 1.8rem); letter-spacing: -.025em; margin: 44px 0 18px; padding-top: 28px; border-top: 1px solid #e1eaf2; scroll-margin-top: 100px; }
.legal-document h2 em { font-family: Georgia, 'Times New Roman', serif; color: var(--legal-accent); font-weight: 400; }
.legal-document h3, .legal-document h4 { font-size: 1.15rem; margin: 28px 0 12px; }
.legal-document p { margin: 0 0 20px; }
.legal-document .lead { font-size: 1.05rem; font-weight: 400; line-height: inherit; }
.legal-document .text-body-secondary { color: var(--legal-muted) !important; }
.legal-document a { color: var(--legal-accent); text-decoration: underline; text-underline-offset: 4px; }
.legal-document a:hover { color: #006d4d; }
.legal-document ul, .legal-document ol { padding-left: 24px; margin: 20px 0 28px; }
.legal-document li { padding-left: 6px; margin-bottom: 10px; }
.legal-document li::marker { color: var(--legal-accent); }
.legal-document > ol.fw-bold { padding: 24px 28px 18px 48px; background: #edf4fc; border: 1px solid #d6e3f0; border-radius: 8px; }
.legal-document .table-responsive { margin: 24px 0; border: 1px solid #d6e3f0; border-radius: 8px; }
.legal-document .table { --bs-table-color: var(--legal-ink); --bs-table-border-color: #e1eaf2; margin: 0; color: var(--legal-ink); font-size: .9rem; line-height: 1.65; }
.legal-document .table th { background: #edf4fc; font-weight: 700; }
.legal-document .table th, .legal-document .table td { padding: 16px; min-width: 130px; vertical-align: top; }
.legal-document > .table { display: block; max-width: 100%; overflow-x: auto; margin: 24px 0; border: 1px solid #d6e3f0; border-radius: 8px; }
.legal-document > :last-child { margin-bottom: 0; }
@media (max-width: 767.98px) {
    .legal-page { padding: 28px 16px 48px; }
    .legal-nav { width: 100%; gap: 4px; margin-bottom: 20px; }
    .legal-nav a { padding: 12px 16px; }
    .legal-document { padding: 32px 24px; }
    .legal-document h2 { margin-top: 32px; padding-top: 24px; }
    .legal-document > ol.fw-bold { padding: 20px 20px 14px 38px; }
}
@media print {
    .legal-page { padding: 0; background: #fff; }
    .legal-nav { display: none; }
    .legal-document { padding: 0; border: 0; box-shadow: none; }
    .legal-document h2, .legal-document h3, .legal-document h4 { break-after: avoid; }
    .legal-document .table-responsive { overflow: visible; }
    .legal-document > .table { display: table; overflow: visible; }
}
