/* Compact, keyboard-accessible language choice; no automatic redirection. */
.language-switch {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 0.15rem;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  line-height: 1;
  letter-spacing: 0.04em;
}
.language-switch a,
.language-switch span[aria-current] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  min-height: 2.75rem;
  color: inherit;
}
.language-switch a { opacity: 0.62; text-decoration: none; }
.language-switch a:hover { opacity: 1; }
.language-switch span[aria-current] {
  text-decoration: underline;
  text-decoration-color: var(--accent-ink);
  text-underline-offset: 0.4em;
}
.language-switch a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
@media (max-width: 1200px) {
  .nav__inner { gap: 1rem; }
  .nav__list { gap: 1.1rem; }
}
/* Make room for real links in both languages before the header gets crowded. */
@media (max-width: 1040px) {
  :root { --nav-h: 62px; }
  .nav__inner > nav, .nav__list, .nav__cta { display: none; }
  .menu-toggle { display: inline-flex; }
  .drawer { display: flex; overflow-y: auto; }
}
@media (max-width: 540px) {
  .nav__inner { gap: 0.5rem; }
  .nav .wordmark { font-size: 0.875rem; }
  .nav .wordmark__sub { display: none; }
  .menu-toggle { min-width: 2.5rem; min-height: 2.75rem; justify-content: center; }
  .menu-toggle [data-menu-label] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}
@media (max-width: 360px) {
  .nav .wordmark { font-size: 0.8rem; }
  .nav__inner { gap: 0.375rem; }
}
@media print { .language-switch { display: none; } }

/* English copy is shorter: contact + footer must cover the final viewport.
   A minimum preserves the natural layout when content needs more space. */
@media screen and (min-width: 861px) {
  html[lang="en"] #kontakt.contact.section {
    min-height: calc(100vh - var(--contact-footer-height, 0px));
    min-height: calc(100dvh - var(--contact-footer-height, 0px));
  }
}

/* Keep whole words readable in narrow multi-column layouts in either language. */
.seo-process li { container-type: inline-size; }
.seo-process li h3 { font-size: clamp(1.25rem, 10.8cqi, var(--step-2)); }
@media (min-width: 960px) and (max-width: 1179px) {
  .vertical-strategy__copy .vertical-heading {
    font-size: clamp(2.25rem, 4.7vw, 3.5rem);
  }
}
@media (max-width: 360px) {
  html[lang="de"] .seo-transfer__title { font-size: 1.875rem; }
  html[lang="de"] .seo-capability h3 { font-size: 1.375rem; }
}
