/* Legal pages: readable documents with section navigation. */
.legal-page { max-width:1120px; margin:0 auto; padding:clamp(24px,5vw,64px) 0; }
.legal-document { color:var(--text,#0b0b0f); }
.legal-header { border-bottom:2px solid var(--text,#0b0b0f); padding-bottom:32px; margin-bottom:36px; }
.legal-document .legal-kicker { color:var(--brand,#e30613); text-transform:uppercase; font-size:14px; font-weight:750; letter-spacing:.1em; margin:0 0 16px; }
.legal-document h1 { max-width:960px; font-size:clamp(30px,4.5vw,56px); line-height:1.12; letter-spacing:-.035em; margin:0 0 20px; overflow-wrap:anywhere; }
.legal-document .legal-intro { max-width:760px; font-size:clamp(18px,2vw,22px); line-height:1.5; margin:0 0 18px; }
.legal-document .legal-date { color:var(--muted,#595b66); font-size:14px; margin:0; }
.legal-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:48px; align-items:start; }
.legal-toc { position:sticky; top:24px; padding:20px; border:1px solid var(--line,#d8d8df); border-top:3px solid var(--brand,#e30613); border-radius:8px; }
.legal-document .legal-toc h2 { font-size:18px; line-height:1.3; margin:0 0 14px; letter-spacing:0; text-transform:none; }
.legal-toc ol { padding:0; margin:0; list-style:none; display:grid; gap:12px; }
.legal-toc li { margin:0; padding:0; font-size:15px; line-height:1.45; }
.legal-toc a { display:block; color:inherit; text-decoration:none; }
.legal-toc a:hover { color:var(--brand,#e30613); text-decoration:underline; }
.legal-document a:focus-visible { outline:3px solid var(--brand,#e30613); outline-offset:4px; }
.legal-body { min-width:0; font-size:17px; line-height:1.8; overflow-wrap:anywhere; }
.legal-section { scroll-margin-top:32px; padding-bottom:32px; margin-bottom:32px; border-bottom:1px solid var(--line,#d8d8df); }
.legal-document .legal-section h2 { font-size:clamp(23px,2.6vw,30px); line-height:1.3; margin:0 0 24px; letter-spacing:-.02em; text-transform:none; }
.legal-section p { margin:0 0 18px; }
.legal-section p:last-child { margin-bottom:0; }
.legal-clause { font-weight:750; }
.legal-related { background:#f5f5f7; border-radius:8px; padding:24px; display:grid; gap:12px; }
.legal-document .legal-related h2 { font-size:20px; margin:0 0 4px; line-height:1.3; text-transform:none; }
.legal-related a { line-height:1.5; }
.legal-back { margin:24px 0 0; font-size:15px; }
@media(max-width:800px) {
 .legal-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
 .legal-toc { position:static; }
 .legal-toc ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; }
 .legal-header { margin-bottom:24px; padding-bottom:24px; }
 .legal-body { font-size:16px; line-height:1.75; }
}
@media(max-width:480px) { .legal-toc ol { grid-template-columns:1fr; } .legal-page { padding:24px 0; } }
@media print { .legal-toc,.legal-back,.legal-related { display:none; } .legal-layout { display:block; } .legal-page { max-width:none; } }
