/* Shared two-position language control; links still work without JavaScript. */
.site-nav .language-switch {
  position: relative;
  display: inline-grid;
  grid-template-columns: 1fr 1fr;
  flex-shrink: 0;
  width: 84px;
  height: 36px;
  gap: 0;
  padding: 3px;
  isolation: isolate;
  border: 1px solid var(--border, #deddd9);
  border-radius: 999px;
  background: var(--surface, #f1f0ed);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .01em;
}
.site-nav .language-switch::before {
  content: "";
  position: absolute;
  inset: 3px auto 3px 3px;
  width: calc((100% - 6px) / 2);
  border-radius: 999px;
  background: #1e51e3;
  box-shadow: 0 1px 3px rgb(0 0 0 / .12);
  transition: transform 180ms ease;
  z-index: -1;
}
html[lang="en"] .site-nav .language-switch::before,
.site-nav .language-switch[data-selected="en"]::before { transform: translateX(100%); }
.site-nav .language-switch[data-selected="de"]::before { transform: translateX(0); }
.site-nav .language-switch > span { display: none; }
.site-nav .language-switch a[lang] {
  display: grid;
  place-items: center;
  /* Optical centering of Inter's capital letters, without moving the track. */
  padding: 3px 0 0;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  border-radius: 999px;
  color: var(--text-2, #69665f);
  text-decoration: none;
  background: transparent;
  transition: color 180ms ease;
}
.site-nav .language-switch a[lang][aria-current="page"] { color: #fff; }
.site-nav .language-switch a[lang]:focus-visible { outline: 2px solid #769aff; outline-offset: 4px; }
.site-nav .language-switch[data-selected="en"] a[lang="de"],
.site-nav .language-switch[data-selected="de"] a[lang="en"] { color: var(--text-2, #69665f); }
.site-nav .language-switch[data-selected="en"] a[lang="en"],
.site-nav .language-switch[data-selected="de"] a[lang="de"] { color: #fff; }
@media (prefers-reduced-motion: reduce) {
  .site-nav .language-switch::before, .site-nav .language-switch a[lang] { transition: none; }
}
