.legal-page { --legal-gap:72px; }
.legal-page h1 em { color:var(--sage); }
.legal-opening { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--legal-gap); align-items:center; padding-block:56px 64px; }
.legal-opening .copy { max-width:none; }
.legal-opening .subpage-lead { margin-bottom:18px; }
.legal-print { margin-top:20px; }
.legal-print[hidden] { display:none; }
.legal-layout { display:grid; grid-template-columns:minmax(230px,.7fr) minmax(0,1.8fr); gap:var(--legal-gap); align-items:start; padding-bottom:72px; }
.legal-sidebar { position:sticky; top:120px; }
.legal-toc { padding:26px; background:#e5e9d9; border-top:2px solid var(--sage); }
.legal-toc>.eyebrow { margin-bottom:22px; }
.legal-toc>a { display:grid; grid-template-columns:18px 1fr 18px; gap:12px; align-items:center; padding:18px 0; border-top:1px solid var(--line); font-size:13px; }
.legal-toc>a:last-child { padding-bottom:0; }
.legal-toc .arrow { width:18px; height:18px; }
.legal-toc>a:hover { color:var(--sage); }
.legal-version { margin-top:18px; color:var(--muted); }
.legal-document { min-width:0; }
.legal-draft { padding:16px 20px; background:#eee9df; margin-bottom:38px; color:var(--muted); }
.legal-draft strong { color:var(--ink); font-weight:600; }
.legal-section { scroll-margin-top:125px; padding-block:38px; border-top:1px solid var(--line); }
.legal-section>.eyebrow { margin-bottom:17px; }
.legal-page .legal-section h2 { font-size:32px; line-height:1.2; margin-bottom:24px; letter-spacing:-.035em; }
.legal-page .legal-document h3 { font-size:18px; line-height:1.45; letter-spacing:-.025em; margin-top:25px; margin-bottom:10px; }
.legal-document p { color:var(--muted); }
.legal-document p a,.legal-provider a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.legal-provider { margin:0; }
.legal-provider>div { display:grid; grid-template-columns:110px 1fr; gap:24px; padding:12px 0; border-bottom:1px solid var(--line); }
.legal-provider>div:last-child { border-bottom:0; }
.legal-provider dt { color:var(--muted); }
.legal-provider dd { margin:0; overflow-wrap:anywhere; }
.legal-data-list { margin-top:26px; }
.legal-data-list>article { padding:20px 0; border-top:1px solid var(--line); }
.legal-page .legal-data-list h3 { margin-top:0; }
.legal-data-list strong { color:var(--ink); font-weight:500; }
.legal-pending { border-left:2px solid var(--sage); padding-left:16px; margin-top:24px; }
.legal-section>.text-link { margin-top:18px; }
.legal-contact { border-top:2px solid var(--sage); padding-top:4px; }
.legal-contact .text-link { margin-top:15px; }
.legal-page code { font-size:.9em; color:var(--ink); }
@media(max-width:1100px) { .legal-page { --legal-gap:40px; } .legal-toc { padding:22px; } }
@media(max-width:800px) {
 .legal-opening,.legal-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
 .legal-opening { padding-block:38px 42px; }
 .legal-sidebar { position:static; }
 .legal-layout { padding-bottom:48px; }
 .legal-page .legal-section h2 { font-size:28px; }
 .legal-section { padding-block:30px; }
 .legal-draft { margin-bottom:30px; }
 .legal-provider>div { grid-template-columns:80px 1fr; gap:18px; }
}
@media print {
 @page { margin:16mm; }
 .legal-page { background:#fff; color:#000; }
 .legal-page .site-header,.legal-page .site-footer,.legal-page .breadcrumbs,.legal-page .legal-sidebar,.legal-page .legal-print,.legal-page .back-to-top,.legal-page .skip { display:none !important; }
 .legal-page .wrap { width:100%; max-width:none; }
 .legal-opening,.legal-layout { display:block; padding:0; }
 .legal-opening { margin-bottom:24px; }
 .legal-opening>div+div { margin-top:20px; }
 .legal-page h1 { font-size:30pt !important; }
 .legal-page .legal-section h2 { font-size:20pt; break-after:avoid; }
 .legal-page .legal-document h3 { font-size:13pt; break-after:avoid; }
 .legal-page p,.legal-provider { font-size:10pt; line-height:1.6; }
 .legal-page .legal-section { padding-block:20px; }
 .legal-page .legal-document p { color:#222; orphans:3; widows:3; }
 .legal-provider>div { break-inside:avoid; }
 .legal-draft { border:1px solid #aaa; }
 .legal-page .text-link .arrow { display:none; }
}
