/* Shared language control follows the original navigation layout. */
.language-switch{display:inline-flex;align-items:center;gap:2px;flex:none;margin-left:4px;position:relative;border:1px solid rgba(184,153,104,.55);border-radius:3px;padding:2px;color:#f4ede0;background:rgba(0,35,71,.6)}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;min-width:38px;padding:4px 7px;font-family:Arial,sans-serif;font-size:12px;line-height:1.2;letter-spacing:.02em;text-decoration:none;color:inherit;border-radius:2px}
.language-switch a[aria-current="true"]{color:#002347;background:#f4ede0}
.language-switch a:hover{box-shadow:inset 0 0 0 1px #b89968}
.language-switch a:focus-visible{outline:2px solid #d4bc92;outline-offset:3px}
.language-note{font-family:Arial,sans-serif;font-size:.72em;letter-spacing:0;white-space:nowrap;opacity:.8}
html:lang(en){--tc:'EB Garamond',Georgia,serif}
html:lang(en) .zh,html:lang(en) .zh-line,html:lang(en) .zh-quote{letter-spacing:.015em;word-break:normal;overflow-wrap:break-word}
html:lang(en) h1.zh{font-size:clamp(2.1rem,4.2vw,3.8rem);line-height:1.15}
html:lang(en) h2.zh{line-height:1.25}
html:lang(en) .btn,html:lang(en) .enter{letter-spacing:.025em;white-space:normal}
html:lang(en) .brandtag{font-size:.6rem;letter-spacing:.06em}
html:lang(en) #nav .navlinks{gap:18px;margin-left:auto}
html:lang(en) #nav .navlinks a{letter-spacing:.045em;font-size:.72rem}
html:lang(en) .home-hero-copy{max-width:620px}
html:lang(en) .hero-pitch{line-height:1.7}
html:lang(en) .rstage{white-space:normal}
html:lang(en) .row .idx{font-size:1rem;letter-spacing:0}
html:lang(en) .stat .sv{font-size:clamp(2rem,4vw,3.5rem)}
html:lang(en) .swallCard .rl{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.5;min-height:4.5em}
html:lang(en) .course-facts{grid-template-columns:100px minmax(0,1fr)}
html:lang(en) .course-stage{overflow-wrap:normal}
html:lang(en) .language-context{max-width:720px;margin:24px auto 0;font:400 .95rem/1.65 Georgia,serif;letter-spacing:0;color:var(--gold-soft)}
html:lang(en) .english-services .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
html:lang(en) .english-services .card{text-align:left}
html:lang(en) .english-services .card ul{padding-left:20px;margin:20px 0;line-height:1.8}
html:lang(en) .english-services .card p{line-height:1.8}
html:lang(en) .english-services .card .btn{margin-top:20px}
html:lang(en) .english-services .card h2{margin:16px 0}
html:lang(en) .english-services [id]{scroll-margin-top:110px}
#nav .navlinks{gap:clamp(13px,1.6vw,26px)}
@media(min-width:821px) and (max-width:1199px){
  #nav{padding-left:24px;padding-right:24px}
  #nav .brandmark .brandtag{display:none}
  #nav .navlinks{gap:clamp(10px,1.3vw,16px)}
  #nav .navlinks>a,#nav .has-sub>a{font-size:.62rem;letter-spacing:.1em}
  html:lang(en) #nav .navlinks{gap:clamp(10px,1.3vw,16px)}
}
@media(min-width:821px) and (max-width:1100px){
  #nav .navlinks,html:lang(en) #nav .navlinks{position:fixed;inset:0 0 0 auto;width:min(74%,320px);height:100dvh;max-height:100dvh;background:var(--navy);flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:22px;margin:0;padding:92px 24px 36px;overflow-y:auto;overscroll-behavior:contain;visibility:hidden;transform:translateX(100%);transition:transform .4s ease;box-shadow:-10px 0 40px rgba(0,0,0,.3)}
  #nav .navlinks.open{visibility:visible;transform:translateX(0)}
  #nav .navlinks>a,#nav .navlinks>.has-sub{flex-shrink:0;width:100%;text-align:left}
  #nav .navlinks>a,#nav .has-sub>a,html:lang(en) #nav .navlinks a{font-size:.8rem;letter-spacing:.12em}
  #nav .has-sub{display:flex;flex-direction:column;align-items:flex-start}
  #nav .has-sub>a .caret{display:none}
  #nav .submenu,#nav .has-sub:hover .submenu,#nav .has-sub:focus-within .submenu{display:flex;position:static;transform:none;opacity:1;visibility:hidden;background:transparent;border:0;box-shadow:none;padding:10px 0 0;min-width:0;width:100%;flex-direction:column;gap:16px;align-items:flex-start}
  #nav .has-sub.open .submenu{visibility:visible}
  #nav .submenu a{padding:0;border-left:0;font-size:.8rem;line-height:1.7;white-space:normal}
  #nav .navtoggle{display:block;z-index:60}
  #nav .navlinks .language-switch{align-self:flex-start;margin:12px 0 0}
}
@media(max-width:820px){
  #nav .navlinks .language-switch{align-self:flex-start;margin:12px 0 0}
  .language-switch a{min-height:38px;min-width:40px;padding:3px 7px}
  html:lang(en) #nav .navlinks{gap:24px;padding-top:92px}
  html:lang(en) #nav .navlinks a{font-size:.9rem}
  html:lang(en) .english-services .cards{grid-template-columns:1fr}
  html:lang(en) .mini-nav{flex-wrap:wrap;gap:14px;padding:18px 22px}
  html:lang(en) .mini-nav .back{order:3;flex-basis:100%;text-align:left}
  html:lang(en) .q-hero{padding-top:150px}
  html:lang(en) .home-hero-inner{padding-top:120px}
  html:lang(en) .home-hero-copy{max-width:100%}
}
@media(max-width:1100px){
  #nav .navlinks .has-sub .submenu,#nav .navlinks .has-sub:hover .submenu,#nav .navlinks .has-sub:focus-within .submenu{display:none;visibility:hidden}
  #nav .navlinks .has-sub.open .submenu{display:flex;visibility:visible}
}
@media(prefers-reduced-motion:reduce){html:lang(en) .reveal{opacity:1;transform:none;transition:none}}
