/* Document layout only; all colours, type styles and spacing come from the one-pager. */
.legal-page { max-width: none; }
.legal-page > .quick-nav { animation: legal-navigation-enter var(--entry-duration) var(--ease-out) both; }
@keyframes legal-navigation-enter {
  from { opacity: 0; translate: 0 var(--entry-distance); }
  to { opacity: 1; translate: 0 0; }
}
.legal-document { width: 100%; padding: calc(var(--section-y) - var(--space-3) + 160px) var(--edge) var(--section-gap); }
.legal-title {
  padding-bottom: var(--space-2);
  border-bottom: 1px solid color-mix(in srgb, var(--color-text) 20%, transparent);
  margin-bottom: var(--heading-lockup-body-gap);
}
.legal-title.heading-lockup { text-align: left; }
.legal-title .heading-lockup__title { width: 100%; margin-inline: 0; align-items: flex-start; }
.legal-title h1 { width: 100%; max-width: none; margin-inline: 0; padding-inline: 0; text-align: left; }
.legal-content { --type-body-size: 15px; min-width: 0; font-size: var(--type-body-size); }
.legal-content > :is(p, h2, h3, ul, ol, blockquote) { max-width: 55%; }
.legal-content blockquote { margin: 0; }
.legal-anchor { display: block; scroll-margin-top: var(--space-6); }
.legal-content p {
  margin: 0 0 var(--space-3);
  font-size: var(--type-body-size);
  font-weight: var(--type-body-weight);
  line-height: var(--type-body-leading);
  letter-spacing: var(--type-body-tracking);
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
.legal-content :is(h2, h3), .legal-table th {
  font-family: var(--font-display);
  font-size: var(--type-wordmark-size);
  font-weight: var(--type-wordmark-weight);
  line-height: 1.2;
  letter-spacing: var(--type-wordmark-tracking);
  text-wrap: pretty;
}
.legal-content :is(h2, h3) { margin: var(--space-5) 0 var(--space-2); }
.legal-table th { font-size: var(--type-body-size); }
.legal-content strong { font-weight: var(--type-wordmark-weight); }
.legal-content a {
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--color-text) 20%, transparent);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
.legal-content a:hover { opacity: .58; }
.legal-table-wrap { margin: var(--space-3) 0; max-width: 100%; overflow-x: auto; }
.legal-table { width: 100%; border-collapse: collapse; table-layout: fixed; text-align: left; }
.legal-table th, .legal-table td {
  padding: calc(var(--space-2) * 2 / 3) calc(var(--space-3) * 2 / 3) calc(var(--space-2) * 2 / 3) 0;
  vertical-align: top;
  border-block: 1px solid color-mix(in srgb, var(--color-text) 20%, transparent);
  overflow-wrap: anywhere;
}
.legal-table :is(th, td):last-child { padding-right: 0; }
.legal-table--2 :is(th, td):first-child { width: 35%; }
.legal-table--3 :is(th, td):first-child { width: 30%; }
.legal-page :is(a, .legal-table-wrap):focus-visible { outline: 2px solid var(--color-text); outline-offset: 3px; }

@media (max-width: 980px) {
  .legal-content > :is(p, h2, h3, ul, ol, blockquote) { max-width: 100%; }
}
@media (max-width: 720px) {
  /* Apply the same 160px downward offset to the compact mobile lockup. */
  .legal-document { padding-top: calc(var(--space-6) - var(--space-3) + var(--space-1) + 160px); }
  .legal-title { margin-bottom: var(--space-2); }
  .legal-table--2 { min-width: 28rem; }
  .legal-table--3 { min-width: 40rem; }
}

@media (max-width: 419px) {
  .legal-content { --type-body-size: 16px; }
}
