@font-face {
  font-family: 'Noto Sans SC GLN';
  src: url('fonts/gln-sans-sc.woff2') format('woff2');
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
html:lang(zh-CN) { --font: 'Noto Sans SC GLN', 'PingFang SC', 'Microsoft YaHei', sans-serif; }
html:lang(zh-CN) body { line-height: 1.75; }
html:lang(zh-CN) h1,
html:lang(zh-CN) h2,
html:lang(zh-CN) h3 { line-height: 1.3; font-style: normal; letter-spacing: 0; }
html:lang(zh-CN) p,
html:lang(zh-CN) li { letter-spacing: 0; }
.gln-lang { display: inline-flex; align-items: center; gap: .15rem; flex: 0 0 auto; }
.gln-lang button { min-width: 44px; min-height: 44px; border: 0; background: transparent; color: inherit; font-size: .875rem; opacity: .65; }
.gln-lang button[aria-pressed='true'] { opacity: 1; font-weight: 700; }
.gln-lang button:focus-visible { outline: 2px solid currentColor; }
@media (max-width: 650px) {
  .nav-cta { display: none; }
  .gln-lang { margin-left: auto; }
}
/* The Chinese headline is readable from the first intro frame. */
html:lang(zh-CN) .js .hero h1 .ln > span { animation: gln-zh-rise .85s cubic-bezier(.16, 1, .3, 1) .1s both; }
html:lang(zh-CN) .js .hero h1 .ln + .ln > span { animation-delay: .18s; }
@keyframes gln-zh-rise { from { opacity: .82; transform: translateY(.08em); } to { opacity: 1; transform: none; } }
