/* Page Mentions légales */
.legal-hero{padding-block:9rem 3rem;border-bottom:1px solid var(--line);background:radial-gradient(60% 120% at 15% 0%,rgba(109,82,196,.18),transparent 70%)}
.legal-hero h1{font-size:clamp(2.6rem,6vw,4.5rem);max-width:none}
.legal-hero .maj{margin:1.25rem 0 0;color:var(--paper-dim);font-size:.95rem}

.legal{padding-block:clamp(2.5rem,6vw,4.5rem)}
.legal-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}

.toc{position:sticky;top:96px;padding:1.5rem;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r)}
.toc h2{font:600 .75rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem}
.toc ol{margin:0;padding:0;list-style:none;counter-reset:toc}
.toc li{counter-increment:toc}
.toc a{display:flex;gap:.7rem;padding:.4rem 0;text-decoration:none;font-size:.95rem;line-height:1.35;color:var(--paper-dim);transition:color .2s}
.toc a::before{content:counter(toc,decimal-leading-zero);color:var(--gold);font-variant-numeric:tabular-nums;font-size:.8rem;padding-top:.15rem}
.toc a:hover{color:var(--gold-2)}

.legal-body section{padding-block:2.25rem;border-top:1px solid var(--line);scroll-margin-top:96px}
.legal-body section:first-child{border-top:0;padding-top:0}
.legal-body h2{font-size:clamp(1.8rem,3.4vw,2.4rem);margin-bottom:1.1rem}
.legal-body h2 .n{display:block;font:600 .75rem/1 var(--sans);letter-spacing:.22em;color:var(--gold);margin-bottom:.8rem}
.legal-body p{color:var(--paper-dim);max-width:66ch}
.legal-body p strong{color:var(--paper);font-weight:600}
.legal-body a{color:var(--gold-2);text-underline-offset:.2em}
.legal-body a:hover{color:var(--paper)}

.legal-body dl{margin:0;max-width:66ch}
.legal-body dl>div{display:grid;grid-template-columns:10rem 1fr;gap:.25rem 1.25rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.legal-body dt{color:var(--paper-dim);font-size:.92rem}
.legal-body dd{margin:0;color:var(--paper);font-weight:500}

.note{margin:0 0 1.25rem;padding:1.1rem 1.4rem;background:var(--ink-2);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:14px;max-width:66ch}
.note p{margin:0;color:var(--paper)}

@media (max-width:900px){
  .legal-grid{grid-template-columns:1fr}
  .toc{position:static}
  .toc ol{columns:2 14rem;column-gap:1.5rem}
}
@media (max-width:560px){
  .legal-body dl>div{grid-template-columns:1fr}
}
