/* Shared legal pages: colours and typography inherit from index.css. */
.legal-main { padding-top:64px; padding-bottom:80px; }
.legal-home-link { margin-left:auto; color:var(--muted); font-size:14px; }
.legal-home-link:hover { color:var(--purple); }
.legal-hero { max-width:850px; margin-bottom:34px; }
.legal-hero h1 { font-size:clamp(28px,3.5vw,44px); line-height:1.5; letter-spacing:0; }
.legal-date,.legal-translation-note { color:var(--muted); font-size:14px; }
.legal-date time { margin-left:12px; }
.legal-notice { padding:23px 28px; background:#24192f; border:1px solid #59406c; border-radius:10px; margin-bottom:38px; }
.legal-notice h2 { font-size:18px; }
.legal-notice p { color:var(--muted); font-size:15px; margin-bottom:0; }
.legal-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:48px; align-items:start; }
.legal-toc { position:sticky; top:24px; display:block; max-height:calc(100vh - 48px); overflow-y:auto; border-top:1px solid var(--line); padding-top:20px; }
.legal-toc h2 { font-size:15px; color:var(--purple); }
.legal-toc ol { list-style:none; padding:0; margin:15px 0 0; }
.legal-toc a { display:block; padding:9px 0; line-height:1.7; font-size:13px; overflow-wrap:anywhere; }
.legal-document { min-width:0; background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:34px; }
.legal-document section + section { border-top:1px solid var(--line); margin-top:30px; padding-top:30px; }
.legal-document h2 { font-size:21px; letter-spacing:0; line-height:1.6; }
.legal-section-number { display:block; font:12px Arial,sans-serif; color:var(--purple); margin-bottom:12px; }
.legal-document p,.legal-disclosure dd { font-size:16px; line-height:2; color:#d0c7da; overflow-wrap:anywhere; }
.legal-document p { margin-bottom:0; }
.legal-document a { color:var(--purple); text-decoration:underline; text-underline-offset:4px; }
.legal-disclosure { margin:0; }
.legal-disclosure>div { padding:23px 0; border-bottom:1px solid var(--line); scroll-margin-top:24px; }
.legal-disclosure>div:first-child { padding-top:0; }
.legal-disclosure dt { color:var(--purple); font-size:15px; font-weight:700; line-height:1.7; overflow-wrap:anywhere; }
.legal-disclosure dd { margin:10px 0 0; }
.legal-contact { margin-top:30px; }
.legal-page .legal-toc { display:block; }
.legal-page .site-footer { flex-wrap:wrap; }
@media(max-width:850px) {
 .legal-layout { grid-template-columns:1fr; gap:25px; }
 .legal-toc { position:static; max-height:none; }
 .legal-toc ol { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
}
@media(max-width:540px) {
 .legal-hero h1 { font-size:24px; hyphens:auto; }
 .legal-main { padding-top:36px; }
 .legal-page .site-header { flex-wrap:wrap; }
 .legal-home-link { order:3; width:100%; margin:4px 0 0; font-size:13px; }
 .legal-document { padding:23px 19px; }
 .legal-document h2 { font-size:20px; }
 .legal-notice { padding:20px; }
 .legal-toc ol { grid-template-columns:1fr; }
 .legal-document p,.legal-disclosure dd { font-size:15px; }
}
