.legal-page {
  width: min(820px, 100%);
  margin: 0 auto;
}
.legal-page-header {
  margin-bottom: 28px;
}
.legal-page-header .brand-lockup {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 14px;
}
.legal-page-header .brand-lockup span {
  color: var(--muted);
  font-size: .82rem;
}
.legal-page-header h1 {
  font-size: clamp(1.7rem, 4vw, 2.25rem);
}
.legal-page-header .legal-updated {
  color: var(--muted);
  font-size: .8rem;
}
.legal-section {
  padding: 22px 0;
  border-top: 1px solid var(--line);
}
.legal-section h2 {
  margin-bottom: 10px;
  font-size: 1.05rem;
}
.legal-section p,
.legal-section li,
.legal-section dd {
  line-height: 1.8;
}
.legal-section p + p,
.legal-section ul + p,
.legal-section p + ul,
.legal-section dl + p {
  margin-top: 10px;
}
.legal-section ul {
  margin: 10px 0 0;
  padding-left: 1.4em;
}
.legal-section dl {
  margin: 12px 0 0;
}
.legal-section dt {
  margin-top: 12px;
  font-weight: 750;
}
.legal-section dd {
  margin: 4px 0 0;
  color: var(--muted);
}
.legal-callout {
  padding: 14px 16px;
  border: 1px solid #d9d2c4;
  border-radius: 12px;
  background: #faf7f1;
}
.legal-page a {
  text-underline-offset: 3px;
}
@media (max-width: 620px) {
  .legal-section { padding: 18px 0; }
}
