@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/fonts/dm-sans-400.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/fonts/dm-sans-500.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/fonts/dm-sans-600.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./assets/fonts/dm-sans-700.ttf) format('truetype');
}
:root{--ink:#17181c;--muted:#777d8c;--blue:#0055f5;--line:#e2e6ee;--soft:#f7f8fc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC',sans-serif;font-size:16px;line-height:1.65}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}a:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:2px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.25}h2{font-size:38px;font-weight:500;letter-spacing:-1.4px;margin-bottom:26px}h3{font-size:19px;font-weight:600}strong{font-weight:700}.page{max-width:1180px;margin:auto;padding:0 38px}.intro{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:58px;align-items:center;padding:62px 0 58px}.intro h1{font-size:54px;font-weight:500;letter-spacing:-2.5px;margin-bottom:30px}.chinese-name{font-family:'PingFang SC','Microsoft YaHei',sans-serif;font-size:29px;font-weight:300;letter-spacing:1px;color:#858997;white-space:nowrap}.intro p{margin-bottom:16px;color:#444854}.portrait{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center bottom;border-radius:22px}.inline-logo{display:inline-block;width:24px;height:18px;object-fit:contain;vertical-align:-3px;margin-right:2px}.tsinghua-mark{width:19px;height:19px}.links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:25px}.links a{display:inline-flex;align-items:center;gap:7px;color:#424650;font-size:14px}.links svg{width:18px;height:18px;flex:none}section{padding:48px 0;position:relative}section::before{content:'';position:absolute;z-index:-1;inset:0 calc((1104px - 100vw)/2);background:#fff}#news::before,#publications::before,#awards::before{background:var(--soft)}.news-list{border-top:1px solid var(--line)}.news-list p{display:flex;align-items:baseline;gap:22px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;color:#424650}.news-list span{color:var(--muted);min-width:64px;font-size:13px}.news-list strong{color:var(--ink)}.scholar-link{display:inline-block;font-size:14px;margin-top:-14px;margin-bottom:22px}.publication-nav{display:flex;gap:10px 26px;flex-wrap:wrap;margin-bottom:32px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.publication-nav a{font-size:14px}.publication-group+.publication-group{margin-top:36px}.group-title{font-size:25px;letter-spacing:-.7px;font-weight:600;border-bottom:2px solid var(--ink);padding-bottom:12px}.publication{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;align-items:center;padding:17px 8px;border-bottom:1px solid var(--line)}.publication:hover{background:#eff2fa}.publication>img{width:160px;max-height:118px;object-fit:contain;border-radius:9px;background:#fff;border:1px solid var(--line)}.publication h4{font-size:16px;font-weight:600;margin-bottom:4px;line-height:1.45}.publication h4 a{color:var(--ink)}.publication p{font-size:13px;color:var(--muted);line-height:1.6}.publication p strong{color:var(--ink)}.publication p:has(em){margin:4px 0}.publication em{font-style:normal;color:var(--blue);font-size:12px;font-weight:600}.publication .pub-links{display:flex;flex-wrap:wrap;gap:0;margin-top:5px}.pub-links a{color:var(--ink);text-decoration:underline;text-decoration-color:#c5c8d0;text-underline-offset:4px;padding:0 11px;border-right:1px solid var(--line);font-size:13px}.pub-links a:first-child{padding-left:0}.pub-links a:last-child{border-right:0}.pub-links span{display:none}.experience-list{border-top:1px solid var(--line)}.experience{display:grid;grid-template-columns:185px minmax(0,1fr) 180px;gap:30px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.experience img{width:170px;height:72px;object-fit:contain;justify-self:center}.experience h3{font-size:18px;font-weight:500;margin-bottom:6px}.experience p{font-size:14px;color:#555b66}.experience-date{text-align:right;color:var(--muted);font-size:13px;display:flex;flex-direction:column;gap:5px}.muted{color:var(--muted);font-size:14px;margin-bottom:18px}.award-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.award-list li{display:grid;grid-template-columns:145px 1fr;gap:24px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;color:#454953}.award-rank{color:var(--muted);font-size:13px}.section-translation{font-size:21px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:10px}.venture-title{font-size:20px;margin-bottom:8px}.venture-intro{font-size:15px;color:#505561;margin-bottom:26px;max-width:1000px}.project-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px}.project-gallery figure{margin:0;min-width:0}.project-gallery img{width:100%;aspect-ratio:1.85;object-fit:cover;border-radius:11px;background:#14101f}.project-gallery figcaption{font-size:13px;line-height:1.4;margin-top:7px;color:#505561}.project-gallery figure:last-child{grid-column:span 2}.project-gallery figure:last-child img{aspect-ratio:3.86}.community-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.community-grid article{padding:28px 30px 0 0}.community-grid article+article{border-left:1px solid var(--line);padding-left:35px}.community-logo{height:96px;display:flex;align-items:center;margin-bottom:20px}.community-logo img{width:100%;max-width:350px;max-height:96px;object-fit:contain;object-position:left center}.community-grid h3{font-size:18px;margin-bottom:8px}.community-grid p{font-size:14px;color:#505561}.community-grid .role{color:var(--muted);margin-bottom:5px}footer{border-top:1px solid var(--line);padding:23px 0 30px;color:var(--muted);font-size:13px;text-align:right}@media(min-width:1600px){section::before{inset-inline:-120px}}@media(max-width:1179px){section::before{inset-inline:-38px}.intro{gap:35px;grid-template-columns:minmax(0,1fr) 270px}.intro h1{font-size:46px}.chinese-name{font-size:25px}.experience{grid-template-columns:155px minmax(0,1fr) 160px;gap:22px}.experience img{width:145px}}@media(max-width:800px){.page{padding:0 24px}.intro{grid-template-columns:1fr 190px;gap:28px;padding:38px 0}.intro h1{font-size:38px;letter-spacing:-1.5px}.chinese-name{font-size:23px}.intro p{font-size:15px}.portrait{align-self:start;margin-top:8px}section{padding:36px 0}section::before{inset-inline:-24px}h2{font-size:32px}.experience{grid-template-columns:120px 1fr;gap:12px 20px}.experience img{width:110px;grid-row:span 2}.experience-date{grid-column:2;text-align:left;flex-direction:row;gap:15px}.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.project-gallery figure:last-child{grid-column:span 2}}@media(max-width:580px){.page{padding:0 20px}.intro{display:flex;flex-direction:column-reverse;align-items:stretch;gap:24px}.portrait{width:155px;margin:0;align-self:center;border-radius:16px}.intro h1{font-size:39px;margin-bottom:20px}.chinese-name{font-size:23px}.links{gap:12px 17px}section::before{inset-inline:-20px}.news-list p{gap:12px;font-size:14px}.news-list span{min-width:52px}.publication-nav{gap:10px 20px}.group-title{font-size:23px}.publication{grid-template-columns:95px minmax(0,1fr);gap:13px;padding:17px 0;align-items:start}.publication>img{width:95px;max-height:100px;margin-top:4px}.publication h4{font-size:15px}.publication p{font-size:12px}.pub-links a{padding:0 8px}.experience{grid-template-columns:80px 1fr;gap:10px 16px}.experience img{width:75px}.experience h3{font-size:16px}.experience-date{font-size:12px;flex-wrap:wrap}.award-list li{grid-template-columns:96px 1fr;gap:12px}.award-rank{font-size:12px}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px}.project-gallery figure:last-child{grid-column:span 2}.community-grid{grid-template-columns:1fr}.community-grid article{padding:24px 0}.community-grid article+article{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}.section-translation{display:block;margin:8px 0 0;font-size:18px}.community-logo img{max-width:320px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.news-list .news-body{font-size:14px;color:#424650;min-width:0}.news-list p>span:first-child{flex:none}section{isolation:isolate}section::before{z-index:-1}.community-logo img[alt="SmartCloud"]{height:96px;object-fit:cover;object-position:center}
/* Larger, individually captioned product images. */
#publications>h2{margin-bottom:30px}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 26px}.project-gallery figure{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.project-gallery img{display:block;width:100%;aspect-ratio:1.85;height:auto;object-fit:contain;border-radius:0;background:#151322}.project-gallery figcaption{padding:17px 20px 20px;margin:0}.project-gallery figcaption h4{font-size:17px;line-height:1.4;font-weight:600;color:var(--ink);margin:0 0 6px}.project-gallery figcaption p{font-size:14px;line-height:1.6;color:#69717f;margin:0}.project-gallery figure:last-child{grid-column:1/-1}.project-gallery figure:last-child img{aspect-ratio:3.5;object-fit:contain}.community-grid{grid-template-columns:1fr}.community-grid article,.community-grid article+article{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:center;gap:42px;padding:28px 0;border-left:0;border-bottom:1px solid var(--line);border-top:0}.community-logo{height:104px;margin:0}.community-logo img{width:100%;max-width:250px;max-height:104px;object-fit:contain;object-position:center}.community-logo img[alt="SmartCloud"]{height:104px;object-fit:contain;object-position:center}.community-text h3{margin:0 0 8px}.community-grid .role{margin-bottom:4px}@media(max-width:800px){.project-gallery{gap:24px 18px}.community-grid article,.community-grid article+article{grid-template-columns:190px minmax(0,1fr);gap:28px}.community-logo img{max-width:190px}}@media(max-width:580px){.project-gallery{grid-template-columns:1fr;gap:24px}.project-gallery figure:last-child{grid-column:auto}.project-gallery figure:last-child img{aspect-ratio:2.5}.project-gallery figcaption{padding:15px 16px 17px}.community-grid article,.community-grid article+article{grid-template-columns:112px minmax(0,1fr);gap:18px;padding:24px 0}.community-logo{height:72px}.community-logo img,.community-logo img[alt="SmartCloud"]{max-width:112px;height:72px;max-height:72px;object-fit:contain}.community-grid h3{font-size:16px}.community-grid p{font-size:13px}}
/* Alternate backgrounds by major section. */
#news::before,#experience::before,#entrepreneurship::before{background:var(--soft)}#publications::before,#awards::before,#community::before{background:#fff}
.inline-logo.university-logo{width:19px;height:21px;object-fit:contain;vertical-align:-4px;mix-blend-mode:multiply}
/* Compact entrepreneurship gallery: eight highlights in two desktop rows. */
.project-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 16px}.project-gallery figure:last-child{grid-column:auto}.project-gallery img,.project-gallery figure:last-child img{aspect-ratio:1.7;object-fit:contain}.project-gallery figcaption{padding:12px 13px 14px}.project-gallery figcaption h4{font-size:14px;margin-bottom:5px}.project-gallery figcaption p{font-size:13px;line-height:1.5}@media(max-width:800px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}}@media(max-width:380px){.project-gallery{grid-template-columns:1fr}}
/* Leadership dates and locations align with experience metadata. */
.community-grid article,.community-grid article+article{grid-template-columns:250px minmax(0,1fr) 195px}.community-date{grid-column:auto;text-align:right;flex-direction:column;gap:5px}@media(max-width:800px){.community-grid article,.community-grid article+article{grid-template-columns:190px minmax(0,1fr);gap:10px 28px}.community-logo{grid-row:span 2}.community-date{grid-column:2;text-align:left;flex-direction:row;flex-wrap:wrap;gap:5px 15px}}@media(max-width:580px){.community-grid article,.community-grid article+article{grid-template-columns:112px minmax(0,1fr);gap:8px 18px}.community-date{font-size:12px}}
