/* Legal documents share the site's palette and locally hosted typeface. */
.legal-header,
.legal-main {
  width: min(100%, 800px);
  margin-inline: auto;
  padding-inline: 24px;
}
.legal-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
  padding-block: 28px;
}
.legal-page a { color: var(--charcoal); text-underline-offset: 3px; }
.legal-brand { font-weight: 750; text-decoration: none; }
.legal-main { line-height: 1.75; overflow-wrap: anywhere; }
.legal-intro { padding-block: 28px 12px; }
.legal-eyebrow { font-size: 14px; font-weight: 650; }
.legal-intro h1 {
  font-size: clamp(32px, 6vw, 48px);
  line-height: 1.15;
  letter-spacing: -1px;
  margin-block: 12px 18px;
}
.legal-date { font-size: 14px; }
.legal-callout {
  background: var(--coral-soft);
  border-left: 4px solid var(--coral-press);
  border-radius: 0 12px 12px 0;
  padding: 18px 20px;
  margin-block: 24px;
}
.legal-main .legal-callout p { margin: 0; }
.legal-toc {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 24px;
  margin-top: 28px;
}
.legal-main section { max-width: none; padding: 28px 0; scroll-margin-top: 20px; }
.legal-main section + section { border-top: 1px solid var(--border); }
.legal-main h2 { font-size: 24px; line-height: 1.3; }
.legal-main p + p { margin-top: 16px; }
.legal-main ul,
.legal-main ol { padding-left: 24px; }
.legal-main li + li { margin-top: 10px; }
.legal-main ul + p { margin-top: 16px; }
.legal-page footer { margin-top: 24px; }
.skip-link {
  position: absolute;
  top: -100px;
  left: 16px;
  z-index: 10;
  padding: 12px 20px;
  background: var(--surface);
}
.skip-link:focus { top: 8px; }
@media print {
  .legal-page { background: white; color: black; }
  .legal-header, .legal-toc, .skip-link, .legal-page footer { display: none; }
  .legal-main { width: 100%; padding: 0; }
  .legal-main section { padding-block: 16px; }
  .legal-main h2 { break-after: avoid; }
  .legal-main p, .legal-main li { orphans: 3; widows: 3; }
}
