/* ===========================================================================
   legal.css — long-form legal pages (Privacy Policy, Terms of Service).
   Constrained measure for readability; uses the global design tokens.
   =========================================================================== */

.legal { padding-block: var(--sp-7) var(--sp-6); }

/* --- Header ------------------------------------------------------------- */
.legal__header { margin-bottom: var(--sp-5); }
.legal__title {
  font-size: var(--t-h1);
  line-height: 1.05;
  margin: var(--sp-2) 0 var(--sp-2);
}
.legal__updated {
  color: var(--c-ink-2, #6e6e73);
  font-size: var(--t-eyebrow);
  letter-spacing: 0.02em;
}
.legal__intro {
  font-size: var(--t-lead);
  line-height: 1.4;
  margin: var(--sp-4) 0 0;
}
.legal__disclaimer {
  margin: var(--sp-4) 0 0;
  padding: var(--sp-3) var(--sp-4);
  background: var(--c-bg-alt);
  border-left: 3px solid var(--c-gold);
  border-radius: var(--r-sm);
  font-size: 0.95em;
  line-height: 1.55;
}

/* --- Table of contents -------------------------------------------------- */
.legal__toc {
  margin: var(--sp-6) 0;
  padding: var(--sp-3) var(--sp-4);
  background: var(--c-bg-alt);
  border-radius: var(--r-md);
}
.legal__toc h2 {
  font-size: var(--t-eyebrow);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--c-ink-2, #6e6e73);
  margin: 0 0 var(--sp-2);
}
.legal__toc ol {
  margin: 0;
  padding-left: 1.4em;
  columns: 2;
  column-gap: var(--sp-5);
}
.legal__toc li { margin: 0 0 0.35em; break-inside: avoid; }
.legal__toc a { color: var(--c-accent-ink); text-decoration: none; }
.legal__toc a:hover { text-decoration: underline; }

/* --- Body --------------------------------------------------------------- */
.legal__body > section + section { margin-top: var(--sp-5); }
.legal__body h2 {
  font-size: var(--t-h3);
  line-height: 1.2;
  margin: 0 0 var(--sp-2);
  scroll-margin-top: 6rem;          /* clears the sticky nav on anchor jumps */
}
.legal__body h3 {
  font-size: var(--t-lead);
  line-height: 1.25;
  margin: var(--sp-3) 0 var(--sp-1);
}
.legal__body p { margin: 0 0 var(--sp-2); line-height: 1.6; }
.legal__body ul,
.legal__body ol { margin: 0 0 var(--sp-2); padding-left: 1.4em; }
.legal__body li { margin-top: 0.4em; line-height: 1.55; }
.legal__body a { color: var(--c-accent-ink); }
.legal__body strong { color: var(--c-ink); }

.legal__contact {
  margin-top: var(--sp-5);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--c-line);
}
.legal__contact address { font-style: normal; line-height: 1.7; }

@media (max-width: 640px) {
  .legal__toc ol { columns: 1; }
}
