/* v150: clean-route-safe mobile active navigation, refined Home caption spacing,
   consistent operating heading rhythm,
   language-safe mobile active navigation,
   WeChat-safe rendering and the approved
   compact Sycamore lockup. */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
html body .nav .brand.v119Brand {
  min-width:0!important;
  flex:0 1 auto!important;
}

/* v146: comfortable multi-line heading rhythm across English and Chinese pages.
   The repeated body attribute intentionally outranks legacy page-level
   !important rules while keeping the change scoped to opted-in pages. */
html body[data-heading-spacing][data-heading-spacing="comfortable"] h1{
  line-height:1.28!important;
  padding-bottom:.14em!important;
  height:auto!important;
  overflow:visible!important;
}
html body[data-heading-spacing][data-heading-spacing="comfortable"] h2{
  line-height:1.36!important;
  padding-bottom:.16em!important;
  height:auto!important;
  overflow:visible!important;
}
html body[data-heading-spacing][data-heading-spacing="comfortable"] h3{
  line-height:1.42!important;
  padding-bottom:.12em!important;
  height:auto!important;
  overflow:visible!important;
}
html body[data-heading-spacing][data-heading-spacing="comfortable"] h4{
  line-height:1.42!important;
  padding-bottom:.10em!important;
  height:auto!important;
  overflow:visible!important;
}
@media (max-width:980px){
  html body[data-heading-spacing][data-heading-spacing="comfortable"] h1{line-height:1.32!important;padding-bottom:.16em!important}
  html body[data-heading-spacing][data-heading-spacing="comfortable"] h2{line-height:1.40!important;padding-bottom:.18em!important}
  html body[data-heading-spacing][data-heading-spacing="comfortable"] h3{line-height:1.45!important;padding-bottom:.14em!important}
  html body[data-heading-spacing][data-heading-spacing="comfortable"] h4{line-height:1.45!important;padding-bottom:.12em!important}
}
html body .nav .v119Brand .sycamore-logo {
  display:block!important;
  width:185px!important;
  max-width:100%!important;
  max-height:32px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  flex:0 1 auto!important;
}
html body .siteFooter .footerLogoRow .sycamore-logo {
  display:block!important;
  width:245px!important;
  max-width:100%!important;
  max-height:40px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* Keep the current section visually selected after dropdowns close. */
html body .v119NavGroup.is-active > .v119NavTrigger,
html body .v119NavTrigger.is-active,
html body .v119DesktopNav a.is-active,
html body .v119MobileGroup.is-active > button,
html body .v119MobileGroup a.is-active,
html body .v119Login.is-active,
html body .v119MobileLogin.is-active{
  color:#f2cf67!important;
}
html body .v119NavGroup.is-active > .v119NavTrigger::after,
html body .v119DesktopNav > a.is-active::after{
  background:#d4af37!important;
}
html body .v119Dropdown a.is-active{
  background:rgba(212,175,55,.14)!important;
  box-shadow:inset 3px 0 0 #d4af37!important;
}
.languageToggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:54px!important;height:34px!important;margin-left:2px!important;padding:0 11px!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:999px!important;color:#fff!important;font-size:12px!important;font-weight:800!important;letter-spacing:.04em!important;line-height:1!important;text-decoration:none!important;background:rgba(255,255,255,.06)!important}
.languageToggle:hover,.languageToggle:focus-visible{border-color:#d4af37!important;background:rgba(212,175,55,.15)!important}
.v119MobileMenu .languageToggle,.v119MobileInner .languageToggle{width:max-content!important;margin:14px 0 4px!important}
.footerBottom .siteVersion{font-size:10px!important;letter-spacing:.04em!important;color:#6f829d!important;white-space:nowrap!important}
html[lang="zh-CN"] body{font-family:Inter,"Noto Sans SC","Microsoft YaHei","PingFang SC",system-ui,sans-serif!important}
html[lang="zh-CN"] .v119MegaMenu a span,html[lang="zh-CN"] p,html[lang="zh-CN"] li{letter-spacing:0!important}
html[lang="zh-CN"] p,
html[lang="zh-CN"] .lead,
html[lang="zh-CN"] .heroLead{line-height:1.82!important}
html[lang="zh-CN"] .zhOneLine{white-space:nowrap!important;max-width:none!important;letter-spacing:-.01em!important}
html[lang="zh-CN"] p.zhOneLine,
html[lang="zh-CN"] .platformCoreStatement.zhOneLine{font-size:clamp(14px,1.18vw,17px)!important}
html[lang="zh-CN"] .homeHero h1.zhHomeHeroNarrow{max-width:784px!important}
html[lang="zh-CN"] .zhSectionLeadRelaxed{line-height:1.42!important;margin-bottom:30px!important}
html[lang="zh-CN"] .platformModelHeader h2.zhPlatformHeadingRelaxed{
  line-height:1.36!important;
  margin-bottom:18px!important;
  padding-bottom:6px!important;
}
.cardgrid .infocard{display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:220px!important;padding-top:30px!important;padding-bottom:30px!important}
html[lang="zh-CN"] .teamZhHeadline{font-size:64px!important;max-width:1180px!important;line-height:1.08!important;letter-spacing:-.02em!important}
html[lang="zh-CN"] .teamZhHeadline .headlineLine{display:block!important;white-space:nowrap!important}
/* v144: consistent, collision-safe spacing for every Chinese section title. */
html[lang="zh-CN"] header h1,
html[lang="zh-CN"] section h1{
  line-height:1.28!important;
  padding-bottom:.14em!important;
  height:auto!important;
  overflow:visible!important;
}
html[lang="zh-CN"] section h2{
  line-height:1.36!important;
  padding-bottom:.16em!important;
  height:auto!important;
  overflow:visible!important;
}
html[lang="zh-CN"] section h3{
  line-height:1.42!important;
  padding-bottom:.12em!important;
  height:auto!important;
  overflow:visible!important;
}
html[lang="zh-CN"] .teamZhHeadline{line-height:1.28!important;padding-bottom:.14em!important}
@media (max-width:700px) {
  html body .nav .brand.v119Brand {
    max-width:calc(100% - 58px)!important;
  }
  html body .nav .v119Brand .sycamore-logo {
    width:min(175px, calc(100vw - 108px))!important;
    max-height:37px!important;
  }
  html body .siteFooter .footerLogoRow .sycamore-logo {
    width:min(235px, 100%)!important;
  }
  .footerBottom{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}
  .footerBottom .siteVersion{white-space:normal!important}
  html[lang="zh-CN"] .zhOneLine{white-space:normal!important;max-width:100%!important}
  html[lang="zh-CN"] p,html[lang="zh-CN"] .lead,html[lang="zh-CN"] .heroLead{line-height:1.76!important}
  html[lang="zh-CN"] .homeHero h1.zhHomeHeroNarrow{max-width:100%!important}
  html[lang="zh-CN"] .platformModelHeader h2.zhPlatformHeadingRelaxed{line-height:1.42!important;margin-bottom:14px!important;padding-bottom:4px!important}
  html[lang="zh-CN"] header h1,html[lang="zh-CN"] section h1{line-height:1.34!important;padding-bottom:.16em!important}
  html[lang="zh-CN"] section h2{line-height:1.40!important;padding-bottom:.18em!important}
  html[lang="zh-CN"] section h3{line-height:1.45!important;padding-bottom:.14em!important}
  html[lang="zh-CN"] .teamZhHeadline{font-size:42px!important;line-height:1.34!important}
  html[lang="zh-CN"] .teamZhHeadline .headlineLine{white-space:normal!important}
}

/* WeChat's embedded browser may apply an additional text-autosizing pass.
   This opt-in class is added only for MicroMessenger, leaving Safari/Chrome
   and the desktop design unchanged. */
html.wechat-browser{
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}
html.wechat-browser body{
  overflow-x:hidden!important;
}
html.wechat-browser h1,
html.wechat-browser h2,
html.wechat-browser h3,
html.wechat-browser h4,
html.wechat-browser p,
html.wechat-browser li,
html.wechat-browser a,
html.wechat-browser button{
  overflow-wrap:break-word;
  word-break:normal;
}
html.wechat-browser .container,
html.wechat-browser .head > *,
html.wechat-browser .opHead > *,
html.wechat-browser .platformHead > *,
html.wechat-browser .footerTop > *,
html.wechat-browser .cardgrid > *,
html.wechat-browser .modelGrid > *{
  min-width:0!important;
}
@media (max-width:980px){
  html.wechat-browser .container,
  html.wechat-browser .v119MobileInner{
    width:auto!important;
    max-width:none!important;
    margin-left:max(16px,env(safe-area-inset-left))!important;
    margin-right:max(16px,env(safe-area-inset-right))!important;
  }
  html.wechat-browser .homeHero h1,
  html.wechat-browser .hero h1,
  html.wechat-browser .pageHero h1,
  html.wechat-browser header h1{
    font-size:clamp(34px,8.8vw,42px)!important;
    line-height:1.28!important;
    letter-spacing:-.025em!important;
  }
  html.wechat-browser .zhOneLine{
    white-space:normal!important;
    max-width:100%!important;
  }
  html.wechat-browser .head,
  html.wechat-browser .opHead,
  html.wechat-browser .platformHead,
  html.wechat-browser .footerTop{
    grid-template-columns:minmax(0,1fr)!important;
  }
  html.wechat-browser .ctaBand .container,
  html.wechat-browser .footerHero .container{
    flex-wrap:wrap!important;
  }
  html.wechat-browser .cardgrid .infocard,
  html.wechat-browser .modelGrid > *,
  html.wechat-browser .platformGrid > *{
    height:auto!important;
    min-height:0!important;
  }
}
@media (max-width:700px){
  html.wechat-browser .homeHero h1,
  html.wechat-browser .hero h1,
  html.wechat-browser .pageHero h1,
  html.wechat-browser header h1{
    font-size:clamp(31px,8.5vw,38px)!important;
    line-height:1.30!important;
  }
  html.wechat-browser h2{
    line-height:1.38!important;
  }
}

/* Home photo caption: retain a deliberate right inset in both languages so
   long English and Chinese lines do not crowd the image edge. */
html body .photoPanel.homeVisualSlot .cap{
  left:34px!important;
  right:58px!important;
  max-width:calc(100% - 92px)!important;
}

/* The operating-flywheel heading follows the same collision-safe rhythm as
   the other Home section headings, overriding the legacy inline value. */
html body[data-heading-spacing="comfortable"] #platform h2.homeOperatingTitle{
  line-height:1.36!important;
  padding-bottom:.16em!important;
  height:auto!important;
  overflow:visible!important;
}

/* The hamburger itself confirms that the current mobile location was found.
   The page/section marker inside the menu remains persistent after reopening. */
html body .v119MobileToggle.has-current{
  border-color:rgba(212,175,55,.86)!important;
  background:rgba(212,175,55,.15)!important;
  box-shadow:0 0 0 1px rgba(212,175,55,.12),0 7px 20px rgba(0,0,0,.18)!important;
}
html body .v119MobileToggle.has-current span{
  background:#f2cf67!important;
}
html body .v119MobileGroup.is-active > button,
html body .v119MobileGroup[data-current="true"] > button{
  color:#f2cf67!important;
  background:rgba(212,175,55,.14)!important;
  box-shadow:inset 4px 0 0 #d4af37!important;
  padding-left:22px!important;
  padding-right:14px!important;
}

@media (max-width:980px){
  html body[data-heading-spacing="comfortable"] #platform h2.homeOperatingTitle{
    line-height:1.40!important;
    padding-bottom:.18em!important;
  }
}

@media (max-width:700px){
  html body .photoPanel.homeVisualSlot .cap{
    left:24px!important;
    right:32px!important;
    max-width:calc(100% - 56px)!important;
  }
  html body[data-heading-spacing="comfortable"] #platform h2.homeOperatingTitle{
    line-height:1.40!important;
    padding-bottom:.18em!important;
  }
}

