/* Legal pages (P6-04): a readable single column on the site's own palette and type. */
.legal-page { max-width: 780px; padding-block: 48px 72px; }
.legal-page h1 { font-size: 36px; margin: 6px 0 20px; text-wrap: balance; }
.legal-page h2 { font-size: 20px; margin: 34px 0 10px; }
.legal-page p, .legal-page li { font-size: 15.5px; color: var(--ink-soft); }
.legal-page p { margin-bottom: 12px; }
.legal-page ul { padding-left: 22px; margin-bottom: 14px; display: grid; gap: 6px; }
.legal-page b { color: var(--ink); }
.legal-page a { color: var(--ink); text-underline-offset: 2px; }
.legal-page code { font-family: 'IBM Plex Mono', monospace; font-size: 13.5px; }
.legal-meta { font-size: 13px; color: #8B93A5; }
.table-scroll { overflow-x: auto; margin: 12px 0 20px; }
.legal-page table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 14px; }
.legal-page th, .legal-page td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--line); color: var(--ink-soft); }
.legal-page th { color: var(--ink); font-weight: 600; background: var(--card); }
.fill { background: #FDEBD3; color: #8A4B08; padding: 0 4px; border-radius: 4px; font-weight: 600; }
.legal-links { position: static; background: none; backdrop-filter: none; border: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 13.5px; }
.legal-links a { text-decoration: none; color: var(--ink-soft); }
.legal-links a:hover { color: var(--ink); }
.foot-links a { display: inline-block; }
@media (max-width: 600px) { .legal-page h1 { font-size: 28px; } }
