.legal-page { padding-block: 56px 80px; }
.legal-hero { padding-bottom: 32px; border-bottom: 1px solid var(--gold); margin-bottom: 38px; }
.legal-hero h1 { font-size: 44px; margin-bottom: 18px; }
.legal-lead { max-width: 830px; font-size: 18px; }
.legal-shell { display: grid; grid-template-columns: 220px minmax(0px, 1fr); gap: 70px; }
.legal-summary { position: sticky; top: 132px; align-self: start; border-top: 2px solid var(--teal); padding-top: 20px; }
.legal-summary > span { display: block; font-size: 11px; color: var(--teal); font-weight: 650; text-transform: uppercase; margin-bottom: 11px; }
.legal-summary > strong { display: block; font-size: 20px; margin-bottom: 12px; }
.legal-summary > p { font-size: 13px; line-height: 1.65; }
.legal-sections { max-width: 810px; min-width: 0px; }
.legal-card { padding-bottom: 35px; margin-bottom: 35px; border-bottom: 1px solid var(--line); }
.legal-card:last-child { padding-bottom: 0px; margin-bottom: 0px; border-bottom: 0px; }
.legal-card h2 { font-size: 24px; margin-bottom: 25px; }
.legal-card p { font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
.legal-card p + p { margin-top: 21px; }
.legal-card strong { display: block; color: var(--ink); font-size: 15px; font-weight: 650; margin-bottom: 5px; }
.legal-card a { text-decoration: underline; text-underline-offset: 3px; color: var(--teal); }
.legal-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 25px; }
.legal-actions a { color: var(--ink); text-decoration: none; }
.legal-review-note { border-left: 3px solid var(--gold); padding: 14px 18px; background: rgb(248, 244, 235); color: var(--ink); }
.legal-table-wrap { overflow-x: auto; margin-top: 22px; border: 1px solid var(--line); }
.legal-table { width: 100%; min-width: 700px; border-collapse: collapse; font-size: 14px; }
.legal-table th, .legal-table td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.legal-table th { background: var(--navy); color: rgb(255, 255, 255); font-weight: 650; }
.legal-table tr:last-child td { border-bottom: 0px; }
.legal-table code { font-size: 13px; color: var(--ink); }
.legal-shell--single { display: block; }
.legal-hero--compact { padding-block: 22px 40px; }
.legal-hero--compact h1 { font-size: 54px; }
.legal-hero--compact .eyebrow { color: var(--teal); }
.legal-hero--compact .legal-lead { max-width: 730px; }
.form-privacy-summary { grid-column: 1 / -1; margin-top: 4px; padding: 16px 18px; border-left: 3px solid var(--teal); background: rgba(255, 255, 255, 0.043); }
.form-privacy-summary strong { display: block; margin-bottom: 7px; font-size: 13px; }
.form-privacy-summary p { margin: 0px; font-size: 12px; line-height: 1.65; }
.form-privacy-summary b { color: inherit; font-weight: 650; }
.form-privacy-summary a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1080px) { .legal-shell { gap: 42px; grid-template-columns: 185px minmax(0px, 1fr); } }
@media (max-width: 800px) { .legal-shell { grid-template-columns: 1fr; gap: 32px; }
.legal-summary { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 25px; padding-top: 18px; }
.legal-summary > * { margin: 0px; }
.legal-summary > span, .legal-summary > strong { grid-column: 1; }
.legal-summary > p:first-of-type { grid-area: 1 / 2; }
.legal-summary > p:last-of-type { grid-area: 2 / 2; } }
@media (max-width: 600px) { .legal-page { padding-block: 36px 46px; }
.legal-hero { padding-bottom: 26px; margin-bottom: 28px; }
.legal-hero h1 { font-size: 36px; }
.legal-lead { font-size: 16px; }
.legal-summary { grid-template-columns: 1fr; gap: 8px; }
.legal-summary > p:first-of-type, .legal-summary > p:last-of-type { grid-area: auto / 1; }
.legal-summary > strong { font-size: 19px; }
.legal-card h2 { font-size: 24px; margin-bottom: 22px; }
.legal-card p, .legal-card strong { font-size: 15px; }
.legal-table-wrap { overflow: visible; border: 0px; }
.legal-table { min-width: 0px; }
.legal-table thead { display: none; }
.legal-table, .legal-table tbody, .legal-table tr, .legal-table td { display: block; width: 100%; }
.legal-table tr { border: 1px solid var(--line); margin-bottom: 16px; }
.legal-table tr:last-child { margin-bottom: 0px; }
.legal-table td { border-bottom: 1px solid var(--line); padding: 13px 15px; }
.legal-table td:last-child { border-bottom: 0px; }
.legal-table td::before { content: attr(data-label); display: block; color: var(--teal); font-size: 11px; font-weight: 700; margin-bottom: 5px; text-transform: uppercase; }
.legal-hero--compact { padding-top: 8px; }
.legal-hero--compact h1 { font-size: 42px; } }