/* T81 English pages only (/en/...). Every rule is scoped to html:lang(en); Chinese CSS files are untouched. */
html:lang(en){
  --ym-serif:Georgia,"Times New Roman","Songti SC","Noto Serif SC",serif;
  --ym-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC",sans-serif;
}
html:lang(en) body{letter-spacing:0}
html:lang(en) h1,html:lang(en) h2,html:lang(en) h3{letter-spacing:.005em}
html:lang(en) .h-hero h1{letter-spacing:0;line-height:1.16}
html:lang(en) .h-eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:12px}
html:lang(en) .h-lead{line-height:1.8}
html:lang(en) .h-card-body>p:not(.h-card-meta),html:lang(en) .h-why-list p,html:lang(en) .h-qa dd,html:lang(en) .h-pdesc{line-height:1.7}
html:lang(en) .h-badge{letter-spacing:.1em;text-transform:uppercase;font-size:11px}
html:lang(en) .h-pfinal,html:lang(en) .h-hero-cap{letter-spacing:.02em}
html:lang(en) .h-qa dt{letter-spacing:0}
html:lang(en) .ym-f-label{letter-spacing:.16em;text-transform:uppercase;font-size:11px}

/* header: language switch + longer labels */
html:lang(en) .ym-header-inner{gap:20px}
html:lang(en) .ym-nav a{letter-spacing:.02em;padding:10px 10px;white-space:nowrap}
html:lang(en) .ym-nav a[aria-current]::after{left:10px;right:10px}
html:lang(en) .ym-lang{flex:none;display:flex;align-items:center;gap:6px;font:500 13px/1 var(--ym-sans);color:rgba(242,236,223,.4)}
html:lang(en) .ym-lang a{color:rgba(242,236,223,.78);text-decoration:none;padding:8px 4px;letter-spacing:.04em}
html:lang(en) .ym-lang a:hover{color:#fff}
html:lang(en) .ym-lang a[aria-current]{color:var(--ym-gold);box-shadow:inset 0 -1px 0 var(--ym-gold)}
html:lang(en) .ym-lang a:focus-visible{outline:2px solid var(--ym-violet);outline-offset:2px}
html:lang(en) .ym-pick-btn small{letter-spacing:.06em}
html:lang(en) .ym-pick-btn span{letter-spacing:.01em;font-size:14px}
html:lang(en) .ym-header-cta{letter-spacing:.01em;white-space:nowrap}

/* narrower desktops: collapse the nav into the menu earlier than Chinese (labels are longer) */
@media(max-width:1260px) and (min-width:1081px){
  html:lang(en) .ym-header-inner{height:84px;gap:16px}
  html:lang(en) .ym-logo img{width:180px}
  html:lang(en) .ym-header-cta{display:none}
  html:lang(en) .ym-menu-btn{display:flex;margin-left:0}
  html:lang(en) .ym-pick-btn{margin-left:auto}
  html:lang(en) .ym-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--ym-navy);border-bottom:1px solid rgba(232,192,106,.28);padding:8px 24px 18px;max-height:calc(100svh - 84px);overflow:auto}
  html:lang(en).ym-menu-open .ym-nav{display:flex}
  html:lang(en) .ym-nav a{padding:15px 4px;font-size:16px;border-bottom:1px solid rgba(242,236,223,.08)}
  html:lang(en) .ym-nav a[aria-current]::after{display:none}
  html:lang(en) .ym-nav .ym-nav-tg{display:block;border-bottom:none}
}
@media(max-width:1080px){
  html:lang(en) .ym-nav a{padding:15px 4px}
  html:lang(en) .ym-pick-btn{margin-left:auto}
}

/* arrival notice: the full sentence wraps instead of being cut */
html:lang(en) .h-notice-text{white-space:normal;overflow:visible;text-overflow:clip;letter-spacing:.01em;font-size:16px;line-height:1.35}

/* hero buttons: long labels wrap inside the button, never overflow */
html:lang(en) .h-actions .ym-btn{white-space:normal;text-align:center}

/* phone */
@media(max-width:640px){
  html:lang(en) .ym-header-inner{gap:8px}
  html:lang(en) .ym-logo img{width:118px}
  html:lang(en) .ym-lang{gap:3px;font-size:12px}
  html:lang(en) .ym-lang a{padding:8px 2px}
  html:lang(en) .ym-pick-btn{padding:4px 8px;min-height:46px;max-width:96px}
  html:lang(en) .ym-pick-btn small{font-size:9px}
  html:lang(en) .ym-pick-btn span{white-space:normal;text-align:center;font-size:12px;line-height:1.15}
  html:lang(en) .ym-menu-btn{width:42px;height:42px;flex:none}
  html:lang(en) .h-notice-text{font-size:14px}
  html:lang(en) .h-hero h1{font-size:clamp(30px,8.6vw,36px);line-height:1.2;letter-spacing:0}
  html:lang(en) .h-hero h1 .h1-a{white-space:normal}
  html:lang(en) .h-actions .ym-btn{white-space:normal;line-height:1.35;padding:12px 18px}
  html:lang(en) .ym-bar-status{letter-spacing:.02em}
}
@media(max-width:360px){
  html:lang(en) .ym-logo img{width:100px}
  html:lang(en) .ym-pick-btn{max-width:84px;padding:4px 6px}
}

/* hero/CTA button: keep the long label on one line where it fits, balanced when it wraps */
html:lang(en) .h-actions .ym-btn{text-wrap:balance}
@media(min-width:641px){html:lang(en) .h-actions .ym-btn{padding:12px 22px;font-size:15px}}
/* collapsed header: language switch sits beside the Therapist Selection button */
@media(max-width:1260px){
  html:lang(en) .ym-lang{margin-left:auto}
  html:lang(en) .ym-header-inner .ym-pick-btn{margin-left:0}
}
.h-notice-sep{color:inherit;opacity:.7;flex:none}
