/* Shared video fallback and small-screen fixes; typography families stay local. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
[data-dna-video]:not(.is-playing){opacity:0}
.dna-has-frame .dna-poster{visibility:hidden}
.dna-poster{pointer-events:none}
.hero-actions b{font-size:0;width:14px;height:14px;position:relative;flex:none}
.hero-actions b::before{content:"";position:absolute;width:12px;height:1px;background:currentColor;left:0;top:6px;transform:rotate(45deg)}
.hero-actions b::after{content:"";position:absolute;width:7px;height:7px;right:1px;bottom:1px;border-right:1px solid;border-bottom:1px solid}
@media(max-width:600px){
  /* Nine Chinese characters fit the actual content width on a 320px screen. */
  body[data-lang="zh"] .hero h1{font-size:clamp(26px,calc((100vw - 44px)/9.2),58px);letter-spacing:-.025em;line-height:1.16;margin:24px 0}
  .hero{padding-bottom:clamp(32px,7svh,64px)}
  .hero-lines p{font-size:12px;line-height:1.8}
  .hero-actions a{min-height:44px;font-size:12px}
  .carrier-dna,.career-dna,.news-dna{object-position:70% center;filter:none}
  .site-header .menu-button,.site-header .language{min-width:44px;min-height:44px}
  .career-hero h1,.news-hero h1{font-size:clamp(36px,12vw,64px);letter-spacing:-.025em;line-height:1.12}
  .role h2,.record-intro h2{font-size:clamp(30px,9vw,48px);line-height:1.15;letter-spacing:-.025em}
  .role-body,.timeline article,.role-index a{min-width:0;overflow-wrap:break-word}
  .timeline h3{line-height:1.3}
  .career-contact>a,.news-contact>a{overflow-wrap:anywhere;max-width:100%}
}
body.menu-open .site-header{color:#111411}
@media(min-width:601px) and (max-width:1000px){
  .career-hero h1{font-size:clamp(58px,8vw,80px)}
  .role h2{font-size:clamp(34px,5vw,50px)}
}
@media(max-width:600px){
  .escape-heading .display{font-size:clamp(28px,9vw,48px);line-height:1.16;letter-spacing:-.025em}
  .team-title{font-size:clamp(20px,6.5vw,34px);line-height:1.3;letter-spacing:-.025em}
}
