/* One calm reading layout for the legal hub and all policy documents. */
.legal-page { overflow-x: visible; }
.legal-page .logo-anim-ring,.legal-page .footer-logo-ring { animation: none; }
.legal-page .nav-live-badge,.legal-page .nav-resource-badge { animation: none; }
.legal-shell { width: min(920px, calc(100% - 48px)); margin: 0 auto; padding: 112px 0 72px; }
.legal-shell:focus { outline: none; }
.legal-shell a:focus-visible,.legal-toc summary:focus-visible { outline: 2px solid #38bdf8; outline-offset: 4px; border-radius: 3px; }
.legal-skip { position: fixed; top: -80px; left: 16px; z-index: 1000; padding: 12px 18px; border-radius: 8px; background: #f0f2ff; color: #08090d; font-weight: 600; }
.legal-skip:focus { top: 12px; }
.legal-breadcrumb { display: flex; gap: 12px; flex-wrap: wrap; color: #9ba3c4; font-size: .8rem; margin-bottom: 28px; }
.legal-breadcrumb a { color: #c1c9e2; }
.legal-breadcrumb a:hover { color: #38bdf8; }
.legal-heading { max-width: 880px; margin-bottom: 30px; }
.legal-eyebrow { color: #38bdf8; font-size: .72rem; line-height: 1.5; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 12px; }
.legal-heading h1 { font-size: clamp(1.85rem, 4.5vw, 2.65rem); line-height: 1.2; letter-spacing: -.035em; margin: 0 0 18px; overflow-wrap: break-word; }
.legal-description { max-width: 730px; color: #b8c0db; line-height: 1.8; font-size: 1rem; }
.legal-date-line { display: flex; flex-wrap: wrap; gap: 8px 28px; color: #9ba3c4; font-size: .75rem; margin-top: 22px; }
.legal-template-note { padding: 16px 20px; border-left: 2px solid #38bdf8; background: #0e141d; font-size: .85rem; line-height: 1.8; color: #bdc6df; margin-bottom: 24px; }
.legal-template-note strong { color: #e7ecff; }
.legal-toc { margin: 0 0 28px; border: 1px solid rgba(167,139,250,.24); background: #0e1018; border-radius: 12px; }
.legal-toc summary { cursor: pointer; padding: 19px 24px; font-weight: 600; color: #e7ecff; font-size: .9rem; }
.legal-toc summary::marker { color: #38bdf8; }
.legal-toc-count { font-size: .75rem; font-weight: 400; color: #a9b3d0; margin-left: 12px; white-space: nowrap; }
.legal-toc ol { list-style: none; padding: 0 24px 22px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 3px 24px; }
.legal-toc a { display: block; color: #bdc6df; font-size: .73rem; line-height: 1.65; padding: 6px 0; overflow-wrap: anywhere; }
.legal-toc a:hover { color: #38bdf8; text-decoration: underline; text-underline-offset: 4px; }
.legal-document { background: #0e1018; border: 1px solid rgba(240,242,255,.1); border-radius: 16px; padding: 36px 40px; color: #c4cce2; font-size: 1rem; line-height: 1.9; overflow-wrap: anywhere; }
.legal-source-meta { padding: 0 0 24px; border-bottom: 1px solid rgba(240,242,255,.1); font-size: .86rem; color: #aeb8d2; }
.legal-source-meta p { margin: 0 0 6px; }
.legal-document h2 { color: #f0f2ff; margin: 36px 0 16px; padding-top: 28px; border-top: 1px solid rgba(240,242,255,.08); font-size: 1.2rem; font-weight: 700; line-height: 1.55; letter-spacing: .005em; scroll-margin-top: 92px; }
.legal-source-meta + h2 { padding-top: 0; border-top: 0; margin-top: 28px; }
.legal-document h3 { color: #e1e6f5; margin: 24px 0 12px; font-size: 1rem; font-weight: 600; line-height: 1.6; scroll-margin-top: 92px; }
.legal-document p { margin-bottom: 15px; }
.legal-document ul,.legal-document ol { padding-left: 25px; margin: 12px 0 20px; }
.legal-document li { padding-left: 4px; margin-bottom: 5px; }
.legal-document li::marker { color: #a78bfa; }
.legal-document a { color: #75d4ff; text-decoration: underline; text-underline-offset: 3px; }
.legal-document a:hover { color: #c1ecff; }
.legal-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 20px 0; font-size: .85rem; line-height: 1.7; }
.legal-table th,.legal-table td { padding: 12px 10px; vertical-align: top; text-align: left; border: 1px solid rgba(240,242,255,.14); }
.legal-table th { color: #e7ecff; background: #161c2b; font-weight: 600; }
.legal-table th:first-child { width: 24%; }
.legal-placeholder { color: #d3c1ff; background: rgba(167,139,250,.09); border-bottom: 1px dashed rgba(167,139,250,.5); }
.legal-related { padding: 32px 0 0; }
.legal-related h2 { margin-bottom: 16px; font-size: 1.1rem; font-weight: 600; }
.legal-related > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.legal-related a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; border: 1px solid rgba(240,242,255,.1); border-radius: 10px; color: #c4cce2; font-size: .8rem; line-height: 1.65; }
.legal-related a:hover { border-color: #38bdf8; color: #f0f2ff; }
.legal-related a span { color: #38bdf8; }
.legal-return { display: flex; justify-content: space-between; gap: 20px; margin-top: 28px; font-size: .8rem; color: #9ba3c4; }
.legal-return a:hover { color: #38bdf8; }
.legal-hub-heading { margin-bottom: 36px; }
.legal-hub-heading h1 { font-size: clamp(2rem, 5vw, 3.15rem); }
.legal-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.legal-card { display: flex; flex-direction: column; padding: 26px; background: #0e1018; border: 1px solid rgba(240,242,255,.11); border-radius: 14px; }
.legal-card:hover { border-color: rgba(56,189,248,.65); background: #10141e; }
.legal-card-meta { display: flex; justify-content: space-between; gap: 20px; color: #9ba3c4; font-size: .7rem; line-height: 1.5; margin-bottom: 24px; }
.legal-card-meta > span:first-child { color: #38bdf8; font-variant-numeric: tabular-nums; }
.legal-card h2 { color: #f0f2ff; font-size: 1.1rem; font-weight: 600; line-height: 1.6; margin-bottom: 10px; }
.legal-card p { font-size: .86rem; line-height: 1.85; color: #aeb8d2; margin-bottom: 24px; }
.legal-card-cta { color: #bfa7ff; font-size: .8rem; font-weight: 600; display: flex; gap: 12px; justify-content: space-between; margin-top: auto; }
.legal-card-cta > span { color: #38bdf8; }
.legal-contact { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 30px; padding: 26px; background: #111522; border: 1px solid rgba(167,139,250,.2); border-radius: 14px; }
.legal-contact h2 { font-size: 1.15rem; font-weight: 600; margin: 0 0 8px; }
.legal-contact p:not(.legal-eyebrow) { color: #aeb8d2; font-size: .8rem; line-height: 1.8; }
.legal-contact > a { color: #75d4ff; font-size: .9rem; overflow-wrap: anywhere; }
.legal-contact > a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 700px) {
  .legal-shell { width: calc(100% - 32px); padding-top: 98px; padding-bottom: 48px; }
  .legal-heading h1 { font-size: 1.9rem; }
  .legal-hub-heading h1 { font-size: 2.2rem; }
  .legal-breadcrumb { margin-bottom: 24px; font-size: .75rem; }
  .legal-document { padding: 24px 20px; font-size: .98rem; line-height: 1.85; }
  .legal-document h2 { font-size: 1.1rem; }
  .legal-table { font-size: .78rem; }
  .legal-table th,.legal-table td { padding: 10px 7px; }
  .legal-toc summary { padding: 17px 20px; }
  .legal-toc ol { grid-template-columns: 1fr; padding: 0 20px 20px; }
  .legal-card-grid,.legal-related > div { grid-template-columns: 1fr; }
  .legal-card { padding: 24px; }
  .legal-card-meta { margin-bottom: 18px; }
  .legal-contact { align-items: flex-start; flex-direction: column; padding: 24px; }
}
@media print {
  .legal-page { background: white; color: black; }
  .legal-page #navbar,.legal-page .mobile-nav,.legal-page > footer,.legal-toc,.legal-related,.legal-return,.legal-breadcrumb,.legal-skip { display: none !important; }
  .legal-shell { width: 100%; max-width: none; padding: 0; }
  .legal-document { border: 0; padding: 0; color: #111; background: white; font-size: 11pt; }
  .legal-document h2,.legal-document h3 { color: #111; break-after: avoid; }
  .legal-document a { color: #111; }
  .legal-source-meta,.legal-date-line,.legal-description,.legal-eyebrow { color: #333; }
  .legal-placeholder { color: #333; background: none; }
}
