:root {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 16px;
  color: #222;
  background: #fff;
  font-synthesis: none;
}

* { box-sizing: border-box; }
body { margin: 0; line-height: 1.85; }

.legal-document,
.document-footer {
  width: min(100% - 40px, 760px);
  margin-inline: auto;
  overflow-wrap: anywhere;
}

.legal-document { padding-block: 40px 24px; }
.document-header { margin-bottom: 28px; }
.language-switch { display: block; width: fit-content; margin-left: auto; font-size: 0.875rem; }
h1 { margin: 20px 0 8px; font-size: 1.75rem; line-height: 1.4; font-weight: 650; }
h2 { margin: 32px 0 10px; font-size: 1.125rem; line-height: 1.6; }
h3 { margin: 20px 0 8px; font-size: 1rem; }
p { margin: 0 0 16px; }
ul { margin: 0 0 20px; padding-left: 1.5em; }
li + li { margin-top: 8px; }
a { color: #2457a6; text-decoration: underline; text-underline-offset: 3px; }
a:hover { color: #163b72; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.document-meta { color: #666; font-size: 0.875rem; }
.document-footer { padding-block: 20px 40px; font-size: 0.875rem; }
.document-footer nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.document-footer a { color: #666; }

@media (max-width: 600px) {
  .legal-document { padding-top: 24px; }
  h1 { font-size: 1.5rem; }
}

@media print {
  .legal-document { width: 100%; padding: 0; }
  .language-switch, .document-footer { display: none; }
  h2, h3 { break-after: avoid; }
  a { color: inherit; }
}
