/* SHUNLIHUA locale navigation and localized typography. Assets are served locally. */
.locale-picker{position:relative;color:#17334a;flex-shrink:0;font-size:12px;line-height:1.4}
.locale-picker summary{display:flex;align-items:center;gap:7px;min-height:40px;padding:8px 11px;border:1px solid #dce3e9;border-radius:4px;cursor:pointer;list-style:none;background:#fff;font-weight:600;white-space:nowrap}
.locale-picker summary::-webkit-details-marker{display:none}
.locale-picker summary::after{content:'⌄';font-size:15px;transition:transform .15s}
.locale-picker[open] summary::after{transform:rotate(180deg)}
.locale-picker summary:hover,.locale-picker summary:focus-visible{border-color:#0d567d;background:#f1f6fa;outline:2px solid transparent}
.locale-picker summary:focus-visible{outline-color:#0d567d;outline-offset:3px}
.locale-globe{width:17px;height:17px;flex-shrink:0}
.locale-code{display:none}
.locale-panel{position:absolute;inset-inline-end:0;top:calc(100% + 12px);width:min(370px,calc(100vw - 32px));padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#fff;border:1px solid #dce3e9;box-shadow:0 15px 45px #0b203024;border-radius:7px;max-height:min(65dvh,450px);overflow-y:auto;z-index:110;direction:ltr}
.locale-panel a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border-radius:4px;color:#243b4d;min-height:44px;line-height:1.45;text-decoration:none;font-size:14px;white-space:normal;overflow-wrap:anywhere}
.locale-panel a:hover,.locale-panel a:focus-visible{background:#f1f6fa;color:#0a4f78;outline:2px solid #13577e;outline-offset:-2px}
.locale-panel a[aria-current=true]{background:#eaf2f7;color:#0a4f78;font-weight:700}
.locale-panel a[aria-current=true]::after{content:'✓';font-size:13px}
.nav-actions{gap:12px}.main-nav{margin-left:0;margin-inline-start:auto;gap:clamp(10px,1.5vw,24px)}
.main-nav>.nav-item,.nav-trigger{white-space:normal;text-align:start;line-height:1.35}
.main-nav>a.nav-item{display:flex;align-items:center;max-width:150px}
html:not([lang=en]) h1,html:not([lang=en]) h2,html:not([lang=en]) h3{overflow-wrap:anywhere;hyphens:auto}
html:not([lang=en]) .hero-title,html:not([lang=en]) h1{font-size:clamp(36px,5.5vw,80px);line-height:1.12;letter-spacing:-.025em}
html[lang=zh] body{font-family:'Microsoft YaHei','PingFang SC',system-ui,sans-serif}
html[lang=zh] h1,html[lang=zh] h2{letter-spacing:.01em;line-height:1.25}
html[lang=ko] body{font-family:'Malgun Gothic','Apple SD Gothic Neo',system-ui,sans-serif}
html[lang=ar] body{font-family:Tahoma,'Segoe UI',Arial,sans-serif}
html[dir=rtl] .brand{direction:ltr}html[dir=rtl] .brand-sub{direction:rtl;text-align:left}
html[dir=rtl] .button .icon{transform:scaleX(-1)}
html[dir=rtl] input[type=email],html[dir=rtl] a[href^='mailto:'],html[dir=rtl] a[href^='tel:']{direction:ltr;unicode-bidi:isolate;display:inline-block}
html[dir=rtl] #inquiry-preview{unicode-bidi:plaintext;text-align:start}
html[dir=rtl] .breadcrumb,html[dir=rtl] .eyebrow{text-align:start}
html[dir=rtl] svg{direction:ltr}html[dir=rtl] .locale-picker .locale-name{direction:rtl}
.language-storage-note{font-size:13px;color:#526374;line-height:1.8;margin-top:22px}
@media(max-width:1400px){
 .header-inner{gap:16px}.mobile-toggle{display:block;flex-shrink:0}
 .main-nav{position:absolute;top:100%;left:0;right:0;display:none;align-items:stretch;align-self:auto;max-height:calc(100dvh - 80px);overflow-y:auto;margin:0;padding:14px 22px 25px;gap:0;border-bottom:1px solid #d7e0eb;background:#fff;box-shadow:0 15px 24px #101e310d}
 .main-nav.is-open{display:flex;flex-direction:column}
 .main-nav>a.nav-item{max-width:none;display:flex;min-height:48px;border-bottom:1px solid #d7e0eb;font-size:14px}
 .nav-trigger{width:100%;min-height:48px;justify-content:space-between}
 .nav-dropdown{display:block}
 .dropdown-panel{position:static;display:none;width:100%;min-width:0;transform:none;visibility:visible;opacity:1;box-shadow:none;border:0;margin:0;padding:4px 12px 12px}
 .nav-dropdown.is-open .dropdown-panel{display:block;transform:none;visibility:visible;opacity:1}
 .nav-actions{margin-inline-start:auto}
}
@media(max-width:640px){
 .nav-actions>.button{display:none}.nav-actions{gap:8px}.header-inner{gap:8px}
 .locale-name{display:none}.locale-code{display:inline}.locale-picker summary{padding:7px 9px;gap:5px;min-height:36px}
 .brand-word{font-size:18px}.brand-sub{font-size:7px;max-width:170px;white-space:normal;line-height:1.35}
 .brand-symbol{width:36px;min-width:36px}.brand-symbol img{width:32px;height:32px;object-fit:contain}
 html:not([lang=en]) h1,html:not([lang=en]) .hero-title{font-size:clamp(32px,8vw,46px);line-height:1.18}
 .locale-panel{position:fixed;inset-inline:16px;top:80px;width:auto;max-height:calc(100dvh - 105px)}
 .locale-panel a{font-size:14px;padding:11px 10px}
}
@media print{.locale-picker{display:none}}
