:root{--paper:#faf8f5;--ink:#352e3c;--muted:#69616f;--accent:#6f4263;--line:#d9d1d9;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'PingFang SC',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.shell{width:calc(100% - 112px);max-width:1328px;margin:auto}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font:500 31px var(--serif);letter-spacing:-1px;display:flex;align-items:center;gap:19px}.wordmark span{font:10px Arial,sans-serif;letter-spacing:2px}nav{display:flex;gap:34px;font-size:14px;align-items:center}.nav-contact{border-bottom:1px solid var(--accent);padding:7px 0;color:var(--accent);margin-left:12px}.nav-contact span{margin-left:16px}.hero{position:relative;padding-top:35px}.hero:before{content:'';position:absolute;z-index:-1;inset:-100px -50px -25px;background:radial-gradient(ellipse at 12% 45%,#e8e1f077,transparent 50%),radial-gradient(ellipse at 52% 0%,#f3e3e78a,transparent 45%);pointer-events:none}.eyebrow{font-size:11px;letter-spacing:2px;line-height:1.5;font-weight:500;margin:0 0 13px}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05}h1{font-size:clamp(76px,8.9vw,128px);letter-spacing:-5px;margin-bottom:30px}h1 span{font:23px 'Songti SC',serif;letter-spacing:5px;margin-left:30px;display:inline-block;vertical-align:middle}em{font-weight:400;color:var(--accent)}.hero-grid{display:grid;grid-template-columns:0.72fr 1.28fr;gap:45px;align-items:center}.hero-line{font:400 clamp(38px,4.2vw,59px)/1.07 var(--serif);letter-spacing:-1.6px;margin-bottom:23px}.intro{font-size:14px;line-height:1.8;max-width:370px;color:var(--muted);margin-bottom:22px}.text-link{display:inline-flex;gap:34px;border-bottom:1px solid var(--accent);padding-bottom:6px;color:var(--accent);font-size:14px}.quiet-link{display:block;font-size:13px;margin-top:14px}.featured{margin:0}.video-cover{padding:0;border:0;background:#e8e1f0;position:relative;display:block;width:100%;overflow:hidden;aspect-ratio:16/9}.video-cover img{width:100%;height:100%;object-fit:contain;display:block;transition:filter .25s}.video-cover:hover img{filter:brightness(.85)}.play{position:absolute;inset:0;margin:auto;width:68px;height:68px;border-radius:100%;background:#faf8f5e8;display:grid;place-items:center;color:var(--accent);font-size:19px;padding-left:3px;box-shadow:0 3px 25px #0002}.watch{position:absolute;right:18px;bottom:16px;padding:7px 12px;background:#faf8f5ed;color:var(--ink);font-size:10px;letter-spacing:1.5px}.watch span{margin-left:16px}.featured figcaption{display:flex;justify-content:space-between;padding-top:19px;gap:10px}.featured .eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:7px}.featured h2{font-size:26px;margin:0}.figure-number{font:italic 28px var(--serif);color:var(--muted)}.hero-bottom{display:flex;justify-content:space-between;margin-top:42px;padding:20px 0;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.7px;color:var(--muted)}.hero-bottom span:last-child{font:italic 18px var(--serif);letter-spacing:0}.section{padding-top:96px;padding-bottom:96px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:44px}.section-heading h2,.about h2{font-size:60px;letter-spacing:-1.5px;margin:0}.section-heading>p{color:var(--muted);font-size:14px;margin:0 0 4px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px}.work-grid .offset{padding-top:68px}.small{width:52px;height:52px;font-size:15px}.project-meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.4px;padding:20px 0 10px}.work h3{font-size:32px;margin-bottom:10px}.work article p{font-size:14px;color:var(--muted);margin-bottom:8px}.platform{font-size:12px;color:var(--accent);border-bottom:1px solid #a58b9f;padding-bottom:3px}.content-note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;margin:40px 0 0}.content-note span{font-size:10px;letter-spacing:1px;margin-right:15px}.archive-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:34px}.archive-row p{margin-bottom:3px}.archive-row>div:last-child{display:flex;gap:28px;font-size:13px;color:var(--accent)}.services{background:#eee8ef80}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.service-grid article{border-top:1px solid #cfc5d2;padding-top:20px}.service-no{font:italic 24px var(--serif);color:var(--accent)}.service-grid h3{font-size:32px;margin:20px 0 18px}.service-grid p{color:var(--muted);font-size:15px;max-width:330px;margin-bottom:30px}.service-tags{font-size:10px;letter-spacing:1.5px}.about{display:grid;grid-template-columns:1fr 2fr;gap:70px}.about>.eyebrow{padding-top:10px}.about h2{margin-bottom:30px}.about p:not(.eyebrow){max-width:630px;color:var(--muted);font-size:17px}.about .about-small{font-size:15px!important}.contact{background:radial-gradient(ellipse at 85% 100%,#e8e1f0,transparent 65%),linear-gradient(110deg,#f3e3e788,#f7f0ef);text-align:center}.contact h2{font-size:80px;letter-spacing:-2px;margin:25px 0}.email{font-size:21px;border-bottom:1px solid #ac909f;padding-bottom:8px}.email span{margin-left:30px}.contact p:last-child{font-size:14px;color:var(--muted);margin:27px 0 0}footer{padding:29px 0;display:flex;justify-content:space-between;gap:24px;font-size:12px}footer>div{display:flex;gap:24px}.preview-label{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.skip{position:fixed;left:10px;top:-80px;z-index:20;background:var(--paper);padding:10px}.skip:focus{top:10px}dialog{border:1px solid var(--line);padding:24px;width:min(960px,94vw);max-height:92dvh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#211828bd;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.modal-head h2{font-size:27px;margin:0}.close{border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 14px;white-space:nowrap}.modal-foot{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-top:16px}.modal-foot p{margin:0;max-width:65%}.modal-foot a{color:var(--accent);white-space:nowrap}.player-note{font-size:12px;color:var(--muted);margin:15px 0 0}#player-slot{aspect-ratio:16/9;background:#211828}#player-slot iframe{display:block;width:100%;height:100%;border:0}body:has(dialog[open]){overflow:hidden}
@media(min-width:1500px){.hero{padding-top:46px}.hero-grid{gap:70px}}
@media(max-width:1000px){.shell{width:calc(100% - 64px)}.hero-grid{gap:28px;grid-template-columns:.8fr 1.2fr}.hero-line{font-size:43px}.featured h2{font-size:23px}.intro br{display:none}.section-heading h2,.about h2{font-size:49px}.service-grid{gap:25px}.service-grid h3{font-size:28px}.about{gap:30px}.hero:before{inset:0 -28px}.watch{right:10px;bottom:10px;font-size:9px}.wordmark span{display:none}}
@media(max-width:700px){.shell{width:calc(100% - 40px)}header{height:76px}.wordmark{font-size:28px}nav{gap:18px;font-size:12px}nav a:nth-child(2){display:none}.nav-contact{margin-left:0}.nav-contact span{margin-left:4px}.hero{padding-top:28px}.eyebrow{font-size:10px;letter-spacing:1.5px}h1{font-size:clamp(58px,13.6vw,94px);letter-spacing:-2.7px;margin-bottom:22px}h1 span{font-size:16px;letter-spacing:2px;margin-left:12px}.hero-grid{display:flex;flex-direction:column;gap:27px;align-items:stretch}.hero-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.hero-line{font-size:36px;line-height:1.05;letter-spacing:-1px;margin-bottom:0;grid-row:span 2}.intro{font-size:12px;line-height:1.7;margin-bottom:13px}.hero-copy .text-link{font-size:12px;gap:10px;align-self:start;justify-self:start}.quiet-link{grid-column:1/-1;margin-top:18px;font-size:12px}.hero:before{inset:0 -20px}.featured figcaption{padding-top:15px}.featured h2{font-size:23px}.featured .eyebrow{font-size:9px}.play{width:54px;height:54px;font-size:16px}.watch{font-size:8px;padding:5px 8px}.hero-bottom{margin-top:25px;padding:16px 0;font-size:8px;letter-spacing:1px}.hero-bottom span:last-child{font-size:14px}.section{padding-top:62px;padding-bottom:62px}.section-heading{display:block;margin-bottom:28px}.section-heading h2,.about h2{font-size:46px}.section-heading>p{margin-top:20px;font-size:13px}.work-grid{grid-template-columns:1fr;gap:32px}.work-grid .offset{padding-top:0}.work h3{font-size:30px}.project-meta{padding-top:14px}.content-note{font-size:11px;line-height:1.8;margin-top:30px}.content-note span{display:block;margin-bottom:5px}.archive-row{display:block}.archive-row>div:last-child{flex-direction:column;gap:12px;margin-top:18px}.service-grid{grid-template-columns:1fr;gap:30px}.service-grid h3{margin:10px 0 14px;font-size:32px}.service-grid p{max-width:none;margin-bottom:18px}.about{display:block}.about>.eyebrow{margin-bottom:24px}.about p:not(.eyebrow){font-size:16px}.contact h2{font-size:55px}.email{font-size:18px}.email span{margin-left:12px}.contact p:last-child{font-size:13px}footer{flex-wrap:wrap;gap:17px;font-size:11px}.preview-label{order:3;width:100%}footer>div{gap:18px}.modal-head h2{font-size:22px}dialog{padding:16px}.modal-foot{display:block}.modal-foot p{max-width:none;margin-bottom:12px}.close{font-size:12px}.player-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Final readability and touch refinements. */
.intro{font-size:16px}.work article p,.platform{font-size:14px}.service-grid p{font-size:16px}.service-tags,.project-meta{font-size:12px}.content-note{font-size:14px}.archive-row>div:last-child{font-size:14px}nav a{min-height:44px;display:inline-flex;align-items:center}.close{min-height:44px}.quiet-link{font-size:14px}.contact p:last-child{font-size:16px}
@media(max-width:700px){.hero-copy{display:block}.hero-line{font-size:38px;margin-bottom:16px;line-height:1.04}.hero-line br{display:none}.hero-line br:after{content:' '}.hero-line em{display:block}.intro{font-size:15px;line-height:1.6;max-width:340px;margin-bottom:14px}.hero-copy .text-link{font-size:14px}.quiet-link{display:inline-block;margin:0 0 0 18px;font-size:12px}.hero-grid{gap:23px}.hero-bottom span:first-child{max-width:170px}.featured h2{font-size:25px}.featured .eyebrow{font-size:10px}.section-heading>p{font-size:15px}.service-tags,.project-meta{font-size:12px}.content-note{font-size:13px}.contact p:last-child{font-size:14px}.watch{font-size:10px}.hero-bottom{align-items:center}.archive-row a{padding:8px 0}.platform{display:inline-block;padding:7px 0}.hero:before{inset:0 -20px}.player-note{font-size:12px}}
@media(max-width:370px){.hero-copy .quiet-link{display:block;margin:12px 0 0}.hero-line{font-size:35px}.hero-bottom span:last-child{max-width:125px;text-align:right}nav{gap:13px}}

/* Concise homepage: let the work lead. */
.hero{padding-top:40px;padding-bottom:48px;border-bottom:1px solid var(--line)}.hero-line{font-size:clamp(48px,5.7vw,80px)}.hero .intro{margin-bottom:25px}.work h3{margin-top:20px}.section{padding-top:68px;padding-bottom:68px}.service-grid h3{margin:6px 0 20px}.archive-row{padding-top:22px}.contact h2{margin-top:0}.content-note{border-top:0;padding-top:0;margin-top:28px}.services .section-heading{margin-bottom:32px}.work .section-heading{margin-bottom:32px}
@media(max-width:700px){.hero{padding-top:28px;padding-bottom:32px}.hero-line{font-size:48px;line-height:1;margin-bottom:16px}.hero-line br{display:block}.hero-copy{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;align-items:center}.hero-line{grid-row:span 2}.hero .intro{font-size:14px;margin-bottom:0}.hero-copy .text-link{font-size:13px}.hero-grid{gap:22px}.section{padding-top:46px;padding-bottom:46px}.service-grid{gap:24px}.service-grid article{padding-top:16px}.service-grid h3{margin:0 0 10px}.work h3{margin-top:16px}.contact h2{font-size:49px}.archive-row>div:last-child{margin-top:0}nav a:nth-child(2){display:inline-flex}}

@media(max-width:700px){.hero-line{font-size:40px;letter-spacing:-1px}}

.player-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 16px;font-size:13px}.player-actions>span{color:var(--muted);margin-right:auto}.player-actions button,.player-actions a{padding:9px 12px;min-height:44px;border:1px solid var(--line);background:transparent;color:var(--accent)}.player-actions a{background:var(--accent);color:var(--paper);border-color:var(--accent)}@media(max-width:700px){.player-actions>span{width:100%}.player-actions{gap:10px}}
.video-unavailable{height:100%;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--ink);background:#eee8ef;gap:16px}.video-unavailable p{margin:0}.video-unavailable a{color:var(--accent);border-bottom:1px solid currentColor}#player-slot{min-height:200px}.player-actions>span{font-size:13px}

#player-slot video{display:block;width:100%;height:100%;min-height:200px;max-height:65dvh;object-fit:contain;background:#17131a}

/* Bio shares the homepage's typography and palette. */
nav a[aria-current="page"]{color:var(--accent);box-shadow:inset 0 -1px var(--accent)}
.bio-intro{padding-top:42px;padding-bottom:72px}.bio-title h1{font-size:clamp(64px,7.4vw,108px);margin-bottom:40px}.bio-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(48px,7vw,112px);align-items:center}.bio-portrait{margin:0;max-width:430px}.bio-portrait img{display:block;width:100%;height:auto}.bio-portrait figcaption{display:flex;justify-content:space-between;padding-top:14px;font-size:12px;color:var(--muted)}.bio-portrait figcaption span{font-style:italic}.bio-copy h2{font-size:clamp(48px,5.5vw,78px);margin-bottom:28px;letter-spacing:-1.5px}.bio-copy p{max-width:590px;font-size:17px;line-height:1.85;color:var(--muted);margin-bottom:20px}.bio-copy .bio-chinese{font-size:15px;line-height:2;margin-top:24px}.bio-actions{display:flex;gap:32px;flex-wrap:wrap;margin-top:28px}.bio-details{display:grid;grid-template-columns:1fr 1.4fr;gap:72px;padding-top:64px;padding-bottom:64px;border-top:1px solid var(--line)}.bio-details h2{font-size:52px;letter-spacing:-1px;margin-bottom:0}.bio-facts{display:grid;grid-template-columns:1fr 1fr;gap:28px}.bio-facts h3{font-size:29px;line-height:1.12;margin-bottom:12px}.bio-facts p{font-size:14px;color:var(--muted);margin-bottom:14px}.bio-facts .mentors{grid-column:1/-1;font-size:15px;max-width:540px;margin:0}.bio-recognition{background:#eee8ef80}.bio-recognition .bio-details{border:0}.bio-press{padding-top:70px;padding-bottom:70px}.press-links a{display:grid;grid-template-columns:1fr 1.6fr 20px;align-items:center;gap:24px;border-top:1px solid var(--line);padding:23px 0}.press-links a:last-child{border-bottom:1px solid var(--line)}.press-links a span:first-child{font-family:var(--serif);font-size:29px}.press-links a span:nth-child(2){font-size:14px;color:var(--muted)}
@media(max-width:700px){nav{gap:17px}.nav-contact{font-size:12px}nav a:nth-child(2){display:inline-flex}.bio-intro{padding-top:30px;padding-bottom:42px}.bio-title h1{font-size:56px;letter-spacing:-2px;margin-bottom:28px}.bio-title h1 span{margin-left:8px;font-size:16px}.bio-layout{grid-template-columns:1fr;gap:32px}.bio-portrait{max-width:280px;margin:auto}.bio-copy h2{font-size:49px;margin-bottom:23px}.bio-copy p{font-size:16px}.bio-copy .bio-chinese{font-size:14px}.bio-details{grid-template-columns:1fr;gap:30px;padding-top:42px;padding-bottom:42px}.bio-details h2{font-size:43px}.bio-details h2 br{display:none}.bio-facts{gap:26px;grid-template-columns:1fr}.bio-facts h3{font-size:28px}.bio-press{padding:46px 0}.press-links a{grid-template-columns:1fr 20px;gap:5px;padding:20px 0}.press-links a span:nth-child(2){grid-column:1;grid-row:2;font-size:13px}.press-links a span:last-child{grid-column:2;grid-row:1/3}.press-links a span:first-child{font-size:27px}.bio-actions{gap:25px}.wordmark{font-size:25px}}
@media(max-width:380px){nav{gap:12px}.bio-title h1{font-size:49px}}

/* Original biography: text left two thirds, portrait right one third. */
.bio-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:48px;align-items:start}.bio-copy{grid-column:1;grid-row:1}.bio-copy h2{font-size:42px;letter-spacing:-.5px;margin-bottom:24px}.bio-copy p{max-width:none;font-size:16px;line-height:1.85}.bio-copy .bio-chinese{font-size:15px;line-height:2}.bio-portrait{grid-column:2;grid-row:1;width:100%;max-width:290px;justify-self:end;margin:0}.bio-title h1{font-size:clamp(56px,6vw,86px);margin-bottom:32px}
@media(max-width:700px){.bio-layout{grid-template-columns:1fr;gap:30px}.bio-copy{grid-column:1;grid-row:1}.bio-portrait{grid-column:1;grid-row:2;max-width:200px;justify-self:start}.bio-copy h2{font-size:36px}.bio-copy p{font-size:16px}.bio-title h1{font-size:52px}.bio-title h1 span{font-size:15px;margin-left:8px}}

