/* Standalone documents and narrowly scoped additions to the existing landing. */
.legal-page { margin: 0; background: #080b16; color: #eef1fc; font: 16px/1.7 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.legal-page *, .footer-legal * { box-sizing: border-box; }
.legal-page a, .footer-legal a, .lead-form .consent-row a, .lead-form .form-note a { color: #bac5ff; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.legal-page a:hover, .footer-legal a:hover { color: #fff; }
.legal-page a:focus-visible, .footer-legal a:focus-visible, .lead-form .consent-row a:focus-visible, .lead-form .form-note a:focus-visible { outline: 2px solid #7de1f2; outline-offset: 4px; border-radius: 3px; }
.legal-header, .legal-shell, .legal-footer { max-width: 1100px; margin-inline: auto; padding: 24px; }
.legal-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; border-bottom: 1px solid #293249; }
.legal-header img { display: block; max-width: 100%; height: auto; }
.legal-header .legal-login { padding: 10px 18px; border: 1px solid #495780; border-radius: 12px; text-decoration: none; font-weight: 650; }
.legal-skip { position: fixed; top: -100px; left: 16px; z-index: 10; padding: 12px; background: #182340; }
.legal-skip:focus { top: 8px; }
.legal-intro { max-width: 820px; padding: 24px 0 12px; }
.legal-eyebrow { color: #94a7ff; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.legal-page h1 { font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.18; letter-spacing: -.035em; margin: 12px 0 22px; overflow-wrap: anywhere; }
.legal-intro > p:not(.legal-eyebrow) { color: #b8c2db; }
.legal-version { font-size: .875rem; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0 30px; }
.legal-nav a { display: block; padding: 9px 13px; border: 1px solid #344161; border-radius: 10px; text-decoration: none; font-size: .9rem; }
.legal-nav a[aria-current="page"] { background: #403184; border-color: #8973e8; color: #fff; }
.legal-document { padding: clamp(20px, 4vw, 44px); border: 1px solid #293249; border-radius: 22px; background: #111728; overflow-wrap: anywhere; }
.legal-document section + section { padding-top: 26px; margin-top: 30px; border-top: 1px solid #293249; }
.legal-document h2 { margin: 0 0 18px; font-size: clamp(1.2rem, 3vw, 1.55rem); line-height: 1.4; }
.legal-document p { margin: 0 0 16px; }
.legal-document p:last-child { margin-bottom: 0; }
.legal-document ul, .legal-document ol { padding-left: 24px; }
.legal-document li { padding-left: 4px; margin-bottom: 14px; }
.legal-details { margin: 0; }
.legal-details > div { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(0, 2fr); gap: 8px 24px; padding-block: 12px; border-bottom: 1px solid #293249; }
.legal-details > div:last-child { border-bottom: 0; }
.legal-details dt { color: #a9b5d2; }
.legal-details dd { margin: 0; }
.legal-notice { padding: 18px; border: 1px solid #5c509c; border-radius: 12px; background: #241e41; }
.legal-footer { padding-top: 20px; padding-bottom: 40px; color: #a9b5d2; font-size: .9rem; }
.legal-footer p { margin: 0 0 6px; }
.legal-footer a { display: inline-block; margin: 8px 24px 0 0; }
.footer-legal { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 24px 40px; padding-block: 28px; border-top: 1px solid var(--border, #293249); color: var(--text-muted, #b8c2db); font-size: .875rem; line-height: 1.7; overflow-wrap: anywhere; }
.footer-legal p { margin: 0 0 6px; }
.footer-legal strong { color: var(--text, #eef1fc); font-weight: 650; }
.footer-legal nav { display: grid; align-content: start; gap: 8px; }
@media (max-width: 640px) {
  .legal-header, .legal-shell, .legal-footer { padding-inline: 16px; }
  .legal-header img { width: 150px; }
  .legal-details > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .legal-document { border-radius: 16px; padding: 20px 16px; }
  .legal-nav { gap: 8px; }
  .legal-nav a { flex: 1 1 160px; }
  .footer-legal { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .legal-page { background: #fff; color: #111; font-size: 11pt; }
  .legal-page a { color: #111; }
  .legal-header, .legal-nav, .legal-skip, .legal-footer { display: none; }
  .legal-shell, .legal-document { padding: 0; border: 0; background: none; }
  .legal-intro > p, .legal-details dt { color: #333; }
  .legal-notice { background: none; border-color: #888; }
  .legal-page h2 { break-after: avoid; }
}
