/* Compact native disclosure: accessible without JavaScript, square like the site. */
body.scan-focused .language-switcher {
  display: block !important;
  position: relative;
  white-space: nowrap;
  opacity: 1 !important;
  color: var(--ink, #151b17) !important;
  flex: 0 0 auto;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.scan-focused .language-dropdown > summary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px;
  min-width: 82px;
  min-height: 44px;
  padding: 10px 8px !important;
  list-style: none;
  cursor: pointer;
  font: inherit !important;
  font-weight: 600 !important;
  color: inherit !important;
  border-radius: 0 !important;
  background: transparent;
  transition: background-color 180ms ease, color 180ms ease;
}
body.scan-focused .language-dropdown > summary::-webkit-details-marker { display: none; }
body.scan-focused .language-dropdown > summary::marker { content: ""; }
body.scan-focused .language-dropdown > summary::after { content: none !important; }
body.scan-focused .language-globe { display: block; flex: 0 0 17px; }
body.scan-focused .language-chevron {
  display: block; width: 6px; height: 6px; margin: -3px 2px 0 1px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg); transition: transform 180ms ease;
}
body.scan-focused .language-dropdown[open] .language-chevron { transform: translateY(3px) rotate(225deg); }
body.scan-focused .language-options {
  position: absolute;
  z-index: 120;
  top: calc(100% + 8px);
  right: 0;
  width: 190px;
  padding: 6px !important;
  background: var(--paper, #f1f4f2) !important;
  color: #151b17 !important;
  border: 1px solid rgba(21,27,23,.16);
  box-shadow: 0 12px 30px rgba(21,27,23,.12);
  animation: language-reveal 160ms ease-out;
}
body.scan-focused .language-switcher a {
  display: grid !important;
  grid-template-columns: 1fr auto;
  align-items: center !important;
  gap: 20px;
  min-height: 44px;
  padding: 11px 12px !important;
  color: #151b17 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  font-family: "IBM Plex Sans", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transition: background-color 160ms ease;
}
body.scan-focused .language-switcher a[aria-current="page"] {
  background: rgba(177,232,14,.17) !important;
  font-weight: 650;
}
body.scan-focused .language-code { font-size: 12px; font-weight: 600; }
body.scan-focused .language-dropdown > summary:hover,
body.scan-focused .language-dropdown > summary:focus-visible,
body.scan-focused .language-dropdown[open] > summary,
body.scan-focused .language-switcher a:hover,
body.scan-focused .language-switcher a:focus-visible {
  background: var(--signal, #b1e80e) !important;
  color: #151b17 !important;
}
body.scan-focused .language-switcher a:focus-visible,
body.scan-focused .language-dropdown > summary:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
body.scan-focused .mobile-nav .language-dropdown { width: 100%; }
body.scan-focused .mobile-nav .language-dropdown > summary {
  justify-content: flex-start !important;
  width: 100%;
  padding: 12px 24px !important;
}
body.scan-focused .mobile-nav .language-options {
  position: static;
  width: 100%;
  border: 0;
  box-shadow: none;
  padding: 0 12px 12px !important;
}
@keyframes language-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
/* German compounds may wrap; keep established sizing and layouts otherwise. */
html[lang="de"] :is(h1,h2,h3,.nav-menu-copy strong,.button,.form-note) {
  overflow-wrap: break-word;
  hyphens: auto;
}
html[lang="de"] .desktop-nav { gap: clamp(12px,1.3vw,20px) !important; }
html[lang="de"] .service-page-hero h1 {
  text-wrap: balance;
}
html[lang="de"] .proof-caption { gap: 8px; }
html[lang="de"] .ppwr-proof-label { font-size: 8px !important; }
html[lang="de"] .artboard-topline { font-size: 8px !important; }
html[lang="de"] .proof-key { gap: 10px !important; font-size: 8px !important; }
html[lang="de"] .hero-credibility-metrics small { max-width: 220px; }
html[lang="de"] .contact-form select { text-overflow: ellipsis; }
html[lang="de"] .footer-inner { grid-template-columns: auto minmax(0,1fr) !important; }
html[lang="de"] .footer-links {
  grid-column: 1 / -1 !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  min-width: 0;
  max-width: 100%;
  white-space: normal !important;
}
@media (min-width: 981px) and (max-width: 1199px) {
  html[lang="de"] .desktop-nav { display: none !important; }
  html[lang="de"] .mobile-nav { display: block !important; }
  html[lang="de"] .header-inner { justify-content: space-between; }
}
@media (max-width: 680px) {
  html[lang="de"] .footer-inner { grid-template-columns: minmax(0,1fr) !important; }
  html[lang="de"] .cookie-banner-actions,
  html[lang="de"] .cookie-dialog-actions { flex-wrap: wrap; }
  html[lang="de"] .cookie-button { white-space: normal; }
  html[lang="de"] .hero-meta-row { gap: 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.scan-focused .language-switcher a,
  body.scan-focused .language-dropdown > summary,
  body.scan-focused .language-chevron { transition: none; }
  body.scan-focused .language-options { animation: none; }
}
