/* Shared legal typography for the platform pages and landing-page dialogs. */
.legal-page { padding: 85px 0 100px; color: #eef2f8; }
.legal-page > .container { max-width: 1080px; }
.legal-page-heading { margin-bottom: 32px; }
.legal-eyebrow { display: block; margin-bottom: 16px; color: #93d8cc; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.legal-page-heading h1 { margin: 0; color: #fff; font-size: clamp(34px, 5vw, 64px); font-weight: 600; line-height: 1.12; letter-spacing: -.025em; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
.legal-nav a { padding: 10px 16px; border: 1px solid #293348; border-radius: 30px; color: #c8d1df; font-size: 14px; line-height: 1.4; }
.legal-nav a:hover, .legal-nav a[aria-current="page"] { background: #162a31; border-color: #82cdbf; color: #b3f0df; }
.legal-page .legal-document { padding: clamp(22px, 5vw, 56px); border: 1px solid #263047; border-radius: 24px; background: #0b1123; }
.legal-document { text-align: left; overflow-wrap: anywhere; }
.legal-document .legal-metadata { display: flex; flex-wrap: wrap; gap: 8px 22px; padding-bottom: 24px; border-bottom: 1px solid #2a3449; margin-bottom: 24px; color: #adb9cd; font-size: 13px; line-height: 1.6; }
.legal-document .legal-metadata span { display: block; }
.legal-document p { margin: 0 0 16px; color: #c6cfdf; font-size: 16px; font-weight: 400; line-height: 1.85; }
.legal-document h2, .legal-document h3, .legal-document h4 { color: #f6f8fc; text-align: left; letter-spacing: -.015em; scroll-margin-top: 140px; }
.legal-page .legal-document h2, .dialog-content.legal-document h3 { margin: 42px 0 18px; padding-top: 26px; border-top: 1px solid #263047; font-size: 25px; font-weight: 600; line-height: 1.35; }
.legal-page .legal-document h3, .dialog-content.legal-document h4 { margin: 26px 0 12px; font-size: 18px; line-height: 1.5; font-weight: 600; }
.legal-document a { color: #a3e8d8; text-decoration: underline; text-underline-offset: 4px; }
.legal-document a:hover { color: #fff; }
.legal-document a:focus-visible, .legal-document summary:focus-visible, .legal-nav a:focus-visible { outline: 2px solid #a3e8d8; outline-offset: 5px; }
.legal-toc { padding: 18px 22px; border: 1px solid #2a3c4c; border-radius: 14px; background: #101e2c; }
.legal-toc summary { color: #b3f0df; cursor: pointer; font-size: 16px; font-weight: 600; }
.legal-toc ol { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.legal-toc li { margin: 0; font-size: 14px; line-height: 1.5; }
.legal-toc a { text-decoration: none; color: #c6cfdf; }
.legal-download { margin-top: 42px; padding: 24px; border: 1px solid #365751; border-radius: 16px; background: #102728; }
.legal-download strong { display: block; margin-bottom: 8px; color: #d6fff1; font-size: 18px; }
.legal-download p { margin-bottom: 16px; }
.legal-download a { display: inline-block; color: #b3f0df; font-size: 15px; font-weight: 600; }
.legal-download a span { font-weight: 400; }
.legal-dialog { scroll-behavior: auto; }
.legal-dialog .dialog-head { align-items: flex-start; }
.legal-dialog .dialog-close { flex-shrink: 0; }
.legal-dialog .legal-document h3, .legal-dialog .legal-document h4 { scroll-margin-top: 130px; }
@media (max-width: 600px) {
  .legal-page { padding: 42px 0 56px; }
  .legal-page .legal-document { border-radius: 18px; padding: 22px 18px; }
  .legal-document p { font-size: 15px; line-height: 1.8; }
  .legal-page .legal-document h2, .dialog-content.legal-document h3 { font-size: 21px; margin-top: 32px; }
  .legal-nav a { font-size: 13px; padding: 8px 12px; }
  .legal-dialog .dialog-head { padding: 20px; gap: 10px; }
  .legal-dialog .dialog-head h2 { font-size: 25px; }
  .legal-dialog .dialog-content { padding: 22px 20px 30px; }
  .legal-toc, .legal-download { padding: 18px; }
}
