body.legal-page { color-scheme: light; }
body.legal-page * { box-sizing: border-box; }
html:has(body.legal-page) { scroll-padding-top: 2rem; }
body.legal-page { margin: 0; background: #f8fafc; color: #0f172a; font-family: system-ui, sans-serif; line-height: 1.7; }
body.legal-page a { color: #036954; text-underline-offset: .2em; }
body.legal-page a:focus-visible, body.legal-page summary:focus-visible { outline: 3px solid #047857; outline-offset: 4px; border-radius: 2px; }
body.legal-page .legal-header, body.legal-page main, body.legal-page .legal-footer { max-width: 48rem; margin: auto; padding: 1.25rem; }
body.legal-page .legal-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #cbd5e1; }
body.legal-page .legal-brand { font-size: 1.4rem; font-weight: 700; color: #0f172a; text-decoration: none; }
body.legal-page nav a[aria-current="page"] { font-weight: 700; text-decoration-thickness: 2px; }
body.legal-page .legal-header nav, body.legal-page .legal-footer nav { display: flex; flex-wrap: wrap; gap: 1.25rem; }
body.legal-page .legal-document { overflow-wrap: anywhere; }
body.legal-page .legal-document h1 { font-size: 2rem; line-height: 1.2; letter-spacing: -.03em; margin: 1rem 0 1.5rem; }
body.legal-page .legal-document h2 { font-size: 1.25rem; line-height: 1.4; margin: 2.5rem 0 .75rem; }
body.legal-page .legal-document p { margin: 1rem 0; }
body.legal-page .legal-document ul { padding-left: 1.5rem; }
body.legal-page .legal-document li { margin: .5rem 0; }
body.legal-page .legal-document details { padding: 1rem; border: 1px solid #cbd5e1; border-radius: .5rem; background: white; }
body.legal-page .legal-document summary { cursor: pointer; font-weight: 600; }
body.legal-page .legal-footer { margin-top: 2rem; border-top: 1px solid #cbd5e1; font-size: .875rem; }
body.legal-page .legal-footer p { margin: 0 0 .5rem; }
body.legal-page .legal-footer nav { margin-top: 1rem; }
body.legal-page .legal-skip { position: absolute; left: 1rem; top: -5rem; padding: .5rem 1rem; background: white; }
body.legal-page .legal-skip:focus { top: .5rem; }
@media (min-width: 768px) {
  body.legal-page .legal-header, body.legal-page main, body.legal-page .legal-footer { padding: 1.5rem 2rem; }
  body.legal-page .legal-document h1 { font-size: 2.75rem; }
}
@media print {
  body.legal-page { background: white; }
  body.legal-page .legal-header, body.legal-page .legal-footer, body.legal-page .legal-skip, body.legal-page .legal-document nav { display: none; }
  body.legal-page main { max-width: none; padding: 0; }
  body.legal-page h2 { break-after: avoid; }
}
