/* Loaded only by FR/DE. English keeps its existing styles byte for byte. */
html:is([lang="fr-CH"], [lang="de-CH"]) :is(h1,h2,h3,p,a,small,label,li,blockquote) {
  overflow-wrap:break-word;
}
.hero-copy, .subpage-hero > *, .home-paths > a, .main-nav, footer > * { min-width:0; }
.hero-copy h1 { max-width:100%; }
.hero-title-line { white-space:normal; }
.hero-actions .button { white-space:normal; }
.subpage-hero h1 { max-width:22ch; }
.subpage-hero h1 > span { max-width:100%; }
.subpage-hero p:last-of-type { max-width:58ch; }
.home-paths h2, .home-paths h3 { max-width:100%; }
.home-paths > a { height:auto; }
.duo-person small { letter-spacing:.045em; line-height:1.45; }
.reference-roll-group figcaption, .reference-roll-group small { overflow-wrap:break-word; }

@media(min-width:651px) {
  .duo-person { display:flex; flex-direction:column; justify-content:flex-end; align-items:stretch; gap:8px; }
  .duo-person span { margin-bottom:0; }
  .duo-person small { position:relative; inset:auto; min-height:3em; }
}
@media(min-width:901px) {
  .hero-copy h1 { font-size:clamp(46px,4.5vw,68px); }
  .hero-copy h1 > span { display:block; white-space:normal; }
}
@media(min-width:1001px) {
  footer > div { max-width:18rem; flex-wrap:wrap; white-space:normal; gap:10px 18px; }
}
@media(min-width:1051px) and (max-width:1250px) {
  .main-nav { gap:0; }
  .main-nav a { font-size:14px; padding-inline:8px; }
  .site-header .button { font-size:14px; padding-inline:18px; }
}
@media(min-width:1001px) and (max-width:1250px) {
  footer { column-gap:20px; }
  footer > div { max-width:14rem; }
}
@media(max-width:900px) {
  .hero-copy h1 { max-width:19ch; }
}
@media(max-width:700px) {
  .subpage-hero h1 > span { display:inline; }
  .subpage-hero p:last-of-type > span { display:inline; }
}
@media(max-width:650px) {
  .hero-copy h1 { max-width:100%; font-size:clamp(37px,10.5vw,56px); }
  .hero-copy h1 > span { white-space:normal; }
  .subpage-hero h1 { font-size:clamp(35px,9.8vw,46px); }
  .contact-intro h1, .legal-page h1 { font-size:clamp(36px,10.5vw,48px); hyphens:auto; }
  .hero.page-top .duo-person small { font-size:9px; letter-spacing:.035em; }
  .home-paths h2, .home-paths h3 { font-size:clamp(25px,7.3vw,32px); }
  .reference-roll-group blockquote { hyphens:auto; }
  .service-list h3, .industry-grid h3, .values-band h3 { hyphens:auto; }
}