/* Home capacity section: keep this explanatory heading in the same visual
   tier as the other section titles, rather than at feature-hero scale. */
html body[data-heading-spacing="comfortable"] .token h2.homeCapacityTitle{
  font-size:46px!important;
  line-height:1.22!important;
  letter-spacing:-1.1px!important;
  max-width:680px!important;
}

/* Mobile current-page state remains visible whether a group is open or
   collapsed. Home is a first-class mobile item in v148. */
html body .v119MobileHome{
  display:block!important;
  position:relative!important;
  padding:16px 14px!important;
  margin:0 0 2px!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  color:#fff!important;
  font:750 15px/1.2 Inter,"Segoe UI",Arial,sans-serif!important;
  text-decoration:none!important;
}
html body .v119MobileHome.is-active,
html body .v119MobileHome[aria-current="page"],
html body .v119MobileLogin.is-active,
html body .v119MobileLogin[aria-current="page"],
html body .v119MobileGroup.is-active > button{
  color:#f2cf67!important;
  background:rgba(212,175,55,.12)!important;
  box-shadow:inset 3px 0 0 #d4af37!important;
}
html body .v119MobileGroup a.is-active,
html body .v119MobileGroup a[aria-current="page"]{
  color:#f2cf67!important;
  font-weight:800!important;
  background:rgba(212,175,55,.08)!important;
  box-shadow:inset 3px 0 0 rgba(212,175,55,.78)!important;
  padding-left:12px!important;
}
@media (max-width:980px){
  html body[data-heading-spacing="comfortable"] .token h2.homeCapacityTitle{
    font-size:40px!important;
    line-height:1.25!important;
    max-width:620px!important;
  }
}
@media (max-width:700px){
  html body[data-heading-spacing="comfortable"] .token h2.homeCapacityTitle{
    font-size:32px!important;
    line-height:1.30!important;
    letter-spacing:-.5px!important;
    max-width:100%!important;
  }
}
