/* Legal document presentation only; existing site branding stays shared. */
.page-legal .legal-main { padding: 72px 24px 104px; }
.page-legal .legal-document { max-width: 860px; margin: 0 auto; font-size: 1.0625rem; line-height: 1.75; overflow-wrap: anywhere; }
.page-legal .legal-document h1 { max-width: 850px; margin: 0 0 48px; color: var(--ink); font-size: clamp(2rem, 4.4vw, 3.4rem); line-height: 1.17; letter-spacing: -.045em; }
.page-legal .legal-document h2 { margin: 48px 0 20px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 1.55rem; line-height: 1.35; letter-spacing: -.025em; }
.page-legal .legal-document h3 { margin: 28px 0 12px; font-size: 1.17rem; line-height: 1.5; letter-spacing: -.01em; }
.page-legal .legal-document p { margin: 0 0 18px; max-width: none; }
.page-legal .legal-document strong { font-weight: 700; }
.page-legal .legal-document em { font-family: inherit; font-weight: inherit; color: inherit; letter-spacing: normal; }
.page-legal .legal-document a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.page-legal .legal-document .legal-numbered { display: grid; grid-template-columns: 3.2em minmax(0, 1fr); gap: .4em; }
.page-legal .legal-document .legal-number { font-variant-numeric: tabular-nums; }
.page-legal .legal-document .legal-level-2 { margin-left: 1.4em; }
.page-legal .legal-document .legal-level-3 { margin-left: 2.8em; }
.page-legal .legal-table-wrap { margin: 28px 0; overflow-x: auto; border: 1px solid var(--line); border-radius: 4px; }
.page-legal .legal-document table { width: 100%; border-collapse: collapse; font-size: 1rem; line-height: 1.6; }
.page-legal .legal-document th, .page-legal .legal-document td { padding: 18px; border: 1px solid var(--line); vertical-align: top; text-align: left; }
.page-legal .legal-document th { color: var(--ink); background: var(--soft); font-weight: 700; }
.page-legal .legal-document td p:last-child, .page-legal .legal-document th p:last-child { margin-bottom: 0; }
.page-legal .legal-document td .legal-numbered { grid-template-columns: 1em minmax(0,1fr); gap: .25em; }
.page-legal .legal-document [id] { scroll-margin-top: 110px; }
@media (max-width: 620px) {
  .page-legal .legal-main { padding: 38px 20px 72px; }
  .page-legal .legal-document { font-size: 1rem; line-height: 1.72; }
  .page-legal .legal-document h1 { margin-bottom: 32px; font-size: 2rem; }
  .page-legal .legal-document h2 { margin-top: 34px; padding-top: 22px; font-size: 1.35rem; }
  .page-legal .legal-document h3 { font-size: 1.1rem; }
  .page-legal .legal-document .legal-numbered { grid-template-columns: 2.65em minmax(0,1fr); }
  .page-legal .legal-document .legal-level-2 { margin-left: .35em; }
  .page-legal .legal-document .legal-level-3 { margin-left: .7em; }
  .page-legal .legal-document table { min-width: 680px; }
  .page-legal .legal-document th, .page-legal .legal-document td { padding: 14px; }
}
@media print {
  .page-legal .site-header, .page-legal .footer, .page-legal .concierge-widget, .page-legal dialog { display: none !important; }
  .page-legal .legal-main { padding: 0; }
  .page-legal .legal-document { max-width: none; color: #000; font-size: 11pt; }
  .page-legal .legal-document h2, .page-legal .legal-document h3 { break-after: avoid; }
  .page-legal .legal-table-wrap { overflow: visible; }
  .page-legal .legal-document table { min-width: 0; }
  .page-legal .legal-document tr { break-inside: avoid; }
}
