.legal-page {
    width: min(100%, 1280px);
    margin: 0 auto;
    padding: 12rem 24px 64px;
}
.legal-intro { padding-bottom: 48px; border-bottom: 1px solid #333; }
.legal-eyebrow, .legal-updated, .legal-download, .legal-contents, .legal-document {
    font-family: 'Aileron', sans-serif;
}
.legal-eyebrow { color: #b0b0b0; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; }
.legal-intro h1 { font-size: clamp(36px, 6vw, 64px); font-weight: 300; line-height: 1.15; margin: 12px 0 20px; }
.legal-updated { color: #b0b0b0; font-size: 15px; }
.legal-download { display: inline-block; margin-top: 20px; text-underline-offset: 5px; text-decoration: underline; }
.legal-grid { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: 64px; padding-top: 40px; }
.legal-contents h2 { font-size: 18px; margin-bottom: 16px; }
.legal-contents li + li { margin-top: 12px; }
.legal-contents a { color: #b0b0b0; font-size: 14px; line-height: 1.6; }
.legal-contents a:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }
.legal-document { max-width: 760px; color: #d8d8d8; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.legal-document h2 { color: white; font-size: 24px; font-weight: 400; line-height: 1.4; margin: 44px 0 20px; scroll-margin-top: 32px; }
.legal-document h3 { color: white; font-size: 18px; font-weight: 600; line-height: 1.5; margin: 28px 0 16px; }
.legal-document > :first-child { margin-top: 0; }
.legal-document p, .legal-document ul { margin-bottom: 20px; }
.legal-document ul { list-style: disc; padding-left: 24px; }
.legal-document li + li { margin-top: 12px; }
.legal-document a { color: white; text-decoration: underline; text-underline-offset: 4px; }
.legal-back { border-top: 1px solid #333; padding-top: 24px; margin-top: 40px; }
.legal-page a:focus-visible, .legal-skip-link:focus-visible { outline: 2px solid #c9a961; outline-offset: 5px; }
.legal-skip-link { position: absolute; top: 12px; left: 24px; padding: 12px; background: black; color: white; z-index: 100; transform: translateY(-200%); }
.legal-skip-link:focus { transform: translateY(0); }
@media (max-width: 767px) {
    .legal-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
    .legal-intro { padding-bottom: 32px; }
    .legal-contents { padding-bottom: 32px; border-bottom: 1px solid #333; }
    .legal-document h2 { font-size: 22px; }
}
@media print {
    body { background: white !important; color: black !important; }
    body::before, body > header, body > nav, #chat-overlay, .legal-skip-link, .legal-contents, .legal-download, .legal-back, footer { display: none !important; }
    .legal-page { padding: 0; width: 100%; }
    .legal-grid { display: block; padding-top: 24px; }
    .legal-intro h1, .legal-eyebrow, .legal-updated, .legal-document, .legal-document h2, .legal-document h3, .legal-document a { color: black; }
    .legal-document { max-width: none; font-size: 11pt; }
    .legal-document h2, .legal-document h3 { break-after: avoid; }
}
