/* Shared transparent-to-white navigation, V21. */
body:not(.unused) #header{--nav-ink:#1d1d1f;--nav-muted:#62625f;background:transparent;backdrop-filter:none;border-bottom-color:transparent;transition:background-color .2s ease,border-color .2s ease;}
body:not(.unused) #header .nav a,body:not(.unused) #header .language{color:var(--nav-muted);transition:color .2s ease}
body:not(.unused) #header .nav a[aria-current],body:not(.unused) #header .nav a:hover,body:not(.unused) #header .language b,body:not(.unused) #header .menu-button{color:var(--nav-ink)}
body:not(.unused) #header .brand img{filter:brightness(0);transition:filter .2s ease}
body.homepage-v2 #header,body.careerspage #header{margin-bottom:-84px}
body.careerspage #header{--nav-ink:#fff;--nav-muted:#e0e5ec}
body.careerspage #header .brand img{filter:brightness(0) invert(1)}
body:not(.unused) #header.is-scrolled,body:not(.unused) #header:has(.nav.open),body:not(.unused) #header:has(:focus-visible){background:#fff;--nav-ink:#1d1d1f;--nav-muted:#62625f;border-bottom-color:#eeeeef}
body:not(.unused) #header.is-scrolled .brand img,body:not(.unused) #header:has(.nav.open) .brand img,body:not(.unused) #header:has(:focus-visible) .brand img{filter:brightness(0)}
@media(hover:hover) and (pointer:fine){
 body:not(.unused) #header:hover{background:#fff;--nav-ink:#1d1d1f;--nav-muted:#62625f;border-bottom-color:#eeeeef}
 body:not(.unused) #header:hover .brand img{filter:brightness(0)}
}
@media(min-width:761px){
 .homepage-v2 .home-hero{height:100svh;min-height:564px;padding-top:124px}
 .homepage-v2 .home-hero-background{transform:none;object-position:70% center}
 .careerspage .career-hero{height:min(704px,calc(100svh - 66px));min-height:624px;padding-top:84px}
}
@media(min-width:1700px){.careerspage .career-hero{height:744px}}
@media(max-width:760px){
 body.homepage-v2 #header,body.careerspage #header{margin-bottom:-68px}
 .homepage-v2 .home-hero{height:868px;padding-top:110px}
 html[lang=en] .homepage-v2 .home-hero{height:auto;padding-top:110px}
 .careerspage .career-hero{height:678px;padding-top:68px}
 .about-v2 .about-team-media img{aspect-ratio:1.5;object-fit:cover;object-position:80% center}
}
@media(prefers-reduced-motion:reduce){body:not(.unused) #header,body:not(.unused) #header .nav a,body:not(.unused) #header .language,body:not(.unused) #header .brand img{transition:none}}

/* Shared header dimensions: page-specific styles only determine color. */
body #header{height:84px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Segoe UI","Microsoft YaHei",sans-serif}
body #header .header-inner{max-width:none;padding:0 max(6vw,calc((100% - 1440px)/2));display:grid;grid-template-columns:1fr auto 1fr;gap:28px}
body #header .brand{width:154px;justify-self:start}
body #header .nav{gap:32px;position:static;align-items:center}
body #header .nav a{font-family:inherit;font-size:13px;line-height:1.65;padding:12px 0;white-space:nowrap}
body #header .header-tools{justify-self:end;gap:20px}
body #header .language{font-family:inherit;font-size:12px;line-height:1.65}
@media(min-width:761px) and (max-width:1050px){body #header .brand{width:134px}body #header .nav{gap:20px}body #header .header-inner{gap:20px}}
@media(max-width:760px){
 body #header{height:68px}body #header .header-inner{padding:0 24px;display:flex;gap:16px}
 body #header .brand{width:126px}body #header .header-tools{gap:20px;margin-left:auto}
 body #header .nav{position:absolute;top:68px;left:0;right:0;gap:0;padding:20px 24px 30px;display:none;align-items:stretch;background:#fff}
 body #header .nav.open{display:flex;flex-direction:column}body #header .nav a{font-size:16px;padding:15px 0}
}
/* Minimal shared footer: two matching text lists. */
body #footer{padding:65px max(6vw,calc((100% - 1440px)/2)) 24px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Segoe UI","Microsoft YaHei",sans-serif}
body #footer .footer-top{grid-template-columns:1.4fr .65fr 1fr;gap:60px;padding-bottom:64px}
body #footer .footer-brand .brand{width:220px}
body #footer .footer-links,body #footer .footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:13px;line-height:1.65;min-width:0}
body #footer .footer-title{font-size:11px;letter-spacing:.07em;color:#73756f;margin:0 0 12px;line-height:1.65}
body #footer .footer-links a,body #footer .footer-social a,body #footer .wechat-trigger{font:inherit;color:#252723;line-height:inherit;padding:0;border:0;background:none;text-align:left;text-decoration:none}
body #footer .footer-links a:hover,body #footer .footer-social a:hover,body #footer .wechat-trigger:hover{text-decoration:underline;text-underline-offset:4px}
#wechat-popover{position:fixed;inset:auto;margin:0;width:224px;max-width:calc(100vw - 32px);padding:8px;background:#fff;border:1px solid #e6e6e8;border-radius:5px;box-shadow:0 5px 22px #00000010;overflow:visible}
#wechat-popover::backdrop{background:transparent;pointer-events:none}
#wechat-popover img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:1050px){body #footer .footer-top{gap:30px}}
@media(max-width:760px){body #footer{padding:45px 24px 24px}body #footer .footer-top{grid-template-columns:1fr 1fr;gap:36px 24px;padding-bottom:36px}body #footer .footer-brand{grid-column:1/-1}body #footer .footer-brand .brand{width:190px}}


:root{--type-section:44px;--type-minor:24px;--type-lead:20px;--type-body:18px;--type-note:13px;--leading-body:1.75;--leading-title:1.2;--type-tracking:-.02em}
html[lang=en]{--leading-body:1.6;--leading-title:1.16;--type-tracking:-.025em}
/* Deliberately override page-local font stacks, including inputs and buttons. */
html[lang=en] body,html[lang=en] body *{font-family:Inter,"Segoe UI",Arial,sans-serif!important;font-optical-sizing:auto}
html body #main .home-v2 h2,html body #main .about-v2 h1,html body #main .about-v2 h2,html body.productpage #main h2,html body #main .recruitment h2{font-size:var(--type-section);line-height:var(--leading-title);font-weight:600;letter-spacing:var(--type-tracking);white-space:normal;text-wrap:balance}
html body #main .home-v2 .subtitle,html body #main .about-v2 .about-subtitle,html body #main .recruitment .subtitle,html body.productpage #main .chapter-heading p,html body.productpage #main .section-head p{font-size:var(--type-lead);line-height:1.6;font-weight:400;letter-spacing:0;margin-top:20px;text-wrap:pretty}
html body #main .about-body,html body #main .about-leaders p,html body #main .about-values-grid p,html body #main .about-story p,html body #main .body-copy,html body.productpage #main .feature-caption p,html body.productpage #main .body-details p{font-size:var(--type-body);line-height:var(--leading-body);font-weight:400;letter-spacing:0;text-wrap:pretty}
html body #main .about-v2 h3,html body #main .recruitment h3,html body.productpage #main .feature-caption h3,html body.productpage #main .body-details h3{font-size:var(--type-minor);font-weight:500;line-height:1.35;letter-spacing:-.015em}
html body #main .disclaimer,html body #main .note,html body #main .about-note,html body #main .story-meta,html body #main .leader-role,html body #main .team-scale small{font-size:var(--type-note);line-height:1.6;font-weight:400;letter-spacing:0}
html body #main .home-carousel figcaption,html body.productpage #main .task-film figcaption{font-size:16px;line-height:1.5;font-weight:500;letter-spacing:0}
html body #main .scene-carousel .caption h3{font-size:22px;font-weight:500;line-height:1.35;letter-spacing:-.015em}
html body #main .scene-carousel .caption span{font-size:12px;line-height:1.5;letter-spacing:0}
html body #main .btn{font-size:15px;line-height:1.5;font-weight:500}
html body.contactpage #main .contact-form .btn{font-size:18px}
html body #main .contact-lead{line-height:1.65}
html[lang=en] body #main .contact-lead{line-height:1.55}
html[lang=en] body #main p{letter-spacing:0}
html[lang=en] body #main .about-v2 p{line-height:var(--leading-body)}
html[lang=en] body #main .home-hero .hero-position{line-height:1.3;letter-spacing:-.015em}
html[lang=en] body #main .career-hero h1{font-size:56px;line-height:1.12;letter-spacing:-.03em;max-width:22ch}
html[lang=en] body #main .career-hero p{line-height:1.6}
html body #main strong{font-synthesis:none}
html body #main .fold-dimension strong,html body #main .algorithm-metrics strong{font-variant-numeric:lining-nums tabular-nums}
/* Preserve display numerals, hero names, Contact scale and dense specifications. */
html body #footer .footer-title{font-size:12px}
html body #footer .footer-bottom{font-size:12px;line-height:1.6}
html body #footer .footer-brand p{font-size:14px;line-height:1.65}
@media(min-width:761px) and (max-width:1100px){:root{--type-section:36px;--type-minor:22px;--type-lead:19px;--type-body:17px}html[lang=en] body #main .career-hero h1{font-size:48px}}
@media(max-width:760px){
 :root{--type-section:30px;--type-minor:22px;--type-lead:18px;--type-body:16px;--type-note:12px}
 html body #main .home-v2 .subtitle,html body #main .about-v2 .about-subtitle,html body #main .recruitment .subtitle,html body.productpage #main .chapter-heading p{margin-top:18px}
 html body #main .scene-carousel .caption h3{font-size:20px}
 html body #main .home-carousel figcaption,html body.productpage #main .task-film figcaption{font-size:16px}
 html body.contactpage #main .contact-form .btn{font-size:17px}
 html[lang=en] body #main .career-hero h1{font-size:38px;max-width:18ch}
 html body #main .fold-dimension span{min-height:2.8em}
 html body #footer .footer-bottom{font-size:11px;overflow-wrap:anywhere}
 html body #footer .footer-brand p{font-size:13px}
}
html body #main .process-section h2{font-size:var(--type-section);line-height:var(--leading-title);font-weight:600;letter-spacing:var(--type-tracking)}
html body #main .process-steps h3{font-size:var(--type-minor);line-height:1.35;font-weight:500}
html body #main .process-steps p{font-size:var(--type-body);line-height:var(--leading-body)}
@media(max-width:760px){html body #main .recruitment>*{min-width:0}html body #main .recruitment .btn{max-width:100%;white-space:normal;text-align:center}html body #main .recruitment{grid-template-columns:minmax(0,1fr)}}

/* Official MiSans web fonts, locally hosted. License: assets/fonts/MiSans-License.pdf. */




/* Only the Chinese edition changes. English retains the V29 Inter system. */
html[lang^=zh]{--leading-title:1.3;--leading-body:1.75;--type-tracking:0}
html[lang^=zh] body,html[lang^=zh] body *{font-family:MiSans,"PingFang SC","Microsoft YaHei",sans-serif!important;font-synthesis:none}
html[lang^=zh] body{font-weight:400}
html[lang^=zh] body #header .nav a,html[lang^=zh] body #main .btn,html[lang^=zh] body #main .field label,html[lang^=zh] body #main .inquiry legend{font-weight:500}
html[lang^=zh] body #main h1,html[lang^=zh] body #main h2{font-weight:600;letter-spacing:0;line-height:1.3}
html[lang^=zh] body #main h3{font-weight:500;letter-spacing:0;line-height:1.35}
html[lang^=zh] body #main .home-v2 .subtitle,html[lang^=zh] body #main .about-v2 .about-subtitle,html[lang^=zh] body #main .recruitment .subtitle,html[lang^=zh] body.productpage #main .chapter-heading p,html[lang^=zh] body.productpage #main .section-head p,html[lang^=zh] body #main .career-hero p,html[lang^=zh] body #main .contact-lead{line-height:1.7;letter-spacing:0}
html[lang^=zh] body #main .algorithm-copy,html[lang^=zh] body #main .team-summary,html[lang^=zh] body #main .apply-copy p{line-height:1.75}
html[lang^=zh] body #main p strong{font-weight:600}
html[lang^=zh] body #main .contact-details,html[lang^=zh] body #main .field input,html[lang^=zh] body #main .field textarea{line-height:1.65}
html[lang^=zh] body #footer .footer-title{letter-spacing:0;font-weight:400}
/* Preserve the light numeric rhythm of process steps and the V29 data hierarchy. */
html[lang^=zh] body #main .step-number{font-family:Inter,"Segoe UI",sans-serif!important;font-weight:300}

:root{--media-radius:26px}
/* Round contained photography; leave full-bleed heroes, transparent art and QR codes alone. */
html body #main .home-carousel .carousel-slide img,
html body #main .home-join .join-panorama,
html body #main .recruitment figure img,
html body.productpage #main .fold-view img,
html body.productpage #main .body-details figure>img,
html body.productpage #main .teach-image,
html body.productpage #main .teach-image img{border-radius:var(--media-radius)}
html body.productpage #main .teach-image{overflow:hidden}
html body #main .arena-story h3{font-weight:400}
html body #main .team-card-copy .algorithm-team{padding-bottom:0}
html body #main .team-evidence{border-bottom:0}
html body.productpage #main .teach-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;color:#1d1d1f;font-size:16px;font-weight:500;line-height:1.5;text-decoration:none;text-underline-offset:5px}
html body.productpage #main .teach-link:hover{text-decoration:underline}
html body.productpage #main .teach-link:focus-visible{outline:2px solid currentColor;outline-offset:6px;border-radius:2px}
html body.productpage #main .teach-link svg{width:18px;height:18px;flex-shrink:0}
@media(max-width:760px){:root{--media-radius:20px}html body.productpage #main .teach-link{font-size:15px;margin-top:18px}}

/* Production enhancements shared by the supplied V32 page layouts. */
[hidden] { display: none !important; }
#header .language { display: inline-flex; align-items: center; gap: 4px; }
#header .nav a[aria-current="page"] { font-weight: 500; }
#wechat-popover[hidden] { display: none !important; }
#wechat-popover:not([hidden]) { display: block; z-index: 1000; }
#film.film-fallback { position: fixed; inset: 50% auto auto 50%; transform: translate(-50%,-50%); z-index: 1100; box-shadow: 0 0 0 100vmax #000a; }
#film[open] { z-index: 1100; }
.contact-form .btn:disabled { opacity: .65; cursor: wait; transform: none; }
.contact-form[aria-busy="true"] { cursor: progress; }
.contact-form .form-status { overflow-wrap: anywhere; }
.site-back-top { display: inline-flex; margin: 0 0 24px; font: inherit; }
.site-back-top:hover { text-decoration: underline; text-underline-offset: 4px; }
.home-glow .glow-picture { position: absolute; inset: 0; z-index: -1; }
/* Anchor jumps should not animate through every video and lazy diagram. */
html { scroll-behavior: auto; }
@media (max-width: 760px) {
  .home-glow::after { display: none; }
  .home-glow .glow-picture { position: relative; inset: auto; flex: none; width: calc(100% + 48px); margin-top: 48px; }
  .home-glow .glow-art { display: block; position: static; width: 100%; height: auto; aspect-ratio: 887/564; object-fit: cover; object-position: center bottom; }
  #header .nav { max-height: calc(100dvh - 68px); overflow-y: auto; }
  #header .language, #header .menu-button { min-height: 44px; }
}
