/* Legal pages: /legal/, /terms/, /privacy/. Colours come from site.css tokens. */
.legal-wrap{ max-width: 760px; margin: 0 auto; padding: 48px 16px 90px; }
@media (min-width: 600px){ .legal-wrap{ padding-left: 24px; padding-right: 24px; } }
.legal-wrap h1{ font-size: 2.1rem; margin-bottom: 4px; }
.legal-wrap .updated{ color: var(--ink-faint); font-size: 0.95rem; margin-bottom: 32px; }
.legal-wrap h2{ font-size: 1.25rem; margin-top: 44px; border-top: 1px solid var(--panel-border); padding-top: 30px; scroll-margin-top: 80px; }
.legal-wrap h3{ font-size: 1.02rem; color: var(--jade); margin-top: 26px; margin-bottom: 8px; font-family: "Source Sans 3", sans-serif; font-weight: 700; scroll-margin-top: 80px; }
.legal-wrap p, .legal-wrap ul, .legal-wrap ol{ color: var(--ink-soft); }
.legal-wrap ul, .legal-wrap ol{ padding-left: 22px; }
.legal-wrap li{ margin-bottom: 8px; }
.legal-wrap li strong, .legal-wrap p strong{ color: var(--ink); }
.legal-wrap .caps{ text-transform: uppercase; font-size: 0.93rem; letter-spacing: 0.01em; }
.legal-wrap .callout{
  background: var(--panel); border: 1px solid var(--panel-border); border-radius: 12px;
  padding: 18px 20px; font-size: 0.95rem; color: var(--ink-soft); margin: 18px 0;
}
.legal-wrap .callout.strong{ border-color: var(--gold); }
.legal-wrap nav.toc{
  background: var(--panel); border: 1px solid var(--panel-border); border-radius: 12px;
  padding: 16px 20px; margin: 8px 0 12px;
}
.legal-wrap nav.toc p{ margin: 0 0 8px; font-weight: 700; color: var(--ink); }
.legal-wrap nav.toc ol{ margin: 0; padding-left: 22px; columns: 2; column-gap: 28px; }
@media (max-width: 600px){ .legal-wrap nav.toc ol{ columns: 1; } }
.legal-wrap nav.toc li{ margin-bottom: 4px; break-inside: avoid; }
.legal-wrap .table-scroll{ overflow-x: auto; margin: 16px 0; }
.legal-wrap table{ border-collapse: collapse; width: 100%; font-size: 0.93rem; color: var(--ink-soft); min-width: 520px; }
.legal-wrap th, .legal-wrap td{ text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--panel-border); }
.legal-wrap th{ color: var(--ink); background: var(--panel); }
.legal-wrap .cards{ display: grid; gap: 16px; grid-template-columns: 1fr; margin-top: 24px; }
@media (min-width: 640px){ .legal-wrap .cards{ grid-template-columns: 1fr 1fr; } }
.legal-wrap .card{
  display: block; background: var(--panel); border: 1px solid var(--panel-border); border-radius: 16px;
  padding: 22px; text-decoration: none; color: var(--ink);
}
.legal-wrap .card:hover, .legal-wrap .card:focus-visible{ border-color: var(--jade); }
.legal-wrap .card h2{ margin: 0 0 6px; border: 0; padding: 0; font-size: 1.2rem; }
.legal-wrap .card p{ margin: 0; font-size: 0.95rem; }
.legal-wrap .card .date{ margin-top: 10px; color: var(--ink-faint); font-size: 0.85rem; }
.legal-wrap .crumbs{ font-size: 0.9rem; margin-bottom: 18px; }
.legal-wrap footer{ margin-top: 54px; color: var(--ink-faint); font-size: 0.85rem; }
