.legal-page { --page-max-width: 1184px; }
.legal-heading { padding-block: 12px 42px; }
.legal-heading .eyebrow { margin-bottom: 22px; color: var(--text-muted); }
.legal-heading h1 { font-size: 2.8rem; line-height: 1.2; }
.legal-heading > p:last-child { margin-top: 18px; color: var(--text-muted); font-size: .8rem; }
.legal-page-nav { display: flex; gap: 34px; border-bottom: 1px solid var(--line); }
.legal-page-nav a { display: flex; align-items: center; min-height: 54px; padding-block: 12px; border-bottom: 2px solid transparent; font-size: .88rem; font-weight: 550; text-decoration: none; color: var(--text-muted); }
.legal-page-nav a[aria-current="page"] { color: var(--text); border-bottom-color: currentColor; }
.legal-page-nav a:hover { color: var(--text); }
.legal-layout { display: grid; grid-template-columns: 182px minmax(0, 1fr); gap: 64px; padding-top: 52px; align-items: start; }
.legal-index { position: sticky; top: calc(var(--header-height) + 36px); display: grid; gap: 3px; }
.legal-index > p { margin-bottom: 15px; font-size: .74rem; color: var(--text-muted); }
.legal-index a { display: flex; align-items: center; min-height: 42px; padding-block: 8px; font-size: .82rem; text-decoration: none; }
.legal-index a:hover { text-decoration: underline; }
.legal-document { min-width: 0; max-width: 76ch; }
.legal-document .legal-lead { font-size: 1.04rem; line-height: 1.85; color: var(--text); }
.legal-document section { margin-top: 42px; scroll-margin-top: calc(var(--header-height) + 28px); }
.legal-document h2 { margin-bottom: 20px; font-size: 1.25rem; letter-spacing: -.045em; }
.legal-document p { font-size: .91rem; line-height: 1.9; }
.legal-document p + p { margin-top: 14px; }
.legal-document strong, .legal-document b { font-weight: 650; }
.legal-document a { text-underline-offset: 4px; }
.legal-highlight { margin-block: 18px; padding: 23px 26px; background: var(--surface-muted); border-radius: var(--radius); }
.legal-highlight > strong { font-size: 1.02rem; }
.legal-highlight p { margin-top: 9px; }
.legal-table-scroll { max-width: 100%; overflow-x: auto; margin-block: 20px; border-top: 1px solid var(--text); }
.legal-table { width: 100%; border-collapse: collapse; font-size: .83rem; line-height: 1.8; text-align: left; }
.legal-table th, .legal-table td { padding: 15px 17px; border-bottom: 1px solid var(--line); vertical-align: top; }
.legal-table thead { background: var(--surface-muted); }
.legal-table th { font-weight: 600; }
.legal-table tbody th { width: 33%; }
.legal-table-note { color: var(--text-muted); font-size: .76rem; font-weight: 400; }
.legal-document .legal-caption { font-size: .78rem; color: var(--text-muted); }
.legal-details { margin: 0; border-top: 1px solid var(--line-strong); }
.legal-details > div { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: .86rem; line-height: 1.8; }
.legal-details dt { color: var(--text-muted); }
.legal-details dd { margin: 0; }
.legal-details + p { margin-top: 19px; }
.legal-contact { display: grid; gap: 9px; margin-top: 52px; padding-top: 28px; border-top: 1px solid var(--line); }
.legal-contact > span { font-size: .79rem; color: var(--text-muted); }
.legal-contact > a { width: fit-content; font-size: 1.02rem; font-weight: 550; text-decoration: none; }
.legal-contact > a span { margin-left: 12px; }
@media (max-width: 900px) {
    .legal-layout { grid-template-columns: 148px minmax(0, 1fr); gap: 36px; }
    .legal-heading h1 { font-size: 2.4rem; }
    .legal-details > div { grid-template-columns: 120px minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 680px) {
    .legal-heading { padding-block: 8px 28px; }
    .legal-heading h1 { font-size: 2rem; }
    .legal-page-nav { gap: 22px; flex-wrap: wrap; }
    .legal-page-nav a { min-height: 48px; font-size: .78rem; }
    .legal-layout { display: block; padding-top: 28px; }
    .legal-index { position: static; grid-template-columns: 1fr 1fr; gap: 2px 18px; padding-bottom: 24px; margin-bottom: 26px; border-bottom: 1px solid var(--line); }
    .legal-index > p { grid-column: 1 / -1; margin-bottom: 5px; }
    .legal-index a { min-height: 40px; font-size: .77rem; }
    .legal-document section { margin-top: 32px; }
    .legal-document h2 { font-size: 1.14rem; }
    .legal-document p { font-size: .88rem; }
    .legal-highlight { padding: 20px; }
    .legal-details > div { grid-template-columns: 1fr; gap: 5px; }
    .legal-details dt { font-size: .78rem; }
    .legal-table th, .legal-table td { padding: 12px 10px; }
    .privacy-items-table { min-width: 470px; }
    .legal-table { font-size: .79rem; }
}
