.legal-page {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
}

.legal-nav-link {
  color: var(--ink-soft);
  font-size: 13px;
  font-weight: 500;
  text-underline-offset: 4px;
}

.legal-main {
  position: relative;
  flex: 1;
  overflow: hidden;
  padding-block: 142px 96px;
  isolation: isolate;
}

.legal-main::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(720px, 72vw);
  aspect-ratio: 1;
  top: -360px;
  right: -240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(175, 169, 236, .2), rgba(175, 169, 236, 0) 69%);
  pointer-events: none;
}

.legal-document {
  width: min(760px, 100%);
  margin-inline: auto;
}

.legal-kicker {
  margin-bottom: 18px;
  color: #397f69;
  font-size: 13px;
  font-weight: 500;
}

.legal-kicker span {
  color: var(--lavender-deep);
}

.legal-document h1 {
  max-width: 12ch;
  margin-bottom: 22px;
  font-size: clamp(3rem, 7vw, 4.75rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .98;
  text-wrap: balance;
}

.legal-deck {
  max-width: 660px;
  margin-bottom: 17px;
  color: #505461;
  font-size: clamp(1.08rem, 1.7vw, 1.28rem);
  line-height: 1.62;
  text-wrap: pretty;
}

.legal-updated {
  margin-bottom: 0;
  color: var(--ink-faint);
  font-size: 13px;
}

.legal-overview {
  margin-top: 46px;
  border: 1px solid var(--field-border);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 4%, rgba(175, 169, 236, .18), transparent 43%),
    radial-gradient(circle at 4% 96%, rgba(159, 225, 203, .18), transparent 43%),
    var(--field-bg);
  padding: clamp(24px, 4vw, 34px);
}

.legal-overview h2 {
  margin-bottom: 12px;
  font-size: 1.15rem;
  font-weight: 500;
  letter-spacing: -.025em;
}

.legal-overview p {
  margin-bottom: 0;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.68;
}

.legal-section {
  scroll-margin-top: 30px;
  margin-top: 54px;
}

.legal-section h2 {
  margin-bottom: 15px;
  font-size: clamp(1.42rem, 2.6vw, 1.7rem);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.18;
}

.legal-section h3 {
  margin: 30px 0 10px;
  font-size: 1.04rem;
  font-weight: 500;
  letter-spacing: -.015em;
}

.legal-section p,
.legal-section li {
  color: #4f5360;
  font-size: 1.04rem;
  line-height: 1.76;
}

.legal-section p {
  margin-bottom: 16px;
}

.legal-section ul {
  margin: 0 0 18px;
  padding-left: 1.25em;
}

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

.legal-section a,
.legal-overview a {
  color: var(--lavender-deep);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.legal-document strong {
  color: var(--ink);
  font-weight: 500;
}

.legal-contact {
  margin: 22px 0;
  color: #4f5360;
  font-size: 1rem;
  font-style: normal;
  line-height: 1.7;
}

.legal-contact strong {
  color: var(--ink);
  font-weight: 500;
}

.legal-contact a {
  color: var(--lavender-deep);
  text-underline-offset: 4px;
}

.legal-facts {
  display: grid;
  margin: 24px 0 18px;
  border-block: 1px solid var(--line);
}

.legal-fact {
  display: grid;
  grid-template-columns: minmax(130px, .42fr) minmax(0, 1fr);
  gap: 24px;
  padding-block: 17px;
}

.legal-fact + .legal-fact {
  border-top: 1px solid var(--line);
}

.legal-fact dt {
  color: var(--ink);
  font-size: 14px;
  font-weight: 500;
}

.legal-fact dd {
  margin: 0;
  color: #4f5360;
  font-size: 15px;
  line-height: 1.65;
}

.legal-footer-wrap {
  border-top: 1px solid var(--line);
  background: rgba(240, 242, 250, .42);
}

.legal-footer {
  align-items: center;
  padding-block: 24px 30px;
}

.legal-footer .footer-note {
  display: block;
  max-width: none;
}

.legal-footer [aria-current="page"] {
  color: var(--ink-faint);
  text-decoration: none;
}

@media (max-width: 720px) {
  .legal-main {
    padding-block: 110px 68px;
  }

  .legal-document h1 {
    font-size: clamp(2.7rem, 14vw, 3.65rem);
  }

  .legal-overview {
    margin-top: 36px;
    border-radius: 20px;
  }

  .legal-section {
    margin-top: 46px;
  }

  .legal-section p,
  .legal-section li {
    font-size: 1rem;
    line-height: 1.72;
  }

  .legal-fact {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .legal-footer {
    align-items: flex-start;
    padding-block: 22px 28px;
  }
}
