/* Shared language picker. Native disclosure and links also work without JS. */
.language-switcher { position: relative; flex: 0 0 auto; text-transform: none; letter-spacing: normal; }
.language-switcher summary { display: flex; min-height: 44px; gap: 8px; align-items: center; padding: 8px 10px; color: var(--foil-light); font: 600 14px/1.4 var(--body); cursor: pointer; list-style: none; border: 1px solid transparent; border-radius: 5px; }
.language-switcher summary::-webkit-details-marker { display: none; }
.language-switcher summary::after { width: 6px; height: 6px; margin-left: 3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ""; transform: rotate(45deg) translateY(-2px); }
.language-switcher[open] summary::after { transform: rotate(225deg) translate(-2px, -1px); }
.language-switcher summary:hover, .language-switcher[open] summary { background: rgba(255,255,255,.06); border-color: var(--line-dark); }
.language-switcher summary:focus-visible, .language-switcher a:focus-visible { outline: 2px solid var(--foil); outline-offset: 3px; }
.language-switcher__globe { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.language-switcher__menu { position: absolute; z-index: 30; right: 0; top: calc(100% + 12px); width: 210px; max-height: min(420px, 65vh); overflow-y: auto; margin: 0; padding: 8px; list-style: none; color: var(--ink); background: #fff; border: 1px solid #e6e4df; border-radius: 12px; box-shadow: 0 16px 40px rgba(0,0,0,.2); }
.language-switcher__menu a { display: flex; min-height: 44px; gap: 12px; align-items: center; padding: 10px 12px; border-radius: 6px; color: #282824; font: 500 14px/1.4 var(--body); }
.language-switcher__menu a:hover, .language-switcher__menu a[aria-current="true"] { color: #735c2f; background: #f5f2eb; }
.language-switcher__menu a[aria-current="true"]::after { margin-left: auto; content: "✓"; }
.language-switcher__flag { font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif; font-size: 18px; line-height: 1; }
.nav-shell { gap: 20px; }
.site-nav { gap: clamp(10px, 1.5vw, 22px); }
html:not([lang="en"]) .site-nav > a:not(.button) { font-size: .8rem; letter-spacing: .02em; text-transform: none; }
html[lang="ru"] { --display: Georgia, "Times New Roman", serif; }
html[lang="zh-CN"] { --display: "Songti SC", "Noto Serif CJK SC", serif; }
html[lang="zh-CN"] .eyebrow { letter-spacing: .08em; }
html:not([lang="en"]) h1, html:not([lang="en"]) .section-title { overflow-wrap: anywhere; line-height: 1.12; }
html:not([lang="en"]) .footer-bottom { flex-wrap: wrap; }
.translation-note { flex: 1 0 100%; margin: 8px 0 0; font-size: 14px; letter-spacing: normal; text-transform: none; }
.translation-note a { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 901px) and (max-width: 1180px) {
  .nav-shell { gap: 12px; }
  .logo { gap: 8px; font-size: .8rem; letter-spacing: .08em; }
  .site-nav { gap: 12px; }
  .site-nav > a:not(.button) { font-size: .69rem; letter-spacing: .03em; }
  html:not([lang="en"]) .site-nav > a:not(.button) { font-size: .72rem; }
  .site-nav > .button { padding-inline: 12px; font-size: .68rem; }
  .language-switcher summary { padding-inline: 6px; font-size: 13px; }
}
@media (max-width: 900px) {
  .language-switcher { width: 100%; border-top: 1px solid var(--line-dark); padding-top: 10px; }
  .language-switcher summary { width: fit-content; min-height: 48px; padding-inline: 0; }
  .language-switcher__menu { position: static; width: 100%; max-height: none; margin-top: 8px; box-shadow: none; }
  .language-switcher__menu a { min-height: 48px; }
}
