.legal-page { background: linear-gradient(180deg, #f4f6ff 0, #f8fafc 18rem, #f8fafc 100%); color: #1d2939; }
.legal-document { width: min(100% - 2rem, 920px); margin: clamp(1.5rem, 4vw, 3rem) auto; padding: clamp(1.25rem, 4vw, 3.25rem) !important; border: 1px solid #e4e7ec; border-radius: 1.5rem !important; box-shadow: 0 20px 55px rgba(16, 24, 40, .08) !important; }
.legal-document h1 { max-width: 720px; margin-bottom: .6rem !important; color: #101828; font-size: clamp(2rem, 5vw, 3.25rem) !important; line-height: 1.06; letter-spacing: -.045em; text-wrap: balance; }
.legal-document > .legal-updated { color: #667085; font-weight: 650; }
.legal-summary { margin: 1.5rem 0 2rem; padding: 1rem 1.1rem; border: 1px solid #c7d2fe; border-radius: 1rem; background: #eef2ff; color: #312e81; line-height: 1.6; }
.legal-document .prose { max-width: none; color: #344054; font-size: 1rem; line-height: 1.75; }
.legal-document .prose > p:first-child { font-size: 1.08rem; color: #475467; }
.legal-document .prose > ol { margin: 0; padding: 0; list-style: none; counter-reset: legal-section; }
.legal-document .prose > ol > li { position: relative; margin: 0; padding: 1.4rem 0 1.4rem 3rem; border-top: 1px solid #eaecf0; counter-increment: legal-section; }
.legal-document .prose > ol > li::before { content: counter(legal-section); position: absolute; top: 1.25rem; left: 0; display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .65rem; background: #eef2ff; color: #3730a3; font-size: .82rem; font-weight: 850; }
.legal-document .prose > ol > li > strong:first-child { display: inline-block; margin-bottom: .45rem; color: #101828; font-size: 1.1rem; }
.legal-document ul { margin-block: .65rem; }
.legal-document li::marker { color: #6366f1; }
.legal-document table { display: block; width: 100%; margin: 1rem 0 !important; overflow-x: auto; border: 1px solid #e4e7ec !important; border-radius: .8rem; border-collapse: separate; border-spacing: 0; white-space: normal; }
.legal-document th { background: #f2f4f7; color: #344054; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
.legal-document th,
.legal-document td { min-width: 9rem; padding: .75rem; border-right: 1px solid #eaecf0; border-bottom: 1px solid #eaecf0; vertical-align: top; }
.legal-document a { color: #4338ca; font-weight: 700; text-underline-offset: 3px; }
@media (max-width: 640px) {
  .legal-document { width: min(100% - 1rem, 920px); margin-block: .75rem 1.5rem; border-radius: 1rem !important; }
  .legal-document .prose > ol > li { padding-left: 2.55rem; }
}
