/* Shared language selector. Existing theme typography and artwork are retained. */
.nova-language-switcher{position:relative;flex:0 0 auto;margin-left:24px;z-index:70;font-size:14px}
.nova-language-switcher summary{display:flex;align-items:center;justify-content:center;gap:9px;min-width:68px;min-height:44px;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-weight:700;list-style:none;color:#eee}
.nova-language-switcher summary::-webkit-details-marker{display:none}
.nova-language-switcher summary span{color:var(--orange)}
.nova-language-switcher[open] summary{border-color:var(--orange)}
.nova-language-switcher ul{position:absolute;right:0;top:100%;margin:8px 0 0;padding:6px;list-style:none;min-width:178px;background:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #0006}
.nova-language-switcher li{margin:0;padding:0}
.nova-language-switcher a{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;box-sizing:border-box;font-size:14px;line-height:1.3;border-radius:6px;color:#d6d9dd;white-space:nowrap}
.nova-language-switcher a span{width:22px;font-weight:700}
.nova-language-switcher a[aria-current="true"]{color:#1b1b1b;background:var(--orange)}
.nova-language-switcher a:hover{color:var(--orange)}
.nova-language-switcher a[aria-current="true"]:hover{color:#1b1b1b}
.nova-language-switcher a:focus-visible,.nova-language-switcher summary:focus-visible{outline:2px solid #fff;outline-offset:3px}
.header .nav{margin-left:auto;gap:24px}
.header .nav a{font-size:16px}
html:not([lang="en"]) .hero h1,html:not([lang="en"]) .stat h2,html:not([lang="en"]) .route-text h2,html:not([lang="en"]) .ind-card .cap{overflow-wrap:normal;hyphens:none}
html[lang="de"] .hero h1 .accent{white-space:nowrap}
@media(max-width:1100px){
 .header .nav{position:fixed;inset:78px 0 auto 0;flex-direction:column;gap:0;background:var(--ink);border-bottom:1px solid var(--line);display:none;margin:0}
 .header .nav.open{display:flex}
 .header .nav a{padding:16px 24px;width:100%;border-top:1px solid var(--line)}
 .header .burger{display:block;margin-left:12px}
 .nova-language-switcher{margin-left:auto}
}
@media(max-width:520px){
 .header .wrap{gap:0}
 html:not([lang="en"]) .hero h1{font-size:clamp(28px,7.2vw,36px)}
 html:not([lang="en"]) .hero-actions{gap:20px}
 html:not([lang="en"]) .stat{padding:28px 24px}
}
