.site-footer nav { column-gap: 24px; row-gap: 12px; }
.legal-page { max-width: 1280px; margin-inline: auto; padding: 64px var(--gutter) 88px; }
.legal-heading { max-width: 960px; margin-bottom: 42px; }
.legal-heading h1 { font-size: clamp(34px, 4.6vw, 58px); line-height: 1.13; letter-spacing: -.025em; margin: 18px 0 22px; overflow-wrap: anywhere; }
.legal-lead { color: var(--muted); max-width: 780px; font-size: 19px; line-height: 1.65; }
.legal-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; color: var(--muted); font-size: 14px; margin-top: 22px; }
.legal-print { padding: 8px 13px; border: 1px solid var(--line); border-radius: 6px; background: transparent; color: var(--ink); cursor: pointer; font: inherit; }
.legal-print:hover { border-color: var(--cyan); }
.legal-doc-nav { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 26px; }
.legal-doc-nav a, .legal-prose a, .legal-contents a { color: #9bdcf3; text-decoration: underline; text-underline-offset: 4px; }
.legal-doc-nav a[aria-current="page"] { color: var(--ink); text-decoration-thickness: 2px; }
.legal-document { display: grid; grid-template-columns: 215px minmax(0, 1fr); gap: 44px; align-items: start; }
.legal-document[hidden] { display: none !important; }
.legal-contents { position: sticky; top: 112px; padding: 22px 18px; border: 1px solid var(--line); border-radius: 10px; background: #07151e; }
.legal-contents h2 { margin: 0 0 14px; font-size: 15px; line-height: 1.4; }
.legal-contents ol { padding-left: 19px; margin: 0; }
.legal-contents li { padding-left: 3px; margin-bottom: 11px; font-size: 13px; line-height: 1.55; }
.legal-prose { min-width: 0; max-width: 820px; font-size: 16px; line-height: 1.8; color: #d6e2e9; overflow-wrap: anywhere; }
.legal-prose section { margin-bottom: 34px; scroll-margin-top: 110px; }
.legal-prose h2 { color: var(--ink); font-size: 23px; line-height: 1.35; letter-spacing: -.015em; padding-bottom: 12px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.legal-prose h3 { color: var(--ink); font-size: 18px; line-height: 1.5; margin: 22px 0 10px; }
.legal-prose p { margin: 0 0 15px; }
.legal-prose ul, .legal-prose ol { padding-left: 23px; margin: 12px 0 18px; }
.legal-prose li { margin-bottom: 9px; padding-left: 3px; }
.legal-prose strong { color: var(--ink); }
.legal-summary { border: 1px solid #265363; border-radius: 10px; padding: 22px 24px; background: #0a202a; margin-bottom: 34px; }
.legal-summary p:last-child, .legal-summary ul:last-child { margin-bottom: 0; }
.legal-prose .legal-contact { margin-top: 16px; padding-left: 18px; border-left: 2px solid #478ba1; }
.legal-prose code { color: #d0eef9; font-size: .92em; }
.legal-noscript { color: var(--muted); margin-bottom: 25px; }
.legal-language-name { margin-bottom: 22px; color: var(--muted); font-size: 14px; }
@media (max-width: 900px) {
  .legal-document { grid-template-columns: 1fr; gap: 24px; }
  .legal-contents { position: static; }
  .legal-contents ol { columns: 2; column-gap: 34px; }
  .legal-contents li { break-inside: avoid; }
}
@media (max-width: 540px) {
  .legal-page { padding-top: 38px; padding-bottom: 52px; }
  .legal-heading { margin-bottom: 28px; }
  .legal-lead { font-size: 17px; }
  .legal-contents ol { columns: 1; }
  .legal-prose { font-size: 16px; line-height: 1.75; }
  .legal-prose h2 { font-size: 21px; }
  .legal-summary { padding: 18px; }
}
@media print {
  :root { color-scheme: light; }
  body, .legal-page, .legal-summary { background: white !important; color: black !important; }
  .site-header, .site-footer, .skip-link, .legal-contents, .legal-print, .legal-doc-nav { display: none !important; }
  .legal-page { max-width: none; padding: 0; }
  .legal-document { display: block; }
  .legal-prose { max-width: none; color: black; font-size: 11pt; }
  .legal-prose h2, .legal-prose h3, .legal-prose strong, .legal-prose code, .legal-prose a, .legal-lead, .legal-meta, .legal-language-name { color: black; }
  .legal-prose h2, .legal-prose h3 { break-after: avoid; }
  .legal-prose section { scroll-margin-top: 0; }
  .legal-heading h1 { font-size: 26pt; }
}
