/* Shared floating capsule navigation — no dependencies. */
html { scroll-padding-top: 112px; }
body.locked { overflow: hidden; }
.header[data-site-navigation], .header[data-site-navigation] *, .mobile-panel, .mobile-panel * { box-sizing: border-box; }
.header[data-site-navigation], .mobile-panel { font-family: var(--sans); }
.header[data-site-navigation] a, .mobile-panel a { color: inherit; text-decoration: none; }
.header[data-site-navigation] button { font: inherit; cursor: pointer; }

.header {
  --nav-surface: rgba(245, 245, 245, .8);
  --nav-ink: #0b0b0b;
  --nav-lime: #c7ff65;
  position: fixed;
  top: 12px;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 70;
  width: calc(100% - 16px);
  max-width: none;
  height: 80px;
  margin: 0;
  padding: 0 28px 0 32px;
  border: 0;
  border-radius: 9999px;
  background: transparent;
  -webkit-backdrop-filter: blur(0px);
  backdrop-filter: blur(0px);
  color: var(--nav-ink);
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  letter-spacing: 0;
  transition: width 900ms cubic-bezier(.135,.9,.15,1), transform 1000ms cubic-bezier(.135,.9,.15,1), background-color 500ms ease, backdrop-filter 500ms ease, -webkit-backdrop-filter 500ms ease;
}
.navigation-space { height: 104px; }
.header.is-scrolled { width: min(960px, calc(100% - 32px)); background: var(--nav-surface); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.header.is-hidden { transform: translate(-50%, -112px); pointer-events: none; }
.header:focus-within { transform: translate(-50%, 0); pointer-events: auto; }
body.dark .header { --nav-surface: rgba(38, 40, 44, .8); --nav-ink: #f5f7f0; }
.header .logo { flex: 0 0 auto; font-size: 30px; font-weight: 800; line-height: 1; letter-spacing: -.065em; }
.header .nav { display: flex; align-items: center; justify-content: center; gap: clamp(26px, 3vw, 44px); margin: 0; }
.header .nav-item { padding: 0; }
.header .nav-item > a { position: relative; display: flex; align-items: center; height: 44px; font-size: 16px; font-weight: 400; line-height: 1.2; letter-spacing: 0; white-space: nowrap; transition: color 250ms ease; }
.header .nav-item > a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 6px; height: 2px; border-radius: 2px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 250ms ease; }
.header .nav-item > a:hover::after, .header .nav-item > a.is-current::after { transform: scaleX(1); }
.header .nav-item > a.is-current::after { opacity: .35; }
.header .tools { display: flex; align-items: center; gap: 18px; flex: 0 0 auto; }
.header .theme { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--nav-ink); transition: background 250ms ease; }
.header .theme:hover { background: #00000008; }
body.dark .header .theme:hover { background: #ffffff0a; }
.header .sun-icon { display: none; }
body.dark .header .moon-icon { display: none; }
body.dark .header .sun-icon { display: block; }
.header .nav-cta { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 44px; padding: 11px 19px 11px 23px; border-radius: 9999px; background: var(--nav-lime); color: #0b0b0b; font-size: 15px; font-weight: 400; line-height: 1.2; letter-spacing: 0; white-space: nowrap; transition: background 250ms ease; }
.header .nav-cta svg { flex: none; transition: transform 250ms ease; }
.header .nav-cta:hover { background: #bbf750; }
.header .nav-cta:hover svg { transform: translate(2px, -2px); }
.header .menu-btn { display: none; }
.header a:focus-visible, .header button:focus-visible, .mobile-panel a:focus-visible { outline: 2px solid #0b0b0b; outline-offset: 5px; border-radius: 5px; }
body.dark .header a:focus-visible, body.dark .header button:focus-visible, body.dark .mobile-panel a:focus-visible { outline-color: #c7ff65; }
.header .logo:focus-visible, .header .nav-cta:focus-visible, .header .theme:focus-visible, .header .menu-btn:focus-visible { border-radius: 9999px; }
.nav-backdrop { display: none; }
.mobile-panel { display: none; }
@media (max-width: 1000px) and (min-width: 901px) {
  .header { gap: 20px; padding: 0 24px; }
  .header .logo { font-size: 28px; }
  .header .nav { gap: 24px; }
  .header .tools { gap: 10px; }
  .header .nav-cta { gap: 12px; padding-left: 18px; padding-right: 15px; }
}
@media (max-width: 900px) {
  html { scroll-padding-top: 96px; }
  .navigation-space { height: 84px; }
  .header.is-scrolled { width: calc(100% - 24px); }
  .header.is-hidden { transform: translate(-50%, -90px); }
  .header:focus-within { transform: translate(-50%, 0); }
  .header { width: calc(100% - 24px); height: 64px; top: 10px; margin: 0; background: var(--nav-surface); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); padding: 0 15px 0 24px; gap: 18px; }
  .header .logo { font-size: 28px; }
  .header .nav, .header .tools > .theme, .header .tools > .nav-cta { display: none; }
  .header .tools { gap: 0; }
  .header .menu-btn { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--nav-ink); transition: background 250ms ease; }
  .header .menu-btn:hover { background: #00000008; }
  .menu-line { display: block; width: 21px; height: 1.5px; border-radius: 2px; background: currentColor; transition: transform 250ms ease; }
  .menu-btn[aria-expanded="true"] .menu-line:first-child { transform: translateY(3.75px) rotate(45deg); }
  .menu-btn[aria-expanded="true"] .menu-line:last-child { transform: translateY(-3.75px) rotate(-45deg); }
  .nav-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 60; background: #00000016; }
  .mobile-panel:not([hidden]) { display: block; position: fixed; inset: 86px 12px auto; z-index: 65; padding: 20px 28px 25px; max-height: calc(100vh - 102px); max-height: calc(100dvh - 102px); overflow-y: auto; overscroll-behavior: contain; border: 0; border-radius: 28px; background: rgba(245, 245, 245, .9); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #0b0b0b; box-shadow: none; animation: nav-enter 250ms ease both; }
  body.dark .mobile-panel { background: rgba(38, 40, 44, .9); color: #f5f7f0; }
  .mobile-panel a { display: block; padding: 13px 0; border: 0; font-size: 25px; line-height: 1.5; letter-spacing: 0; }
  .mobile-panel a.is-current { font-weight: 600; }
  .mobile-panel .mobile-contact { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 11px 20px; margin-top: 17px; border-radius: 9999px; background: #c7ff65; color: #0b0b0b; font-size: 16px; }
}
@keyframes nav-enter { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* Original English navigation content with the current frosted scroll behavior. */
.header .logo { white-space: nowrap; }
.header .logo-cn { font-size: .82em; letter-spacing: -.04em; font-weight: 700; }
.header .nav-item > button { position: relative; display: flex; align-items: center; height: 44px; padding: 0; border: 0; background: transparent; color: var(--nav-ink); font-size: 16px; font-weight: 400; line-height: 1.2; letter-spacing: 0; white-space: nowrap; }
.header .badge { top: 0; right: -11px; background: var(--nav-lime); color: #0b0b0b; font-size: 10px; border-radius: 10px; padding: 1px 5px; line-height: 1; }
.header .mega:not([hidden]) { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; position: absolute; top: calc(100% + 12px); left: 0; right: 0; max-height: calc(100vh - 120px); overflow-y: auto; padding: 34px; border-radius: 26px; background: rgba(245,245,245,.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--nav-ink); box-shadow: none; animation: nav-enter 250ms ease both; }
body.dark .header .mega { background: rgba(38,40,44,.94); }
.header .mega-links { gap: 26px 24px; }
.header .mega-links a { border-radius: 8px; }
.header .mega-links b { font-size: 23px; font-weight: 400; line-height: 1.2; letter-spacing: 0; }
.header .mega-links small { font-size: 13px; color: #666; line-height: 1.6; letter-spacing: 0; }
body.dark .header .mega-links small { color: #b0b5aa; }
.header .mega-links a:hover b { text-decoration: underline; text-underline-offset: 5px; }
.header .mega img { width: 100%; height: 220px; object-fit: cover; border-radius: 16px; }
.header .mega .note { margin-top: 14px; color: inherit; }
.mobile-services summary { list-style: none; cursor: pointer; padding: 13px 0; display: flex; align-items: center; justify-content: space-between; font-size: 25px; line-height: 1.5; letter-spacing: 0; }
.mobile-services summary::-webkit-details-marker { display: none; }
.mobile-services summary::after { content: '+'; font-size: 22px; }
.mobile-services[open] summary::after { content: '−'; }
.mobile-panel .mobile-service-links { padding: 0 0 12px 15px; }
.mobile-panel .mobile-service-links a { padding: 9px 0; font-size: 17px; line-height: 1.5; }
.mobile-services summary:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 5px; }
@media (min-width: 901px) and (max-width: 1120px) {
  .header { gap: 20px; padding-left: 24px; padding-right: 24px; }
  .header .logo { font-size: 28px; }
  .header .nav { gap: 23px; }
  .header .tools { gap: 10px; }
  .header .nav-cta { gap: 12px; padding-left: 18px; padding-right: 15px; }
}
@media (max-width: 900px) { .header .mega { display: none !important; } }

@media (prefers-reduced-motion: reduce) {
  .header, .header *, .header *::after, .mobile-panel { transition: none !important; animation: none !important; }
}

@supports not ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))) {
  .header.is-scrolled { background: rgba(245, 245, 245, .96); }
  body.dark .header.is-scrolled { background: rgba(38, 40, 44, .96); }
}
body.dark .header .nav-cta,body.dark .mobile-panel .mobile-contact{color:#0b0b0b}
