/* Shared language control; all translations are present in the static HTML. */
.brand .brand-tagline,.footer-brand .brand-tagline{letter-spacing:.02em;text-transform:none;white-space:nowrap}
.language-switch{display:inline-flex;align-items:center;gap:1px;border:1px solid #192a4230;padding:3px;flex-shrink:0;line-height:1.2}
.language-switch .language-option{display:grid;place-items:center;min-width:32px;min-height:36px;padding:7px;font:700 10px/1.2 var(--sans,'Segoe UI',sans-serif);color:#657080;text-align:center;text-decoration:none;transition:background .15s,color .15s}
.language-switch .language-option:hover{background:#192a420c;color:#192a42}
.language-switch .language-option.is-active{background:#192a42;color:#fff}
.language-switch .language-option:focus-visible{outline:2px solid #3084b5;outline-offset:2px}
.has-language-switch{grid-template-columns:auto 1fr auto;gap:22px}
.has-language-switch .desktop-nav{justify-content:center;gap:clamp(12px,1.3vw,22px)}
.has-language-switch .desktop-nav>a{font-size:12px;white-space:nowrap}
.has-language-switch .header-actions{gap:12px}
.has-language-switch .header-cta{white-space:nowrap}
.hero-copy,.theatre-hero-copy,.copper-copy,.section-heading>div{min-width:0}
html:not([lang=ru]) .hero-copy h1{overflow-wrap:break-word}
html[lang=de] .hero-copy h1{font-size:clamp(54px,5.5vw,88px)}
.copper-copy h2{overflow-wrap:break-word}
@media(max-width:1320px){
  .has-language-switch{grid-template-columns:1fr auto}
  .has-language-switch .desktop-nav{display:none}
  .has-language-switch .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;border:1px solid #192a4230;background:transparent;padding:10px;cursor:pointer;flex-shrink:0}
  .has-language-switch .menu-toggle>span{display:block;height:1px;background:#192a42;width:22px;transition:transform .2s}
  .has-language-switch .menu-toggle:has(>span:nth-child(2):last-child)[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .has-language-switch .menu-toggle:has(>span:nth-child(2):last-child)[aria-expanded=true]>span:last-child{transform:translateY(-3.5px) rotate(-45deg);opacity:1}
  .has-language-switch .mobile-menu.is-open{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;padding:20px var(--gutter,var(--page-gutter,24px)) 30px;background:#f8f5ed;border-bottom:1px solid #192a4230;box-shadow:0 10px 25px #102d3b15;max-height:calc(100svh - 140px);overflow:auto}
  .has-language-switch .mobile-menu>a{padding:13px 0;border-bottom:1px solid #192a4220;font-size:16px}
}
@media(max-width:700px){
  html{scroll-padding-top:150px}
  .has-language-switch{grid-template-columns:1fr auto;gap:10px 16px;padding-block:12px}
  .has-language-switch .header-actions{display:contents}
  .has-language-switch>.brand{grid-row:1;grid-column:1}
  .has-language-switch .brand>span{display:grid}
  .has-language-switch .menu-toggle{grid-row:1;grid-column:2}
  .has-language-switch .header-cta{display:none}
  .has-language-switch .language-switch{grid-row:2;grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);width:100%;max-width:360px;justify-self:start}
  .language-switch .language-option{min-height:36px}
  html[lang=de] .hero-copy h1{font-size:clamp(46px,12vw,76px)}
}
