@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,400;1,500&family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#173e30;--muted:#5a6b61;--line:#dce5de;--blue:#357345;--bg:#fbfcfb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #5a985e;outline-offset:5px}.skip{position:absolute;left:20px;top:-100px}.skip:focus{top:10px;background:white;z-index:5}header{max-width:1320px;margin:auto;padding:26px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px;font-size:27px;font-weight:700}.brand span{font-size:14px;font-weight:500}nav{display:flex;gap:27px;font-size:14px}main,footer{max-width:1224px;margin:auto}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:center;padding:80px 0 65px}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:700;color:var(--blue);margin:0 0 24px}h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(64px,7vw,100px);font-weight:400;line-height:1.05;margin:0 0 30px;letter-spacing:-.03em}h1 span{display:block;font-family:serif;font-size:32px;letter-spacing:.2em;margin-top:18px;font-weight:400}.lead{font-size:25px;line-height:1.4;max-width:570px;margin-bottom:22px}.intro>p:not(.eyebrow):not(.lead){color:var(--muted);max-width:565px}.intro p a{text-decoration:underline;text-underline-offset:4px}.hero-links{display:flex;align-items:center;gap:30px;margin-top:35px}.button{display:inline-block;background:var(--ink);color:white;padding:12px 21px;font:500 14px 'DM Sans',sans-serif;border:1px solid var(--ink);cursor:pointer}.button:hover{background:var(--blue);color:white}figure{margin:0;align-self:center}.portrait{background:#e6eee3;padding:25px 20px 0;position:relative;aspect-ratio:1/1.07;overflow:hidden;border-radius:50% 50% 3px 3px}.portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom}figcaption{font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-align:center;color:var(--muted);margin-top:20px}.profile-strip{display:flex;gap:35px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.profile-strip a:first-of-type{margin-left:auto}section:not(.hero):not(.contact){display:grid;grid-template-columns:290px 1fr;gap:60px;padding:78px 0;border-bottom:1px solid var(--line)}h2{font:400 48px/1.05 'Libre Caslon Display',Georgia,serif;margin:0 0 24px;letter-spacing:-.02em}.section-heading>p:not(.eyebrow){font-size:14px;color:var(--muted)}.section-intro{margin:0 0 35px;font-size:19px}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.research-item{border-top:3px solid var(--blue);padding-top:20px}.research-item h3{font-size:19px;margin:0 0 15px}.research-item p{color:var(--muted);font-size:16px}.research-item span{font-size:12px;color:var(--muted)}.work{display:grid;grid-template-columns:55px 1fr;gap:24px;padding:30px 0;border-top:1px solid var(--line)}.work:first-child{padding-top:0;border:0}.work time{font-size:14px;font-weight:600;color:var(--blue)}h3{font-size:22px;line-height:1.4;margin:0 0 14px}.work p{font-size:14px;color:var(--muted);margin:12px 0}.pub-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.pub-meta span:first-child{display:none}.pub-summary{line-height:1.7}.pub-links{display:flex;align-items:baseline;gap:18px}.pub-links a{font-size:14px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}.pub-links span{font-size:12px;color:var(--muted)}.education{display:grid;grid-template-columns:1fr 1fr;gap:35px}.education article{border-top:1px solid var(--line);padding-top:20px}.education span{font-size:14px;color:var(--blue)}.education h3{margin-top:18px}.education p{color:var(--muted)}.text-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.conference{padding:22px 0;border-top:1px solid var(--line)}.conference:first-child{padding-top:0;border:0}.conference .meta{font-size:12px;color:var(--muted)}.conference h3{font-size:18px;margin:8px 0}.conference p{font-size:14px;color:var(--muted);margin:8px 0}.award{color:var(--blue);font-size:14px}.secondary{background:transparent;color:var(--ink);margin-top:25px}.upcoming{margin-top:35px;font-size:14px}.upcoming summary{cursor:pointer;margin-bottom:25px}.contact{padding:75px 0;background:var(--ink);color:white;text-align:center;margin-top:65px}.contact .eyebrow{color:#b4d9a9}.contact h2{font-size:58px}.contact>a{font-size:20px;text-decoration:underline;text-underline-offset:6px}footer{display:flex;gap:30px;padding:30px 0;font-size:12px;color:var(--muted)}footer a:first-of-type{margin-left:auto}[hidden]{display:none!important}@media(min-width:1400px){main,footer{max-width:1224px}}@media(max-width:1350px){main,footer{margin-left:48px;margin-right:48px}}@media(max-width:950px){header{padding:22px 30px}.brand span{display:none}nav{gap:16px}main,footer{margin:0 30px}.hero{gap:40px;padding-top:60px}.lead{font-size:22px}section:not(.hero):not(.contact){grid-template-columns:210px 1fr;gap:30px}.research-grid{grid-template-columns:1fr}.research-item{padding-top:14px}.education{grid-template-columns:1fr}h2{font-size:40px}}@media(max-width:650px){header{padding:18px 22px;align-items:flex-start;gap:20px}.brand{font-size:23px}nav{flex-wrap:wrap;justify-content:flex-end;gap:9px 17px;font-size:12px;max-width:260px}main,footer{margin:0 22px}.hero{grid-template-columns:1fr;gap:35px;padding:45px 0 35px}h1{font-size:64px}.hero figure{max-width:280px;justify-self:center}.eyebrow{font-size:11px}.profile-strip{flex-wrap:wrap;gap:10px 25px}.profile-strip a:first-of-type{margin-left:0}section:not(.hero):not(.contact){grid-template-columns:1fr;gap:20px;padding:45px 0}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2 br{display:none}h2{font-size:40px}.section-intro{font-size:17px}.work{grid-template-columns:1fr;gap:8px}.pub-links{flex-wrap:wrap;gap:8px 18px}.contact{margin-top:35px;padding:45px 18px}.contact h2{font-size:43px}.contact>a{font-size:17px}footer{flex-wrap:wrap;gap:14px}footer a:first-of-type{margin-left:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

