/* Shared layout additions for the German and English static pages. */
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:24px; }
.language-switch { display:flex; flex-shrink:0; gap:2px; padding:3px; border:1px solid #ffffff40; border-radius:999px; }
.language-switch a { display:flex; align-items:center; justify-content:center; min-width:40px; min-height:38px; padding:6px 9px; border-radius:999px; font-size:14px; line-height:1; font-weight:800; color:#fff; transition:background .15s,color .15s; }
.language-switch a[aria-current="page"] { background:var(--orange); color:#111; }
.language-switch a:not([aria-current]):hover { background:#ffffff18; }
.language-switch a:focus-visible { outline:2px solid var(--orange); outline-offset:4px; }
.legal-header { margin-inline:auto; }
.legal-header .language-switch { border-color:#d9d9d9; }
.legal-header .language-switch a { color:#171819; }
.legal-header .language-switch a:not([aria-current]):hover { background:#eeeeee; }
.site-header { grid-template-columns:auto minmax(0,1fr) auto; gap:22px; }
.main-nav { gap:clamp(16px,2vw,28px); }
.main-nav a { white-space:nowrap; }
.footer-inner>div { flex-wrap:wrap; justify-content:flex-end; }
html[lang="de"] h1, html[lang="de"] h2, html[lang="de"] h3 { overflow-wrap:break-word; hyphens:auto; }
html[lang="de"] .hero h1 { font-size:clamp(62px,7.4vw,108px); max-width:720px; }
html[lang="de"] .hero h1 span { max-width:700px; font-size:.70em; line-height:1.04; margin-top:.18em; letter-spacing:-.04em; }
html[lang="de"] .feature-card h3 { font-size:clamp(21px,2.1vw,28px); }
html[lang="de"] .legal-title h1 { font-size:clamp(38px,6.3vw,76px); line-height:1.05; letter-spacing:-.055em; hyphens:none; }
html[lang="de"] .legal-text-section h2 { font-size:clamp(28px,3.1vw,40px); line-height:1.15; }
.spec-table dt, .spec-table dd { min-width:0; }
@media(max-width:1150px) {
  .site-header { grid-template-columns:1fr auto; }
  .main-nav { display:none; }
}
@media(max-width:700px) {
  .header-actions { gap:14px; }
  .footer-inner { grid-template-columns:1fr; gap:16px; }
  .footer-inner>div { justify-content:flex-start; }
  html[lang="de"] .hero h1 { font-size:clamp(52px,11vw,76px); }
  html[lang="de"] .hero h1 span { font-size:.68em; }
}
@media(max-width:560px) {
  .site-header { min-height:80px; gap:14px; }
  .header-actions .header-contact { display:none; }
  .language-switch a { min-height:40px; min-width:42px; }
  html[lang="de"] .hero h1 { font-size:clamp(50px,13.2vw,74px); }
  html[lang="de"] .hero h1 span { font-size:.65em; max-width:360px; }
  html[lang="de"] .hero h1, html[lang="de"] .hero h1 span { hyphens:none; }
  html[lang="de"] .legal-title h1 { font-size:clamp(35px,8.8vw,49px); }
  html[lang="de"] .spec-table dt { font-size:12px; }
  .spec-table dd { white-space:nowrap; }
}
