/* Localized navigation and narrow-screen text must remain operable. */
.s7g-contact-page .inner-hero { width: calc(100% - 40px); max-width: 750px; }
.s7g-contact-page h1 { font-size: clamp(2rem, 7vw, 3.8rem); overflow-wrap: break-word; }
.s7g-contact-page .button a { white-space: normal; line-height: 1.5; }
@media (max-width: 619px) {
 #mainHeader .nav-bar { width: calc(100% - 32px); margin: 0 auto; }
 #mainHeader nav .nav-toggle {
  position: fixed; top: 8px; right: 12px; width: 44px; height: 44px;
  line-height: 1; display: flex; align-items: center; justify-content: center;
  box-sizing: border-box; margin: 0; z-index: 2;
 }
 .nav-open #mainHeader.header-background {
  inset: 0; height: 100vh; height: 100dvh; min-height: 0;
  overflow-y: auto; background: #f2f1ec; transition: none;
 }
 .nav-open #mainHeader nav {
  display: flex; flex-direction: column; width: 100%; top: 0;
  box-sizing: border-box; padding: 24px 0; line-height: 1.4;
 }
 .nav-open #mainHeader nav > a:not(.nav-toggle) { display: block; height: auto; padding: 16px 4px; color: #07080a; }
 .nav-open #mainHeader .language-selector {
  display: flex; align-items: center; gap: 20px; margin: 12px 0 0; padding: 12px 4px; line-height: 1.5; height: auto;
 }
 .nav-open #mainHeader .language-selector a,
 .nav-open #mainHeader .language-selector span { display: inline-flex; height: auto; padding: 10px 4px; }
 .nav-open #mainHeader .language-selector a { color: #07080a; }
 .nav-open #mainHeader .language-selector a.active { color: #008649; }
}

@media (max-width: 619px) { .nav-open #mainHeader::before { display: none; } }

html[lang="de"] h1, html[lang="de"] h2, html[lang="de"] h3 { hyphens: auto; overflow-wrap: anywhere; }

@media (min-width: 700px) and (max-width: 1000px) {
 html[lang="de"] .rebrand-service-index .rebrand-shell { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
