.legal-page {
  background: #fff;
}

.legal-intro {
  padding: 188px 0 88px;
}

.legal-intro-inner,
.legal-sections {
  max-width: 940px;
}

.legal-intro h1 {
  max-width: 900px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(54px, 5.8vw, 88px);
  line-height: 1;
  letter-spacing: -.055em;
}

.legal-lead {
  max-width: 780px;
  margin: 32px 0 0;
  color: #6f7177;
  font-size: clamp(18px, 1.55vw, 23px);
  line-height: 1.65;
}

.legal-updated {
  margin: 24px 0 0;
  color: #929398;
  font-size: 14px;
  line-height: 1.5;
}

.legal-notice {
  max-width: 760px;
  margin: 40px 0 0;
  padding: 22px 26px;
  border-radius: 18px;
  background: #f7f6f4;
  color: #585a60;
  font-size: 15px;
  line-height: 1.7;
}

.legal-content {
  padding: 20px 0 136px;
}

.legal-section + .legal-section {
  margin-top: 68px;
}

.legal-section h2 {
  margin: 0 0 24px;
  color: var(--ink);
  font-size: clamp(27px, 2.6vw, 38px);
  line-height: 1.12;
  letter-spacing: -.035em;
}

.legal-section p,
.legal-section li {
  color: #65676d;
  font-size: 16px;
  line-height: 1.85;
}

.legal-section p {
  margin: 0;
}

.legal-section p + p,
.legal-section p + ul,
.legal-section ul + p {
  margin-top: 16px;
}

.legal-section ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 24px;
}

.legal-section a {
  color: #ff5a12;
  font-weight: 700;
  text-decoration: none;
}

.legal-section a:hover {
  text-decoration: underline;
}

@media (max-width: 680px) {
  .legal-intro {
    padding: 138px 0 66px;
  }

  .legal-intro h1 {
    font-size: clamp(45px, 14vw, 64px);
  }

  .legal-lead {
    margin-top: 26px;
    font-size: 17px;
  }

  .legal-notice {
    margin-top: 32px;
    padding: 20px;
  }

  .legal-content {
    padding-bottom: 92px;
  }

  .legal-section + .legal-section {
    margin-top: 52px;
  }
}
