/* Language choices use native names, so visitors can recognize their language. */
.announcement { position: relative; padding-inline: 100px; }
.language-switcher { position: absolute; inset-inline-end: max(20px, calc((100vw - 1320px) / 2)); top: 50%; transform: translateY(-50%); z-index: 70; color: var(--blue, #1143a6); letter-spacing: 0; line-height: 1.4; }
.language-switcher > summary { display: flex; align-items: center; gap: 6px; min-height: 32px; min-width: 52px; padding: 4px 7px; border-radius: 6px; list-style: none; cursor: pointer; font-size: 11px; font-weight: 700; }
.language-switcher > summary::-webkit-details-marker { display: none; }
.language-switcher > summary:hover, .language-switcher[open] > summary { background: #e8effa; }
.language-globe { width: 16px; height: 16px; flex: none; }
.language-chevron { width: 5px; height: 5px; border-inline-end: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin: -3px 2px 0 1px; }
.language-menu { position: absolute; inset-inline-end: 0; top: calc(100% + 7px); display: grid; min-width: 185px; padding: 7px; border: 1px solid #dce5ed; border-radius: 12px; background: #fff; box-shadow: 0 12px 32px #172e511c; }
.language-menu a { display: flex; align-items: center; justify-content: space-between; min-height: 40px; gap: 20px; padding: 9px 12px; border-radius: 7px; color: #172e51; font-size: 13px; font-weight: 400; white-space: nowrap; }
.language-menu a:hover { background: #edf8ff; }
.language-menu a[aria-current="true"] { background: #edf3ff; color: #1143a6; font-weight: 700; }
.language-menu a[aria-current="true"]::after { content: '✓'; color: #086900; }
.language-menu a:focus-visible, .language-switcher > summary:focus-visible { outline: 2px solid #0ca2d7; outline-offset: 2px; }
html[lang="de"] h1, html[lang="de"] h2, html[lang="fr"] h1, html[lang="es"] h1 { overflow-wrap: break-word; }
html[lang="zh-CN"] body { font-family: 'Microsoft YaHei', 'PingFang SC', 'Noto Sans CJK SC', Arial, sans-serif; }
html[lang="zh-CN"] h1, html[lang="zh-CN"] h2, html[lang="zh-CN"] h3 { letter-spacing: -.02em; }
@media (max-width: 1100px) { .main-nav { gap: 14px; font-size: 12px; } }
@media (max-width: 800px) {
  .announcement { min-height: 34px; padding: 3px 20px; justify-content: space-between; gap: 12px; }
  .announcement > a, .custom-page .announcement > span { display: none; }
  .language-switcher { position: relative; inset: auto; top: auto; transform: none; margin-inline-start: auto; }
  .language-switcher > summary { min-height: 32px; font-size: 10px; padding-block: 3px; }
  html:not([lang="en"]) .hero-actions { flex-wrap: wrap; }
  html:not([lang="en"]) .main-nav { display: none; }
  html:not([lang="en"]) .header-inquiry { max-width: 50%; text-align: center; line-height: 1.35; }
}
@media (max-width: 370px) { html:not([lang="en"]) .mobile-custom-link { display: none; } }
