@font-face{font-family:JackyDisplay;src:url('/assets/anton.ttf');font-style:normal;font-weight:400;font-display:swap;}
:root{--paper:#f8f8f5;--ink:#171817;--muted:#71736c;--line:#d8d9d2;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased;border-top:7px solid var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:6px}::selection{color:var(--paper);background:var(--ink)}.page{max-width:1640px;margin:0 auto;display:grid;grid-template-columns:42% 58%}.identity{position:sticky;top:0;height:calc(100svh - 7px);min-height:700px;padding:54px 52px 35px;display:flex;flex-direction:column;border-right:2px solid var(--ink)}.identity-top,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.eyebrow{font:10px/1.6 var(--mono);font-weight:400;letter-spacing:.15em;color:var(--muted);margin:0 0 30px}.identity-top .eyebrow{margin:0}.edition,.micro{font:10px/1.6 var(--mono);letter-spacing:.06em;color:var(--muted);white-space:nowrap}.name-block{margin-top:38px}h1{font-family:JackyDisplay,Impact,'Arial Narrow','Helvetica Neue',sans-serif;font-stretch:condensed;font-weight:900;font-size:clamp(94px,10.6vw,170px);line-height:.89;letter-spacing:-.045em;margin:0}.period{color:#93968b}.chinese-name{font-size:23px;font-weight:600;letter-spacing:.33em;margin:23px 0 0}.identity-title{font-size:14px;line-height:1.9;margin:25px 0 24px}.identity-title span{color:var(--muted);font-size:12px}.identity nav{display:flex;flex-wrap:wrap;gap:8px 22px}.identity nav a{font-size:12px;white-space:nowrap}.identity nav span{font:9px var(--mono);color:var(--muted);margin-left:4px}.identity nav a:hover{text-decoration:underline;text-underline-offset:5px}.identity-bottom{margin-top:auto;padding-top:36px;display:flex;align-items:center;gap:20px}.globe{width:62px;height:62px;stroke:var(--ink);stroke-width:1.3;flex:none}.identity-bottom p{font:10px/1.8 var(--mono);letter-spacing:.05em;margin:0 0 5px}.identity-bottom span{color:var(--muted);font-size:10px}main{min-width:0;padding:55px 54px 0}.section{padding:38px 0;border-bottom:1px solid var(--line);scroll-margin-top:25px}.intro{padding-top:0;padding-bottom:43px}.display{font-family:JackyDisplay,Impact,'Arial Narrow','Helvetica Neue',sans-serif;font-stretch:condensed;font-size:clamp(42px,4.7vw,74px);font-weight:900;letter-spacing:-.025em;line-height:1.03;margin:0 0 15px}.role-caption{font-size:12px;letter-spacing:.1em;color:var(--muted);margin:0 0 33px}.stats{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:2px solid var(--ink);padding:24px 0 0;gap:12px}.stats strong{font:38px/1.1 'Helvetica Neue',sans-serif;font-weight:500;letter-spacing:-.05em}.stats strong span{font-size:14px;letter-spacing:0;margin-left:4px}.stats small{display:block;font-size:10px;margin-top:7px;color:var(--muted);line-height:1.6}.manifesto{font-size:clamp(20px,2.1vw,30px);font-weight:600;letter-spacing:-.025em;line-height:1.65;margin:40px 0 20px}.manifesto>span{color:var(--muted)}.body-copy{font-size:13px;line-height:1.95;color:#50534d;margin:0 0 16px;text-wrap:pretty}.intro-actions{display:flex;gap:29px;margin-top:27px;font-size:12px}.intro-actions a{border-bottom:1px solid var(--ink);padding-bottom:6px}.intro-actions span{margin-left:15px}.section-heading .eyebrow{margin:0}.section-heading{margin-bottom:28px}.role-row+.role-row{margin-top:27px}.date{font:10px/1.7 var(--mono);letter-spacing:.03em;color:var(--muted)}.role-row h3{font-size:15px;line-height:1.6;font-weight:600;margin:6px 0}.role-row .job{font-size:12px;margin:0 0 8px}.role-row .body-copy{font-size:12px;line-height:1.9;margin:0}.filters{display:flex;gap:5px;margin-bottom:22px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;font-size:11px;padding:8px 11px;cursor:pointer}.filters button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filters button:hover{border-color:var(--ink)}.project{border-top:1px solid var(--line)}.project summary{list-style:none;cursor:pointer;padding:22px 29px 22px 0;position:relative}.project summary::-webkit-details-marker{display:none}.project summary:after{content:'+';position:absolute;right:0;top:24px;font:21px/1 var(--mono);color:var(--muted)}.project[open] summary:after{content:'−'}.project-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;line-height:1.7;color:var(--muted)}.project h3{font-size:16px;font-weight:500;line-height:1.6;margin:10px 0 6px}.project .summary-copy{font-size:12px;line-height:1.85;color:#62655d;margin:0}.project-detail{padding:0 26px 24px 0}.project-detail p{font-size:12px;line-height:1.95;color:#50534d}.project-detail .project-role{font-size:10px;color:var(--muted);margin:0 0 10px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{font:9px/1.5 var(--mono);border:1px solid var(--line);padding:4px 7px;color:var(--muted)}[hidden]{display:none!important}.experience-item+.experience-item{margin-top:27px}.experience-item h3{font-size:15px;line-height:1.6;margin:7px 0}.experience-item .job{font-size:12px;line-height:1.7;margin:0 0 8px}.experience-item .body-copy{font-size:12px;margin:0}.skill-row{display:grid;grid-template-columns:130px 1fr;gap:15px;padding:17px 0;border-top:1px solid var(--line)}.skill-label{font:9px/1.8 var(--mono);letter-spacing:.06em;color:var(--muted)}.skill-items{display:flex;flex-wrap:wrap;gap:8px 15px;font-size:12px;line-height:1.6}.education h3{font-size:17px;font-weight:500;margin:0 0 10px}.education p{font-size:12px;color:var(--muted);margin:0}.certificates{display:flex;gap:10px 20px;flex-wrap:wrap;font-size:11px;color:#50534d;margin-top:24px}.certificates span:before{content:'↗';margin-right:7px}.contact{border-bottom:2px solid var(--ink)}.contact-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.contact-title h3{font:clamp(45px,4.8vw,72px)/.98 JackyDisplay,Impact,'Arial Narrow',sans-serif;letter-spacing:-.015em;margin:0}.contact-title img{width:90px;height:100px;object-fit:cover;filter:grayscale(1);border:1px solid var(--line)}.email-link{font-size:clamp(17px,1.8vw,24px);line-height:1.7;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere}.email-link:hover{color:var(--muted)}.contact-links{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:18px;font:11px/1.7 var(--mono)}.contact-links button{border:0;padding:0;background:transparent;cursor:pointer;font-size:11px}.copy-feedback{font-size:11px;min-height:16px;margin:8px 0 0;color:var(--muted)}footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 0;font:9px/1.8 var(--mono);letter-spacing:.03em;color:var(--muted)}.skip{position:fixed;left:20px;top:-60px;z-index:10;background:var(--ink);color:white;padding:12px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.noscript{padding:20px;background:var(--ink);color:white}.noscript a{text-decoration:underline}
@media(min-width:1500px){.identity{padding-left:70px;padding-right:70px}main{padding-left:72px;padding-right:72px}}
@media(max-width:1050px){.identity{padding:40px 32px 30px;min-height:660px}main{padding:41px 34px 0}.identity-bottom{gap:12px}.globe{width:48px;height:48px}.identity-bottom p{font-size:9px}.identity-bottom span{font-size:9px}.skill-row{grid-template-columns:106px 1fr}}
@media(max-width:720px){body{border-top-width:5px}.page{display:block}.identity{position:relative;height:auto;min-height:0;border-right:0;border-bottom:2px solid var(--ink);padding:27px 25px 29px}.edition{font-size:10px}.name-block{margin-top:32px;position:relative}h1{font-size:106px;line-height:.88;letter-spacing:-.045em}.chinese-name{position:absolute;right:0;bottom:2px;font-size:21px;writing-mode:vertical-rl;letter-spacing:.35em;margin:0}.identity-title{font-size:13px;margin:22px 0 20px}.identity-title br{display:none}.identity-title span{display:block;font-size:11px}.identity nav{gap:25px}.identity-bottom{padding-top:27px;gap:13px;align-items:center}.identity-bottom p{font-size:9px}.identity-bottom span{font-size:9px}.globe{width:40px;height:40px}main{padding:34px 25px 0}.section{padding:31px 0}.intro{padding-top:0}.eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:23px}.display{font-size:48px}.role-caption{font-size:11px;margin-bottom:26px}.stats{padding-top:22px}.stats strong{font-size:34px}.stats small{font-size:9px}.manifesto{font-size:24px;margin-top:31px}.body-copy{font-size:13px}.section-heading{gap:10px;margin-bottom:23px}.micro{font-size:9px}.role-row h3{font-size:14px}.project h3{font-size:15px}.project-meta{font-size:9px}.project-meta .date{font-size:9px}.skill-row{grid-template-columns:1fr;gap:9px}.skill-items{font-size:12px}.contact-title h3{font-size:56px}.contact-title img{width:78px;height:86px}.email-link{font-size:18px}footer{font-size:8px;gap:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:white;border:0}.page{display:block}.identity{position:static;height:auto;min-height:0;padding:20px;border:0}.identity-top,.identity nav,.identity-bottom,.filters,.intro-actions,.copy-feedback,#copy-email,footer{display:none}h1{font:40px sans-serif}h1 br{display:none}.chinese-name{position:static;writing-mode:horizontal-tb}.identity-title{margin:10px 0}main{padding:20px}.display{font:25px sans-serif}.section{break-inside:avoid}details{break-inside:avoid}.project[hidden]{display:block!important}.project-detail{display:block!important}.contact-title h3{font:28px sans-serif}}
/* The display face is already heavy; avoid synthetic bold on all platforms. */
h1{font-weight:400;line-height:1.03;letter-spacing:-.015em}.display{font-weight:400;letter-spacing:0;line-height:1.15}.contact-title h3{font-weight:400;line-height:1.12;letter-spacing:0}
@media(max-width:720px){h1{font-size:98px;line-height:1.02}.display{font-size:45px}}

/* 2026.10 refresh: roomier rhythm, larger reading size, credential list, single CTA */
.section{padding:46px 0}.intro{padding-top:0;padding-bottom:50px}
.body-copy{font-size:14px}.role-row .body-copy,.experience-item .body-copy,.project .summary-copy,.project-detail p,.skill-items{font-size:13px}
.intro-actions a{display:inline-flex;align-items:center;gap:14px;border:1px solid var(--ink);padding:11px 18px;transition:background .2s,color .2s}.intro-actions a:hover{background:var(--ink);color:var(--paper)}.intro-actions span{margin-left:0}
.certificates{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));column-gap:24px;margin-top:0;font-size:13px;color:var(--ink)}.certificates span{padding:16px 0;border-top:1px solid var(--line)}.certificates span:before{color:var(--muted)}
.contact-title{margin-bottom:28px}
@media(max-width:720px){.section{padding:34px 0}.intro{padding-bottom:40px}}