/* Independent Home / Bio / Work routes. */
.home-page .hero{padding-bottom:72px}.home-page .hero-grid{display:block}.home-page .hero-copy{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;column-gap:70px;max-width:1020px}.home-page .hero-line{grid-row:span 2;font-size:clamp(64px,7vw,100px);margin:0}.home-page .intro{font-size:20px;align-self:end;margin-bottom:20px}.home-page .hero-copy .text-link{justify-self:start;align-self:start}.work-intro{padding-top:42px}.work-intro h1{font-size:clamp(64px,7.5vw,108px);letter-spacing:-2px;margin-bottom:38px}.work-intro .featured{max-width:1000px}.work-intro .featured h2{font-size:30px}.work-page .work{padding-top:64px}.work-page .work-grid .offset{padding-top:0}
@media(max-width:700px){.home-page .hero{padding-bottom:48px}.home-page .hero-copy{display:block}.home-page .hero-line{font-size:62px;margin:8px 0 28px}.home-page .intro{font-size:17px;margin-bottom:20px}.work-intro{padding-top:32px}.work-intro h1{font-size:59px;margin-bottom:28px}.work-intro .featured h2{font-size:25px}.work-page .work{padding-top:36px}}
/* Keep shared navigation visible while scrolling. */
header.shell{position:sticky;top:0;z-index:30;background:var(--paper);box-shadow:0 0 0 1px var(--paper)}
html{scroll-padding-top:124px}
@media(max-width:700px){html{scroll-padding-top:96px}}

