/* Legal reading pages share the release palette and type, with a plain footer. */
.legal-page { background:var(--paper); color:var(--ink); }
.legal-page .learn-entry-main { width:var(--page-width); max-width:1296px; margin-inline:auto; padding:160px 0 104px; }
.legal-page .learn-entry-header { padding-bottom:64px; }
.legal-page .learn-breadcrumb { display:inline-block; font-size:15px; color:var(--secondary); margin-bottom:48px; }
.legal-page .learn-breadcrumb:hover { color:var(--ink); }
.legal-page .learn-entry-id-badge, .legal-page .learn-toc-label { font:12px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--secondary); }
.legal-page .learn-entry-heading { margin:20px 0 24px; font-size:clamp(44px,5.5vw,80px); font-weight:400; line-height:1.05; letter-spacing:-.045em; }
.legal-page .learn-entry-heading-sub { font-size:16px; color:var(--secondary); }
.legal-page .learn-entry-body { max-width:760px; margin-left:auto; }
.legal-page .learn-entry-body:has(.learn-toc) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); gap:56px; max-width:none; }
.legal-page .learn-prose { min-width:0; max-width:68ch; font-size:18px; line-height:1.65; }
.legal-page .learn-prose p { margin:0 0 24px; }
.legal-page .learn-prose .learn-lede { font-size:24px; line-height:1.45; letter-spacing:-.015em; margin-bottom:48px; }
.legal-page .learn-prose h2 { margin:48px 0 16px; font-size:30px; line-height:1.2; font-weight:400; letter-spacing:-.025em; }
.legal-page .learn-prose ul { padding-left:24px; margin:0 0 24px; list-style:disc; }
.legal-page .learn-prose li { padding-left:6px; margin-bottom:12px; }
.legal-page .learn-prose strong { font-weight:600; }
.legal-page .learn-prose a { text-decoration:underline; text-underline-offset:4px; }
.legal-page .learn-toc { position:sticky; top:116px; align-self:start; max-height:calc(100dvh - 148px); overflow:auto; padding-right:12px; }
.legal-page .learn-toc-label { margin-bottom:20px; }
.legal-page .learn-toc-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:4px; }
.legal-page .learn-toc-item a { display:inline-block; padding:8px 12px; border-radius:20px; font-size:14px; line-height:20px; color:var(--secondary); }
.legal-page .learn-toc-item a:hover { color:var(--ink); background:#ffffff80; }
.legal-page .learn-toc-active a { background:#d0e4d8; color:var(--ink); }
.legal-footer { width:var(--page-width); max-width:1296px; margin-inline:auto; padding:32px 0 40px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:32px; font-size:14px; color:var(--secondary); }
.legal-footer-brand { display:flex; align-items:center; gap:16px; }
.legal-footer-brand img { width:28px; height:28px; }
.legal-footer nav { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; }
.legal-footer a, .legal-footer button { min-height:44px; display:inline-flex; align-items:center; padding:0; color:inherit; background:none; font-size:inherit; }
.legal-footer a[aria-current="page"] { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.legal-page :focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
@media(max-width:719px) {
 .legal-page .learn-entry-main { padding:112px 0 64px; }
 .legal-page .learn-entry-header { padding-bottom:36px; }
 .legal-page .learn-breadcrumb { margin-bottom:32px; }
 .legal-page .learn-entry-body:has(.learn-toc) { display:flex; flex-direction:column; gap:32px; }
 .legal-page .learn-toc { position:static; max-height:none; padding:0; }
 .legal-page .learn-toc-list { flex-direction:row; flex-wrap:wrap; gap:4px; }
 .legal-page .learn-toc-item a { font-size:13px; padding:6px 10px; }
 .legal-page .learn-prose { font-size:17px; }
 .legal-page .learn-prose .learn-lede { font-size:21px; margin-bottom:36px; }
 .legal-page .learn-prose h2 { font-size:27px; margin-top:36px; }
 .legal-footer { align-items:flex-start; flex-direction:column; gap:20px; padding-block:24px 32px; }
}
