.legal-page,
.legal-dialog {
  --legal-ink: #071c33;
  --legal-muted: #526477;
  --legal-paper: #f5f7f2;
  --legal-line: #dce4e7;
  --legal-lime: #c7f36b;
  color: var(--legal-ink);
  font: 400 1rem/1.65 "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.legal-page *,
.legal-dialog * { box-sizing: border-box; }
.legal-page { margin: 0; background: var(--legal-paper); }
.legal-page a,
.legal-dialog a { color: #18509b; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.legal-page :focus-visible,
.legal-dialog :focus-visible { outline: 3px solid #2367f2; outline-offset: 4px; }
.legal-skip { position: fixed; z-index: 5; top: .5rem; left: .5rem; padding: .75rem 1rem; background: var(--legal-lime); transform: translateY(-200%); }
.legal-skip:focus { transform: translateY(0); }
.legal-page-header,
.legal-page-nav,
.legal-page-main,
.legal-page-footer { width: min(960px, calc(100% - 32px)); margin-inline: auto; }
.legal-page-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1.25rem; }
.legal-page-header > a:first-child { color: var(--legal-ink); font-size: 1.375rem; font-weight: 800; letter-spacing: -.04em; text-decoration: none; }
.legal-page-header > a:last-child { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: .625rem 1rem; border: 1px solid #afd655; border-radius: 8px; background: var(--legal-lime); color: var(--legal-ink); font-size: .875rem; font-weight: 750; text-decoration: none; }
.legal-page-header svg { width: 24px; height: 24px; vertical-align: middle; }
.legal-page-nav { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; border-block: 1px solid var(--legal-line); padding-block: .375rem; }
.legal-page-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--legal-muted); font-size: .875rem; }
.legal-page-nav a[aria-current="page"] { color: var(--legal-ink); font-weight: 750; text-decoration-thickness: 2px; }
.legal-page-main { padding-block: 1.5rem; }
.legal-page-main > .legal-page-nav { width: 100%; margin: 1rem 0 1.5rem; }
.legal-back { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; }
.legal-page-main > .legal-document { padding: 1.5rem; background: #fff; border: 1px solid var(--legal-line); border-radius: 14px; }
.legal-page-footer { padding-block: 0 2rem; color: var(--legal-muted); font-size: .8125rem; }
.legal-page-footer p { margin: .5rem 0; }
.legal-page-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.legal-document { width: 100%; min-width: 0; overflow-wrap: anywhere; }
.legal-document .legal-eyebrow { margin: 0 0 .625rem; color: var(--legal-muted); font-size: .75rem; font-weight: 750; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; }
.legal-document > h1,
.legal-document > h2:first-of-type { margin: 0 0 1.5rem; color: var(--legal-ink); font-family: inherit; font-size: clamp(1.75rem, 4vw, 2.25rem); line-height: 1.2; letter-spacing: -.035em; }
.legal-document h2,
.legal-document h3,
.legal-document h4 { margin: 1.75rem 0 .75rem; font-family: inherit; font-size: 1.125rem; line-height: 1.35; letter-spacing: -.02em; }
.legal-document p,
.legal-document ul,
.legal-document ol,
.legal-document dl,
.legal-document address { margin: 0 0 1.125rem; max-width: 72ch; color: var(--legal-ink); font-size: 1rem; line-height: 1.7; }
.legal-document > :last-child { margin-bottom: 0; }
.legal-document ul,
.legal-document ol { padding-left: 1.5rem; }
.legal-document li + li { margin-top: .5rem; }
.legal-document address { font-style: normal; }
.legal-document .legal-intro { color: var(--legal-muted); }
.legal-dialog { box-sizing: border-box; padding: 0; width: min(760px, calc(100% - 24px)); max-width: none; max-height: calc(100dvh - 32px); border: 1px solid var(--legal-line); border-radius: 16px; background: #fff; overflow: hidden; box-shadow: 0 20px 60px rgb(7 28 51 / .2); }
.legal-dialog[open] { display: flex; flex-direction: column; }
.legal-dialog::backdrop { background: rgb(7 28 51 / .64); }
.legal-dialog-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; flex-shrink: 0; padding: .875rem 1.25rem; border-bottom: 1px solid var(--legal-line); }
.legal-dialog-header p { margin: 0; color: var(--legal-muted); font-size: .8125rem; font-weight: 750; }
.legal-close { min-width: 76px; min-height: 44px; margin-left: auto; border: 1px solid #a7b5bf; border-radius: 8px; padding: .625rem .875rem; background: #fff; color: var(--legal-ink); font: inherit; font-size: .875rem; font-weight: 700; line-height: 1.4; cursor: pointer; }
.legal-close:hover { background: #edf2f6; }
.legal-dialog-body { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 1.5rem 1.25rem; -webkit-overflow-scrolling: touch; }
.legal-dialog-actions { display: flex; justify-content: flex-start; flex-shrink: 0; padding: .5rem 1.25rem; border-top: 1px solid var(--legal-line); background: #f7f9fa; }
.legal-dialog-actions a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; font-weight: 650; }
.legal-loading,
.legal-error { margin: 0; font-size: 1rem; line-height: 1.6; }
.legal-loading { color: var(--legal-muted); }
.legal-error { padding: 1rem; border: 1px solid #efc8cb; border-radius: 8px; background: #fff2f3; color: #9b2430; }
.legal-dialog-open { overflow: hidden; }
@media (min-width: 640px) {
  .legal-page-main { padding-block: 2rem; }
  .legal-page-main > .legal-document { padding: 2.5rem; }
  .legal-dialog-body { padding: 2rem; }
  .legal-dialog-header,
  .legal-dialog-actions { padding-inline: 2rem; }
}
