@font-face {
  font-family: 'Utility Narrative';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/google/geist-variable-latin.woff2') format('woff2');
}

.aurbliq .proto-legal {
  --legal-font: 'Utility Narrative', Supreme, sans-serif;
  font-family: var(--legal-font);
}

.aurbliq .proto-legal :is(h1, h2, h3, h4, p, a, table, summary, .a-eyebrow) {
  font-family: var(--legal-font);
}

.aurbliq .proto-legal :is(.a-eyebrow, .p-doc-meta, .p-section-nav p, .p-section-nav a, .p-toc p, .p-toc a, .legal-mobile-toc a, summary) {
  font-family: Supreme, sans-serif;
}

.aurbliq .proto-legal h1 { font-weight: 400; }
.aurbliq .proto-legal h1 .a-emphasis { font-weight: 800; }

.aurbliq .proto-legal .p-prose {
  max-width: 72ch;
  font-size: 1rem;
  line-height: 1.72;
}

.aurbliq .proto-legal :is(h2, h3) {
  line-height: 1.25;
}

/* The document already reserves the fixed header through scroll-padding-top. */
.aurbliq .proto-legal .p-prose :is(h2, h3),
.proto-legal .legal-anchor-alias { scroll-margin-block-start: 0; }

.proto-legal .p-prose :not(pre) > code {
  overflow-wrap: anywhere;
  white-space: normal;
}

.proto-legal .p-prose a { overflow-wrap: anywhere; }

.proto-legal .legal-policy-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  margin-block-start: 2.5rem;
  padding-block-start: 1.5rem;
  border-block-start: 1px solid var(--p-line);
  font-size: 0.875rem;
}

.proto-legal .legal-policy-nav a { text-decoration: underline; text-underline-offset: 0.2em; }
.proto-legal .legal-hub { max-width: 72ch; }
.proto-legal .legal-hub-list { list-style: none; padding: 0; margin-block-start: 2rem; }
.proto-legal .legal-hub-list li { padding-block: 1.5rem; border-block-start: 1px solid var(--p-line); }
.proto-legal .legal-hub-list h2 { margin: 0 0 0.5rem; font-size: 1.25rem; line-height: 1.3; }
.proto-legal .legal-hub-list p { margin: 0; font-size: 1rem; line-height: 1.6; color: var(--p-muted); }

.aurbliq .proto-legal .p-toc {
  overscroll-behavior-block: contain;
}

.proto-legal :is(.p-toc, .legal-mobile-toc) ol {
  list-style: none;
  padding: 0;
}

.proto-legal .p-toc ol {
  margin-block-start: 1rem;
}

.proto-legal :is(.p-toc, .legal-mobile-toc) a {
  padding-inline: 0.75rem;
}

.proto-legal :is(.p-toc, .legal-mobile-toc) a[aria-current='location'] {
  color: var(--p-ink);
  background: var(--p-soft);
  box-shadow: inset 2px 0 0 var(--p-accent);
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.proto-legal .legal-toc-level-3 {
  padding-inline-start: 1rem;
}

.proto-legal .legal-mobile-toc {
  display: none;
  margin-block-end: 1.5rem;
  border-block-end: 1px solid var(--p-line);
}

.proto-legal .legal-mobile-toc summary {
  padding-block: 1rem;
  font-weight: 650;
  cursor: pointer;
}

.proto-legal .legal-mobile-toc nav {
  max-height: 50dvh;
  overflow-y: auto;
  overscroll-behavior-block: contain;
}

.proto-legal .legal-mobile-toc a {
  display: block;
  padding-block: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.45;
}

.proto-legal .p-table-wrap:has(th:nth-child(3))::before {
  content: 'Scroll horizontally to read all columns.';
  display: block;
  padding: 0.75rem;
  color: var(--p-muted);
  font-size: 0.8125rem;
}

.proto-legal .p-table-wrap {
  overscroll-behavior-inline: contain;
}

.proto-legal .p-table-wrap:focus-visible {
  outline: 2px solid var(--p-ink);
  outline-offset: 4px;
}

@media (max-width: 1250px) {
  .aurbliq .proto-legal .p-article-header { margin-block-end: 0; }
  .proto-legal .legal-mobile-toc { display: block; }
}
