/* ── LEGAL PAGES (Privacy, CGU) ── */

.legal-hero{
  background:var(--gd);
  padding:140px 40px 56px;
  text-align:center;
  position:relative;overflow:hidden;
}
.legal-hero-glow{
  position:absolute;top:-160px;left:50%;transform:translateX(-50%);
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle, rgba(70,95,255,.18) 0%, transparent 70%);
  pointer-events:none;
}
.legal-hero-inner{position:relative;z-index:1;max-width:720px;margin:0 auto}
.legal-hero h1{
  font-size:clamp(32px,5vw,48px);font-weight:800;color:#fff;
  letter-spacing:-1.5px;line-height:1.1;margin:20px 0 12px;
}
.legal-hero > .legal-hero-inner > p{
  font-size:16px;color:var(--g400);line-height:1.6;
}
.legal-meta{
  display:inline-flex;gap:18px;margin-top:18px;flex-wrap:wrap;justify-content:center;
  font-size:12px;color:var(--g500);
}
.legal-meta span strong{color:var(--g300);font-weight:600}

.legal-content{
  background:#fff;padding:72px 40px 96px;
}
.legal-inner{
  max-width:760px;margin:0 auto;
  font-size:15px;line-height:1.75;color:var(--g700);
}
.legal-inner nav.toc{
  background:var(--g50);
  border:1px solid var(--g200);
  border-radius:12px;
  padding:20px 24px;
  margin-bottom:56px;
}
.legal-inner nav.toc strong.toc-label{
  display:block;font-size:11px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--g500);margin-bottom:12px;
}
.legal-inner nav.toc ol{padding-left:22px;margin:0;columns:2;column-gap:32px}
.legal-inner nav.toc li{margin-bottom:6px;font-size:14px;break-inside:avoid}
.legal-inner nav.toc a{color:var(--g700);text-decoration:none}
.legal-inner nav.toc a:hover{color:var(--b600);text-decoration:underline}
.legal-inner h2{
  font-size:22px;font-weight:800;color:var(--g900);
  letter-spacing:-.5px;margin:56px 0 16px;
  scroll-margin-top:88px;
}
.legal-inner h2:first-of-type{margin-top:0}
.legal-inner h3{
  font-size:16px;font-weight:700;color:var(--g900);
  margin:28px 0 10px;
}
.legal-inner p{margin-bottom:14px}
.legal-inner ul, .legal-inner ol{padding-left:24px;margin-bottom:14px}
.legal-inner li{margin-bottom:6px}
.legal-inner a{color:var(--b600);text-decoration:underline}
.legal-inner a:hover{text-decoration:none}
.legal-inner strong{color:var(--g900)}
.legal-inner code{
  background:var(--g100);border-radius:4px;padding:2px 6px;
  font-family:'DM Mono',monospace;font-size:13px;color:var(--g800);
}
.legal-inner .placeholder{
  background:var(--wa0);border-left:3px solid var(--wa5);
  padding:12px 16px;border-radius:0 8px 8px 0;
  font-size:13px;color:var(--g700);margin:16px 0;line-height:1.6;
}
.legal-inner .placeholder strong{color:#b54708;font-weight:700}
.legal-inner table{
  width:100%;border-collapse:collapse;margin:18px 0;
  font-size:14px;border:1px solid var(--g200);border-radius:8px;overflow:hidden;
}
.legal-inner table th{
  text-align:left;padding:12px 14px;background:var(--g50);
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--g700);
}
.legal-inner table td{padding:12px 14px;border-top:1px solid var(--g100);vertical-align:top}

@media(max-width:640px){
  .legal-hero{padding:110px 20px 44px}
  .legal-content{padding:48px 20px 72px}
  .legal-inner nav.toc ol{columns:1}
}
