/* Navigation only: the published document body is preserved verbatim. */
.site-header { position: static; background: #fff; }
.header-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem 1.5rem;
  padding-block: 1rem;
}
.brand { min-width: 0; min-height: 48px; letter-spacing: -.02em; }
.legal-brand-icon { flex: 0 0 44px; display: block; border-radius: 12px; }
.legal-language { display: grid; gap: .3rem; color: var(--text-soft); font-size: .8rem; font-weight: 650; }
.legal-language select {
  min-height: 48px;
  width: 100%;
  max-width: 210px;
  padding: .5rem 2rem .5rem .75rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f4f7fa;
  color: var(--text);
  font: inherit;
  font-size: .9rem;
  cursor: pointer;
}
.site-nav { grid-column: 1 / -1; justify-content: flex-start; gap: .3rem; }
.site-nav a { display: inline-flex; align-items: center; min-height: 48px; padding: .6rem .85rem; }
.site-nav a[aria-current="page"] { color: #0e3461; background: #e5efff; }
.site-nav a:hover { background: #f0f5f9; }
.site-nav a:focus-visible,
.brand:focus-visible,
.legal-language select:focus-visible,
.site-footer a:focus-visible,
.page-link:focus-visible,
.contact-highlight:focus-visible {
  outline: 3px solid #327ac2;
  outline-offset: 3px;
}
.site-footer a { display: inline-flex; align-items: center; min-height: 48px; }
.document-language-notice {
  margin: 0 0 2rem;
  padding: 1.1rem 1.25rem;
  border: 1px solid #c9dcee;
  border-left: 4px solid #327ac2;
  border-radius: 14px;
  background: #edf5ff;
  color: #163858;
  font-size: .95rem;
  line-height: 1.65;
}
.document-language-notice[hidden] { display: none; }
main a { overflow-wrap: anywhere; }
/* Long translated words must wrap instead of widening the mobile viewport. */
main { overflow-wrap: anywhere; }
main h1, main h2 { hyphens: auto; }
@media (max-width: 580px) {
  .header-inner { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .brand { font-size: 1.08rem; }
  .legal-language { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .75rem; }
  .legal-language select { max-width: none; }
  .site-nav { gap: .2rem; }
  .site-nav a { padding-inline: .75rem; font-size: .9rem; }
  main { padding-top: 2.3rem; }
}
@media print {
  .site-header, .site-footer { display: none; }
  main { padding-top: 0; }
}
