/* Legal pages: privacy and terms.
   Layered on main.css, which supplies the tokens, reset, nav and footer.
   Long-form prose, so this is mostly measure and rhythm. */

.legal { padding-block: 48px 72px; }

.legal__shell {
  max-width: 760px;
}

.legal h1 {
  font-size: 32px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.legal__meta {
  margin-top: 8px;
  font-size: 14px;
  color: var(--color-text-muted);
}

.legal__lede {
  margin-top: 24px;
  font-size: 18px;
  line-height: 1.65;
  color: var(--color-text-secondary);
}

.legal h2 {
  margin-top: 44px;
  font-size: 21px;
  line-height: 1.3;
  font-weight: 700;
  scroll-margin-top: 80px; /* clears the sticky header on anchor jumps */
}

.legal h3 {
  margin-top: 28px;
  font-size: 17px;
  font-weight: 700;
}

.legal p {
  margin-top: 14px;
  line-height: 1.7;
  color: var(--color-text-secondary);
}

.legal a { color: var(--color-text); text-decoration: underline; }
.legal a:hover { color: #000; }

.legal strong { color: var(--color-text); font-weight: 600; }

.legal__list {
  margin-top: 14px;
  padding-left: 22px;
  list-style: disc;
}
.legal__list li {
  margin-top: 8px;
  line-height: 1.7;
  color: var(--color-text-secondary);
}

.legal__address {
  margin-top: 14px;
  font-style: normal;
  line-height: 1.7;
  color: var(--color-text-secondary);
}

/* Pulls the plain-language summary out of the wall of prose. */
.legal__callout {
  margin-top: 24px;
  padding: 18px 20px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--color-primary);
  border-radius: var(--radius);
}
.legal__callout p { margin-top: 0; }

.legal__callout--strong { background: #fffbeb; border-color: #fde68a; border-left-color: #d97706; }

/* Tables carry the retention and subprocessor detail and are the one thing
   here that cannot reflow, so they scroll rather than force the page to. */
.legal__scroll {
  margin-top: 18px;
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
}

.legal__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  min-width: 520px;
}

.legal__table th,
.legal__table td {
  padding: 11px 14px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--color-border);
  line-height: 1.55;
}

.legal__table th {
  background: var(--color-surface);
  font-weight: 700;
  color: var(--color-text);
  white-space: nowrap;
}

.legal__table td { color: var(--color-text-secondary); }
.legal__table tr:last-child td { border-bottom: 0; }

.legal__footnote {
  margin-top: 48px;
  padding-top: 20px;
  border-top: 1px solid var(--color-border);
  font-size: 15px;
}

.footer__base a { color: #d1d5db; text-decoration: underline; }
.footer__base a:hover { color: #fff; }

@media (min-width: 768px) {
  .legal { padding-block: 64px 96px; }
  .legal h1 { font-size: 40px; }
  .legal h2 { font-size: 23px; }
}
