
/* Shared language switcher – no modification to the approved page layouts. */
.header { gap: clamp(14px, 2vw, 35px); }
.navigation { margin-left: auto; }
.language-switcher { position: relative; z-index: 12; flex: 0 0 auto; margin-left: clamp(4px, 1.1vw, 17px); }
.language-trigger { display:flex; align-items:center; gap:8px; background:transparent; border:1px solid rgba(246,247,248,.22); border-radius:4px; color:var(--white); padding:10px 12px; cursor:pointer; font-size:15px; font-weight:700; letter-spacing:.05em; transition:border-color .2s,color .2s; }
.language-trigger:hover, .language-trigger[aria-expanded="true"] { border-color:var(--poppy); color:var(--poppy); }
.language-trigger svg { transition: transform .2s ease; }
.language-trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.language-options { position:absolute; right:0; top:calc(100% + 12px); min-width:170px; background:#181818; border:1px solid rgba(246,247,248,.16); box-shadow:0 20px 48px rgba(0,0,0,.45); padding:8px; }
.language-options[hidden] { display:none !important; }
.language-options button { width:100%; text-align:left; display:block; border:0; background:transparent; color:rgba(246,247,248,.86); font-size:15px; padding:11px 12px; cursor:pointer; border-radius:2px; transition:color .2s, background .2s; }
.language-options button:hover, .language-options button:focus-visible { background:rgba(255,255,255,.07); color:var(--poppy); }
.language-options button[aria-current="true"] { color:var(--powder); font-weight:700; }
.hero-title .title-first { color:var(--white); }
@media (max-width: 900px) and (min-width: 651px) { .navigation { gap:clamp(13px,2vw,25px); } .language-switcher { margin-left:0; } }
@media (max-width: 650px) {
  .menu-button { order:3; }
  .language-switcher { order:2; margin-left:auto; }
  .language-trigger { padding:9px 10px; font-size:14px; }
  .language-options { min-width:155px; }
  .navigation { order:4; margin-left:0; }
}
/* Longer localized headings may wrap without clipping. English stays identical. */
html:not([lang="en"]) .hero-title { white-space:normal; text-wrap:balance; font-size:clamp(32px, 4.3vw, 78px); }
@media (min-width: 651px) and (max-width: 1050px) { html:not([lang="en"]) .hero-title { font-size:clamp(27px, 3.75vw, 45px); } }
@media (max-width: 650px) { html:not([lang="en"]) .hero-title { font-size:clamp(31px, 8vw, 48px); } }
@media (prefers-reduced-motion: reduce) { .language-trigger svg, .language-trigger, .language-options button { transition:none; } }
/* Keep long translated About headings fully visible on narrow phones. */
@media (max-width: 520px) {
  .about .headline { font-size: clamp(29px, 9vw, 46px); }
}

/* V2: translated headlines must never overlap adjacent columns.
   Preserve the generous typography; adapt when available column width shrinks. */
.about .headline, .materials .headline, .contact-intro .headline { min-width: 0; max-width: 100%; }
.about .headline > span, .materials .headline > span, .contact-intro .headline > span { white-space: nowrap; }
.about .content, .contact-layout .form-area { min-width: 0; }
html:not([lang="en"]) .about .headline {
  font-size: clamp(48px, 4.85vw, 83px);
  letter-spacing: -.055em;
}
html:not([lang="en"]) .contact-layout .headline { font-size: clamp(52px, 5.2vw, 94px); }
html:not([lang="en"]) .materials .headline { font-size: clamp(54px, 6.6vw, 110px); }
@media (min-width: 761px) and (max-width: 1160px) {
  .about { grid-template-columns: 1fr; gap: 34px; align-content: center; }
  html:not([lang="en"]) .about .headline { font-size: clamp(52px, 6.5vw, 78px); }
}
@media (max-width: 760px) {
  html:not([lang="en"]) .about .headline { font-size: clamp(44px, 8.5vw, 68px); }
  html:not([lang="en"]) .contact-layout .headline { font-size: clamp(44px, 9vw, 72px); }
  html:not([lang="en"]) .materials .headline { font-size: clamp(49px, 9vw, 76px); }
}
@media (max-width: 650px) {
  html:not([lang="en"]) .hero-title { font-size: clamp(29px, 7.7vw, 46px); }
}