/* Simplified homepage introduction. */
.home-page .hero-copy{display:block}.home-page .intro{margin:0}.home-page .contact .email{display:inline-block}

.poster-gallery{padding:40px 0 52px}.poster-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border:1px solid var(--line);background:#f0ebef;overscroll-behavior-x:contain}.poster-track::-webkit-scrollbar{display:none}.poster-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:center;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;padding:28px;height:580px}.poster-slide img{display:block;max-width:100%;height:100%;object-fit:contain;width:auto}.poster-controls{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:20px}.poster-controls button{width:48px;height:44px;background:transparent;border:1px solid var(--line);color:var(--accent);font-size:22px}.poster-controls button:disabled{opacity:.3;cursor:default}.poster-controls span{font-size:12px;letter-spacing:2px;color:var(--muted)}@media(max-width:700px){.poster-gallery{padding:25px 0 35px}.poster-slide{height:460px;max-height:65dvh;padding:16px}}

/* Quiet bilingual hierarchy on Home only. */
.home-page [lang="zh-CN"]{font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;font-weight:400}
header nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.4;padding:8px 0}
header nav .nav-zh{font-size:11px;letter-spacing:.08em;color:var(--muted);margin:0}header nav .nav-en{margin:0}
.home-page .intro-zh{color:var(--muted);font-size:15px;line-height:1.9;margin:12px 0 0;letter-spacing:.04em}
.home-page .section-zh{font-size:18px;letter-spacing:.15em;color:var(--muted);margin-left:18px;vertical-align:middle}
.home-page .service-grid h3{margin-bottom:8px}.home-page .service-grid .service-zh{font-size:16px;color:var(--muted);margin:0 0 22px;letter-spacing:.08em;line-height:1.6}
.home-page .service-detail-zh{display:block;font-size:13px;color:var(--muted);margin-top:7px;letter-spacing:.04em;line-height:1.7}
@media(max-width:700px){.home-page nav{gap:18px}.home-page nav .nav-zh{font-size:10px}.home-page .intro-zh{font-size:14px;margin-top:10px;letter-spacing:0}.home-page .section-zh{font-size:16px;margin-left:12px}.home-page .service-grid .service-zh{margin-bottom:16px;font-size:15px}.home-page .service-detail-zh{font-size:13px}}
@media(max-width:370px){.home-page nav{gap:13px}}

