/* Legal pages share the identity, but put reading before spectacle. */
.legal-page { letter-spacing: normal; line-height: 1.75; overflow-wrap: break-word; }
.legal-header, .legal-main, .legal-footer { width: min(1120px, calc(100% - 80px)); margin-inline: auto; }
.legal-header { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1.25rem; border-bottom: 1px solid var(--line); }
.legal-header .brand { padding-block: .25rem; }
.legal-header .brand span { color: var(--orange-dark); }
.legal-header .brand i { background: var(--cobalt); }
.legal-header nav, .legal-footer nav { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.legal-header nav a, .legal-footer nav a { display: inline-flex; align-items: center; min-height: 44px; padding-block: .4rem; font-weight: 600; text-decoration: underline; text-underline-offset: .25em; }
.legal-header nav a[aria-current] { color: var(--cobalt); text-decoration-thickness: 2px; }
.legal-page a:hover { text-decoration-thickness: 2px; }
.legal-intro { max-width: 800px; padding-block: clamp(2.5rem, 6vw, 5rem) 3rem; }
.legal-intro h1 { margin: 0; font: 750 clamp(2.5rem, 5vw, 4.5rem)/1.12 var(--display); letter-spacing: -.025em; text-wrap: balance; }
.legal-lead { max-width: 54ch; margin: 1.25rem 0 0; font-size: clamp(1.125rem, 2vw, 1.375rem); line-height: 1.6; }
.legal-date { margin: 1.25rem 0 0; color: var(--muted); font-size: .9375rem; }
.legal-summary { margin-top: 2rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: 12px; background: var(--paper-bright); }
.legal-summary h2 { font-size: 1.375rem; line-height: 1.35; letter-spacing: -.01em; text-wrap: pretty; }
.legal-summary p { max-width: 70ch; margin: .65rem 0 0; }
.legal-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); align-items: start; gap: clamp(2rem, 5vw, 5rem); padding-block: 0 5rem; }
.legal-contents { min-width: 0; padding-block: 1.5rem; border-top: 1px solid var(--line); }
.legal-contents h2 { font: 700 1.125rem/1.4 var(--display); letter-spacing: normal; }
.legal-contents ol { display: grid; margin: .75rem 0 0; padding: 0; list-style: none; }
.legal-contents a { display: flex; align-items: center; min-height: 44px; padding-block: .45rem; font-size: .9375rem; line-height: 1.5; text-decoration: underline; text-underline-offset: .2em; }
.legal-copy { min-width: 0; max-width: 72ch; }
.legal-copy section { padding-block: 1.5rem 2.5rem; border-top: 1px solid var(--line); scroll-margin-top: 1.5rem; }
.legal-copy section:last-child { padding-bottom: 0; }
.legal-copy h2 { margin: 0 0 1rem; font-size: clamp(1.5rem, 2.4vw, 1.875rem); line-height: 1.25; letter-spacing: -.015em; text-wrap: pretty; }
.legal-copy p { margin: 0 0 1.25rem; }
.legal-copy p:last-child { margin-bottom: 0; }
.legal-copy a { color: var(--cobalt); text-decoration: underline; text-underline-offset: .2em; }
.legal-copy ul { margin: 0 0 1.5rem; padding-left: 1.4rem; }
.legal-copy li + li { margin-top: .75rem; }
.legal-data-list { margin: 0 0 1.5rem; }
.legal-data-list > div + div { margin-top: 1.5rem; }
.legal-data-list dt { font-weight: 750; }
.legal-data-list dd { margin: .35rem 0 0; }
.legal-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem 2rem; padding-block: 1.5rem 2rem; border-top: 1px solid var(--line); font-size: .875rem; }
.legal-footer p { margin: 0; color: var(--muted); }
@media (max-width: 760px) {
  .legal-header, .legal-main, .legal-footer { width: calc(100% - 40px); }
  .legal-header { flex-wrap: wrap; gap: .5rem 1.5rem; }
  .legal-header nav { gap: 1.25rem; }
  .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; padding-bottom: 3rem; }
  .legal-intro { padding-bottom: 2rem; }
  .legal-contents ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; }
}
@media (max-width: 420px) {
  .legal-contents ol { grid-template-columns: minmax(0, 1fr); }
  .legal-summary { padding: 1.25rem; }
}
@media print {
  .legal-page { background: #fff; color: #000; font-size: 11pt; }
  .legal-header, .legal-main, .legal-footer { width: 100%; }
  .legal-header nav, .legal-contents, .legal-footer nav, .skip-link { display: none; }
  .legal-intro { max-width: none; padding-block: 1.5rem; }
  .legal-intro h1 { font-size: 30pt; }
  .legal-summary { background: none; }
  .legal-layout { display: block; padding: 0; }
  .legal-copy { max-width: none; }
  .legal-copy section { padding-block: 1rem; }
  .legal-copy h2 { break-after: avoid; }
  .legal-copy p, .legal-copy li { orphans: 3; widows: 3; }
  .legal-copy a { color: #000; }
}
