/* Legal documents only. Shared navigation, footer and homepage remain independent. */
.legal-page>main>.wrap{max-width:1440px;padding-inline:clamp(20px,4vw,64px)}
.legal-page>main{padding-bottom:96px}
.legal-page main h1{max-width:1000px;font-size:clamp(34px,4.5vw,64px);line-height:1.08;letter-spacing:-.04em}
.legal-page main .sub{max-width:780px;font:400 var(--type-reading-size)/var(--type-reading-line) Geist,sans-serif}
.legal-page main .dates{margin-bottom:28px}
.legal-page main>.wrap>.note{max-width:100%;margin-bottom:40px}
.legal-page .legal-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:clamp(40px,5vw,88px);align-items:start;border-top:1px solid var(--ui-line);padding-top:36px}
.legal-page .toc{position:sticky;top:128px;max-height:calc(100dvh - 152px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:transparent;border:0;border-radius:0;padding:0 24px 8px 0;margin:0;border-right:1px solid var(--ui-line)}
.legal-page .toc p{letter-spacing:.1em;margin-bottom:16px;color:var(--ui-muted);font:400 var(--type-caption-size)/var(--type-caption-line) Geist,sans-serif}
.legal-page .toc ol{padding-left:24px;font:400 var(--type-caption-size)/var(--type-caption-line) Geist,sans-serif}
.legal-page .toc li{padding-left:4px;margin:0 0 5px;color:var(--ui-muted)}
.legal-page .toc a{display:block;padding:6px 0;color:var(--ui-muted);text-decoration:none}
.legal-page .toc a:hover,.legal-page .toc a:focus-visible{color:var(--ui-text);text-decoration:underline;text-underline-offset:4px}
.legal-page main a:focus-visible{outline:2px solid var(--ui-focus);outline-offset:4px;border-radius:2px}
.legal-page .legal-content{min-width:0;max-width:900px;;;overflow-wrap:anywhere;font:400 var(--type-reading-size)/var(--type-reading-line) Geist,sans-serif}
.legal-page .legal-content h2{scroll-margin-top:132px;margin:52px 0 18px;font-size:clamp(22px,2vw,28px);line-height:1.3;letter-spacing:-.025em}
.legal-page .legal-content>h2:first-child{margin-top:0}
.legal-page .legal-content p,.legal-page .legal-content ul{margin-bottom:20px}
.legal-page .legal-content table{max-width:100%;font-size:14px;line-height:1.6;overscroll-behavior-x:contain}
.legal-page .legal-content th,.legal-page .legal-content td{padding:14px 12px}
.legal-page main .note{border-left:2px solid var(--ui-strong);background:var(--ui-soft);border-radius:0 8px 8px 0;color:var(--ui-text)}
.legal-page main .todo{background:var(--ui-soft);border-bottom:1px dashed var(--ui-strong);color:var(--ui-text)}
@media(max-width:900px){
 .legal-page .legal-layout{grid-template-columns:220px minmax(0,1fr);gap:28px}
 .legal-page .toc{padding-right:18px}
}
@media(max-width:700px){
 .legal-page>main>.wrap{padding-inline:20px}
 .legal-page .legal-layout{grid-template-columns:minmax(0,1fr);gap:36px;padding-top:28px}
 .legal-page .toc{position:static;max-height:none;overflow:visible;border-right:0;border-bottom:1px solid var(--ui-line);padding:0 0 24px}
 .legal-page .toc a{padding-block:10px;min-height:44px}
 .legal-page .legal-content{;font:400 var(--type-reading-size)/var(--type-reading-line) Geist,sans-serif}
 .legal-page .legal-content h2{scroll-margin-top:112px;margin-top:40px}
 .legal-page main h1{font-size:36px}
 .legal-page main .sub{;font:400 var(--type-reading-size)/var(--type-reading-line) Geist,sans-serif}
}
@media(max-width:700px){
 .legal-page .legal-content table{overflow-x:auto;overflow-wrap:normal;-webkit-overflow-scrolling:touch}
 .legal-page .legal-content table tbody{display:table;width:100%;min-width:620px}
}

/* Image masthead only: existing legal wording, contents and navigation stay intact. */
.legal-page .legal-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:clamp(320px,24vw,450px);padding:56px 32px;border-radius:24px;background-color:#111112;text-align:center}
.legal-page .legal-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}
.legal-page .legal-hero::before{content:"";position:absolute;inset:0;background-color:rgba(17,17,18,.64);z-index:-1;pointer-events:none}
.legal-page .legal-hero-copy{min-width:0;width:100%;max-width:1100px}
.legal-page main .legal-hero h1{max-width:none;margin:0 0 20px;color:#F5F5F7;font-family:'Bricolage Grotesque',sans-serif;text-wrap:balance}
.legal-page main .legal-hero .dates{max-width:760px;margin:0 auto;color:#F5F5F7;font:400 var(--type-caption-size)/var(--type-caption-line) Geist,sans-serif;text-wrap:balance}
.legal-page main .legal-hero .todo{background-color:transparent;border-bottom-color:currentColor;color:inherit}
.legal-page .legal-introduction{padding-top:40px}
.legal-page .legal-introduction .language-notice{margin-bottom:20px;padding-bottom:16px}
.legal-page main .legal-introduction>.sub{margin-bottom:24px}
@media(max-width:700px){
 .legal-page .legal-hero{min-height:320px;padding:40px 20px;border-radius:20px}
 .legal-page .legal-hero h1{overflow-wrap:normal}
 .legal-page .legal-introduction{padding-top:28px}
}

/* Current section: shape and weight supplement the theme-aware colours. */
.legal-page .toc a{position:relative}
.legal-page .toc a[aria-current="location"]{color:var(--ui-text);background-color:var(--ui-soft);font-weight:600;box-shadow:none;border-radius:0 4px 4px 0;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

.legal-page .toc a[aria-current="location"]::before{content:"";position:absolute;inset-block:0;left:-8px;width:3px;background:currentColor;border-radius:2px}

/* One visible language per legal block; French remains the no-script fallback. */
html[data-lang="en"] .legal-page main [data-legal-fr],
html:not([data-lang="en"]) .legal-page main [data-legal-en]{display:none!important}

.legal-page .legal-content :is(ul,ol){font:400 var(--type-compact-size)/var(--type-compact-line) Geist,sans-serif}
