/* A quiet reading layout for legal pages using the shared marketing theme. */
.legal-document .site-container { max-width: 52rem; }
.legal-document__hero { padding-block: 2.5rem 3rem; border-bottom: 1px solid var(--border); }
.legal-document .breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-bottom: 2.5rem; color: var(--muted-foreground); font-size: .75rem; }
.legal-document .breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; }
.legal-document .breadcrumbs a:hover { color: #007cbd; text-decoration: underline; text-underline-offset: 4px; }
.legal-document .eyebrow { margin-bottom: 1rem; color: #007cbd; font-size: .75rem; font-weight: 800; line-height: 1.6; letter-spacing: .04em; text-transform: uppercase; }
.legal-document h1, .legal-document h2 { font-family: var(--font-display); font-weight: 600; letter-spacing: -.035em; text-wrap: pretty; }
.legal-document h1 { max-width: 22em; font-size: clamp(2rem, 3.5vw, 2.75rem); line-height: 1.25; }
.terms-hero h1 { text-wrap: balance; }
.legal-document__intro { margin-top: 1.75rem; }
.legal-document__intro p, .legal-document__content p, .legal-document__content li, .legal-document__content address { color: var(--muted-foreground); font-size: 1rem; line-height: 1.8; }
.legal-document__intro p + p { margin-top: 1rem; }
.legal-document strong { color: var(--foreground); font-weight: 700; }
.legal-document .legal-updated { margin-top: 1.75rem; font-size: .8rem; line-height: 1.7; }
.legal-document .legal-updated strong { color: var(--muted-foreground); }
.legal-document__contact { margin-top: .5rem; color: var(--muted-foreground); font-size: .875rem; line-height: 1.8; }
.legal-document__contact a, .legal-document__content a { color: #007cbd; font-weight: 700; text-decoration: underline; text-decoration-color: #b5d5e7; text-underline-offset: 4px; overflow-wrap: anywhere; }
.legal-document__contact a:hover, .legal-document__content a:hover { text-decoration-color: currentColor; }
.legal-document__index { margin-top: 2rem; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.legal-document__index summary { padding: 1rem 1.25rem; color: var(--foreground); font-size: .9rem; font-weight: 700; cursor: pointer; }
.legal-document__index summary::marker { color: #007cbd; }
.legal-document__index nav { padding: .25rem 1.25rem 1rem; }
.legal-document__index ol { columns: 2; column-gap: 2rem; padding-left: 1.5rem; list-style: decimal; }
.legal-document__index li { break-inside: avoid; padding-left: .2rem; color: var(--muted-foreground); font-size: .8rem; }
.legal-document__index a { display: inline-flex; align-items: center; min-height: 44px; padding-block: .45rem; color: #007cbd; font-size: .875rem; line-height: 1.5; }
.legal-document__index a:hover { text-decoration: underline; text-underline-offset: 4px; }
.legal-document__index-contact { margin-top: .5rem; font-weight: 700; }
.legal-document__layout { padding-block: 3rem 5rem; }
.legal-document__content section { margin-bottom: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--border); scroll-margin-top: 6.5rem; }
.legal-document__content section:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.legal-document__content h2 { margin-bottom: 1.25rem; font-size: clamp(1.3rem, 2.3vw, 1.6rem); line-height: 1.4; }
.legal-document__content h3 { margin-top: 1.5rem; font-size: 1rem; font-weight: 700; line-height: 1.7; }
.legal-document__content p { margin-bottom: 1rem; }
.legal-document__content ul { margin: .5rem 0 1.25rem; padding-left: 1.5rem; list-style: disc; }
.legal-document__content li { padding-left: .25rem; margin-bottom: .4rem; }
.legal-document__content address { font-style: normal; }
.legal-document__content section > :last-child { margin-bottom: 0; }
.legal-document :is(a, summary):focus-visible { outline: 2px solid #007cbd; outline-offset: 4px; border-radius: 3px; }

@media (max-width: 599px) {
  .legal-document__hero { padding-block: 1.25rem 2rem; }
  .legal-document .breadcrumbs { margin-bottom: 1.75rem; }
  .legal-document h1 { font-size: clamp(1.75rem, 7vw, 2rem); }
  .legal-document__index ol { columns: 1; }
  .legal-document__layout { padding-block: 2rem 3rem; }
  .legal-document__content section { margin-bottom: 2rem; padding-bottom: 2rem; }
}

@media print {
  .marketing-header, .marketing-footer, .skip-link, .legal-document .breadcrumbs, .legal-document__index { display: none; }
  .legal-document .site-container { width: 100%; max-width: none; }
  .legal-document__hero, .legal-document__layout { padding-block: 1rem; }
  .legal-document h2, .legal-document h3 { break-after: avoid; }
  .legal-document p, .legal-document li { orphans: 3; widows: 3; }
}
