:root{--ink:#202329;--muted:#72777f;--accent:#526a92;--line:#dcdfe2;--paper:#fafaf8;--sans:"Helvetica Neue",Helvetica,Arial,"PingFang SC","Microsoft YaHei",sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}a:hover{color:var(--accent)}.shell{width:min(1200px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:-90px;left:16px;z-index:50;background:white;padding:12px}.skip-link:focus{top:12px}
.masthead{height:97px;display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid var(--ink)}.wordmark{white-space:nowrap;font-size:15px;letter-spacing:-.025em;font-weight:550}.wordmark span{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:6px}.masthead nav{display:flex;align-items:center;gap:27px}.masthead nav a{font-size:11px}.language{margin-left:4px;padding-left:22px;border-left:1px solid var(--line);color:var(--muted)}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;padding-block:91px 87px;align-items:end}.small-label{font-family:var(--mono);font-size:9px;letter-spacing:.11em;color:var(--accent);margin:0 0 33px}.identity h1{margin:0;font-size:clamp(70px,7.6vw,110px);font-weight:400;letter-spacing:.09em;line-height:1.05}.alternate-name{font-size:27px;font-weight:350;letter-spacing:-.025em;line-height:1.3;margin:18px 0 0}.role{font-size:13px;letter-spacing:.04em;color:var(--muted);margin:18px 0 0}.hero-details{padding-bottom:4px;max-width:430px}.intro{font-size:18px;font-weight:400;line-height:1.95;letter-spacing:.015em;margin:0 0 28px}.hero-links{display:flex;gap:26px;font-size:11px}.hero-links a{display:flex;gap:18px;align-items:center;padding-bottom:5px;border-bottom:1px solid #b9bec6}.hero-links a>span{color:var(--accent)}
.profile-section,.section{display:grid;grid-template-columns:230px minmax(0,1fr);column-gap:54px;border-top:1px solid var(--ink);padding-block:41px 65px}.section{padding-top:42px;border-color:var(--line)}.section-label{position:relative;align-self:start}.section-label>span{display:block;font-family:var(--mono);font-size:10px;color:var(--accent);margin-bottom:14px}.section-label h2{font-size:22px;font-weight:450;line-height:1.5;letter-spacing:.01em;margin:0}.section-label>p{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.1em;line-height:1.5;margin:8px 0 0}.section-body{min-width:0}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.biography{font-size:14px;color:#505660;line-height:2;margin:0;max-width:430px}.education h3{font-size:11px;font-weight:500;margin:0 0 20px}.education-item{display:grid;grid-template-columns:92px 1fr;column-gap:16px;margin-top:18px}.date{font-family:var(--mono);font-size:9px;letter-spacing:-.04em;color:var(--muted);padding-top:2px}.education-item strong{font-size:13px;font-weight:500}.education-item p{color:var(--muted);font-size:11px;line-height:1.7;margin:3px 0 0}.section-note{font-size:11px;color:var(--muted);margin:0 0 28px;line-height:1.9;max-width:690px}
.experience{display:grid;grid-template-columns:32px 1fr;gap:16px;padding-block:25px;border-top:1px solid var(--line)}.experience:first-child{border-top:0;padding-top:0}.entry-index{font-family:var(--mono);font-size:10px;color:#959ca6;margin-top:2px}.entry-type{font-size:10px;color:var(--accent);line-height:1.6;margin:0 0 7px}.experience h3{font-size:19px;font-weight:450;letter-spacing:-.015em;line-height:1.5;margin:0 0 12px}.experience div>p:last-child{font-size:13px;color:#626974;line-height:1.95;max-width:710px;margin:0}.source-note{display:flex;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:10px;line-height:1.7;margin:16px 0 0;padding-top:16px;border-top:1px solid var(--line)}.source-note a{display:inline-flex;gap:16px}
.practice-list{display:grid;grid-template-columns:1fr 1fr;gap:37px 45px}.practice-key{font-family:var(--mono);font-size:9px;letter-spacing:.025em;color:var(--accent);margin:0 0 12px}.practice h3{font-size:17px;line-height:1.7;font-weight:450;margin:0 0 12px}.practice>p:last-child{font-size:12px;line-height:1.95;color:#626974;margin:0}
.publication{display:grid;grid-template-columns:108px minmax(0,1fr);gap:22px;padding:24px 0;border-top:1px solid var(--line)}.publication:first-child{padding-top:0;border-top:0}.pub-date{display:flex;flex-direction:column;gap:7px}.pub-date time{font-family:var(--mono);font-size:10px;color:#767d87;letter-spacing:-.025em}.pub-date>span{font-size:10px;color:var(--accent)}.publication h3{font-size:17px;font-weight:450;line-height:1.65;letter-spacing:-.015em;margin:0}.publication h3 a{display:flex;gap:20px;justify-content:space-between}.publication h3 a>span{color:#858f9d;font-size:14px;flex-shrink:0}.publication h3 a:hover{text-decoration:underline;text-underline-offset:5px}.publication p{font-size:10px;color:var(--muted);line-height:1.8;margin:10px 0 0}
.contact{border-top-color:var(--ink);padding-block:42px 60px}.email{font-size:clamp(17px,2.1vw,28px);font-weight:400;line-height:1.7;letter-spacing:-.03em;display:inline-flex;gap:25px;align-items:center}.email>span{font-size:19px;color:var(--accent)}.social-links{display:flex;gap:35px;margin-top:26px;font-size:12px}.social-links a{display:inline-flex;gap:13px;align-items:center}.social-links .handle{color:var(--muted);font-size:10px}.social-links a>span:last-child{color:var(--accent)}footer{border-top:1px solid var(--line);padding-block:23px 34px}footer>p{font-size:10px;color:#858a91;max-width:750px;line-height:1.85;margin:0 0 19px}footer>div{display:flex;gap:30px;font-family:var(--mono);font-size:9px;color:var(--muted)}footer>div a{margin-left:auto}
html[lang=en] .identity h1{font-size:clamp(60px,6.8vw,92px);line-height:1.06;letter-spacing:-.06em;max-width:490px}html[lang=en] .alternate-name{font-size:23px;letter-spacing:.13em}html[lang=en] .intro{font-size:17px;line-height:1.85}html[lang=en] .section-label h2{font-size:20px;letter-spacing:-.025em}html[lang=en] .section-label>p{display:none}
@media(min-width:1500px){.hero{padding-block:112px 105px}}
@media(max-width:1100px){.shell{width:calc(100% - 72px)}.hero{gap:65px;grid-template-columns:1.15fr 1fr;padding-block:75px}.intro{font-size:16px}.profile-section,.section{grid-template-columns:175px minmax(0,1fr);gap:35px}.profile-grid{gap:30px}.education-item{display:block}.education-item .date{display:block;margin-bottom:3px}.masthead nav{gap:20px}.wordmark span{display:none}.practice-list{gap:30px}.email{font-size:23px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.masthead{height:74px;gap:20px}.wordmark{font-size:14px}.masthead nav>a:not(.language){display:none}.masthead .language{border:0;padding:10px;margin:0;font-size:11px}.hero{display:block;padding-block:50px 44px}.small-label{margin-bottom:27px;font-size:8px}.identity h1{font-size:70px;letter-spacing:.09em}.alternate-name{font-size:25px;margin-top:17px}.role{font-size:12px;margin-top:10px}.hero-details{margin-top:34px;max-width:510px}.intro{font-size:15px;line-height:1.95;margin-bottom:21px}.hero-links{gap:25px;font-size:11px}.profile-section,.section{display:block;padding-block:30px 40px}.section-label{margin-bottom:27px;display:grid;grid-template-columns:25px 1fr;gap:0 13px;align-items:baseline}.section-label>span{grid-row:1/3;margin:0;line-height:1.8}.section-label h2{font-size:21px}.section-label>p{font-size:8px;margin-top:4px}.profile-grid{display:block}.biography{font-size:13px;max-width:none}.education{margin-top:28px}.education h3{font-size:11px;margin-bottom:15px}.education-item{display:grid;grid-template-columns:104px 1fr;margin-top:14px;gap:14px}.education-item .date{margin:0;padding-top:3px}.section-note{font-size:10px;margin-bottom:24px}.experience{padding-block:23px;grid-template-columns:22px 1fr;gap:13px}.experience h3{font-size:17px;margin-bottom:9px}.experience div>p:last-child{font-size:12px}.entry-type{font-size:9px}.practice-list{grid-template-columns:1fr;gap:25px}.practice{padding-bottom:24px;border-bottom:1px solid var(--line)}.practice:last-child{padding:0;border:0}.practice h3{font-size:17px;margin-bottom:9px}.practice-key{font-size:8px;margin-bottom:8px}.publication{grid-template-columns:1fr;gap:10px;padding-block:23px}.pub-date{flex-direction:row;gap:20px}.publication h3{font-size:16px;line-height:1.8}.publication h3 a{gap:16px}.publication p{font-size:10px;margin-top:7px}.email{font-size:clamp(15px,4.5vw,23px);gap:13px}.email>span{font-size:15px}.social-links{flex-wrap:wrap;gap:17px 30px;margin-top:21px}.social-links a{gap:10px}.social-links .handle{font-size:10px}footer>div{flex-wrap:wrap;gap:10px 20px;font-size:8px}footer>div a{margin:0}html[lang=en] .identity h1{font-size:66px;letter-spacing:-.065em;max-width:100%}html[lang=en] .alternate-name{font-size:21px}html[lang=en] .intro{font-size:14px}html[lang=en] .section-label h2{font-size:21px}}
.social-links{gap:12px}.social-links .social-icon{display:inline-flex;justify-content:center;align-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--ink);transition:color .15s,border-color .15s}.social-links .social-icon:hover{color:var(--accent);border-color:var(--accent)}.social-icon svg{display:block;width:19px;height:19px;fill:currentColor}
.contact .social-links{margin-top:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.shell{width:100%}.masthead nav,.hero-links,footer>div a{display:none}.hero{padding-block:35px}.profile-section,.section{break-inside:avoid;padding-block:25px}.experience,.publication{break-inside:avoid}a{color:inherit}}
.publication-links{display:flex;margin-top:11px}.video-link{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-size:11px;line-height:1.6}.video-link svg{width:16px;height:16px;flex-shrink:0}.video-link>span{font-size:11px;margin-left:3px}.video-link:hover{text-decoration:underline;text-underline-offset:4px}.video-link:focus-visible{outline:1px solid var(--accent);outline-offset:5px}
.profile-copy .biography{max-width:690px}
