/* Document layout. Scoped to legal pages; landing and shared footer stay intact. */
.legal-page { background: #fff; min-width: 0; }
.legal-page .legal-main { max-width: 850px; padding-block: 30px 72px; }
.legal-page .legal-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 24px; font-size: 13px; color: #595959; }
.legal-page .legal-breadcrumb a { min-height: 44px; display: inline-flex; align-items: center; color: inherit; text-underline-offset: 3px; }
.legal-page .legal-surface { padding: 0; }
.legal-page .legal-heading { padding-bottom: 24px; }
.legal-page .legal-heading h1 { margin: 0 0 16px; font-size: 32px; line-height: 1.3; letter-spacing: -.02em; font-weight: 700; }
.legal-page .legal-meta { display: flex; flex-wrap: wrap; gap: 6px 24px; margin: 0 0 24px; font-size: 14px; line-height: 1.6; color: #595959; }
.legal-page .legal-lead { margin: 0; font-size: 16px; line-height: 1.75; color: #303030; }
.legal-page .legal-summary { margin: 0 0 28px; }
.legal-page .legal-summary h2, .legal-page .legal-toc h2 { margin: 0 0 12px; font-size: 18px; line-height: 1.5; font-weight: 650; }
.legal-page .legal-summary ul { margin: 0; padding-left: 24px; font-size: 16px; line-height: 1.75; color: #303030; }
.legal-page .legal-summary li + li { margin-top: 8px; }
.legal-page .legal-layout { display: block; }
.legal-page .legal-toc { margin-bottom: 36px; padding-block: 24px; border-block: 1px solid #d8d8d8; }
.legal-page .legal-toc ol { margin: 0; padding-left: 24px; }
.legal-page .legal-toc li { padding-left: 4px; font-size: 16px; line-height: 1.5; }
.legal-page .legal-toc a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; color: #244b70; text-decoration: underline; text-underline-offset: 3px; }
.legal-page .legal-toc a:hover, .legal-page .legal-toc a[aria-current="location"] { color: #161616; }
.legal-page .legal-toc a[aria-current="location"] { font-weight: 600; }
.legal-page .legal-reading { min-width: 0; }
.legal-page .legal-section { margin-bottom: 36px; scroll-margin-top: 28px; }
.legal-page .legal-section h2 { margin: 0 0 16px; font-size: 21px; line-height: 1.5; letter-spacing: 0; font-weight: 700; }
.legal-page .legal-subsection { margin-top: 20px; }
.legal-page .legal-subsection h3 { margin: 0 0 8px; font-size: 16px; line-height: 1.65; font-weight: 650; }
.legal-page .legal-section p, .legal-page .legal-section li { color: #303030; font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.legal-page .legal-section p { margin: 0 0 16px; }
.legal-page .legal-section ul, .legal-page .legal-section ol { margin: 0 0 18px; padding-left: 28px; }
.legal-page .legal-letter-list { list-style-type: lower-alpha; }
.legal-page .legal-section li { padding-left: 4px; }
.legal-page .legal-section li + li { margin-top: 10px; }
.legal-page .legal-reading a { color: #244b70; text-underline-offset: 3px; }
.legal-page .legal-reading a:hover { color: #161616; }
.legal-page .legal-table-wrap { margin-block: 20px; }
.legal-page .legal-table { border-collapse: collapse; width: 100%; font-size: 15px; line-height: 1.7; color: #303030; table-layout: fixed; }
.legal-page .legal-table caption { text-align: left; font-weight: 650; color: #161616; padding-bottom: 12px; }
.legal-page .legal-table th { text-align: left; vertical-align: top; font-weight: 600; }
.legal-page .legal-table thead th { background: #f5f5f5; }
.legal-page .legal-table td, .legal-page .legal-table th { padding: 12px 14px; border: 1px solid #d8d8d8; overflow-wrap: anywhere; }
.legal-page .legal-table th:first-child { width: 32%; }
.legal-page .legal-end { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding-top: 20px; border-top: 1px solid #d8d8d8; }
.legal-page .legal-end a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.legal-page .legal-footer-note { margin-top: 16px; font-size: 14px; line-height: 1.75; color: #595959; }
.legal-page .legal-main a:focus-visible { outline: 2px solid #244b70; outline-offset: 3px; }
/* The existing header remains usable without JavaScript, including on mobile. */
.legal-page .main-nav { flex-wrap: wrap; }
.legal-page .nav-toggle { display: none; }
@media (max-width: 1024px) {
  .legal-page .header-inner { flex-wrap: wrap; gap: 12px; }
  .legal-page .main-nav { position: static; display: flex; order: 3; flex: 1 0 100%; width: 100%; min-width: 0; transform: none; opacity: 1; visibility: visible; pointer-events: auto; padding: 4px; box-shadow: none; }
  .legal-page .main-nav a { min-height: 44px; display: inline-flex; align-items: center; padding: 8px 12px; }
  .legal-page .header-utilities { margin-left: auto; }
  .legal-page .legal-section { scroll-margin-top: 40px; }
}
@media (max-width: 600px) {
  .legal-page .legal-main { padding-block: 18px 48px; }
  .legal-page .legal-breadcrumb { gap: 8px; margin-bottom: 20px; }
  .legal-page .legal-heading h1 { font-size: 28px; }
  .legal-page .legal-meta { gap: 6px 16px; margin-bottom: 20px; }
  .legal-page .legal-toc { margin-bottom: 28px; }
  .legal-page .legal-section { margin-bottom: 28px; }
  .legal-page .legal-section h2 { font-size: 20px; }
  /* Stack provider rows to avoid cramped columns; retain real table semantics. */
  .legal-page .legal-table, .legal-page .legal-table tbody, .legal-page .legal-table tbody tr { display: block; }
  .legal-page .legal-table caption { display: block; width: 100%; }
  .legal-page .legal-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .legal-page .legal-table tbody tr { border-bottom: 1px solid #d8d8d8; padding-block: 16px; }
  .legal-page .legal-table tbody th, .legal-page .legal-table tbody td { display: block; width: 100%; border: 0; padding: 0; background: none; font-size: 16px; }
  .legal-page .legal-table tbody th { margin-bottom: 8px; color: #161616; }
  .legal-page .legal-table tbody th:first-child { width: 100%; }
}
/* Below 360px, the static main navigation wraps to a second row. */
@media (max-width: 360px) {
  .legal-page .legal-section { scroll-margin-top: 84px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.legal-page) { scroll-behavior: auto; }
}
/* Print / Save as PDF produces a document, not a screenshot of the UI. */
@page { margin: 20mm 18mm; }
@media print {
  .legal-page { background: #fff; color: #000; font-size: 11pt; overflow: visible; }
  .legal-page .site-header, .legal-page .site-footer, .legal-page .skip-link,
  .legal-page .legal-breadcrumb, .legal-page .legal-end { display: none; }
  .legal-page .legal-main { width: 100%; max-width: none; margin: 0; padding: 0; }
  .legal-page .legal-heading h1 { font-size: 22pt; }
  .legal-page .legal-section h2 { font-size: 14pt; }
  .legal-page .legal-main p, .legal-page .legal-main li,
  .legal-page .legal-main h3, .legal-page .legal-table { font-size: 11pt; line-height: 1.6; }
  .legal-page .legal-main a { color: #000; }
  .legal-page .legal-toc a { min-height: 0; padding: 2pt 0; }
  .legal-page h1, .legal-page h2, .legal-page h3, .legal-page caption { break-after: avoid; }
  .legal-page p, .legal-page li { orphans: 3; widows: 3; }
  .legal-page .legal-section { margin-bottom: 20pt; }
  .legal-page .legal-toc { break-inside: avoid; }
  /* Override narrow-screen row stacking when printing from a phone. */
  .legal-page .legal-table { display: table; }
  .legal-page .legal-table caption { display: table-caption; }
  .legal-page .legal-table thead { display: table-header-group; position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
  .legal-page .legal-table tbody { display: table-row-group; }
  .legal-page .legal-table tbody tr { display: table-row; break-inside: avoid; }
  .legal-page .legal-table tbody th, .legal-page .legal-table tbody td { display: table-cell; padding: 8pt; border: 1px solid #b0b0b0; }
  .legal-page .legal-table tbody th:first-child { width: 32%; }
}