.home-page .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.home-page .service-grid{grid-template-columns:1fr}}

.home-page .service-grid h3{line-height:1.4;margin-bottom:22px}.home-page .service-title-zh{display:inline-block;font-size:15px;letter-spacing:.04em;color:var(--muted);margin-left:12px;vertical-align:baseline}@media(max-width:700px){.home-page .service-title-zh{font-size:14px;margin-left:8px}}

.bio-achievements{padding-bottom:70px}.bio-achievements h2{font-size:60px;letter-spacing:-1.5px;margin:0}.achievement-list{list-style:none;margin:0;padding:0}.achievement-list li{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:24px 0;border-top:1px solid var(--line)}.achievement-list li:last-child{border-bottom:1px solid var(--line)}.achievement-list li>span{color:var(--accent);font-size:15px}.achievement-list p{margin:0;color:var(--muted);font-size:16px;line-height:1.8}@media(max-width:700px){.bio-achievements{padding-bottom:46px}.bio-achievements h2{font-size:46px}.achievement-list li{grid-template-columns:48px 1fr;gap:16px;padding:20px 0}.achievement-list p{font-size:14px}}

/* Compact achievements, one continuous list. */
.achievement-list{padding:0;max-width:950px}.achievement-list li,.achievement-list li:last-child{display:list-item;border:0;padding:0;margin:0 0 10px;color:var(--muted);font-size:16px;line-height:1.85}.bio-achievements .section-heading{margin-bottom:24px}@media(max-width:700px){.achievement-list li,.achievement-list li:last-child{font-size:14px;margin-bottom:9px}}
/* Compact press directory. */
.bio-press .section-heading{margin-bottom:28px}
.press-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.press-links a{grid-template-columns:minmax(0,1fr) 20px;gap:5px 14px;padding:17px 0;align-content:start}
.press-links a span:first-child{font-size:25px}
.press-links a span:nth-child(2){grid-column:1;grid-row:2;font-size:13px;line-height:1.6}
.press-links a span:last-child{grid-column:2;grid-row:1/3;align-self:center}
.press-links a:last-child{border-bottom:0}
@media(max-width:700px){.press-links{grid-template-columns:1fr}.press-links a{padding:13px 0;gap:3px 14px}.press-links a span:first-child{font-size:24px}.bio-press .section-heading{margin-bottom:22px}}

