/* Local font fallbacks cover Latin, Cyrillic, Arabic and CJK without external font requests. */
html:lang(ja){font-family:Arial,"Yu Gothic","Meiryo",sans-serif}
html:lang(ko){font-family:Arial,"Malgun Gothic",sans-serif}
html:lang(zh-Hans){font-family:Arial,"Microsoft YaHei",sans-serif}
html:lang(ar){font-family:Arial,Tahoma,sans-serif}
html:lang(ja) body,html:lang(ko) body,html:lang(zh-Hans) body,html:lang(ar) body{font-family:inherit}
.language-switch{position:relative;flex-shrink:0;font-family:Arial,sans-serif;font-size:14px;text-align:start}
.language-switch summary{display:flex;align-items:center;gap:.55rem;padding:.6rem .7rem;border:1px solid #355b70;border-radius:4px;cursor:pointer;color:#eef7fa;list-style:none;white-space:nowrap}
.language-switch summary::-webkit-details-marker{display:none}
.language-switch summary:hover,.language-switch summary:focus-visible{border-color:#83d7f0;color:#83d7f0;outline-offset:3px}
.language-options{position:absolute;inset-inline-end:0;top:calc(100% + 8px);width:230px;max-height:min(72vh,520px);overflow:auto;z-index:1200;padding:.4rem;margin:0;list-style:none;border:1px solid #355b70;border-radius:6px;background:#123548;box-shadow:0 18px 45px #03131bcc}
.language-options li{margin:0;padding:0}
.language-options a,.main-nav .language-options a{display:flex;align-items:center;gap:.8rem;justify-content:space-between;padding:.65rem .8rem;margin:0;line-height:1.4;border:0;border-radius:3px;text-decoration:none;font-size:14px;font-weight:400;color:#eef7fa}
.language-options a:hover,.language-options a:focus-visible{background:#23556b;color:#83d7f0}
.language-options a[aria-current="page"]{background:#194458;color:#83d7f0;font-weight:700}
.language-code{font:11px Arial,sans-serif;letter-spacing:.06em;color:#9cbaca;direction:ltr;unicode-bidi:isolate}
.footer .language-switch{max-width:230px;margin-top:10px}
.footer .language-options{top:auto;bottom:calc(100% + 8px);inset-inline-start:0;inset-inline-end:auto}
html[dir="rtl"] .brand,html[dir="rtl"] .brand-name,html[dir="rtl"] .footer-brand-name{direction:ltr;unicode-bidi:isolate}
html[dir="rtl"] .footer-grid>div:first-child p{direction:ltr;unicode-bidi:isolate}
html[dir="rtl"] .mpn,html[dir="rtl"] .card-frequency,html[dir="rtl"] input[type="email"],html[dir="rtl"] input[type="tel"]{direction:ltr;unicode-bidi:isolate;text-align:start}
html[dir="rtl"] .breadcrumb-bar,html[dir="rtl"] .contact-form{text-align:start}
html[dir="rtl"] .application-copy,html[dir="rtl"] .app-content{text-align:right}
html[dir="rtl"] .booking-status{text-align:start}
html:lang(ja) h1,html:lang(ja) h2,html:lang(ko) h1,html:lang(ko) h2,html:lang(zh-Hans) h1,html:lang(zh-Hans) h2{letter-spacing:0;word-break:normal;line-height:1.3}
html:lang(ar) h1,html:lang(ar) h2{letter-spacing:0;line-height:1.4}
html:lang(ja) h1,html:lang(ja) h2,html:lang(ko) h1,html:lang(ko) h2,html:lang(zh-Hans) h1,html:lang(zh-Hans) h2,html:lang(ar) h1,html:lang(ar) h2{font-family:inherit}
html[dir="rtl"] .nav-panel{left:auto;right:-24px}
html[dir="rtl"] .nav-panel-secondary{border-left:0;border-right:1px solid #467488;padding-left:0;padding-right:24px}
html[dir="rtl"] .signal-chain li:not(:last-child):after{transform:rotate(180deg)}
html:not(:lang(de)):not(:lang(en)) .main-nav{gap:clamp(9px,1vw,20px)}
html:not(:lang(de)):not(:lang(en)) .main-nav>a{font-size:clamp(12px,.83vw,15px)}
html:not(:lang(de)):not(:lang(en)) .hero h1{font-size:clamp(32px,3.6vw,68px)}

/* Keep illustration subjects on the right; only the text itself changes direction. */
html[dir="rtl"] .home-scene-inner,html[dir="rtl"] .landing-hero-inner,html[dir="rtl"] .home-introduction>.container{direction:ltr}
html[dir="rtl"] .home-scene-copy,html[dir="rtl"] .landing-hero-copy,html[dir="rtl"] .home-introduction h1,html[dir="rtl"] .home-introduction-grid>div{direction:rtl;text-align:right}
html[dir="rtl"] .technical-table th,html[dir="rtl"] .technical-table td,html[dir="rtl"] .technical-table caption{text-align:start}
html[dir="rtl"] .signal-chain li:not(:last-child):after{right:auto;left:-13px}
html[data-locale]:is(:lang(ja),:lang(ko),:lang(zh-Hans),:lang(ar)) :is(h1,h2,h3,h4){font-family:inherit;letter-spacing:0;line-height:1.3}

/* Recognisable globe in both language selectors; inherits the brand colour. */
.language-globe{display:block;width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