h1 .pronunciation{font:400 16px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.01em;color:var(--muted);margin:15px 0 0}nav a[aria-current="page"]{color:var(--blue);text-decoration:underline;text-underline-offset:7px}.epigraph{padding:52px 0 58px;max-width:640px;margin:0 auto;text-align:center}.epigraph blockquote{font:400 27px/1.65 'Libre Caslon Display',Georgia,serif;margin:0;color:var(--ink)}.epigraph figcaption{margin-top:22px;font-size:12px;letter-spacing:.12em}.contact{margin-top:30px}@media(max-width:650px){.epigraph{padding:38px 5px 42px}.epigraph blockquote{font-size:22px}h1 .pronunciation{font-size:15px}nav{max-width:280px}}

.epigraph{max-width:780px;padding:60px 30px 72px;text-align:left;position:relative}.epigraph::before{content:'“';font:400 110px/1 'Libre Caslon Display',Georgia,serif;color:#c5d6bf;display:block;height:62px;margin-left:-8px}.epigraph blockquote{font:400 clamp(25px,3.1vw,36px)/1.5 'Cormorant Garamond',Georgia,serif;font-style:italic;letter-spacing:.005em}.epigraph figcaption{text-align:left;color:var(--muted);font-size:12px;letter-spacing:.16em;margin-top:26px;padding-top:16px;border-top:1px solid var(--line);width:110px}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center;text-align:left;margin:48px 0 65px;padding:70px 65px;min-height:520px}.contact h2{font-size:clamp(52px,6vw,84px);line-height:1.04;margin-bottom:34px}.contact-copy>.eyebrow{margin-bottom:28px}.contact-email{font-size:19px;text-decoration:underline;text-underline-offset:8px;text-decoration-color:#92b787;overflow-wrap:anywhere}.contact-signature{margin-top:55px;font-size:14px;color:#b4d9a9;letter-spacing:.03em}.contact-signature span{margin-left:13px}.contact-portrait{margin:0;transform:rotate(2deg)}.contact-portrait img{display:block;width:100%;height:auto;border-radius:3px;box-shadow:0 15px 35px #09251b40}@media(max-width:950px){.contact{gap:30px;padding:50px 35px;min-height:440px}.contact-email{font-size:16px}}@media(max-width:650px){.epigraph{padding:35px 12px 50px}.epigraph::before{font-size:88px;height:50px}.epigraph blockquote{font-size:clamp(22px,6.3vw,29px);line-height:1.6}.contact{grid-template-columns:1fr;padding:38px 26px;gap:35px;margin:30px 0 40px}.contact h2{font-size:59px}.contact-signature{margin-top:30px}.contact-portrait{max-width:270px;justify-self:center}.contact-email{font-size:16px}}

.hero .portrait{isolation:isolate}.hero .portrait img{mix-blend-mode:normal}

.hero{padding-bottom:24px}.intro .profile-strip{display:flex;flex-wrap:wrap;gap:10px 24px;border:0;padding:0;margin-top:28px;font-size:14px;color:var(--muted)}.intro .profile-strip a:first-of-type{margin-left:0}.intro .profile-strip a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.intro .profile-strip span:first-child{flex-basis:auto}.epigraph{padding-top:32px;padding-bottom:60px}@media(max-width:650px){.hero{padding-bottom:12px}.intro .profile-strip{gap:10px 20px;margin-top:24px}.epigraph{padding-top:32px;padding-bottom:42px}}

.hero .portrait{background:#fff;border:3px solid var(--blue);padding:25px 20px 0}.hero figure>figcaption{font-size:16px;letter-spacing:.055em;font-weight:500;line-height:1.5;color:var(--ink)}@media(max-width:650px){.hero .portrait{border-width:2px}.hero figure>figcaption{font-size:14px;letter-spacing:.035em}}

h1 .name-details{display:flex;align-items:baseline;gap:22px;margin-top:22px;letter-spacing:normal}h1 .name-details .chinese-name{display:inline;margin:0;font-size:42px;line-height:1.3;letter-spacing:.12em}h1 .name-details .pronunciation{display:inline;margin:0;font-size:18px;line-height:1.5;white-space:nowrap}@media(max-width:650px){h1 .name-details{gap:14px;margin-top:18px}h1 .name-details .chinese-name{font-size:36px}h1 .name-details .pronunciation{font-size:16px}}

.hero-links{gap:22px;flex-wrap:nowrap}.hero-links>a{white-space:nowrap;font-size:14px}.hero-links>a:nth-child(n+3){color:var(--blue);text-decoration:underline;text-underline-offset:4px}@media(max-width:650px){.hero-links{gap:12px;flex-wrap:wrap}.hero-links>a{font-size:13px}.hero-links .button{padding:10px 12px}}

footer>a:last-child{margin-left:auto}

.cv-document{grid-column:2;min-width:0}.cv-document-actions{display:flex;gap:25px;margin-bottom:20px;font-size:14px}.cv-document-actions a,.cv-mobile-link{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.cv-pdf{display:block;width:100%;height:850px;border:1px solid var(--line);background:white}.cv-mobile-link{display:none}@media(max-width:650px){.cv-document{grid-column:1}.cv-pdf{height:560px}.cv-mobile-link{display:inline-block;margin-top:15px}}