.contact-page{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 90% 60%,#e8e1f088,transparent 60%),radial-gradient(ellipse at 10% 90%,#f3e3e777,transparent 55%),var(--paper)}.contact-main{flex:1;padding-top:100px;padding-bottom:120px}.contact-main h1{font-size:clamp(64px,7.5vw,108px);letter-spacing:-2px;margin-bottom:36px}.contact-lead{font-size:19px;margin-bottom:8px}.contact-zh{font-size:15px;color:var(--muted);margin-bottom:38px;line-height:1.8}.contact-page footer{border-top:1px solid var(--line)}@media(max-width:700px){.contact-main{padding-top:65px;padding-bottom:80px}.contact-main h1{font-size:60px;line-height:1.06}.contact-lead{font-size:17px}.contact-zh{font-size:14px}.contact-main .email{font-size:18px}}

.portfolio-page{min-height:100dvh;display:flex;flex-direction:column}.portfolio-main{flex:1;padding-top:58px;padding-bottom:90px}.portfolio-main h1{font-size:clamp(64px,8vw,108px);letter-spacing:-2px}.portfolio-placeholder{border-top:1px solid var(--line);padding:32px 0;color:var(--muted)}.portfolio-placeholder p{margin:0 0 10px;font-size:17px}.portfolio-placeholder [lang="zh-CN"]{font-size:14px}.portfolio-page footer{border-top:1px solid var(--line)}@media(max-width:700px){header nav,.home-page header nav{gap:13px;font-size:12px}.portfolio-main{padding-top:36px}.portfolio-main h1{font-size:64px}.portfolio-main h1 span{font-size:18px}.nav-contact span{margin-left:0}}@media(max-width:380px){header nav,.home-page header nav{gap:9px;font-size:11px}.wordmark{font-size:22px}.nav-contact{font-size:11px}}

.bio-tools{padding:0 0 70px}.bio-tools .section-heading{margin-bottom:30px}.bio-tools h2{font:400 52px/1.15 var(--serif);margin:0;letter-spacing:-1px}.bio-tools h2 span{font:400 16px/1.6 "PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.08em;color:var(--muted);display:inline-block;margin-left:14px}.tools-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px}.tools-columns article{border-top:1px solid var(--line);padding-top:22px}.tools-columns h3{font-size:30px;margin:0 0 15px}.tools-columns h3 span{font:400 14px "PingFang SC","Microsoft YaHei",sans-serif;color:var(--muted);margin-left:12px}.core-tools{display:none}.tools-columns summary{cursor:pointer;color:var(--accent);font-size:14px;padding:12px 0;min-height:44px}.tools-columns summary span{font-size:12px;display:inline-block;margin-left:8px;color:var(--muted)}.tools-columns summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.software-list{padding-left:19px;columns:2;column-gap:28px;margin:14px 0 0;font-size:14px;color:var(--muted)}.software-list li{break-inside:avoid;margin-bottom:9px;line-height:1.7}.equipment-list{margin:14px 0 0}.equipment-list>div{margin-bottom:16px}.equipment-list dt{font-size:12px;color:var(--accent);margin-bottom:4px}.equipment-list dd{font-size:14px;color:var(--muted);margin:0;line-height:1.8}.bio-tools .section-heading::after{content:"Selected key tools and equipment · 以下为部分关键项目";display:block;margin-top:12px;color:var(--muted);font-size:14px}@media(max-width:700px){.bio-tools{padding-bottom:46px}.bio-tools h2{font-size:40px}.bio-tools h2 span{font-size:14px;margin:8px 0 0;display:block}.bio-tools .section-heading::after{line-height:1.7}.tools-columns{grid-template-columns:1fr;gap:28px}.software-list{columns:1}.tools-columns h3{font-size:28px}}
/* key-list cue */
.project-year-group{display:grid;grid-template-columns:64px minmax(0,1fr);gap:28px;border-top:1px solid var(--line);padding:22px 0}
.project-year-group>h2{font:italic 26px/1.4 var(--serif);color:var(--accent);margin:0}
.year-projects{display:grid;gap:22px}
.project-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px}
.project-heading h3{font:400 27px/1.25 var(--serif);margin:0}
.project-subtitle{font-size:21px}
.project-kind{font-size:11px;color:var(--muted)}
.project-details{display:flex;flex-wrap:wrap;gap:3px 0;margin-top:6px}
.project-details p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}
.project-details .project-recognition::before{content:"·";margin:0 12px;color:var(--accent)}
@media(max-width:700px){.project-year-group{grid-template-columns:42px minmax(0,1fr);gap:16px;padding:18px 0}.project-year-group>h2{font-size:22px}.year-projects{gap:20px}.project-heading h3{font-size:24px}.project-subtitle{font-size:19px}.project-details{display:block}.project-details p{font-size:12px}.project-details .project-recognition::before{content:none}}
.portfolio-caption{font-size:11px;letter-spacing:.15em;color:var(--muted);margin:0 0 32px}
.portfolio-caption span{margin-left:14px;letter-spacing:.08em}
.credit-row{display:grid;grid-template-columns:64px minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:28px;padding:28px 0;border-top:1px solid var(--line);align-items:start}
.credit-year{font:italic 24px/1.4 var(--serif);color:var(--accent)}
.credit-project h2{font-size:30px;line-height:1.15;letter-spacing:-.3px;margin:0 0 9px}
.credit-project h2:lang(zh){font-size:24px}
.credit-row p{margin:0;font-size:14px;line-height:1.7;color:var(--muted)}
.credit-row .credit-kind{font-size:12px;margin-top:8px}
.credit-row .credit-subtitle{font:400 22px/1.3 var(--serif);margin-bottom:9px;color:var(--ink)}
.credit-label{display:block;font-size:10px;letter-spacing:.05em;color:var(--accent);margin-bottom:8px}
@media(max-width:1000px){.credit-row{grid-template-columns:50px minmax(0,1.3fr) minmax(0,1fr);gap:20px}.credit-platform{grid-column:2/-1}.credit-project h2{font-size:28px}}
@media(max-width:700px){.credit-row{grid-template-columns:44px minmax(0,1fr);gap:14px 16px;padding:24px 0}.credit-role,.credit-platform{grid-column:2}.credit-label{margin-bottom:4px}.credit-project h2{font-size:28px}.credit-year{font-size:22px}.portfolio-caption{margin-bottom:24px}.credit-row p{font-size:13px}}






