.legal-page {
  min-height: 100vh;
  background: var(--cream);
  color: var(--ink);
}

.legal-shell {
  width: min(920px, calc(100% - 40px));
  margin: 0 auto;
  padding: 42px 0 90px;
}

.legal-back {
  display: inline-block;
  margin-bottom: 72px;
  color: var(--blue);
  font-weight: 700;
}

.legal-shell h1 {
  max-width: 760px;
  margin: 14px 0 22px;
  color: var(--ink);
}

.legal-lead {
  max-width: 720px;
  margin-bottom: 54px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.legal-block {
  padding: 30px 0;
  border-top: 1px solid rgba(7, 30, 61, .14);
}

.legal-block h2 {
  margin: 0 0 14px;
  color: var(--ink);
  font-size: clamp(22px, 3vw, 30px);
}

.legal-block p,
.legal-block dd,
.legal-block dt {
  max-width: 780px;
  color: #40566c;
  line-height: 1.75;
}

.legal-block a {
  color: var(--blue);
  font-weight: 700;
}

.legal-block dl {
  display: grid;
  grid-template-columns: minmax(190px, .7fr) minmax(0, 1.3fr);
  gap: 12px 30px;
  margin: 0;
}

.legal-block dt { font-weight: 700; color: var(--ink); }
.legal-block dd { margin: 0; }
.legal-updated { margin-top: 34px; color: var(--muted); font-size: 13px; }

@media (max-width: 640px) {
  .legal-shell { width: min(100% - 28px, 920px); padding-top: 24px; }
  .legal-back { margin-bottom: 48px; }
  .legal-block dl { grid-template-columns: 1fr; gap: 4px; }
  .legal-block dd { margin-bottom: 12px; }
}
