.language-switch { position: relative; font-size: 14px; }
.language-switch summary { cursor: pointer; list-style: none; white-space: nowrap; padding: 12px 0; }
.language-switch summary::-webkit-details-marker { display: none; }
.language-switch > div { position: absolute; right: 0; top: 100%; display: grid; gap: 2px; min-width: 160px; padding: 10px; background: white; border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 10px 30px #17243c18; z-index: 30; }
.language-switch a { padding: 8px 12px; color: var(--ink); text-decoration: none; }
.language-switch a:hover, .language-switch a[aria-current] { background: var(--bg-soft); }
.teaching-language { font-size: 13px; color: var(--muted); margin: 0; padding-top: 20px; }
html:not([lang="en"]) h1, html:not([lang="en"]) h2, html:not([lang="en"]) h3 { overflow-wrap: anywhere; hyphens: auto; }
html:not([lang="en"]) .home-intro h1 { hyphens: none; overflow-wrap: normal; }
@media (min-width: 961px) { html[lang="de"] .home-intro h1 { font-size: clamp(44px,4vw,58px); } }
@media (min-width: 961px) and (max-width: 1350px) {
  header.site > .inner { flex-wrap: wrap; }
  .menu-toggle { display: inline-flex; }
  nav.main { display: none; width: 100%; flex-direction: column; align-items: stretch; gap: 0; }
  nav.main.is-open { display: flex; }
  nav.main > a, .nav-resources summary { padding: 14px 0; }
  .nav-dropdown { position: static; box-shadow: none; }
}
@media (max-width: 1350px) { .language-switch > div { position: static; box-shadow: none; } }
@media (min-width: 1351px) { nav.main { gap: 16px; } nav.main > a, .nav-resources summary { white-space: normal; } }
@media (max-width: 640px) {
  .hero h1, .home-intro h1 { overflow-wrap: anywhere; hyphens: auto; }
  .fact-table th { overflow-wrap: anywhere; }
  .rrow { flex-wrap: wrap; }
}
@media print { .language-switch { display: none; } }
