/* Shared legal-page layout. Scoped so the marketing hero stays unchanged. */
.legal-page #siteHeader { position: sticky; top: 0; padding: .4rem 0; border-bottom: 1px solid #e3e9f2; background: rgba(255,255,255,.97); backdrop-filter: blur(16px); box-shadow: 0 4px 20px rgba(15,35,65,.04); }
.legal-page #siteHeader .navbar-brand img { width: 164px; }
.legal-page #siteHeader .brand-logo-light { display: none; }
.legal-page #siteHeader .brand-logo-dark { display: block; }
.legal-page #siteHeader .nav-link { padding: .6rem .85rem !important; color: #52617a; border-radius: .65rem; font-size: .9rem; }
.legal-page #siteHeader .nav-link::after { display: none; }
.legal-page #siteHeader .nav-link:hover, .legal-page #siteHeader .nav-link[aria-current="page"] { color: #294ec3; background: #eef2ff; }
.legal-page #siteHeader .btn-nav { min-height: 42px; padding: .65rem 1.1rem; color: #fff; background: #0b1c36; border-radius: .7rem; box-shadow: none; font-size: .9rem; }
.legal-page #siteHeader .navbar-toggler { border-color: #dce3ee; }
.legal-page #siteHeader .navbar-toggler span { background: #132844; }
.legal-page #siteHeader .navbar-collapse { background: transparent; }
.legal-page .legal-hero { min-height: 0; padding: 42px 0 46px; }
.legal-page .legal-back { margin-bottom: 1.5rem; font-size: .85rem; }
.legal-page .legal-hero-copy { max-width: 900px; }
.legal-page .legal-hero-copy .eyebrow { margin-bottom: 1rem; font-size: .7rem; }
.legal-page .legal-hero-copy h1 { max-width: 900px; font-size: clamp(2rem,3.6vw,3rem); line-height: 1.15; letter-spacing: -.035em; text-wrap: balance; }
.legal-page .legal-hero-copy > p { max-width: 740px; margin-top: 1rem; color: #b8c5d9; font-size: 1rem; line-height: 1.7; }
.legal-page .legal-meta { margin-top: 1.4rem; flex-direction: row; gap: .6rem; }
.legal-page .legal-meta span { padding: .45rem .7rem; font-size: .75rem; border-radius: .5rem; }
.legal-page .legal-body { padding: 2rem 0 5rem; }
.legal-page .legal-layout { grid-template-columns: 250px minmax(0,1fr); gap: 1.75rem; }
.legal-page .legal-toc { top: 92px; padding: 1rem; border-radius: 1rem; box-shadow: 0 8px 24px rgba(25,49,91,.04); }
.legal-page .legal-toc > strong { padding: .25rem .6rem .8rem; color: #53637e; font-size: .72rem; }
.legal-page .legal-toc nav { gap: .25rem; max-height: calc(100dvh - 180px); padding-top: .75rem; }
.legal-page .legal-toc a { display: flex; align-items: center; min-height: 44px; padding: .7rem .75rem; border: 0; border-radius: .65rem; color: #53637a; font-size: .875rem; line-height: 1.45; text-decoration: none; transition: background .15s, color .15s; }
.legal-page .legal-toc a:hover, .legal-page .legal-toc a[aria-current="location"] { color: #294ec3; background: #edf2ff; }
.legal-page .legal-toc a[aria-current="location"] { box-shadow: inset 3px 0 #4663e7; }
.legal-page a:focus-visible, .legal-page button:focus-visible { outline: 3px solid #5c78ee; outline-offset: 3px; }
.legal-page .legal-document { padding: clamp(1.25rem,3vw,2.5rem); border-radius: 1rem; box-shadow: 0 10px 32px rgba(25,49,91,.04); }
.legal-page .legal-document > section { padding: 2.2rem 0; scroll-margin-top: 100px; }
.legal-page .legal-document > section:first-child { padding-top: 0; border-top: 0; }
.legal-page .legal-document > section:last-child { padding-bottom: 0; }
.legal-page .legal-document h2 { font-size: clamp(1.35rem,2vw,1.6rem); letter-spacing: -.025em; }
.legal-page .legal-document a.btn-primary { color: #fff; text-decoration: none; border-radius: .65rem; padding: .8rem 1rem; background: #3454d1; border-color: #3454d1; font-size: .9rem; }
.legal-page .legal-document a.btn-primary:hover { color: #fff; background: #2943ad; border-color: #2943ad; }
@media (max-width: 991.98px) {
  .legal-page #siteHeader .navbar-collapse { background: #fff; }
  .legal-page .legal-layout { grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
  .legal-page .legal-toc { position: static; min-width: 0; }
  .legal-page .legal-toc nav { display: flex; max-height: none; gap: .5rem; overflow-x: auto; padding: .75rem .2rem .35rem; }
  .legal-page .legal-toc a { flex: 0 0 auto; max-width: 235px; border: 1px solid #e2e8f2; }
  .legal-page .legal-toc a[aria-current="location"] { border-color: #becbf6; box-shadow: none; }
}
@media (max-width: 575.98px) {
  .legal-page .legal-hero { padding: 28px 0 32px; }
  .legal-page .legal-back { margin-bottom: 1.25rem; }
  .legal-page .legal-body { padding: 1.25rem 0 3rem; }
  .legal-page .legal-hero-copy h1 { font-size: 2rem; }
  .legal-page .legal-document p, .legal-page .legal-document li { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) { .legal-page .legal-toc a { transition: none; } }
