/* Shared language disclosure: native keyboard support, no locale redirect. */
.language-switch { position: relative; flex-shrink: 0; color: var(--ink); font-size: .88rem; }
.language-switch summary { display: flex; align-items: center; gap: .4rem; cursor: pointer; list-style: none; padding: .45rem .2rem; }
.language-switch summary::-webkit-details-marker { display: none; }
.language-switch summary:focus-visible, .language-switch a:focus-visible { outline: 2px solid var(--brand-bright); outline-offset: 3px; }
.language-icon { font-size: .9rem; line-height: 1; white-space: nowrap; }
.language-icon span { font-size: .68rem; vertical-align: -.25em; margin-left: -.12em; }
.language-caret { font-size: .7rem; }
header .language-switch nav, .language-switch nav { position: absolute; top: 100%; right: 0; z-index: 60; display: flex; flex-direction: column; gap: .15rem; min-width: 9rem; padding: .4rem; background: var(--bg-deep); border: 1px solid var(--rule); border-radius: 8px; box-shadow: 0 12px 30px rgb(0 0 0 / 45%); }
.language-switch:not([open]) nav { display: none; }
.language-switch a { display: block; padding: .45rem .7rem; text-decoration: none; color: var(--ink); text-align: left; white-space: nowrap; }
.language-switch a:hover, .language-switch a[aria-current] { background: rgb(32 140 183 / 18%); border-radius: 4px; }
.confirmation > .language-switch { position: absolute; top: 1rem; right: 1rem; }
/* Longer translated navigation/headlines need room, rather than smaller copy. */
html:not([lang="en"]) h1 span { white-space: normal; }
html[lang="zh-CN"] .lede { max-width: 28em; }
html[lang="es"] .copy { width: min(54rem, 72vw); }
@media (max-width: 1040px) { header > nav { display: none; } }
@media (max-width: 780px) { html[lang="es"] .copy { width: 100%; } }
@media (max-width: 480px) {
  :root { --header-h: 104px; }
  header { flex-wrap: wrap; align-content: center; row-gap: .1rem; }
  header .brand { flex: 1 0 60%; }
  header .dl { order: 2; }
  header > .language-switch { order: 3; flex-basis: 100%; }
  header > .language-switch summary { width: max-content; margin-left: auto; padding: .15rem .2rem; }
  header .language-switch nav { top: calc(100% + .2rem); }
}
