html:has(.legal-page) { scroll-padding-top: 24px; }
.legal-page { background: var(--page); padding: 30px 0 80px; }
.legal-shell { display: grid; grid-template-columns: 240px minmax(0, 1fr); align-items: start; gap: 36px; }
.legal-library { position: sticky; top: 28px; padding-top: 10px; }
.legal-eyebrow { color: var(--primary); text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; font-weight: 700; margin-bottom: 12px; }
.legal-library h2 { font-size: 1.5rem; font-weight: 650; margin-bottom: 24px; }
.legal-library nav { display: grid; gap: 6px; }
.legal-library nav a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-radius: 6px; font-size: .9rem; color: var(--primary); }
.legal-library nav a[aria-current="page"] { background: var(--page); color: var(--primary); font-weight: 650; }
.legal-library nav a:hover { background: var(--page); }
.legal-help { border-top: 1px solid var(--border); margin-top: 28px; padding: 24px 16px 0; }
.legal-help h3 { font-size: 1rem; }
.legal-help p { color: var(--muted); font-size: .9rem; }
.legal-help a { color: var(--primary); text-decoration: underline; overflow-wrap: anywhere; }
.legal-document { min-width: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 12px 32px #173a3e08; padding-bottom: 40px; line-height: 1.75; }
.legal-document > header { background: var(--feature-surface); border-radius: 9px 9px 0 0; padding: 40px 44px 32px; }
.legal-document h1 { font-size: clamp(2rem, 3.2vw, 2.75rem); line-height: 1.15; margin-bottom: 20px; }
.legal-document h1:focus, .legal-index-intro h1:focus { outline: none; }
.legal-document .updated { font-size: .85rem; line-height: 1.7; color: var(--muted); padding-left: 16px; border-left: 2px solid var(--gold); margin-bottom: 24px; }
.legal-document > header p:last-child { margin-bottom: 0; }
.legal-document > section, .legal-document > nav, .legal-document > footer { margin-inline: 44px; }
.legal-document > section { margin-top: 36px; }
.legal-document h2 { font-size: 1.45rem; font-weight: 650; margin-bottom: 14px; }
.legal-document h3 { font-size: 1.1rem; margin: 26px 0 10px; }
.legal-document li { margin-block: .5rem; }
.legal-document ul, .legal-document ol { padding-left: 24px; }
.legal-document a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-document a:hover { color: var(--primary); }
.legal-document :is(h2, h3) { scroll-margin-top: 24px; }
.legal-document .contents { margin-block: 0 12px; padding-block: 24px; border-bottom: 1px solid var(--border); }
.legal-document .contents ul { display: flex; flex-wrap: wrap; gap: 10px 22px; list-style: none; margin: 0; padding: 0; font-size: .9rem; }
.legal-document .contents li { margin: 0; }
.legal-document table { width: 100%; border-collapse: collapse; margin-block: 24px; font-size: .95rem; }
.legal-document caption { text-align: left; font-weight: 600; margin-bottom: 12px; }
.legal-document th, .legal-document td { padding: 16px; border: 1px solid var(--border); vertical-align: top; text-align: left; overflow-wrap: anywhere; }
.legal-document thead th { background: var(--page); }
.legal-document tbody th { width: 28%; font-weight: 600; }
.legal-document tbody tr:nth-child(even) { background: var(--page); }
.legal-document address { font-style: normal; }
.legal-document > footer { border-top: 1px solid var(--border); padding-top: 22px; margin-top: 36px; color: var(--muted); font-size: .85rem; }
.legal-document .request { padding: 26px; background: var(--page); border: 1px solid var(--border); border-radius: 8px; }
.legal-document .request p:last-child { margin-bottom: 0; }
.legal-document .button { display: inline-block; min-height: 48px; padding: 12px 20px; background: var(--primary); color: var(--on-primary); border-radius: 5px; text-decoration: none; font-weight: 600; line-height: 1.5; }
.legal-document .button:hover { background: var(--primary); }
.legal-index-intro { padding: 40px; background: var(--feature-surface); border-radius: 10px; margin-bottom: 28px; max-width: 960px; }
.legal-index-intro h1 { font-size: clamp(2rem, 4vw, 3rem); }
.legal-index-intro p:last-child { margin-bottom: 0; max-width: 700px; }
.legal-index-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 960px; }
.legal-index-card { display: block; padding: 28px; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; }
.legal-index-card:hover { border-color: var(--primary); text-decoration: none; }
.legal-index-card h2 { font-size: 1.3rem; font-weight: 650; display: flex; justify-content: space-between; gap: 16px; }
.legal-index-card p { font-size: .95rem; color: var(--muted); margin-bottom: 0; }
.legal-index-help { margin-top: 28px; color: var(--muted); }
.legal-index-help a { text-decoration: underline; color: var(--primary); }
@media (prefers-color-scheme: light) {
    .legal-document > header .updated, .legal-document > header a, .legal-index-intro a, .legal-index-intro .legal-eyebrow { color: var(--ink); }
}
@media (max-width: 980px) {
    .legal-shell { grid-template-columns: 200px minmax(0, 1fr); gap: 24px; }
    .legal-document > header { padding: 28px; }
    .legal-document > section, .legal-document > nav, .legal-document > footer { margin-inline: 28px; }
    .legal-document .request { padding: 20px; }
}
@media (max-width: 767px) {
    .legal-page { padding-block: 22px 48px; }
    .legal-shell { display: flex; flex-direction: column; gap: 32px; }
    .legal-document, .legal-library { width: 100%; }
    .legal-library { position: static; order: 1; }
    .legal-library h2 { margin-bottom: 16px; }
    .legal-help { padding-inline: 16px; }
    .legal-document { padding-bottom: 28px; }
    .legal-document > header { padding: 26px 22px; }
    .legal-document > section, .legal-document > nav, .legal-document > footer { margin-inline: 22px; }
    .legal-document h1 { font-size: 2rem; }
    .legal-document h2 { font-size: 1.3rem; }
    .legal-document .request { padding: 18px; }
    .legal-document table, .legal-document tbody, .legal-document tr, .legal-document tbody th, .legal-document td { display: block; width: 100%; }
    .legal-document caption { display: block; width: 100%; }
    .legal-document thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .legal-document tbody tr { margin-bottom: 16px; }
    .legal-document tbody th { width: 100%; border-bottom: 0; padding-bottom: 5px; background: var(--page); }
    .legal-document td { border-top: 0; padding-top: 8px; }
    .legal-index-intro { padding: 28px; }
    .legal-index-grid { grid-template-columns: 1fr; gap: 18px; }
    .legal-index-card { padding: 24px; }
}
@media print {
    :root { color-scheme: light; --ink: #17282D; --muted: #526970; --page: #FFFFFF; --surface: #FFFFFF; --primary: #286A75; --border: #D4E3E5; --gold: #C6A45C; }
    @page { size: letter; margin: .7in; }
    .site-header, .site-footer, .skip-link, .deletion-breadcrumb, .legal-library, .legal-document .contents, #blazor-error-ui { display: none !important; }
    .legal-page, .legal-document, .legal-document > header { background: #fff; padding: 0; border: 0; box-shadow: none; }
    .legal-page .container { width: 100%; max-width: none; }
    .legal-shell { display: block; }
    .legal-document { font-size: 10.5pt; line-height: 1.5; }
    .legal-document > section, .legal-document > nav, .legal-document > footer { margin-inline: 0; }
    .legal-document h1 { font-size: 24pt; }
    .legal-document h2 { font-size: 14pt; }
    .legal-document h3 { font-size: 11pt; }
    .legal-document h1, .legal-document h2, .legal-document h3, .legal-document caption { break-after: avoid; }
    .legal-document p, .legal-document li { orphans: 3; widows: 3; }
    .legal-document tr, .legal-document address { break-inside: avoid; }
    .legal-document table { display: table; }
    .legal-document tbody { display: table-row-group; }
    .legal-document tr { display: table-row; }
    .legal-document th, .legal-document td { display: table-cell; width: auto; border: 1px solid #d6e3e3; padding: 10px; }
    .legal-document tbody th { width: 28%; }
    .legal-document thead { display: table-header-group; position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
    .legal-document a { color: inherit; }
    .legal-document .button { color: inherit; background: none; padding: 0; min-height: 0; text-decoration: underline; }
}
