/* Generated deployment bundle. Source of truth remains refine.css and its imported layers. */

/* ---- refine-base.css ---- */
/* Homepage refinement — final mobile visual pass */
.home-hero .hero-kicker{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.home-hero .hero-kicker:before{content:"";width:32px;height:1px;background:var(--graphite);opacity:.45}
.home-hero .hero-note{max-width:520px;color:var(--muted);font-size:var(--text-support-size);margin:0 0 28px}
.research-code{display:flex;align-items:baseline;gap:9px;font-weight:700}.research-index{display:inline;color:var(--muted);font-weight:450;letter-spacing:.06em}
.partner-inline{font-weight:520}
.highlight p{max-width:34em}
.impact .tag{margin-top:0}.impact-capabilities{margin-top:14px;color:var(--ink);font-size:var(--text-support-size);font-weight:600;letter-spacing:.005em}
.home-news-meta{display:none}

/* Shared inner-page system */
.page-hero{padding:112px 0 82px}.page-hero .container{max-width:1120px}.page-hero .eyebrow{margin-bottom:14px}.page-hero h1{margin:0 0 22px}.page-hero p{max-width:760px;font-size:var(--text-lead-size);line-height:var(--text-lead-line);margin:0;color:var(--muted)}
.content-section{padding:96px 0}.content-section h2{margin:10px 0 24px}.content-section p{font-size:var(--text-body-size);line-height:1.85}.prose h2+ p{margin-top:0}.prose h2:not(:first-child){margin-top:64px}.muted{color:var(--muted)}
.inner-section{padding:104px 0}.inner-section.soft{background:var(--soft)}
.research-detail{max-width:920px}.research-detail h2{max-width:18em}.research-detail .muted{font-size:var(--text-support-size);line-height:1.8;margin-top:26px}
.direction-id{display:flex;align-items:baseline;gap:10px;margin-bottom:22px;font-size:11px;letter-spacing:.11em}.direction-id span{color:#9AA1AC;font-weight:500}.direction-id strong{color:var(--ink);font-size:12px;letter-spacing:.12em}.direction-id em{font-style:normal;color:var(--muted);letter-spacing:.035em;text-transform:uppercase;font-size:9px}.direction-keywords{letter-spacing:.005em}
.join-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.join-item{padding:30px 24px 34px}.join-item+.join-item{border-left:1px solid var(--line)}.join-item .num{margin-bottom:26px}.join-item h3{margin:0 0 12px}.join-item p{margin:0;color:var(--muted);font-size:var(--text-support-size);line-height:1.7}.join-context{border-top:1px solid var(--line)}

/* Shared compact footer */
.site-footer.compact-footer{padding:38px 0 18px}.compact-footer .footer-grid{grid-template-columns:1.2fr 1.2fr 1fr;gap:42px;align-items:start}.compact-footer .brand strong{letter-spacing:-.025em}.compact-footer .brand span{opacity:.58}.compact-footer .footer-links{display:flex;flex-wrap:wrap;gap:8px 22px;align-content:flex-start;opacity:.88}.compact-footer .footer-contact{font-size:13px;line-height:1.65;color:rgba(255,255,255,.48)}.compact-footer .footer-meta{margin-top:24px;color:rgba(255,255,255,.42)}.compact-footer .footer-meta a{color:inherit}

/* Publications */
.publication-note{display:flex;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:52px;color:var(--muted);font-size:13px}.publication-note strong{color:var(--ink);font-size:var(--text-support-size)}.pub-group+.pub-group{margin-top:72px}.pub-year-row{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:10px}.pub-year-row span{font-size:12px;color:var(--muted);padding-bottom:8px}.pub-year{font-size:36px;line-height:1;margin:0;letter-spacing:-.04em}.pub{padding:26px 0 28px}.pub h3{margin-bottom:9px}.pub-authors{color:#3f4652;font-size:var(--text-support-size);line-height:1.6}.pub-venue{font-size:var(--text-meta-size);line-height:1.55;margin-top:3px}.pub-actions a{display:inline-block}.pub-actions a+a{margin-left:16px}

/* Team overview */
.team-grid .person{min-width:0}.team-grid .person-photo{overflow:hidden}.team-grid .person-photo img{width:100%;height:100%;object-fit:cover}.person .research-line{font-size:var(--text-support-size);color:#3d4551;min-height:46px}.person .bio-short{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.person .person-link{display:inline-block;margin-top:10px;font-size:13px;font-weight:600}

/* Faculty detail */
.person-detail{display:grid;grid-template-columns:300px 1fr;gap:64px;align-items:start}.person-detail>.person-photo{position:sticky;top:96px;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;background:#f2f3f5}.person-detail h2{margin:0 0 8px}.person-detail .role{color:var(--muted);margin-bottom:20px}.detail-block{padding:26px 0;border-top:1px solid var(--line)}.detail-block h3{margin:0 0 10px}.detail-block p{margin:0;color:#303642}.detail-list{margin:0;padding-left:1.2em;color:#303642}.detail-list li+li{margin-top:6px}

@media(max-width:1024px){.join-grid{grid-template-columns:1fr 1fr}.join-item{border-bottom:1px solid var(--line)}.join-item+.join-item{border-left:0}.join-item:nth-child(even){border-left:1px solid var(--line)}.join-item:last-child{grid-column:1/-1}}

@media(max-width:768px){
 .home-hero{min-height:calc(100svh - 112px);padding:100px 0 54px}
 .home-hero .hero-grid{min-height:calc(100svh - 252px);align-content:center}
 .home-hero .hero-kicker{font-size:9px;margin-bottom:10px}.home-hero .hero-kicker:before{width:24px}
 .home-hero h1{margin:18px 0 27px;max-width:8.8em}
 .home-hero .hero-sub{font-size:15px;margin-bottom:2px}.home-hero .hero-en{font-size:10px;letter-spacing:.03em;opacity:.68;margin-bottom:26px}
 .home-hero .hero-note{display:none}
 .home-hero .hero-art{right:-138px;bottom:-82px;width:480px;height:370px;opacity:.34}.home-hero .hero-art svg{transform:scale(1.42)}
 .challenge{position:relative;padding:31px 0 33px;overflow:hidden}.challenge .num{margin-bottom:15px}.challenge h3{position:relative;z-index:1}
 .research{padding:50px 0 54px}.research-code{font-size:13px;margin-bottom:22px;gap:8px;font-weight:720;color:var(--graphite)}.research-index{font-size:12px;color:#A8AFB9;font-weight:450}.research h3{max-width:12.5em}.research p{font-size:14px;line-height:1.7;margin-top:16px}.research .text-link{margin-top:21px}
 .partner{padding:25px 0}.home-hero~.section .partner h3{margin-bottom:8px}.partner-inline{font-size:15px;color:var(--muted);line-height:1.6}
 .highlight,.highlight:nth-child(odd),.highlight:nth-child(even){padding:27px 0}.highlight p{font-size:13px;color:var(--muted);line-height:1.55}
 .impact{padding:44px 0 46px}.impact .tag{font-size:9px;letter-spacing:.16em;margin-bottom:14px}.impact .num{display:none}.impact p{font-size:14px;color:#7C8594;margin-top:11px;letter-spacing:.01em}.impact-capabilities{font-size:15px;line-height:1.6;margin-top:12px;color:var(--ink);font-weight:620}.impact .fact{margin-top:16px;padding-top:14px;font-size:12px;line-height:1.65;color:var(--muted)}
 .news-row{grid-template-columns:74px 46px 1fr;gap:11px;padding:25px 0}.news-row time,.news-row .label{font-size:var(--text-meta-size);line-height:1.4}
 .join{padding:124px 0}.join h2{max-width:8.5em}
 .page-hero{padding:82px 0 58px}.page-hero h1{margin-bottom:18px}.page-hero p{font-size:16px;line-height:1.75}.content-section,.inner-section{padding:72px 0}.prose h2:not(:first-child){margin-top:52px}
 .research-direction{padding:58px 0 62px}.research-direction .research-detail>p:not(.muted){font-size:15px;line-height:1.82}.direction-id{margin-bottom:17px;gap:8px}.direction-id em{font-size:8px}.research-direction h2{margin-top:0;margin-bottom:20px}.research-detail .direction-keywords{font-size:12px;line-height:1.7;margin-top:22px;color:#7B8492}
 .join-opportunities{padding:58px 0 66px}.join-grid{grid-template-columns:1fr;border-bottom:0}.join-item,.join-item:nth-child(even),.join-item:last-child{grid-column:auto;border-left:0;border-bottom:1px solid var(--line);padding:21px 0 23px}.join-item:first-child{border-top:0}.join-item h3{margin-bottom:8px}.join-item .num{margin-bottom:10px}.join-item p{font-size:13px;line-height:1.65}.join-context{padding-top:70px}.join-context .section-head{margin-bottom:48px}.join-context .section-head:last-of-type{margin-bottom:30px}.join-context .section-head h2{margin-top:8px}.join-context .btn{border-radius:3px;padding:12px 17px}
 .site-footer.compact-footer{padding:28px 0 12px}.compact-footer .footer-grid{grid-template-columns:1fr;gap:16px}.compact-footer .brand strong{font-size:21px}.compact-footer .brand span{font-size:9px;opacity:.55}.compact-footer .footer-links{gap:6px 16px;font-size:11px;opacity:.82}.compact-footer .footer-contact{font-size:10px;line-height:1.55;color:rgba(255,255,255,.45)}.compact-footer .footer-meta{margin-top:14px;padding-top:11px;gap:8px 14px;font-size:9px;color:rgba(255,255,255,.38)}
 .publication-note{display:block;margin-bottom:38px}.publication-note span{display:block;margin-top:4px}.pub-group+.pub-group{margin-top:58px}.pub-year{font-size:34px}.pub-year-row span{font-size:11px}.pub{padding:23px 0 25px}.pub-authors{font-size:13px}.pub-venue{font-size:var(--text-meta-size)}.pub-actions{font-size:var(--text-meta-size)}
 .team-grid .person-photo{aspect-ratio:4/3}.person .research-line{min-height:auto}.person .bio-short{-webkit-line-clamp:2}.person .person-link{margin-top:8px}
 .person-detail{grid-template-columns:1fr;gap:30px}.person-detail>.person-photo{position:static;aspect-ratio:3/2;max-height:320px;object-position:50% 20%}.detail-block{padding:22px 0}
}

/* Research naming expansion */
.research-code-main{display:flex;flex-direction:column;gap:3px;min-width:0}.research-expansion{font-size:9px;line-height:1.35;letter-spacing:.045em;text-transform:uppercase;color:var(--muted);font-weight:500;max-width:25em}
@media(max-width:768px){.research-code{align-items:flex-start}.research-expansion{font-size:8px;line-height:1.4;max-width:22em}}

/* Mobile typography harmonization — 2026-09 */
@media(max-width:768px){
  /* Stable global hierarchy */
  .page-hero p{font-size:var(--text-lead-size);line-height:1.62}
  .content-section p,.prose p{font-size:var(--text-body-size);line-height:var(--text-body-line)}

  /* Homepage: strong hero, quieter supporting hierarchy */
  .home-hero .hero-sub{font-size:17px;line-height:1.5}
  .research p{font-size:15px;line-height:1.68}
  .highlight p{font-size:14px;line-height:1.6}
  .impact p{font-size:15px;line-height:1.62}
  .metric strong{font-size:32px;line-height:1}
  .metric span{font-size:13px;line-height:1.45}

  /* Research detail pages */
  .research-direction .research-detail>p:not(.muted){font-size:16px;line-height:1.7}
  .research-detail .direction-keywords{font-size:13px;line-height:1.55}
  .direction-id{font-size:11px;line-height:1.2}

  /* People cards: lift small text one step for phone readability */
  .team-grid .person .role{font-size:13px;line-height:1.45}
  .team-grid .person .research-line{font-size:var(--text-support-size);line-height:var(--text-support-line)}
  .team-grid .person .bio-short{font-size:14px;line-height:1.6}
  .team-grid .person .person-link{font-size:13px;line-height:1.45}

  /* Join */
  .join-item p{font-size:var(--text-support-size);line-height:var(--text-support-line)}

  /* Footer: readable but still subordinate */
  .compact-footer .brand strong{font-size:21px}
  .compact-footer .brand span{font-size:10px}
  .compact-footer .footer-links{font-size:12px;line-height:1.4}
  .compact-footer .footer-contact{font-size:13px;line-height:1.55}
  .compact-footer .footer-meta{font-size:11px;line-height:1.4}
}

/* Achievement index hierarchy */
@media(max-width:768px){.highlight .num{margin:2px 0 0}}

/* ---- app-core.css ---- */
/* Shared cross-page presentation. Behavior belongs in site.js. */

html{scroll-behavior:auto!important}

/* Anchor targets should remain visible below the sticky header. */
main [id]{scroll-margin-top:96px}
@media(max-width:768px){main [id]{scroll-margin-top:80px}}

/* One menu button style everywhere */
@media(max-width:768px){
  .menu-btn{position:relative!important;width:50px!important;height:50px!important;padding:0!important;margin-right:-7px!important;font-size:0!important;line-height:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:none!important;-webkit-appearance:none!important;appearance:none!important;-webkit-tap-highlight-color:transparent!important;color:#318AF5!important;touch-action:manipulation!important;cursor:pointer}
  .menu-btn:hover,.menu-btn:active,.menu-btn:focus,.menu-btn:focus-visible{background:transparent!important;box-shadow:none!important;outline:none!important}
  .menu-btn::before,.menu-btn::after{content:"";position:absolute;left:8px;width:34px;height:3px;border-radius:2px;background:currentColor;transform-origin:center;transition:top .18s ease,transform .18s ease,opacity .12s ease,box-shadow .18s ease;pointer-events:none}
  .menu-btn::before{top:13px;box-shadow:0 10px 0 currentColor,0 20px 0 currentColor}
  .menu-btn::after{top:23px;opacity:0}
  .menu-btn[aria-expanded="true"]::before{top:23px;box-shadow:none;transform:rotate(45deg)}
  .menu-btn[aria-expanded="true"]::after{top:23px;opacity:1;transform:rotate(-45deg)}
}

/* Team overview: globally available so direct load and SPA navigation match */
.team-grid img.person-photo{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 20%;display:block;background:#f2f3f5}
.team-grid .person:nth-child(1) img.person-photo{object-position:50% 22%}
.team-grid .person:nth-child(2) img.person-photo{object-position:50% 20%}
.team-grid .person:nth-child(3) img.person-photo{object-position:50% 18%}
.team-grid .person:nth-child(4) img.person-photo{object-position:50% 20%}
.team-grid .person:nth-child(5) img.person-photo{object-position:50% 18%}
.team-grid .person:nth-child(6) img.person-photo{object-position:50% 18%}
.person-photo-source{font-size:10px;color:var(--muted);margin-top:6px}
@media(max-width:768px){
  .team-grid img.person-photo{aspect-ratio:4/3}
  .team-grid .person{padding-bottom:4px}
  .team-grid .person h3{margin-top:14px;margin-bottom:4px}
  .team-grid .person .role{margin-bottom:9px}
  .team-grid .person .research-line{margin-bottom:8px}
  .team-grid .person .bio-short{-webkit-line-clamp:2;margin-top:0}
}

/* Publications */
.pub-year-row{justify-content:flex-start;align-items:baseline;gap:12px}
.pub-year-row span{padding-bottom:0}
.publication-toolbar{margin:-20px 0 42px;padding:14px 0 6px;border-bottom:1px solid var(--line)}
.publication-years{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0}
.publication-year-link{appearance:none;border:0;background:transparent;padding:0;color:var(--muted);font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}
.publication-year-link:hover,.publication-year-link:focus-visible{color:var(--ink)}
.pub-toggle{appearance:none;border:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:10px 0 0}
.pub-toggle:hover{text-decoration:underline}
.pub.is-collapsed{display:none}
[data-pub-enhancement][hidden]{display:none!important}
.pub-back-top{position:fixed;right:22px;bottom:28px;z-index:45;border:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-radius:999px;padding:9px 13px;color:var(--ink);font-size:12px;font-weight:600;box-shadow:0 6px 22px rgba(17,24,39,.08);opacity:0;pointer-events:none;transform:translateY(8px);transition:.18s ease;-webkit-tap-highlight-color:transparent}
.pub-back-top.visible{opacity:1;pointer-events:auto;transform:none}
@media(max-width:768px){
  .publication-toolbar{margin:-14px 0 34px;padding:11px 0 6px}
  .publication-years{gap:8px 17px}
  .publication-year-link{font-size:13.5px}
  .pub-toggle{font-size:12px;padding-top:8px}
  .pub-back-top{right:18px;bottom:92px}
}

/* Canonical research identity/title: homepage and Research page share one mobile definition. */
@media(max-width:768px){
  .research-identity{display:grid;grid-template-columns:max-content max-content minmax(0,1fr);column-gap:12px;align-items:start;justify-content:start;width:100%;max-width:100%;margin:0 0 26px;padding:0;line-height:1;text-align:left}
  .research-identity>.research-index{grid-column:1;margin:0;padding:0;font-size:16px;line-height:1.05;letter-spacing:.08em;font-weight:500;color:#A8AFB9;white-space:nowrap}
  .research-identity>.research-code-main{display:contents}
  .research-identity>.research-code-main>span{grid-column:2;margin:0;padding:0;font-size:17px;line-height:1.05;letter-spacing:.09em;font-weight:700;color:var(--ink);white-space:nowrap}
  .research-identity>.research-code-main>.research-expansion{grid-column:3;width:auto;max-width:180px;margin:0;padding:0;font-size:9px;line-height:1.12;letter-spacing:.055em;font-style:normal;font-weight:500;text-transform:uppercase;color:var(--muted);white-space:normal;text-align:left}
  .research .research-title,.research-direction .research-title{width:auto;max-width:13em;margin:0 0 20px;padding:0}
}

/* About page links */
#international-impact .impact-link{color:inherit;text-decoration:none}
#international-impact .impact-link:hover,#international-impact .impact-link:focus-visible{text-decoration:underline;text-underline-offset:3px}

/* Canonical mobile presentation — one final definition per component. */
@media(max-width:768px){
  /* Shared inner-page rhythm, using Join as the reference pace. */
  main>.page-hero{padding:80px 0 56px}
  main>.content-section:not(.join-opportunities){padding-top:68px;padding-bottom:68px}
  #overview.section,#collaboration.section,#achievements.section,#international-impact.section{padding-top:76px;padding-bottom:76px}
  #collaboration .section-head,#achievements .section-head,#international-impact .section-head{margin-bottom:32px}

  /* Contact */
  .contact-grid{gap:18px;margin-top:-10px}
  .contact-card{padding:20px 0}
  .contact-card h3{margin-bottom:14px}
  .contact-card p{line-height:1.72}
  .contact-card p+p{margin-top:20px}
  .contact-card p strong{font-weight:600}
  .contact-card p a{font-weight:400}

  /* Research */
  .research-direction{padding-top:48px;padding-bottom:49px}
  .research-direction .research-identity{margin-bottom:22px}
  .research-direction .direction-keywords{margin-top:20px}

  /* About international impact */
  #international-impact .detail-block{border-top:0;padding:0 0 30px}
  #international-impact .detail-block+.detail-block{margin-top:4px}
  #international-impact .detail-block h3{margin-bottom:5px}
  #international-impact .detail-block p{margin:0;color:#7B8492}

  /* Publications */
  .pub{padding-top:21px;padding-bottom:23px;border-top-color:#EEF0F3}
  .pub h3{margin-bottom:8px}
  .pub-authors{color:#78808D;line-height:1.55}
  .pub-venue{margin-top:5px;color:#9299A5;line-height:1.5}
  .pub-actions{margin-top:13px;color:#747C89}

  /* Footer */
  .site-footer.compact-footer{padding:24px 0 10px}
  .compact-footer .footer-grid{gap:14px}
  .compact-footer .footer-links{gap:5px 15px}
  .compact-footer .brand span{opacity:.48}
  .compact-footer .footer-contact{color:rgba(255,255,255,.40)}
  .compact-footer .footer-meta{margin-top:10px;padding-top:8px;color:rgba(255,255,255,.34)}
}

/* English mobile reading polish — 2026-09-19 */
@media(max-width:768px){
  html[lang="en"] .research-title{max-width:15.5em}
  html[lang="en"] .research-detail>p:not(.direction-keywords),
  html[lang="en"] .contact-card>p,
  html[lang="en"] .prose>p{max-width:34em}

  html[lang="en"] .team-grid .person .research-line{margin-bottom:11px}
  html[lang="en"] .team-grid .person .bio-short{color:#747D8B;margin-bottom:11px}
  html[lang="en"] .team-grid .person .person-link,
  html[lang="en"] .team-grid .person>a:last-child{display:inline-block;margin-top:3px}

  html[lang="en"] .prose h2+p{margin-top:16px}
}

/* Site completeness polish — 2026-09-19 */
.skip-link{position:fixed;left:16px;top:10px;z-index:9999;transform:translateY(-150%);padding:9px 13px;border-radius:4px;background:#171A1F;color:#fff;font-size:13px;font-weight:650;text-decoration:none;transition:transform .14s ease}
.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible{outline:2px solid #318AF5;outline-offset:3px}
.updates-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.update-item{padding:28px 34px 30px 0;border-bottom:1px solid var(--line)}
.update-item+.update-item{padding-left:34px;border-left:1px solid var(--line)}
.update-meta{margin-bottom:15px;font-size:11px;line-height:1.3;font-weight:700;letter-spacing:.12em;color:var(--muted)}
.update-item h3{margin:0 0 12px}
.update-item p{margin:0 0 17px;color:var(--muted);line-height:1.68}
@media(max-width:768px){
  .menu-btn:focus-visible{outline:0!important;box-shadow:0 0 0 3px rgba(49,138,245,.25)!important;border-radius:8px!important}
  .updates-grid{grid-template-columns:1fr}
  .update-item,.update-item+.update-item{padding:24px 0 26px;border-left:0}
  .update-meta{margin-bottom:12px}
  .update-item p{margin-bottom:14px}
}

/* PAI orbit quick menu — clean rebuild from the pre-orbit stable CSS. */
.pai-orbit{position:fixed;inset:0;z-index:1200;pointer-events:none;--orbit-size:min(52vw,220px);--orbit-x:50%;--orbit-y:calc(100dvh - 122px)}
.pai-orbit-backdrop{position:absolute;inset:0;background:transparent;opacity:0;pointer-events:none}
.pai-orbit-wheel{position:absolute;left:var(--orbit-x);top:var(--orbit-y);width:var(--orbit-size);height:var(--orbit-size);border-radius:50%;background:rgba(255,255,255,.98);box-shadow:0 14px 42px rgba(20,24,32,.14);opacity:0;transform:translate(-50%,-50%) scale(.06) rotate(var(--orbit-rotation,0deg));transform-origin:50% 50%;transition:opacity .48s ease,transform .78s cubic-bezier(.22,.72,.18,1);pointer-events:none;touch-action:none;will-change:transform}
.pai-orbit-wheel:before{content:"";position:absolute;inset:32%;border:1px solid rgba(23,26,31,.06);border-radius:50%;pointer-events:none}
.pai-orbit-item{position:absolute;inset:0;display:block;color:#171A1F;text-decoration:none;transform:rotate(var(--item-angle));transform-origin:50% 50%;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;z-index:2}
.pai-orbit-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.pai-orbit-char{position:absolute;left:50%;top:50%;width:1.05em;height:1.2em;margin:-.6em 0 0 -.525em;display:flex;align-items:center;justify-content:center;color:#171A1F;font-size:11.2px;font-weight:620;line-height:1;letter-spacing:0;transform:rotate(var(--char-angle)) translateY(calc(var(--orbit-size)*-.415));transform-origin:50% 50%;pointer-events:none;user-select:none;-webkit-user-select:none;z-index:3;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform}
.pai-orbit-toggle{position:absolute;left:var(--orbit-x);top:var(--orbit-y);width:54px;height:54px;transform:translate(-50%,-50%);border:1px solid rgba(23,26,31,.09);border-radius:50%;background:#fff;box-shadow:0 5px 16px rgba(20,24,32,.09);pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pai-orbit-toggle span,.pai-orbit-toggle span:after{position:absolute;content:"";left:50%;top:50%;width:19px;height:1.4px;background:#171A1F;border-radius:2px;transform:translate(-50%,-50%);transition:transform .58s cubic-bezier(.2,.8,.2,1)}
.pai-orbit-toggle span:after{transform:translate(-50%,-50%) rotate(90deg)}
.pai-orbit.open{pointer-events:none}
.pai-orbit.open .pai-orbit-backdrop{opacity:0;pointer-events:none}
.pai-orbit.open .pai-orbit-wheel{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(var(--orbit-rotation,0deg));pointer-events:auto;transition-duration:.30s,.52s;transition-timing-function:ease,cubic-bezier(.16,.84,.2,1)}
.pai-orbit.dragging .pai-orbit-wheel,.pai-orbit.auto-rotating .pai-orbit-wheel{transition:none!important}
.pai-orbit.open .pai-orbit-toggle span{transform:translate(-50%,-50%) rotate(45deg);transition-duration:.40s}
.pai-orbit.open .pai-orbit-toggle span:after{transform:translate(-50%,-50%) rotate(90deg)}
@media(min-width:769px){.pai-orbit{--orbit-size:240px;--orbit-y:calc(100dvh - 136px)}.pai-orbit-toggle{width:58px;height:58px}}
@media(max-width:390px){.pai-orbit{--orbit-size:min(54vw,210px);--orbit-y:calc(100dvh - 117px)}}
@media(prefers-reduced-motion:reduce){.pai-orbit *{transition:none!important}}

@media(max-width:768px){html[lang="en"] .pai-orbit-char{font-size:10.4px}}

/* ---- typography.css ---- */
/* Global typography hierarchy — single source of truth for title and body text typography.
   Layout belongs in site.css/refine-base.css/app-core.css. Type size/weight/color belong here. */

:root{
  --title-display-size:clamp(42px,5vw,68px);
  --title-page-size:clamp(42px,4.8vw,58px);
  --title-section-size:clamp(30px,3.4vw,42px);
  --title-feature-size:30px;
  --title-item-size:20px;
  --title-minor-size:16px;
  --title-eyebrow-size:12px;
  --title-display-weight:650;
  --title-page-weight:650;
  --title-section-weight:620;
  --title-feature-weight:620;
  --title-item-weight:650;
  --title-minor-weight:650;
  --title-index-weight:450;

  /* Shared prose hierarchy */
  --text-lead-size:18px;
  --text-body-size:16px;
  --text-support-size:14px;
  --text-meta-size:13px;
  --text-lead-line:1.75;
  --text-body-line:1.70;
  --text-support-line:1.60;
  --text-meta-line:1.50;
}

/* Level 0 — homepage display title */
.title-display{
  font-size:var(--title-display-size)!important;
  line-height:1.10!important;
  letter-spacing:-.045em!important;
  font-weight:var(--title-display-weight)!important;
  color:var(--ink)!important;
}

/* Level 1 — page title */
.title-page{
  font-size:var(--title-page-size)!important;
  line-height:1.10!important;
  letter-spacing:-.04em!important;
  font-weight:var(--title-page-weight)!important;
  color:var(--ink)!important;
}

/* Level 2 — major section title */
.title-section{
  font-size:var(--title-section-size)!important;
  line-height:1.16!important;
  letter-spacing:-.03em!important;
  font-weight:var(--title-section-weight)!important;
  color:var(--ink)!important;
}

/* Level 3 — featured subsection / research title */
.title-feature{
  font-size:var(--title-feature-size)!important;
  line-height:1.24!important;
  letter-spacing:-.025em!important;
  font-weight:var(--title-feature-weight)!important;
  color:var(--ink)!important;
}

/* Level 4 — item/card/list title */
.title-item{
  font-size:var(--title-item-size)!important;
  line-height:1.34!important;
  letter-spacing:-.01em!important;
  font-weight:var(--title-item-weight)!important;
  color:var(--ink)!important;
}

/* Indexed items: number shares the title's size/line-height, but is visually de-emphasized. */
.item-index{
  font-size:var(--title-item-size)!important;
  line-height:1.34!important;
  font-weight:var(--title-index-weight)!important;
  letter-spacing:0!important;
  color:#8A93A2!important;
  margin:0!important;
  align-self:start!important;
}

/* Level 5 — minor detail title */
.title-minor{
  font-size:var(--title-minor-size)!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  font-weight:var(--title-minor-weight)!important;
  color:var(--ink)!important;
}

/* Eyebrow / section kicker */
.eyebrow{
  font-size:var(--title-eyebrow-size)!important;
  line-height:1.2!important;
  letter-spacing:.17em!important;
  font-weight:600!important;
  color:var(--muted)!important;
  text-transform:uppercase!important;
}

/* Shared prose levels */
.text-lead{
  font-size:var(--text-lead-size)!important;
  line-height:var(--text-lead-line)!important;
}
.text-body{
  font-size:var(--text-body-size)!important;
  line-height:var(--text-body-line)!important;
}
.text-support{
  font-size:var(--text-support-size)!important;
  line-height:var(--text-support-line)!important;
}
.text-meta{
  font-size:var(--text-meta-size)!important;
  line-height:var(--text-meta-line)!important;
}

@media(max-width:768px){
  :root{
    --title-display-size:38px;
    --title-page-size:34px;
    --title-section-size:32px;
    --title-feature-size:27px;
    --title-item-size:20px;
    --title-minor-size:17px;
    --title-eyebrow-size:10px;
    --text-lead-size:17px;
    --text-body-size:16px;
    --text-support-size:14px;
    --text-meta-size:12px;
  }
}

/* Bilingual footer geometry: matching slots across Chinese and English. */
.site-footer .footer-links a:nth-child(-n+6){
  width:4em;
}
.site-footer .footer-links a:nth-child(7){
  width:2em;
}

/* English desktop header uses uppercase labels without changing its geometry. */
@media(min-width:769px){
  html[lang="en"] .site-header .nav-links a{text-transform:uppercase}
}

/* English title refinements — 2026-09-19 */
@media(max-width:768px){
  html[lang="en"] .research-title{font-size:26px!important;line-height:1.17!important;letter-spacing:-.022em!important}
  html[lang="en"] .contact-card .title-item{letter-spacing:-.018em!important}
}

/* Semantic item headings may be h2 or h3; layout must not depend on rank. */
.highlight .title-item{margin:0}
.contact-card .title-item{margin:0 0 10px}
.join-item .title-item{margin:0 0 12px}
@media(max-width:768px){.join-item .title-item{margin-bottom:8px}}

/* Platform introduction keeps its approved display scale. */
#international-impact .title-section{font-size:clamp(30px,4vw,52px)!important;line-height:1.08!important;letter-spacing:-.035em!important}
#international-impact .eyebrow{font-size:11px!important;line-height:1.3!important;letter-spacing:.16em!important}
#international-impact .platform-china .title-item{font-size:20px!important;line-height:1.35!important}
@media(max-width:768px){
  #international-impact .platform-china .title-item{font-size:18px!important}
}

/* Desktop inner-page type scale. Homepage and mobile retain their established tokens. */
@media(min-width:1100px){
  main:has(>.page-hero):not(:where(:has(.person-detail))){
    --title-page-size:48px;
    --title-section-size:32px;
    --title-feature-size:28px;
    --title-item-size:20px;
  }
  main:has(>.page-hero):not(:where(:has(.person-detail))) :is(.prose>p,.research-detail>p:not(.direction-keywords)){
    font-size:var(--text-body-size);
    line-height:var(--text-body-line);
    font-weight:400;
  }
  main:has(>.page-hero) :is(.section-head>p,.highlight p,.join-item p,.contact-card p,#international-impact .detail-block p,#collaboration .partner p){
    font-size:var(--text-body-size);
    line-height:var(--text-body-line);
    font-weight:400;
  }
  main:has(>.page-hero) :is(.direction-keywords,.person .bio-short,.person .role,.pub-authors){
    font-size:var(--text-support-size);
    line-height:var(--text-support-line);
  }
  main:has(>.page-hero) :is(.person .person-link,.pub-venue,.pub-actions){
    font-size:var(--text-meta-size);
    line-height:var(--text-meta-line);
  }
  #international-impact .title-section{
    font-size:var(--title-section-size)!important;
    line-height:1.16!important;
    letter-spacing:-.03em!important;
  }
  main:has(>.page-hero) .join-context .title-section{
    --title-section-size:24px;
  }
  main>.results-publications .pub-year{font-size:28px;font-weight:var(--title-feature-weight)}

}

/* ---- desktop-layout.css ---- */
/* Desktop layout density — keep wide-screen reading focused without changing mobile presentation. */
@media(min-width:1100px){
  :root{
    --desktop-wide:1180px;
    --desktop-hero:1080px;
    --desktop-main:1040px;
    --desktop-read:900px;
  }

  /* Chrome may breathe a little wider than the reading canvas. */
  .site-header .container,
  .site-footer .container{
    max-width:var(--desktop-wide);
  }

  /* Keep the hero relationship visible as one composition instead of two distant islands. */
  .home-hero>.container{
    max-width:var(--desktop-hero);
  }
  .home-hero .hero-grid{
    grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);
    gap:56px;
  }

  /* Main desktop reading canvas. Backgrounds remain full-bleed; information stays central. */
  .home-hero~.section>.container,
  main>.page-hero>.container,
  main>.content-section>.container,
  main>.section>.container{
    max-width:var(--desktop-main);
  }

  /* Metrics benefit from an even tighter visual span. */
  .home-hero~.section:has(.numbers)>.container{
    max-width:var(--desktop-read);
  }

  /* Inner pages share a frame, but prose and publication lists keep their own measure.
     Scope follows the current main element through lightweight navigation. */
  main:has(>.page-hero):not(:where(:has(.person-detail))){
    --desktop-prose:820px;
  }
  main:has(>.page-hero):not(:where(:has(.person-detail)))>.page-hero{
    padding:80px 0 56px;
  }
  main:has(>.page-hero):not(:where(:has(.person-detail)))>.page-hero h1{
    margin:0 0 20px;
  }
  main:has(>.page-hero):not(:where(:has(.person-detail)))>.page-hero p{
    max-width:760px;
  }
  main:has(>.page-hero):not(:where(:has(.person-detail)))>:is(.content-section,.section){
    padding-top:72px;
    padding-bottom:72px;
  }
  main:has(>.page-hero):not(:where(:has(.person-detail))) .section-head{
    margin-bottom:36px;
  }
  main:has(>.page-hero)>.content-section>.container.prose{
    max-width:var(--desktop-prose);
    margin-left:max(24px,calc((100% - var(--desktop-main))/2));
  }
  main:has(>.page-hero) .prose h2:not(:first-child){
    margin-top:40px;
  }
  main:has(>.page-hero) .prose>p:last-child{
    margin-bottom:0;
  }
  main>.research-direction>.container,
  main>.results-achievements>.container,
  main>.results-publications>.container{
    max-width:var(--desktop-read);
  }
  /* Align narrower reading columns to the page-hero rail, not the viewport center. */
  main>.research-direction>.container{
    margin-left:max(24px,calc((100% - var(--desktop-main))/2));
  }
  /* The publication canvas must not change width when JavaScript inserts the list. */
  main:has(>.page-hero)>.results-publications{
    padding-top:0;
  }

  /* Research: retain the three-direction sequence with a readable text measure. */
  main>.research-direction .research-title{max-width:28em;margin:0 0 20px}
  main>.research-direction .research-detail>p{max-width:var(--desktop-prose)}
  main>.research-direction .direction-id{margin-bottom:18px}
  main>.research-direction .direction-keywords{margin-top:20px;margin-bottom:0}

  /* About: match the English standalone heading to the Chinese section-head baseline. */
  #international-impact .platform-heading{
    --platform-heading-offset:calc(var(--title-eyebrow-size)*1.2 + 10px);
    margin:var(--platform-heading-offset) 0 36px;
  }
  main:has(>.page-hero) #media-coverage .media-coverage{margin-top:24px}
  main:has(>.page-hero) #media-coverage .media-summary{margin:0 0 24px}

  main:has(>.page-hero) .join-context .section-head{margin-bottom:0}

  /* Six faculty retain equal-sized cards, with compact and consistent row spacing. */
  main:has(>.page-hero) .team-grid{gap:36px 28px}
  main:has(>.page-hero) .team-grid .person .research-line{margin-top:12px}

  /* Achievement 01–06 is one reading sequence, followed by the year-indexed papers. */
  main>.results-achievements .highlights,
  main>.results-publications .highlights{grid-template-columns:1fr}
  main>.results-achievements .highlights{margin-top:0}
  main>:is(.results-achievements,.results-publications) .highlight{
    grid-template-columns:44px minmax(0,1fr);
    gap:20px;
    padding:22px 0;
    border-left:0;
  }
  main>:is(.results-achievements,.results-publications) .highlight p{max-width:none}
  main>.results-publications .results-publications-heading{border-top:0}
  main>.results-publications .publication-toolbar{margin:0 0 28px;padding:12px 0}
  main>.results-publications .pub{padding:20px 0}
  main>.results-publications .pub-group+.pub-group{margin-top:48px}
  main>.results-publications .pub-year-row{margin-bottom:12px}

}

/* ---- refine.css page-level refinements ---- */
/* Shared presentation entry point. Bundle every layer here in cascade order. */
/* Header brand: keep the accessible PAI text in the DOM, render the canonical static SVG mark visually. */
.site-header .brand strong{
  display:block;
  width:92px;
  height:48px;
  font-size:0;
  color:transparent;
  background-repeat:no-repeat;
  background-position:left center;
  background-size:contain;
  background-image:url("../images/brand/pai-logo.svg");
}
.site-header .brand span{display:none}
@media(max-width:768px){
  .site-header .brand strong{width:80px;height:42px}
}

/* English editorial hierarchy: use all caps only for small eyebrow labels. */
html[lang^="en"] .eyebrow{text-transform:uppercase}

/* Homepage actions: restrained institutional feedback instead of generic floating-button motion. */
.home-hero .btn{transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.home-hero .btn:hover{transform:none}
.home-hero .btn.textual:hover{text-decoration:underline;text-underline-offset:4px}

/* Orbit navigation is a mobile interaction aid; desktop already has the full top navigation. */
@media(min-width:769px){
  .pai-orbit{display:none!important}
}

/* Desktop editorial polish: give primary navigation and footer a little more presence without changing layout height. */
@media(min-width:1025px){
  .site-header .nav-links{font-size:15px;font-weight:560;gap:28px;letter-spacing:.005em}
  .site-footer.compact-footer{padding:64px 0 28px}
  .site-footer .brand strong{font-size:28px;letter-spacing:-.035em}
  .site-footer .brand span{font-size:11px;line-height:1.35;margin-top:7px}
  .site-footer .footer-links{font-weight:520;line-height:1.65}
  .site-footer .footer-contact{line-height:1.8}
  .site-footer .footer-meta{margin-top:42px;padding-top:20px}
}

/* Homepage vertical rhythm follows content density: quick metrics, steady collaboration, spacious visual work. */
@media(min-width:769px){
  .home-hero~.section:has(.numbers){padding-top:98px;padding-bottom:100px}
  .home-hero~.section:has(.numbers) .section-head{margin-bottom:42px}
  .home-hero~.section:has(.partner-grid){padding-top:112px;padding-bottom:114px}
  .home-hero~.section:has(.partner-grid) .section-head{margin-bottom:46px}
  .home-hero~.section:has(.home-achievement-stories){padding-top:132px;padding-bottom:130px}
  .home-hero~.section:has(.home-achievement-stories) .section-head{margin-bottom:50px}
}

/* Shared 2×2 partner-index skeleton; homepage and About keep their own density. */
@media(min-width:1025px){
  :is(.home-hero~.section,main:has(#international-impact) #collaboration) .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
  :is(.home-hero~.section,main:has(#international-impact) #collaboration) .partner{border-left:0;border-top:0;border-bottom:1px solid var(--line)}
  :is(.home-hero~.section,main:has(#international-impact) #collaboration) .partner:nth-child(even){border-left:1px solid var(--line)}

  .home-hero~.section .partner{padding:28px 34px 30px 0}
  .home-hero~.section .partner:nth-child(even){padding-left:34px;padding-right:0}
  .home-hero~.section .partner:nth-child(n+3){padding-top:30px}
  .home-hero~.section .partner h3{margin-bottom:14px}
  .home-hero~.section .partner p{font-size:17px;line-height:1.8;color:#394150}

  main:has(#international-impact) #collaboration .partner{padding:30px 38px 32px 0}
  main:has(#international-impact) #collaboration .partner:nth-child(even){padding-left:38px;padding-right:0}
  main:has(#international-impact) #collaboration .partner:nth-child(n+3){padding-top:32px}
  main:has(#international-impact) #collaboration .partner h3{margin-bottom:15px}
  main:has(#international-impact) #collaboration .partner p{font-size:16px;line-height:1.78;color:#394150}
}

/* Homepage collaboration platforms: keep the three institutions equal, but present them as editorial rows instead of another three-column card grid. */
@media(min-width:1025px){
  .selected-updates .updates-grid{display:block;border-top:1px solid var(--line)}
  .selected-updates .update-item,.selected-updates .update-item+.update-item{display:grid;grid-template-columns:130px minmax(260px,.8fr) minmax(0,1.2fr);gap:28px;align-items:start;padding:26px 0;border-left:0;border-bottom:1px solid var(--line)}
  .selected-updates .update-meta{margin:4px 0 0}
  .selected-updates .update-item h3{margin:0}
  .selected-updates .update-item p{margin:0;max-width:46em}
}

/* Real-world application imagery on the home-page translation section. Preserve each source image's native aspect ratio. */
.impact-visuals{display:grid;grid-template-columns:1.12fr .88fr;gap:18px;margin:0 0 38px;align-items:start}
.impact-visual{margin:0;border:1px solid var(--line);background:var(--soft);overflow:hidden}
.impact-visual a{display:block}
.impact-visual img{display:block;width:100%;height:auto}
.impact-visual figcaption{padding:14px 16px 16px;font-size:13px;line-height:1.55;color:var(--muted);border-top:1px solid var(--line)}
.impact-visual figcaption strong{display:block;color:var(--ink);font-size:14px;font-weight:620;margin-bottom:3px}
.impact-visual-source{font-size:11px;letter-spacing:.02em;color:#8A93A2}
@media(max-width:768px){
  .impact-visuals{grid-template-columns:1fr;gap:14px;margin-bottom:28px}
  .impact-visual img{display:block;width:100%;height:auto}
}

/* Compact media coverage index: factual third-party coverage, visually secondary to research outcomes. */
.media-summary{max-width:760px;margin:-18px 0 30px;color:var(--muted);font-size:14px;line-height:1.75}
.media-coverage{margin-top:34px}
.media-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.media-item{display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;align-items:start;padding:15px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.media-item:nth-child(odd){padding-right:24px}
.media-item:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}
.media-meta{font-size:11px;line-height:1.5;letter-spacing:.035em;color:#7D8794;text-transform:none}
.media-title{font-size:14px;line-height:1.55;color:var(--ink)}
.media-item:hover .media-title{text-decoration:underline;text-underline-offset:3px}
.media-more{margin-top:22px}
@media(max-width:768px){
  .media-summary{margin:-14px 0 24px;font-size:13px;line-height:1.7}
  .media-list{grid-template-columns:1fr}
  .media-item{grid-template-columns:98px minmax(0,1fr);gap:12px;padding:14px 0!important;border-left:0!important}
  .media-title{font-size:13px}
}

/* Homepage mobile rhythm — compact but still editorial */
@media(max-width:768px){
  .home-hero~.section{padding-top:72px;padding-bottom:72px}
  .home-hero~.section .section-head{margin-bottom:34px}
  .home-hero~.section:has(.numbers){padding-top:60px;padding-bottom:62px}
  .home-hero~.section:has(.numbers) .section-head{margin-bottom:30px}
  .home-hero~.section:has(.partner-grid){padding-top:68px;padding-bottom:70px}
  .home-hero~.section:has(.partner-grid) .section-head{margin-bottom:32px}
  .home-hero~.section:has(.home-achievement-stories){padding-top:82px;padding-bottom:80px}
  .home-hero~.section:has(.home-achievement-stories) .section-head{margin-bottom:38px}
  .home-hero~.section .challenge{padding-top:28px;padding-bottom:29px}
  .home-hero~.section .research{padding-top:36px;padding-bottom:40px}
  .home-hero~.section .partner{padding-top:21px!important;padding-bottom:21px!important}
  .home-hero~.section .highlight,.home-hero~.section .highlight:nth-child(odd),.home-hero~.section .highlight:nth-child(even){padding-top:24px;padding-bottom:24px}
  .home-hero~.section .impact{padding-top:39px;padding-bottom:41px}
  .home-hero~.join{padding-top:108px;padding-bottom:108px}
}

/* Mobile WebView text autosizing guard. WeChat on iOS can enlarge Chinese text after layout. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:768px){.home-hero .title-display{white-space:nowrap!important}}

/* Homepage visual storytelling. */
.home-feature-visual{margin:30px 0 22px;border:1px solid var(--line);background:var(--soft);overflow:hidden}
.home-feature-visual a{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.65fr);align-items:start}
.home-feature-visual img{display:block;width:100%;height:auto;min-height:0;max-height:none}
.home-feature-visual figcaption{display:flex;flex-direction:column;justify-content:flex-end;padding:24px;color:var(--muted);font-size:13px;line-height:1.55;border-left:1px solid var(--line);align-self:stretch}
.home-feature-visual figcaption strong{color:var(--ink);font-size:16px;font-weight:620;line-height:1.4;margin-bottom:7px}
.home-feature-visual figcaption span{display:block}
.achievement-feature{max-width:920px;margin-top:34px}
.update-feature{margin-top:-10px;margin-bottom:36px}
@media(max-width:768px){
  .home-feature-visual{margin:24px 0 20px}
  .home-feature-visual a{grid-template-columns:1fr}
  .home-feature-visual img{display:block;width:100%;height:auto;min-height:0;max-height:none}
  .home-feature-visual figcaption{padding:14px 16px 16px;border-left:0;border-top:1px solid var(--line)}
  .home-feature-visual figcaption strong{font-size:14px;margin-bottom:4px}
  .update-feature{margin-top:0;margin-bottom:28px}
}

/* Three flagship stories on the homepage: use content-driven asymmetry instead of equal cards. */
.home-achievement-stories{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,.8fr);gap:18px;align-items:start}
.home-achievement-story{margin:0;border:1px solid var(--line);background:#fff;overflow:hidden}
.home-achievement-story a{display:block;color:inherit;text-decoration:none}
.home-achievement-story img{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;transition:transform .32s cubic-bezier(.2,.7,.2,1)}
.home-achievement-story:nth-child(3) img{aspect-ratio:4/5;object-position:center 35%}
.home-achievement-story figcaption{padding:17px 18px 18px;min-height:150px}
.home-achievement-story strong{display:block;font-size:15px;line-height:1.45;color:var(--ink);margin-bottom:7px}
.home-achievement-story span{display:block;font-size:13px;line-height:1.6;color:var(--muted)}
.home-achievement-story small{display:block;margin-top:10px;font-size:11px;line-height:1.4;color:#8A93A2}
@media(hover:hover) and (pointer:fine){
  .home-achievement-story a:hover img{transform:scale(1.012)}
  .home-achievement-story a:hover strong{text-decoration:underline;text-underline-offset:3px}
}
@media(prefers-reduced-motion:reduce){.home-achievement-story img{transition:none}.home-achievement-story a:hover img{transform:none}}
.home-achievements-more{margin-top:26px}
.home-platform-more{margin-top:28px}
.home-media-section{border-top:1px solid var(--line)}
.home-media-section .media-coverage{margin-top:0}
@media(max-width:768px){
  .home-achievement-stories{grid-template-columns:1fr;gap:16px}
  .home-achievement-story img,.home-achievement-story:nth-child(3) img{aspect-ratio:auto;height:auto;object-fit:contain;object-position:center}
  .home-achievement-story figcaption{min-height:0;padding:15px 16px 17px}
}

/* Homepage closing sequence: media acts as a compact credibility appendix, while Join gets the final pause. */
.home-media-section{padding-top:92px;padding-bottom:86px}
.home-media-section .section-head{margin-bottom:32px}
.home-media-section .media-title{font-size:13px;line-height:1.5;color:#46505E}
.home-media-section .media-meta{color:#9098A4}
.home-media-section .media-more{margin-top:18px}
.home-media-section+.join{border-top:1px solid var(--line);padding-top:154px;padding-bottom:158px}
.home-media-section+.join h2{max-width:720px;margin-top:14px;margin-bottom:28px}
@media(max-width:768px){
  .home-media-section{padding-top:62px;padding-bottom:58px}
  .home-media-section .section-head{margin-bottom:28px}
  .home-media-section .media-more{margin-top:16px}
  .home-media-section+.join{padding-top:118px;padding-bottom:122px}
  .home-media-section+.join h2{margin-bottom:24px}
}

/* About page: achievements live on Research Results; external media closes the About narrative. */
main:has(#media-coverage):has(#international-impact){display:flex;flex-direction:column}
main:has(#media-coverage):has(#international-impact)>#achievements{display:none}

/* Platform content and order live in the bilingual HTML, not generated CSS. */
#international-impact>.container{display:flex;flex-direction:column}
#international-impact .platform-heading{margin-top:var(--platform-heading-offset,64px)}
#international-impact .detail-block p{font-size:15px;line-height:1.72;color:var(--muted);font-weight:400}
@media(max-width:768px){
  #international-impact .platform-heading{margin-top:52px}
  #international-impact .detail-block p{font-size:14px;line-height:1.65}
}

/* People cards: preserve equal faculty weight, but make research identity easier to scan than biography text. */
@media(min-width:769px){
  .team-grid .person h3{margin:18px 0 5px}
  .team-grid .person .role{font-size:13px;line-height:1.45;color:#7D8693}
  .team-grid .person .research-line{margin:16px 0 0;min-height:0;font-size:14px;line-height:1.55;font-weight:620;color:#303744}
  .team-grid .person .bio-short{margin:10px 0 0;font-size:13px;line-height:1.65;color:#7B8492}
  .team-grid .person .person-link{margin-top:14px;font-size:12px;font-weight:620;color:#4B5563}
  .team-grid .person .person-link:hover{text-decoration:underline;text-underline-offset:3px}
}

/* Shared desktop editorial-row skeleton for About platforms, Join context, and Contact. */
@media(min-width:1025px){
  :is(#international-impact .detail-block,.join-context .section-head,.contact-grid .contact-card){display:grid;align-items:start;border-top:1px solid var(--line)}

  #international-impact .section-head{margin-bottom:36px}
  #international-impact .detail-block{grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:36px;padding:25px 0}
  #international-impact .detail-block:last-child{border-bottom:1px solid var(--line)}
  #international-impact .detail-block h3{margin:0;line-height:1.45}
  #international-impact .detail-block p{margin:0;max-width:39em}

  .join-context>.container{display:flex;flex-direction:column}
  :is(.join-context .section-head,.contact-grid .contact-card){grid-template-columns:minmax(220px,280px) minmax(0,1fr);column-gap:42px;padding:27px 0}
  .join-context .section-head{row-gap:5px;margin:0}
  .join-context .section-head:last-of-type{border-bottom:1px solid var(--line)}
  .join-context .section-head .eyebrow{grid-column:1;margin:2px 0 0}
  .join-context .section-head h2{grid-column:1;margin:8px 0 0;font-size:24px;line-height:1.25}
  .join-context .section-head p{grid-column:2;grid-row:1 / span 2;margin:0;max-width:46em;font-size:15px;line-height:1.78;color:#4A5563}
  .join-context .btn{align-self:flex-start;margin-top:34px}

  .contact-grid{display:block}
  .contact-grid>div{display:contents}
  .contact-grid .contact-card{row-gap:6px}
  .contact-grid .contact-card:last-child{border-bottom:1px solid var(--line)}
  .contact-grid .contact-card .eyebrow{grid-column:1;grid-row:1;margin:2px 0 0}
  .contact-grid .contact-card .title-item{grid-column:1;grid-row:2;margin:0;line-height:1.35}
  .contact-grid .contact-card p{grid-column:2;margin:0;max-width:46em;font-size:15px;line-height:1.75}
  .contact-grid .contact-card p:first-of-type{grid-row:1 / span 2}
  .contact-grid .contact-card p+p{grid-row:3;margin-top:8px}
}

/* Desktop opportunities: give long English role names the same generous column as Chinese. */
@media(min-width:1100px){
  .join-opportunities .join-grid{grid-template-columns:1fr;border-bottom:0}
  .join-opportunities .join-item{
    display:grid;
    grid-template-columns:44px minmax(220px,280px) minmax(0,1fr);
    gap:24px;
    align-items:start;
    padding:24px 0;
    border-left:0;
    border-bottom:1px solid var(--line);
  }
  .join-opportunities .join-item .title-item{margin:0}
  .join-opportunities .join-item p{margin:0}
}

/* Research Results page: items 01-06 form one continuous achievement sequence. */
.results-achievements{padding:70px 0 0;border-bottom:0}
.results-achievements .highlights{margin-top:28px}
.results-achievements .highlight{padding-top:22px;padding-bottom:22px}
.results-publications{padding-top:0}
.results-publications-heading{margin-top:0}
.results-publications-heading .highlight{border-bottom:0!important}
@media(max-width:768px){
  .results-achievements{padding:56px 0 0}
  .results-publications{padding-top:0}
}

/* Research Results final rhythm: keep 01 comfortably separated from the intro, keep 05→06 continuous. */
main>.page-hero:has(+ .results-achievements){padding-bottom:36px!important}
@media(max-width:768px){
  main>.page-hero:has(+ .results-achievements){padding-bottom:28px!important}
}

/* First-section divider rhythm: keep both rules, but bring them into a consistent close pair. */
:is(main:has(.contact-grid)>.content-section,main:has(.join-opportunities)>.join-opportunities,main>.page-hero:has(+ .results-achievements)+.results-achievements){padding-top:40px!important}
main:has(.contact-grid) .contact-grid{margin-top:0!important}
@media(max-width:768px){
  :is(main:has(.contact-grid)>.content-section,main:has(.join-opportunities)>.join-opportunities,main>.page-hero:has(+ .results-achievements)+.results-achievements){padding-top:28px!important}
}

/* Keep partner lists visible when no separate mobile summary exists. */
@media(max-width:768px){
  .partner:not(:has(.partner-inline)) p{display:block;font-size:15px;line-height:1.6;color:var(--muted)}
}
@media(min-width:769px){
  .partner:not(:has(p)) .partner-inline{display:block;font-size:18px;line-height:1.9;color:#313846}
}

/* Parallel card summaries reserve the same rows, including short entries. */
@media(min-width:769px){
  .team-grid .person .research-line,
  .team-grid .person .bio-short,
  html[lang="en"] .research-grid .research>h3,
  html[lang="en"] .research-grid .research>p,
  html[lang="en"] .home-achievement-story figcaption>span{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:var(--summary-lines);
    overflow:hidden;
    height:calc(var(--summary-lines)*1lh);
    min-height:calc(var(--summary-lines)*1lh);
  }
  .team-grid .person .research-line{--summary-lines:1}
  .team-grid .person .bio-short{--summary-lines:2}
  html[lang="en"] .team-grid .person .research-line{--summary-lines:2}
  html[lang="en"] .team-grid .person .bio-short{--summary-lines:3}
  html[lang="en"] .research-grid .research>h3{--summary-lines:3;line-height:1.3}
  html[lang="en"] .research-grid .research>p{--summary-lines:3}
  html[lang="en"] .home-achievement-story figcaption>span{--summary-lines:2}

  /* One row: index, acronym, and a readable two-line expansion. */
  .research-identity{
    display:grid;grid-template-columns:max-content max-content minmax(0,1fr);
    align-items:center;column-gap:12px;line-height:1.2;
  }
  .research-identity>.research-index{display:block;font-size:16px;line-height:1;letter-spacing:.03em;color:#8B94A2}
  .research-identity>.research-code-main{display:contents}
  .research-identity>.research-code-main>span{font-size:28px;line-height:1;letter-spacing:0;font-weight:650;color:var(--ink);white-space:nowrap}
  .research-identity>.research-code-main>.research-expansion{
    font-size:12px;line-height:1.3;letter-spacing:0;text-transform:none;
    font-weight:500;max-width:none;color:#596577;
  }
  .research-direction .research-identity{column-gap:16px}
  .research-direction .research-identity>.research-code-main>span{font-size:36px}
  .research-direction .research-identity>.research-code-main>.research-expansion{font-size:15px;line-height:1.3}
  .selected-updates .update-meta{font-size:15px;line-height:1.4;font-weight:600;letter-spacing:.04em;color:#596577}
}
@media(max-width:768px){
  .team-grid .person .bio-short{display:block;-webkit-line-clamp:unset;overflow:visible;height:auto}
}

@media(min-width:769px) and (max-width:1099px){
  .research-grid .research{padding-left:16px;padding-right:16px}
  .research-grid .research-identity{column-gap:8px}
  .research-grid .research-identity>.research-code-main>span{font-size:24px}
  .research-grid .research-identity>.research-code-main>.research-expansion{font-size:11px}
}

/* Match the first-line boxes of source/year and headline in each media row. */
.media-list .media-item{align-items:start}
.media-list .media-item>.media-meta,
.media-list .media-item>.media-title{margin:0;align-self:start;line-height:24px}

/* Keep secondary information readable on phones without truncating content. */
@media(max-width:768px){
  .research-identity>.research-code-main>.research-expansion{
    font-size:11px;line-height:1.35;letter-spacing:0;text-transform:none;
  }
  .media-list .media-item>.media-meta{font-size:12px;color:#667085}
  .home-achievement-story small{font-size:12px;color:#667085}
  .selected-updates .update-meta{font-size:13px;line-height:1.4;letter-spacing:.04em;color:#596577}
}

/* Mid-size screens favor readable cards and full research summaries. */
@media(min-width:769px) and (max-width:1099px){
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .research-grid{grid-template-columns:minmax(0,1fr)}
  .research-grid .research{display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:28px;padding:28px 0}
  .research-grid .research+.research{border-left:0;border-top:1px solid var(--line)}
  .research-grid .research>.research-identity{grid-column:1;grid-row:1 / span 3;align-self:start;margin:0}
  .research-grid .research>:is(h3,p,a){grid-column:2}
  .research-grid .research>h3{margin-top:0}
  .research-grid .research>p{margin-bottom:0}
  html[lang="en"] .research-grid .research>:is(h3,p){display:block;height:auto;min-height:0;-webkit-line-clamp:unset;overflow:visible}
  .media-list{grid-template-columns:minmax(0,1fr)}
  .media-list .media-item{padding-left:0;padding-right:0;border-left:0}
}
@media(max-width:480px){
  .media-list .media-item{grid-template-columns:minmax(0,1fr);gap:5px}
  .media-list .media-item>.media-meta{line-height:1.5}
  .media-list .media-item>.media-title{font-size:14px;line-height:1.65}
}

/* Phone research labels share a visible top edge despite their different type sizes. */
@media(max-width:768px){
  .research-identity{align-items:start}
  .research-identity>.research-index,
  .research-identity>.research-code-main>span,
  .research-identity>.research-code-main>.research-expansion{
    align-self:start;margin-top:0;padding-top:0;
    text-box-trim:trim-start;
    text-box-edge:cap alphabetic;
  }
}
