.legal-page {
  width: min(980px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(72px, 9vw, 132px) 0 110px;
  color: #2c4259;
}

.legal-document {
  display: grid;
  gap: 0;
}

.legal-document[hidden] { display: none !important; }

.legal-hero {
  max-width: 760px;
  padding-bottom: 34px;
  border-bottom: 1px solid rgba(85, 108, 126, .22);
}

.legal-hero .kicker {
  margin: 0 0 20px;
  color: #6c8297;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .25em;
}

.legal-hero h1 {
  margin: 0;
  color: #203950;
  font-size: clamp(46px, 7vw, 82px);
  line-height: 1;
  letter-spacing: -.05em;
}

.legal-hero > p:last-child {
  margin: 22px 0 0;
  color: #718294;
  font-size: 14px;
}

.legal-intro {
  max-width: 820px;
  padding: 34px 0 18px;
}

.legal-intro p {
  margin: 0;
  color: #425a70;
  font-size: clamp(18px, 2.1vw, 23px);
  line-height: 1.75;
}

.legal-toc {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0 52px;
}

.legal-toc a {
  padding: 9px 14px;
  border: 1px solid #cbd8e1;
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  color: #3e607d;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.legal-toc a:hover,
.legal-toc a:focus-visible {
  border-color: #8baabe;
  background: #fff;
}

.legal-document section {
  max-width: 820px;
  padding: 34px 0;
  border-top: 1px solid rgba(85, 108, 126, .17);
  scroll-margin-top: 120px;
}

.legal-document section h2 {
  margin: 0 0 16px;
  color: #203950;
  font-size: clamp(22px, 2.4vw, 29px);
  line-height: 1.3;
  letter-spacing: -.02em;
}

.legal-document section p,
.legal-document section li {
  color: #586d80;
  font-size: 16px;
  line-height: 1.9;
}

.legal-document section p { margin: 0 0 14px; }
.legal-document section p:last-child { margin-bottom: 0; }
.legal-document section ul { margin: 0; padding-left: 1.25em; }
.legal-document section li + li { margin-top: 10px; }
.legal-document section strong { color: #314c64; }
.legal-document a { color: #26699d; text-underline-offset: 3px; }

.legal-footer nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 18px;
}

.legal-footer a {
  color: inherit;
  text-decoration: none;
}

.legal-footer a:hover,
.legal-footer a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 700px) {
  .legal-page {
    width: min(100% - 32px, 980px);
    padding: 52px 0 76px;
  }

  .legal-hero h1 { font-size: 44px; }
  .legal-intro { padding-top: 28px; }
  .legal-intro p { font-size: 18px; }
  .legal-toc { margin-bottom: 34px; }
  .legal-document section { padding: 27px 0; }
  .legal-document section p,
  .legal-document section li { font-size: 15px; line-height: 1.85; }
  .legal-footer nav { justify-content: flex-start; }
}
