/* ---------------------------------------------------------------------------
   Privacy Notice and Terms of Use.

   A legal page is a reading surface first: 18px body, 1.75 line height, and a
   62ch measure. Every word is in the HTML, so the pages are complete with
   JavaScript disabled and remain readable with styles disabled.
   --------------------------------------------------------------------------- */

.legal {
  padding-block: var(--space-block);
}

.legal__header {
  max-width: var(--measure-narrow);
  padding-bottom: var(--space-block);
  border-bottom: var(--stroke-hairline) solid var(--hairline);
}

.legal__header > * + * {
  margin-top: var(--space-label);
}

.legal__meta {
  color: var(--text-secondary);
  font-size: var(--fs-sub);
}

.legal__notice {
  margin-top: var(--space-section);
  padding: var(--space-group) var(--space-section);
  background-color: var(--paper);
  border: var(--stroke-hairline) solid var(--hairline);
  border-left: 3px solid var(--privacy-mark);
  border-radius: var(--radius-card);
  color: var(--text-secondary);
  font-size: var(--fs-sub);
}

.legal__notice strong {
  color: var(--ink);
}

.legal__toc {
  max-width: var(--measure-narrow);
  padding-block: var(--space-block);
  border-bottom: var(--stroke-hairline) solid var(--hairline);
}

.legal__toc-title {
  margin-bottom: var(--space-label);
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  color: var(--text-secondary);
}

.legal__toc-list {
  list-style: none;
  columns: 1;
}

.legal__toc-list li {
  /* columns: 2 will otherwise split one entry across the two columns */
  break-inside: avoid;
}

.legal__toc-list a {
  display: block;
  padding-block: var(--space-tight);
  font-size: var(--fs-sub);
}

@media (min-width: 48rem) {
  .legal__toc-list {
    columns: 2;
    column-gap: var(--space-block);
  }
}

.legal__body {
  max-width: var(--measure-narrow);
  font-size: var(--fs-legal);
  line-height: var(--lh-legal);
}

.legal__body section {
  padding-top: var(--space-block);
}

.legal__body h2 {
  font-size: var(--fs-subsection);
  margin-bottom: var(--space-group);
}

.legal__body h3 {
  font-size: var(--fs-card-title);
  margin-top: var(--space-section);
  margin-bottom: var(--space-related);
}

/* The first subheading of a grouped section sits directly under its h2 and
   does not need a second gap. */
.legal__body h2 + h3 {
  margin-top: 0;
}

.legal__body p + p,
.legal__body p + ul,
.legal__body p + ol,
.legal__body ul + p,
.legal__body ol + p,
.legal__body p + table,
.legal__body table + p {
  margin-top: var(--space-group);
}

.legal__body ul,
.legal__body ol {
  padding-left: 1.4em;
}

.legal__body li + li {
  margin-top: var(--space-related);
}

.legal__body dl {
  margin: var(--space-group) 0 0;
}

.legal__body dt {
  margin-top: var(--space-label);
  font-weight: 600;
  color: var(--ink);
}

.legal__body dd {
  margin: var(--space-tight) 0 0;
  color: var(--text-secondary);
}

/* The back link closes the document body. */
.legal__more {
  margin-top: var(--space-block);
}

.legal__back {
  display: inline-flex;
  align-items: center;
  gap: var(--space-tight);
  min-height: var(--tap-min);
  font-size: var(--fs-sub);
}
