:root{--paper:#f5f0e6;--ink:#2c241f;--blue:#84b7d5;--line:#c8c0b4;--serif:Georgia,'Times New Roman','Songti SC',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'PingFang SC','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;display:block}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #397393;outline-offset:6px}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}header nav{display:flex;gap:36px;font-size:13px}header nav a:hover{text-decoration:underline;text-underline-offset:7px}.logo{font:italic bold 32px var(--serif);letter-spacing:-2px}.logo span{font:11px Arial;vertical-align:top;letter-spacing:0;margin-left:5px}.lang{border:0;background:none;padding:12px 0;font-size:12px}.skip{position:fixed;left:10px;top:-100px;z-index:100;background:var(--paper);padding:15px}.skip:focus{top:10px}.section{padding:100px 5%;scroll-margin-top:15px}.hero{padding:28px 5% 45px;overflow:hidden}.hero-top,.hero-bottom,.section-heading,.project-meta,.contact-bottom{display:flex;justify-content:space-between;gap:25px}.hero-top{font-size:10px;letter-spacing:1.7px;text-transform:uppercase}.hero-stage{position:relative;min-height:560px;padding-top:65px}.hero-type{font-family:Impact,'Arial Black',sans-serif;font-size:clamp(85px,13.6vw,220px);line-height:.91;letter-spacing:-.045em;position:relative;z-index:2;pointer-events:none}.hero-type em{font-style:normal;color:var(--blue)}.portrait{position:absolute;right:2%;bottom:0;width:35%;height:100%;margin:0;z-index:1;transform:rotate(3deg);padding-top:30px}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;border-radius:46% 46% 3px 3px;filter:saturate(.75)}.portrait figcaption{position:absolute;bottom:18px;right:-14px;background:var(--paper);border:1px solid var(--ink);padding:12px 18px;font:italic 24px var(--serif);transform:rotate(-8deg)}.hero-star{position:absolute;right:2%;top:20px;font-size:90px;z-index:3}.hero-bottom{align-items:flex-end;border-top:1px solid var(--line);padding-top:25px;margin-top:35px}.hero-bottom h1{font-size:15px;font-weight:500;margin:0 0 12px}.hero-bottom p{font-size:13px;line-height:1.8;margin:0;color:#625c55}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:18px 25px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:13px;white-space:nowrap}.button:hover{background:#496e83;border-color:#496e83}.work{border-top:1px solid var(--ink)}.eyebrow{font-size:10px;letter-spacing:2px;line-height:1.8;display:block}.section-heading{align-items:end;margin-bottom:45px}.section-heading h2,.about h2{font-weight:500;font-size:clamp(28px,3.4vw,52px);line-height:1.35;letter-spacing:-1.5px;margin:18px 0 0}.section-heading>p{font-size:12px;line-height:1.8}.projects{display:grid;grid-template-columns:1fr 1fr;gap:65px 35px}.project:first-child{grid-column:1/-1}.project-image{position:relative;overflow:hidden;background:#e5e0d8;aspect-ratio:1.35}.project:first-child .project-image{aspect-ratio:2.1}.project-image img{width:100%;height:100%;object-fit:contain;transition:transform .5s}.project-lapis .project-image img{object-fit:cover;object-position:50% 59%}.project-baker .project-image img{object-fit:cover;object-position:top}.project:hover img{transform:scale(1.025)}.open{position:absolute;right:18px;bottom:18px;background:var(--paper);width:45px;height:45px;display:grid;place-items:center;border-radius:50%;font-size:24px}.project-meta{font-size:9px;letter-spacing:1px;margin-top:18px;text-transform:uppercase}.project h3{font-size:26px;font-weight:500;letter-spacing:-.5px;margin:12px 0 8px}.project>p{font-size:13px;line-height:1.7;color:#6a6259;margin:0}.project-retail{margin-top:25px}.project-baker{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr;column-gap:45px;align-items:start}.project-baker .project-image{grid-row:1/5;aspect-ratio:1.35}.project-baker .project-meta{margin-top:25px}.project-baker h3{font:42px var(--serif);margin:40px 0 15px}.project-baker>p{align-self:start}.more{margin-top:65px;border-block:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:23px 0;display:flex;justify-content:space-between;font-size:14px}summary::-webkit-details-marker{display:none}.extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:15px 0 30px}.extra-grid figure{margin:0}.extra-grid img{width:100%;height:230px;object-fit:contain;background:#e8e3d9}.extra-grid figcaption{font-size:12px;padding-top:12px}.about{background:#e6ebeb;display:grid;grid-template-columns:1fr 1fr;gap:8%;border-block:1px solid var(--line)}.hand{font:italic 25px var(--serif);color:#527f99;transform:rotate(-5deg);margin-top:45px}.about-content>h3{font-size:18px;font-weight:500;margin-top:0}.about-content>p{font-size:14px;line-height:2;color:#5a5b57}.timeline{margin:35px 0}.timeline article{position:relative;border-top:1px solid #bac5c5;padding:20px 0 20px 115px}.timeline article>span{position:absolute;left:0;top:24px;font-size:10px}.timeline h4{font-size:14px;margin:0 0 8px;font-weight:500}.timeline p{font-size:11px;color:#626962;margin:0}.about-links{display:flex;align-items:start;gap:20px;flex-direction:column}.about-links a{border-bottom:1px solid;padding-bottom:5px;font-size:13px}.about-links>span{font-size:10px;line-height:1.8}.journal .hand{margin:0 0 5px}.photos{columns:3;column-gap:22px}.photos a{display:block;margin-bottom:22px;break-inside:avoid}.photos img{width:100%;transition:filter .3s}.photos a:hover img{filter:contrast(1.08)}.contact{background:var(--blue);padding-bottom:45px}.contact h2{font-size:clamp(42px,6.5vw,100px);line-height:1.12;letter-spacing:-3px;font-weight:500;margin:35px 0}.email{font:clamp(19px,3vw,44px) var(--serif);border-bottom:1px solid;padding-bottom:8px;display:inline-block}.contact-bottom{border-top:1px solid #47718b;margin-top:65px;padding-top:20px;font-size:11px;line-height:1.8}footer{padding:28px 5%;display:flex;justify-content:space-between;align-items:center;font-size:10px}footer p{color:#6a6259}.case{padding:45px 5% 80px}.back{font-size:12px;border-bottom:1px solid;padding-bottom:7px}.case-intro{padding:65px 0 45px;max-width:1000px}.case h1{font-size:clamp(40px,6vw,85px);font-weight:500;letter-spacing:-2px;margin:25px 0}.case-intro>p{font-size:18px;line-height:1.8;color:#6a6259}.case-copy{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;border-top:1px solid var(--line);padding:30px 0 55px}.case-copy h2{font-size:13px;margin:0 0 15px}.case-copy p{font-size:13px;line-height:1.9;margin:0;color:#6a6259}.case-images{max-width:1100px;margin:auto}.case-images figure{margin:0 0 35px;padding:25px;background:#e8e3d9}.case-images img{margin:auto;max-height:none;width:auto;max-width:100%}.next{display:block;padding:35px 0;border-top:1px solid;font-size:24px;margin-top:50px}.resume{max-width:950px;margin:auto;padding:60px 5%;font-size:13px;line-height:1.9}.resume-head{display:flex;justify-content:space-between;align-items:start;gap:25px}.resume h1{font-size:32px}.resume h2{font-size:18px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-top:35px}.resume h3{font-size:15px}.resume li{margin:10px 0}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero-stage{min-height:680px}}@media(max-width:1000px){.hero-stage{min-height:460px}.hero-type{padding-top:40px}.portrait{width:39%}.hero-star{font-size:65px}.section{padding-block:75px}.project-baker{column-gap:25px}.project-baker h3{font-size:32px;margin-top:20px}.about{gap:5%}.timeline article{padding-left:0}.timeline article>span{position:static;display:block;margin-bottom:10px}}@media(max-width:650px){header{height:74px;gap:12px;padding-inline:6%}.logo{font-size:27px}header nav{gap:14px;font-size:11px}header nav a:nth-child(3){display:none}.lang{font-size:10px}.hero{padding:22px 6% 35px}.hero-top{font-size:8px;letter-spacing:1px}.hero-top>span:last-child{display:none}.hero-stage{min-height:510px;padding-top:30px}.hero-type{font-size:20vw;position:relative;padding-top:0;line-height:1}.portrait{width:64%;height:330px;right:5%;bottom:0;padding-top:0;transform:rotate(3deg)}.portrait figcaption{font-size:19px;padding:9px 12px;right:-20px}.hero-star{left:0;right:auto;top:260px;font-size:65px}.hero-bottom{align-items:start;flex-direction:column;margin-top:25px;gap:22px}.hero-bottom p{font-size:12px}.hero-bottom h1{font-size:14px}.button{padding:15px 22px}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading h2,.about h2{font-size:28px;letter-spacing:-1px}.section-heading>p{margin-top:20px}.projects{grid-template-columns:1fr;gap:40px}.project:first-child{grid-column:auto}.project:first-child .project-image{aspect-ratio:1.3}.project-retail{margin-top:0}.project-baker{display:block;grid-column:auto}.project-baker h3{font:26px Arial;margin:12px 0 8px}.project-baker .project-meta{margin-top:18px}.project h3{font-size:24px}.project-meta{font-size:8px;gap:12px}.extra-grid{grid-template-columns:1fr 1fr;gap:20px 15px}.extra-grid img{height:170px}.extra-grid figcaption{font-size:11px;line-height:1.7}.about{grid-template-columns:1fr;gap:35px}.hand{font-size:22px;margin-top:25px}.about-content>p{font-size:13px}.timeline article{padding-left:110px}.timeline article>span{position:absolute;top:20px}.photos{columns:2;column-gap:12px}.photos a{margin-bottom:12px}.journal .hand{margin-top:25px}.contact h2{font-size:45px;letter-spacing:-2px}.contact-bottom{flex-direction:column;gap:0;margin-top:45px}.contact-bottom p{margin:5px 0}.case{padding:30px 6% 50px}.case-intro{padding-block:50px 25px}.case h1{font-size:40px}.case-intro>p{font-size:15px}.case-copy{grid-template-columns:1fr;gap:25px;padding-bottom:35px}.case-images figure{padding:8px;margin-bottom:18px}.next{font-size:18px}.resume-head{flex-direction:column}.resume h1{font-size:26px}footer .logo{font-size:23px}footer{gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{header,footer,.resume .button,.skip{display:none}.resume{padding:0;max-width:none;font-size:10px}.resume h2{margin-top:18px}.resume h1{font-size:25px}.resume li{margin:5px 0}body{background:white;color:black}@page{margin:15mm}}

/* Revised curation: internship work first. */
.work-category{border-top:1px solid var(--line);padding:25px 0 30px}.work-category>span{font-size:10px;letter-spacing:2px;color:#6a6259}.work-category h3{font-size:22px;font-weight:500;margin:12px 0 0}.school-label{margin-top:75px}.professional .project:first-child{display:grid;grid-template-columns:1fr 1fr;gap:0 45px;align-content:start}.professional .project:first-child .project-image{grid-row:1/5;aspect-ratio:1.1;background:#e7e7e3}.professional .project:first-child img{object-fit:contain}.professional .project:first-child .project-meta{margin-top:25px}.professional .project:first-child h3{font-size:36px;align-self:end;margin-top:45px}.project-pricetags .project-image{aspect-ratio:1.6;background:#ece7db}.project-pricetags .project-image img{object-fit:contain}.project-wanxiang .project-image img{object-fit:contain}.professional .project-retail{margin-top:0}.professional .project-retail .project-image{aspect-ratio:1.3}.professional .project-retail img{object-fit:contain}.academic-projects .project:first-child{display:block;grid-column:auto}.academic-projects .project:first-child .project-image{aspect-ratio:1.35}.academic-projects .project-baker h3{font:26px Arial;margin:12px 0 8px}.academic-projects .project-baker .project-meta{margin-top:18px}.academic-projects .project-lapis img{object-fit:contain}.case-images figcaption{font-size:12px;line-height:1.8;padding:18px 0 0;color:#625c55}.series-images{display:grid;grid-template-columns:1fr 1fr;gap:25px}.series-images figure{margin:0}.series-images img{max-height:850px}.collaboration-note{border:1px solid #7a9baa;background:#e6ebeb;padding:20px;margin-bottom:35px;font-size:14px}.demo-link{margin-bottom:45px}.demo-link p{font-size:12px;color:#625c55}@media(max-width:650px){.professional .project:first-child{display:block}.professional .project:first-child .project-image{aspect-ratio:1.1}.professional .project:first-child h3{font-size:24px;margin-top:12px}.school-label{margin-top:50px}.series-images{gap:15px}.series-images figure{padding:8px}.series-images figcaption{font-size:10px;padding-top:10px}}
