/* Legal reading page: independent selectors keep document typography isolated. */
.legal-hero { padding:48px 0 56px; background:linear-gradient(125deg,var(--blue-soft),var(--background) 72%); border-bottom:1px solid var(--border); }
.legal-back { display:inline-block; font-size:13px; color:var(--muted); margin-bottom:36px; }
.legal-hero h1 { max-width:820px; margin-bottom:16px; }
.legal-hero > .wrap > p:not(.eyebrow) { font-size:19px; }
.legal-meta { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:28px; font-size:12px; }
.legal-meta > * { padding:8px 13px; border:1px solid var(--border); border-radius:9px; background:var(--card); color:var(--foreground); }
.legal-meta a { background:var(--gold); border-color:var(--gold); color:#16304c; font-weight:700; }
.legal-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:48px; padding-block:48px 80px; align-items:start; }
.legal-sidebar { position:sticky; top:108px; max-height:calc(100vh - 130px); overflow:auto; padding-right:5px; }
.legal-sidebar summary { font-weight:700; cursor:pointer; padding-bottom:16px; }
.legal-sidebar nav { display:grid; gap:5px; }
.legal-sidebar nav a { display:block; border-left:2px solid var(--border); padding:9px 12px; font-size:12px; color:var(--muted); line-height:1.5; }
.legal-sidebar nav a span { display:block; font-size:10px; letter-spacing:1px; color:var(--primary); margin-bottom:3px; }
.legal-sidebar nav a:hover,.legal-sidebar nav a.current { background:var(--blue-soft); border-color:var(--primary); color:var(--foreground); border-radius:0 8px 8px 0; }
.legal-sidebar > p { font-size:11px; margin-top:24px; }
.legal-content { min-width:0; max-width:850px; }
.legal-content p { font-size:15px; line-height:1.85; margin:0 0 16px; overflow-wrap:anywhere; }
.legal-document-name { font-weight:700; color:var(--foreground); }
.legal-intro-title { font-size:24px; margin:30px 0 18px; }
.legal-chapter { margin-top:44px; scroll-margin-top:110px; }
.legal-chapter > header { background:var(--blue-soft); padding:24px 28px; border-radius:16px; border-left:4px solid var(--gold); margin-bottom:12px; }
.legal-chapter > header > span { display:block; color:var(--primary); font-size:11px; letter-spacing:2px; font-weight:700; margin-bottom:8px; }
.legal-chapter h2 { font-size:24px; letter-spacing:-.025em; line-height:1.35; }
.legal-article { padding:26px 0 12px; border-bottom:1px solid var(--border); scroll-margin-top:110px; }
.legal-article h3 { font-size:20px; line-height:1.4; margin-bottom:20px; }
.legal-article h3 small { display:block; font-size:11px; text-transform:uppercase; letter-spacing:1.5px; color:var(--primary); margin-bottom:5px; }
.legal-content .legal-clause { display:grid; grid-template-columns:28px minmax(0,1fr); gap:6px; padding-left:calc(var(--indent)*20px); }
.clause-marker { color:var(--primary); font-variant-numeric:tabular-nums; }
.legal-help { padding:28px; margin-top:40px; background:var(--soft); border:1px solid var(--border); border-radius:16px; }
.legal-help h3 { margin-bottom:12px; }.legal-help a { color:var(--primary); font-weight:700; overflow-wrap:anywhere; }
@media(max-width:800px) {
 .legal-layout { grid-template-columns:1fr; gap:28px; padding-top:24px; }
 .legal-sidebar { position:static; max-height:none; background:var(--soft); padding:18px; border-radius:14px; }
 .legal-sidebar nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .legal-hero h1 { font-size:38px; }.legal-hero { padding:28px 0 36px; }
 .legal-chapter > header { padding:20px; }.legal-chapter h2 { font-size:21px; }
 .legal-content p { font-size:14px; }.legal-article h3 { font-size:18px; }
}
@media print {
 .site-header,footer,.legal-sidebar,.legal-meta,.legal-back,.legal-help { display:none!important; }
 .legal-layout { display:block; }.wrap { width:100%; }.legal-content { max-width:none; }
 .legal-page { color:#111; background:white; }.legal-content p { color:#222; }
 .legal-hero { padding:0 0 20px; background:none; }.legal-chapter header { break-after:avoid; }
 .legal-article h3 { break-after:avoid; }.legal-article { break-inside:auto; }
}
ks-text { display:contents; }
#translation-status { padding:14px 18px; border:1px solid var(--border); border-radius:12px; background:var(--blue-soft); color:var(--foreground); }
