/* A compact, permanent choice; language names accompany the country flags. */
.language-switch{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #c9d5e5;background:#e8eef6;border-radius:13px;flex-shrink:0;margin-left:22px;color:#3c5274}
html:not(.i18n-ready) .language-switch{display:none}
.language-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid transparent;border-radius:9px;background:transparent;color:inherit;min-width:42px;min-height:48px;padding:6px 7px;line-height:1;font-size:0.625rem;font-weight:800;transition:background .2s,box-shadow .2s,transform .2s}
.language-button img,.language-options img{object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px #18315116;filter:saturate(.82)}
.language-button[aria-pressed=true]{background:#fff;color:#174d9f;border-color:#c6d6ec;box-shadow:0 3px 8px #17335e10}
.language-button:hover{background:#fff;transform:translateY(-1px)}
.language-button:focus-visible{outline:2px solid #235fbf;outline-offset:2px}
.header-inner{gap:20px}
.navigation{margin-left:auto;gap:24px}
.language-dialog{color-scheme:dark;position:fixed;inset:0;margin:auto;width:min(740px,calc(100% - 32px));max-height:calc(100svh - 32px);overflow-y:auto;padding:36px;border:1px solid #7196cf66;border-radius:24px;color:#f5f7fd;background:radial-gradient(ellipse at 100% 0,#244574aa,transparent 65%),#0b1423;box-shadow:0 36px 120px #0009}
.language-dialog::backdrop{background:#030812c9;backdrop-filter:blur(14px)}
.language-dialog[open]{animation:language-entrance .3s ease-out}
.language-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:0.625rem;letter-spacing:.16em;color:#b2c6e4}
.language-dialog .dialog-close{width:38px;height:38px;border-color:#6681a652;flex-shrink:0}
.language-kicker{font-size:0.5625rem;letter-spacing:.2em;margin-top:30px;color:#94b8ef}
.language-dialog h2{display:flex;flex-wrap:wrap;gap:0 14px;line-height:1.25;font-size:clamp(1.75rem,calc(4vw * var(--text-scale, 1)),2.4375rem);letter-spacing:-.04em;margin:13px 0 19px}
.language-dialog h2 [lang=zh-Hans]{letter-spacing:0;font-family:"Microsoft YaHei UI","PingFang SC",sans-serif;font-weight:500}
#language-description{font-size:0.8125rem;line-height:1.9;color:#b8c7dc}
.language-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:30px}
.language-options button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:22px;min-height:165px;text-align:left;border:1px solid #6c8dbb50;border-radius:15px;background:linear-gradient(140deg,#2a456760,#13203860);padding:22px 18px;color:#edf4ff;transition:transform .25s,border-color .25s,background .25s}
.language-options button:hover{transform:translateY(-4px);border-color:#9fbff0;background:#263d5f}
.language-options strong{display:block;font-size:1.0625rem;font-weight:600;white-space:nowrap}
.language-options small{display:block;margin-top:5px;color:#9eafc9;font-size:0.6875rem}
.language-arrow{position:absolute;right:17px;top:23px;color:#adc9f3;font-size:1.4375rem;line-height:1}
.language-hint{border-top:1px solid #7893b326;padding-top:19px;margin-top:26px;font-size:0.625rem;line-height:1.9;color:#93a6c1}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body:has(.language-dialog[open]){overflow:hidden}
html:has(.language-dialog[open]){scroll-snap-type:none}
html[lang=zh-Hans] body{font-family:Manrope,"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif}
html[lang=zh-Hans] h1,html[lang=zh-Hans] h2,html[lang=zh-Hans] h3{letter-spacing:.015em;line-height:1.3}
html[lang=zh-Hans] .eyebrow{letter-spacing:.12em}
html[lang=zh-Hans] .hero-intro{line-height:2}
html[lang=zh-Hans] .hero h1{font-size:clamp(3.25rem,calc(5.8vw * var(--text-scale, 1)),5.5rem)}
html[lang=zh-Hans] .hero-copy{max-width:1440px}
html[lang=zh-Hans] .process-steps h3{min-height:0}
@keyframes language-entrance{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(min-width:1101px) and (max-width:1350px){.header-inner{gap:12px;width:calc(100% - 70px)}.header .brand img{width:180px}.navigation{gap:17px;font-size:0.75rem}.navigation .button{padding-inline:14px;font-size:0.6875rem}.language-switch{margin-left:5px}}
@media(max-width:1100px){
  .header-inner{gap:13px}.language-switch{margin-left:auto}
  .menu-toggle{display:grid;gap:6px;place-content:center;width:44px;height:44px;background:transparent;border:1px solid #becbdc;border-radius:8px;flex-shrink:0}
  .menu-toggle span{display:block;width:18px;height:1px;background:#183151;transition:transform .2s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .navigation{display:none;position:absolute;top:var(--header-height);left:0;right:0;max-height:calc(100svh - var(--header-height));overflow:auto;padding:24px 28px;background:#f7f9fc;border-bottom:1px solid #cbd7e5;font-size:1rem;margin:0}
  .navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:10px}.navigation .button{font-size:0.8125rem;padding:14px}
}
@media(max-width:680px){
  .header-inner{gap:9px}.header .brand img{width:136px;height:70px}.language-switch{padding:3px;gap:1px;margin-left:auto;border-radius:11px}
  .language-button{min-width:37px;min-height:44px;padding:5px;font-size:0.5625rem;gap:5px}.language-button img{width:22px;height:16px}.menu-toggle{width:40px;height:44px}
  .language-dialog{padding:25px 22px;border-radius:20px}.language-kicker{margin-top:24px;font-size:0.5rem}.language-dialog h2{font-size:1.9375rem;gap:2px 10px;margin-top:10px}
  .language-options{grid-template-columns:1fr;gap:9px;margin-top:23px}.language-options button{flex-direction:row;align-items:center;gap:17px;min-height:82px;padding:17px 18px}
  .language-options strong{font-size:1rem}.language-options small{font-size:0.6875rem;margin-top:3px}.language-arrow{position:static;margin-left:auto}
  .language-hint{font-size:0.5625rem;margin-top:20px;padding-top:15px}#language-description{font-size:0.75rem}
  html[lang=zh-Hans] .hero h1{font-size:clamp(2.3125rem,calc(9.4vw * var(--text-scale, 1)),3.625rem)}
  html[lang=zh-Hans] .hero-intro{font-size:1rem;line-height:1.95}
  html[lang=zh-Hans] .hero-actions .button{font-size:0.8125rem}
}
@media(max-width:370px){.header .brand img{width:105px}.header-inner{gap:6px}.language-button{min-width:34px;padding:5px 4px}.language-button img{width:20px;height:15px}.menu-toggle{width:36px}.language-dialog{padding:21px 18px}.language-dialog h2{font-size:1.6875rem}.language-kicker{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.language-dialog[open]{animation:none}.language-options button,.language-button{transition:none}.language-options button:hover,.language-button:hover{transform:none}}
@media print{.language-switch,.language-dialog{display:none}}
