*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.legal-page {
  margin: 0;
  color: var(--ink-900);
  background: var(--pearl-50);
  font-family: "Inter", system-ui, sans-serif;
  font-size: var(--t-body);
  line-height: 1.6;
}
.skip-link {
  position: fixed;
  z-index: 20;
  top: var(--s-4);
  inset-inline-start: var(--s-4);
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-pill);
  color: var(--ink-900);
  background: var(--pearl-0);
  box-shadow: var(--shadow-1);
  transform: translateY(-180%);
  transition: transform var(--d-2) var(--ease-standard);
}
.skip-link:focus-visible { transform: translateY(0); }
a { color: var(--violet-600); text-underline-offset: 0.18em; }
a:focus-visible { outline: 2px solid var(--violet-600); outline-offset: 3px; border-radius: 4px; }

.legal-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-3) var(--s-5);
  max-width: calc(var(--measure) + 2 * var(--s-5));
  margin-inline: auto;
  padding: var(--s-5) var(--s-5) var(--s-4);
}
.legal-header .wordmark { display: block; }
.legal-header .brand-symbol { display: block; width: auto; height: 44px; }
.legal-header nav { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-4); }
.legal-header nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: var(--t-label);
  font-weight: 600;
  color: var(--ink-700);
  text-decoration: none;
}
.legal-header nav a:hover,
.legal-header nav a[aria-current="page"] { color: var(--violet-600); text-decoration: underline; }

.legal-main {
  max-width: calc(var(--measure) + 2 * var(--s-5));
  margin-inline: auto;
  padding: 0 var(--s-5) var(--s-8);
}
.draft-note {
  margin: 0 0 var(--s-6);
  padding: var(--s-3) var(--s-4);
  border: 1px solid var(--warning-700);
  border-inline-start-width: 4px;
  border-radius: var(--r-sm);
  color: var(--ink-900);
  background: var(--warning-50);
  font-size: var(--t-small);
}
.legal-main h1 {
  margin: 0 0 var(--s-5);
  font-family: "Geist", "Inter", system-ui, sans-serif;
  font-size: var(--t-h3);
  line-height: var(--lh-h3);
  letter-spacing: var(--ls-h2);
  text-wrap: balance;
}
.legal-main h2 {
  margin: var(--s-7) 0 var(--s-3);
  font-family: "Geist", "Inter", system-ui, sans-serif;
  font-size: var(--t-h4);
  line-height: 1.25;
}
.legal-main h3 { margin: var(--s-5) 0 var(--s-2); font-size: var(--t-body); line-height: 1.4; }
.legal-main p,
.legal-main ul,
.legal-main ol { margin: 0 0 var(--s-4); }
.legal-main ul,
.legal-main ol { padding-inline-start: 1.4em; }
.legal-main li + li { margin-block-start: var(--s-2); }
.legal-main a { display: inline-block; min-height: 44px; line-height: 44px; margin-block: -12px; }
.tbc {
  padding: 0 0.3em;
  border-radius: 4px;
  color: var(--warning-700);
  background: var(--warning-50);
  font-weight: 600;
  white-space: nowrap;
}

.table-wrap {
  max-width: 100%;
  margin: 0 0 var(--s-5);
  overflow-x: auto;
  border: 1px solid var(--line-200);
  border-radius: var(--r-md);
  background: var(--pearl-0);
}
.table-wrap:focus-visible { outline: 2px solid var(--violet-600); outline-offset: 2px; }
.table-wrap table { width: 100%; min-width: 34rem; border-collapse: collapse; font-size: var(--t-small); }
.table-wrap th,
.table-wrap td { padding: var(--s-3); text-align: start; vertical-align: top; border-block-end: 1px solid var(--line-200); }
.table-wrap thead th { color: var(--ink-700); background: var(--pearl-100); }
.table-wrap tbody tr:last-child > * { border-block-end: 0; }
.table-wrap tbody th { font-weight: 600; }

.legal-footer {
  max-width: calc(var(--measure) + 2 * var(--s-5));
  margin-inline: auto;
  padding: var(--s-5);
  border-block-start: 1px solid var(--line-200);
  color: var(--ink-500);
  font-size: var(--t-caption);
}
.legal-footer p { margin: 0; }
@media (max-width: 620px) {
  .legal-header { padding-inline: var(--s-4); }
  .legal-main { padding-inline: var(--s-4); }
  .legal-footer { padding-inline: var(--s-4); }
}
