/* Legal pages (/legal/*): the article layout (article.css) with a compact header, document tabs and clause styling. */
.legal-header .legal-meta { color: var(--muted); font-size: 14px; }
.legal-nav ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.legal-nav a {
  display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid var(--line);
  border-radius: var(--r-pill); background: var(--surface); color: var(--ink-2); font-size: 14px; font-weight: 500; text-decoration: none;
}
.legal-nav a:hover { color: var(--ink); border-color: var(--line-strong); }
.legal-nav a[aria-current="page"] { color: var(--accent-text); background: var(--accent-soft); border-color: var(--accent-line); }
.legal-body { font-size: 15.5px; line-height: 1.65; }
.legal-body h2 { scroll-margin-top: 96px; }
.legal-body .clause { scroll-margin-top: 96px; }
.legal-body .clause > strong:first-child { color: var(--ink); }
.legal-body .legal-table th, .legal-body .legal-table td { font-size: 14.5px; }
.legal-points { margin-bottom: clamp(24px, 4vw, 36px); }
.legal-points ul { margin: 8px 0 0; padding-left: 18px; }
.legal-points li + li { margin-top: 6px; }
.legal-points li > a { font-size: 13px; font-weight: 600; white-space: nowrap; }
.legal-points li > a::before { content: "\00a7\00a0"; }
.legal-points .legal-points-note { margin-top: 10px; color: var(--muted); font-size: 13px; }
.legal-links { padding-left: 18px; }
@media (max-width: 599px) {
  .legal-body { font-size: 15px; }
  .legal-nav a { min-height: 34px; padding: 0 12px; font-size: 13.5px; }
}
/* Link rows on the /legal/ hub and the privacy page; inside .prose the list must drop its bullets and indent. */
.legal-body .legal-rows, .legal-hub { padding-left: 0; list-style: none; }
.legal-body .legal-rows li { margin: 0; }
.legal-body .legal-rows a { text-decoration: none; }
.legal-hub { margin-top: 8px; }
.legal-hub-note { margin-top: 20px; color: var(--muted); font-size: 14px; }
.legal-header .eyebrow a { color: inherit; text-decoration: none; }
.legal-header .eyebrow a:hover { text-decoration: underline; }
/* Sub-processor table: three columns from 600px, stacked cards below. */
.sp-table th[scope="row"] { font-weight: 600; min-width: 9em; }
@media (max-width: 599px) {
  .sp-table-wrap { overflow: visible; }
  .sp-table-wrap > .sp-table { min-width: 0; }
  .sp-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .sp-table, .sp-table tbody, .sp-table tr, .sp-table th, .sp-table td { display: block; width: 100%; }
  .sp-table tr { padding: 12px 14px; border-top: 1px solid var(--line); }
  .sp-table tbody tr:first-child { border-top: 0; }
  .sp-table th[scope="row"], .sp-table td { padding: 0; border: 0; white-space: normal; }
  .sp-table td { margin-top: 4px; color: var(--ink-2); }
  .sp-table td::before { content: attr(data-label) ": "; color: var(--muted); font-weight: 500; }
}