/* Persistent footer with reserved space for the page content. */
body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
html{scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
footer.shell{position:fixed;inset:auto 0 0;z-index:30;width:100%;max-width:none;margin:0;height:calc(72px + env(safe-area-inset-bottom,0px));padding:10px max(56px,calc((100vw - 1328px)/2)) calc(10px + env(safe-area-inset-bottom,0px));align-items:center;flex-wrap:nowrap;gap:20px;background:var(--paper);border-top:1px solid var(--line)}
footer.shell>div{display:flex;align-items:center;gap:8px;margin-left:auto}
footer.shell a{display:inline-flex;justify-content:center;align-items:center;width:44px;min-height:44px;white-space:nowrap}
footer.shell a svg{width:24px;height:24px;display:block}
footer.shell a[aria-label="LinkedIn"] svg{width:22px;height:22px}
footer.shell a .imdb-icon{width:28px;height:18px}
footer.shell a .xiaohongshu-icon{width:30px;height:20px}
html{scrollbar-gutter:stable}
header.shell{flex-shrink:0}
@media(max-width:700px){header nav .nav-zh{font-size:10px}}
footer.shell .preview-label{display:none}
@media(max-width:1000px){footer.shell{padding-left:32px;padding-right:32px}}
@media(max-width:700px){footer.shell{padding-left:20px;padding-right:20px;gap:8px;font-size:11px}footer.shell>span:first-child{white-space:nowrap}footer.shell>div{gap:2px}}

.translation{font:400 12px/1.7 Arial,"PingFang SC",sans-serif;color:var(--muted);letter-spacing:0;margin-left:8px}h1 .translation,h2 .translation,h3 .translation{font-size:15px;vertical-align:baseline}.press-links .translation{display:block;margin-left:0;font-size:11px}.achievement-list .translation{font-size:12px}.project-details .translation,.project-kind .translation{font-size:11px;margin-left:6px}.tools-columns summary{list-style:none}.tools-columns summary::-webkit-details-marker{display:none}.tools-columns summary::before{content:"⌄";display:inline-block;font-size:16px;margin-right:9px}.tools-columns details[open] summary::before{transform:rotate(180deg)}
