/* Language-specific typesetting; no remote fonts or reduced type sizes. */
.language-panel { margin-block: 24px 0; padding: 25px 28px 20px; background: var(--paper-alt, #eeeee5); border: 1px solid var(--line); }
.language-panel h2 { font-family: var(--display); font-weight: 400; font-size: clamp(26px, 2.5vw, 36px); line-height: 1.2; letter-spacing: -.015em; margin: 0 0 12px; text-wrap: balance; }
.language-panel p { max-width: 100ch; margin: 0; font-size: 12px; line-height: 1.85; color: var(--muted); }
.language-options { display: flex; flex-wrap: wrap; gap: 5px 9px; margin-top: 17px; }
.language-options a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 13px; border: 1px solid transparent; font-size: 12px; line-height: 1.5; text-decoration: none; color: var(--ink); }
.language-options a:hover { border-color: var(--line); }
.language-options a[aria-current="page"] { background: var(--ink); color: var(--paper); }
.language-options a:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.nav-links { flex-wrap: wrap; }
.nav-links a { overflow-wrap: normal; }
.hero-grid > *, .grid-two > *, .public-role > *, .contact-text > *, .card-grid > *, .discovery > * { min-width: 0; }
.hero-copy h1, .section h2, .section h3, .hero-aside dd, .copy h2, .error-content h1 { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: anywhere; }
:lang(ru) { --display: Georgia, 'Times New Roman', serif; --body: system-ui, sans-serif; }
:lang(zh-Hans) { --display: 'Songti SC', 'Noto Serif CJK SC', SimSun, serif; --body: system-ui, 'PingFang SC', 'Microsoft YaHei', sans-serif; line-break: strict; }
:lang(zh-Hans) h1, :lang(zh-Hans) h2, :lang(zh-Hans) h3 { letter-spacing: 0; line-height: 1.2; }
:lang(zh-Hans) .eyebrow { letter-spacing: .06em; }
:lang(zh-Hans) .hero-copy h1 em { max-width: none; }
/* Keep the 42 artwork invariant; translated labels may use additional lines. */
.note h1 { font-family: 'Instrument Serif', Georgia, serif; letter-spacing: -.075em; line-height: .92; }
.note-top, .note-bottom { overflow-wrap: anywhere; }
.note-top > span, .note-bottom > span { min-width: 0; }
@media (max-width: 820px) {
  .language-panel { padding: 21px 22px 16px; }
  .nav { column-gap: 20px; }
}
@media (max-width: 480px) {
  .language-panel { margin-top: 18px; padding: 20px 17px 15px; }
  .language-panel p { font-size: 12px; }
  .language-options { column-gap: 2px; }
  .language-options a { padding-inline: 10px; }
  .nav-links { justify-content: flex-start; gap: 0 17px; }
}
