/* Pages légales — mise en page sobre partagée */
.legal { padding: 168px 0 90px; position: relative; background: var(--cream); }
.legal .pattern-wm { opacity: .35; }
.legal__inner { position: relative; z-index: 2; max-width: 780px; }
.legal__back {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase;
  font-weight: 500; color: var(--blue); margin-bottom: 28px;
}
.legal__back:hover { text-decoration: underline; }
.legal h1 {
  font-family: var(--display); font-weight: 600;
  font-size: clamp(2.1rem, 4vw, 3rem); letter-spacing: -0.025em;
  line-height: 1.08; color: var(--ink);
}
.legal__date { margin-top: 14px; font-size: 0.85rem; color: var(--text-mute); }
.legal h2 {
  font-family: var(--display); font-weight: 600;
  font-size: 1.22rem; letter-spacing: -0.015em; color: var(--ink);
  margin: 44px 0 12px; padding-top: 22px;
  border-top: 1px solid rgba(11,21,36,.09);
}
.legal p, .legal li { font-size: 0.97rem; line-height: 1.78; color: var(--text-2); }
.legal p + p { margin-top: 12px; }
.legal ul { margin: 12px 0 0; padding-left: 20px; display: grid; gap: 7px; }
.legal a:not(.legal__back):not(.btn) { color: var(--blue); }
.legal a:not(.legal__back):not(.btn):hover { text-decoration: underline; }
.legal dl { margin: 12px 0 0; display: grid; grid-template-columns: 190px 1fr; gap: 10px 20px; }
.legal dt { font-weight: 500; color: var(--ink); font-size: 0.93rem; }
.legal dd { margin: 0; font-size: 0.95rem; line-height: 1.7; color: var(--text-2); }
.legal .todo {
  display: inline-block; padding: 1px 8px; border-radius: 3px;
  background: rgba(10,91,255,.08); border: 1px dashed rgba(10,91,255,.35);
  color: var(--blue); font-size: 0.82rem;
}
@media (max-width: 620px) {
  .legal { padding: 130px 0 70px; }
  .legal dl { grid-template-columns: 1fr; gap: 2px 0; }
  .legal dd { margin-bottom: 10px; }
}
