/* Document pages reuse the site's typography, palette and brand. */
html.legal-page { color-scheme: light; background: #eef1f2; color: #1a2733; }
.legal-page body { min-height: 100svh; }
.legal-page .site-header { background: #eef1f2; border-bottom-color: #d6dfe3; }
.legal-page .brand { color: #1a2733; }
.legal-shell { width: min(1004px, calc(100% - 64px)); margin-inline: auto; }
.legal-page .header-inner { min-height: 80px; height: auto; gap: 24px; padding-block: 20px; }
.legal-home { font-size: 1rem; white-space: nowrap; text-decoration: underline; text-underline-offset: 4px; }
.legal-home:hover { text-decoration-color: var(--accent); }
.legal-document { padding-block: 55px 72px; font-size: 1.0625rem; line-height: 1.75; overflow-wrap: anywhere; }
.legal-document h1 { margin: 0; font-size: 2.5rem; font-weight: 400; line-height: 1.2; letter-spacing: -.035em; }
.legal-document .legal-revision { margin-block: 20px 40px; color: #5b6b78; font-size: .9375rem; }
.legal-revision strong { font-weight: 400; }
.legal-document h2 { margin: 40px 0 16px; font-size: 1.5rem; line-height: 1.35; font-weight: 500; letter-spacing: -.02em; }
.legal-document p { margin-block: 0 16px; }
.legal-document ul { margin: 0 0 20px; padding-left: 1.4em; }
.legal-document li + li { margin-top: 8px; }
.legal-document strong { font-weight: 600; }
.legal-document a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #647582; }
.legal-document a:hover { text-decoration-color: var(--accent); }
.legal-document a:focus-visible, .legal-home:focus-visible { outline-color: #1a2733; }
.legal-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 24px 0; font-size: 1rem; line-height: 1.6; background: #fff; }
.legal-table th, .legal-table td { border: 1px solid #cbd5dc; padding: 16px; text-align: left; vertical-align: top; }
.legal-table th { font-weight: 600; background: #e2e8eb; }
.legal-table th:nth-child(1) { width: 20%; }
.legal-table th:nth-child(2) { width: 28%; }
.legal-table th:nth-child(3) { width: 26%; }
.legal-table th:nth-child(4) { width: 26%; }
@media (max-width: 800px) {
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table td { display: block; width: 100%; }
  .legal-table { border: 0; background: transparent; }
  .legal-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .legal-table tr { margin-bottom: 20px; border: 1px solid #cbd5dc; border-radius: 12px; overflow: hidden; background: #fff; }
  .legal-table td { padding: 16px 20px; border: 0; }
  .legal-table td + td { border-top: 1px solid #e2e8eb; }
  .legal-table td::before { content: attr(data-label); display: block; margin-bottom: 6px; font-weight: 600; color: #5b6b78; font-size: .875rem; }
}
@media (max-width: 600px) {
  .legal-shell { width: calc(100% - 40px); }
  .legal-page .header-inner { min-height: 72px; gap: 16px; }
  .legal-page .brand { font-size: 22px; }
  .legal-home { font-size: .875rem; }
  .legal-document { padding-block: 32px 48px; font-size: 1rem; line-height: 1.7; }
  .legal-document h1 { font-size: 1.875rem; line-height: 1.25; letter-spacing: -.03em; }
  .legal-document h2 { margin-top: 32px; font-size: 1.375rem; }
  .legal-document .legal-revision { margin-block: 16px 28px; }
}
@media print {
  .legal-page .site-header { display: none; }
  html.legal-page { background: #fff; }
  .legal-shell { width: 100%; }
  .legal-document { padding: 0; font-size: 11pt; }
  .legal-document h1 { font-size: 22pt; }
  .legal-document h2 { break-after: avoid; font-size: 15pt; }
  .legal-table tr { break-inside: avoid; }
}
