@font-face{font-family:Lato;font-style:normal;font-weight:400;src:local("Lato Regular"),local("Lato-Regular")}
@font-face{font-family:Lato;font-style:normal;font-weight:700;src:local("Lato Bold"),local("Lato-Bold")}
:root{--ink:#2f3133;--strong-ink:#161616;--muted:#687178;--line:#e4e7e9;--accent:#ef6b34;--accent-dark:#c94a23;--strong-font:"Times New Roman",Times,serif}
html{scroll-behavior:smooth}
body.homepage{margin:0;padding:0;background:#fff;color:var(--ink);font-family:Lato,Verdana,Helvetica,sans-serif;font-size:15px;line-height:1.65}.homepage strong{color:var(--strong-ink);font-family:var(--strong-font);font-weight:600}
.homepage a{color:var(--accent-dark);text-decoration:none;border-bottom:1px solid rgba(239,107,52,.45);transition:color .18s ease,border-color .18s ease}.homepage a:hover,.homepage a:focus{color:#a93618;border-color:#a93618}
.homepage-shell{width:min(800px,calc(100% - 36px));margin:0 auto}.page-section{scroll-margin-top:28px}
.profile-section{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:34px;align-items:center;padding:54px 0 40px;border-bottom:1px solid var(--line)}
.profile-copy h1{margin:0 0 20px;color:var(--strong-ink);font-size:30px;line-height:1.2;font-family:var(--strong-font);font-weight:600;letter-spacing:0}.profile-copy p{margin:0 0 14px}.name-divider{padding:0 8px;color:#c6c9ca;font-weight:400}.name-cn{font-size:.8em;color:#798087;font-weight:400}.profile-rule{width:100%;height:1px;margin:20px 0 14px;background:linear-gradient(90deg,transparent,var(--line) 12%,var(--line) 88%,transparent)}
.contact-links{display:flex;flex-wrap:wrap;gap:5px 12px;line-height:1.8}.contact-links a{display:inline-flex;align-items:center;gap:5px;border:0;color:var(--accent-dark);font-size:13px;font-weight:500}.contact-links a:not(:last-child)::after{content:"/";padding-left:12px;color:#c8cccf}.contact-links span{color:#899197;font-size:12px}.contact-links .link-label{color:inherit;font-size:13px}.contact-links .link-icon{width:15px;height:15px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.profile-photo-wrap{justify-self:end;width:210px}.profile-photo{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;filter:saturate(.9)}
.content-section{padding:30px 0 8px}.section-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.section-heading span{color:#d98a27;font-size:12px;letter-spacing:.08em}.section-heading h2{margin:0;color:var(--strong-ink);font-size:25px;line-height:1.25;font-family:var(--strong-font);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:#f2b24f;text-underline-offset:5px}.section-note{margin:0 0 16px;color:var(--muted)}
.news-list,.timeline-list,.honors-list{list-style:none;margin:0;padding:0}.news-list li{display:grid;grid-template-columns:88px 1fr;gap:14px;padding:9px 0;border-bottom:1px solid #f0f1f2}.news-list time{color:#aa7a42;font-size:12px;font-variant-numeric:tabular-nums;padding-top:2px}.news-list p{margin:0}
.publication-list{margin-top:12px}.publication-row{display:grid;grid-template-columns:190px 1fr;gap:22px;padding:22px 0;border-top:1px solid var(--line)}.publication-row:last-child{border-bottom:1px solid var(--line)}.publication-media{display:block;border:0}.publication-media img{display:block;width:190px;height:132px;object-fit:cover;border-radius:4px;background:#f5f6f6}.publication-body h3{margin:0 0 6px;color:var(--strong-ink);font-size:16px;line-height:1.4;font-family:var(--strong-font);font-weight:600}.publication-body h3 a{color:var(--strong-ink);border:0}.publication-body p{margin:3px 0;color:#555}.publication-venue{font-style:italic;color:#788087!important}.publication-links{display:flex;flex-wrap:wrap;gap:0 13px;margin-top:8px!important}.publication-links a{font-size:13px}.publication-links a:not(:last-child)::after{content:"/";padding-left:13px;color:#c3c8cb}
.split-section{display:grid;grid-template-columns:1fr 1fr;gap:44px}.timeline-list li{padding:0 0 15px;border-bottom:1px solid #f0f1f2;margin-bottom:14px}.timeline-list strong{display:block;color:var(--strong-ink);font-family:var(--strong-font);font-size:15px;font-weight:600}.timeline-list span{display:block;color:var(--muted);font-size:14px}.honors-list{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}.honors-list li{padding:8px 0;border-bottom:1px solid #f0f1f2}
.section-nav{position:fixed;right:28px;top:50%;z-index:4;display:flex;flex-direction:column;gap:9px;transform:translateY(-50%)}.section-nav a{display:block;border:2px solid var(--accent);border-radius:10px;background:rgba(255,255,255,.98);box-shadow:0 3px 10px rgba(47,49,51,.1);color:var(--strong-ink);font-family:var(--strong-font);font-size:13px;font-weight:400;writing-mode:vertical-rl;transform:rotate(180deg);padding:9px 6px}.section-nav a:hover,.section-nav a:focus{color:var(--strong-ink);border-color:#a93618}
.homepage-footer{margin-top:45px;padding:22px max(18px,calc((100% - 800px)/2));border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:#899197;font-size:12px}.homepage-footer p{margin:0}.homepage-footer a{border:0}
@media(max-width:980px){.section-nav{display:none}}
@media(max-width:680px){.homepage-shell{width:min(100% - 28px,800px)}.profile-section{grid-template-columns:1fr;gap:24px;padding-top:34px}.profile-photo-wrap{justify-self:start;width:150px;order:-1}.profile-copy h1{font-size:25px}.contact-links{gap:3px 9px}.contact-links a:not(:last-child)::after{padding-left:9px}.publication-row{grid-template-columns:112px 1fr;gap:14px;padding:17px 0}.publication-media img{width:112px;height:88px}.publication-body h3{font-size:14px}.publication-body p{font-size:13px}.split-section{grid-template-columns:1fr;gap:16px}.honors-list{grid-template-columns:1fr}.homepage-footer{display:block}.homepage-footer p+p{margin-top:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.homepage a{transition:none}}
