/* ===== Legal pages (privacy / terms) ===== */

.legal{ padding:64px 0 88px; background:var(--bg-alt); border-bottom:3px solid var(--line); }
.legal-wrap{ max-width:840px; }

.legal h1{
  font-size:clamp(30px,4.4vw,46px); font-weight:800; letter-spacing:-.8px; margin-bottom:10px;
}
.legal-date{ color:var(--ink-3); font-size:14.5px; margin:0 0 30px; font-weight:700; }

.legal-body{
  background:#fff; border:var(--bd); border-radius:var(--r-lg);
  box-shadow:var(--sh); padding:44px 42px;
}
.legal-body h2{
  font-size:22px; font-weight:800; margin:34px 0 12px;
  padding-left:16px; border-left:6px solid var(--cyan);
}
.legal-body h2:first-of-type{ margin-top:6px; }
.legal-body p{ margin:0 0 16px; color:var(--ink-2); font-size:16.5px; }
.legal-body ul{ margin:0 0 18px; display:grid; gap:10px; }
.legal-body li{
  position:relative; padding-left:26px; color:var(--ink-2); font-size:16.5px;
}
.legal-body li::before{
  content:''; position:absolute; left:4px; top:11px;
  width:9px; height:9px; border:2px solid var(--line); border-radius:3px; background:var(--pink);
}
.legal-body a{ color:var(--cyan-dark); font-weight:700; text-decoration:underline; }
.legal-body strong{ color:var(--ink); }

.legal-note{
  margin-top:30px !important; background:var(--yellow-soft);
  border:var(--bd); border-radius:var(--r); padding:18px 22px;
  font-size:15px !important; font-weight:700; color:var(--ink) !important;
}

.legal + .site-footer{ padding:34px 0 26px; }
.site-footer .f-bottom a{ color:var(--cyan); }

@media (max-width:620px){
  .legal{ padding:44px 0 60px; }
  .legal-body{ padding:26px 20px; }
  .legal-body h2{ font-size:19px; }
  .legal-body p, .legal-body li{ font-size:15.5px; }
}
