.legal-main {
  min-height: calc(100vh - 160px);
}

.legal-page {
  padding: 72px 24px 96px;
}

.legal-page__inner {
  max-width: 640px;
  margin: 0 auto;
}

.legal-page h1 {
  margin: 0 0 12px;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
  color: var(--text);
}

.legal-page__meta {
  margin: 0 0 28px;
  color: var(--text3);
  font-size: 0.92rem;
}

.legal-page h2 {
  margin: 34px 0 12px;
  font-size: 1.16rem;
  line-height: 1.3;
  color: var(--text);
}

.legal-page p,
.legal-page li {
  margin: 0;
  color: var(--text2);
  line-height: 1.8;
}

.legal-page p + p,
.legal-page ul + p,
.legal-page p + ul {
  margin-top: 14px;
}

.legal-page ul {
  margin: 0;
  padding-left: 20px;
  color: var(--text2);
}

.legal-page a {
  color: var(--text);
  text-underline-offset: 3px;
}

.legal-page a:hover {
  opacity: 0.82;
}