:root{--paper:#f9f6fa;--ink:#19161a;--muted:#777279;--mint:#9bd4c1;--lime:#e9f465;--line:rgba(25,22,26,.14);--gutter:clamp(24px,5.7vw,110px);--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #7155e8;outline-offset:6px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}button{border:0}h1,h2{font-weight:500;letter-spacing:-.055em;line-height:1.1}h2{font-size:clamp(36px,4.8vw,72px)}p{font-size:16px;line-height:1.8}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:600;line-height:1.5;margin-bottom:22px}.section-pad{padding-left:var(--gutter);padding-right:var(--gutter);max-width:1680px;margin:auto}.muted{color:#a09aa3}.text-link{display:inline-flex;gap:22px;align-items:center;font-size:14px;white-space:nowrap}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;border-radius:100px;min-height:43px;padding:12px 22px;font-size:14px;font-weight:500;transition:background .25s,transform .35s var(--ease)}.button:hover{transform:translateY(-3px)}.button.dark{background:var(--ink);color:white}.button.dark:hover{background:#39313d}.button.outline{border:1px solid var(--ink);background:transparent}.button.outline:hover{background:var(--ink);color:white}.skip-link{position:fixed;top:-80px;left:20px;z-index:1000;background:var(--ink);color:white;padding:15px}.skip-link:focus{top:15px}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;transition:background .4s,height .4s,box-shadow .4s}.site-header.scrolled{height:72px;background:rgba(249,246,250,.88);backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(25,22,26,.04)}.brand{font-size:19px;font-weight:700;letter-spacing:-.055em;white-space:nowrap;display:inline-flex;align-items:center;gap:11px}.brand-logo{display:block;width:79px;height:38px;flex:none;background:transparent}.brand-logo img{display:block;width:100%;height:100%;object-fit:contain;background:transparent}.site-header nav{display:flex;gap:34px;margin-left:auto;margin-right:52px;font-size:14px;font-weight:600}.site-header nav a{position:relative;padding:10px 0}.site-header nav a:after{content:"";position:absolute;height:2px;background:var(--ink);bottom:3px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover:after,.site-header nav a.active:after{transform:scaleX(1)}.site-header nav span{font-size:12px;margin-left:4px;font-weight:400}.header-contact{display:flex;align-items:center;gap:13px;font-size:14px}.circle-arrow{display:grid;place-items:center;background:white;border-radius:50%;width:31px;height:31px;font-size:20px;transition:transform .3s}.header-contact:hover .circle-arrow{transform:rotate(45deg)}
.hero{height:max(740px,100svh);max-height:1000px;position:relative;display:flex;flex-direction:column;align-items:center;padding-top:145px;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 28% 30%,#eeebef 0%,transparent 45%),radial-gradient(ellipse at 72% 70%,#eeebef 0%,transparent 45%);opacity:.8}.hero-heading{text-align:center;position:relative;z-index:3}.hero-heading .eyebrow{margin-bottom:23px;font-size:11px}.hero h1{font-size:clamp(44px,5.4vw,82px);line-height:1.04;letter-spacing:-.063em}.hero h1 span{display:block}.intro{animation:introIn 1.3s var(--ease) both;animation-delay:.13s}.hero h1 span:nth-child(2){animation-delay:.3s}.hero-bottom.intro{animation-delay:1.25s}.fan-scene{position:relative;width:100%;height:300px;margin-top:30px;perspective:1000px;flex-shrink:0}.fan-card{--i:0;position:absolute;width:clamp(133px,15.5vw,225px);height:clamp(172px,19.2vw,280px);left:50%;top:12px;margin-left:clamp(-112px,-7.75vw,-66.5px);border-radius:16px;padding:0;background:#ddd;box-shadow:0 1px 3px rgba(25,22,26,.28),-5px 5px 12px rgba(25,22,26,.24),0 12px 24px rgba(25,22,26,.17);transform:translateX(calc(var(--i) * min(9.4vw,140px))) translateY(calc(var(--i) * var(--i) * 3px)) rotate(calc(var(--i) * 4deg));transition:transform .75s var(--ease),box-shadow .4s;animation:fanOpen 1.5s var(--ease) backwards;animation-delay:calc(.4s + var(--order)*.06s);overflow:visible}.fan-card img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.fan-card:hover,.fan-card:focus-visible{z-index:20!important;transform:translateX(calc(var(--i) * min(9.4vw,140px))) translateY(-26px) rotate(0deg) scale(1.07);box-shadow:0 2px 5px rgba(25,22,26,.28),-6px 8px 16px rgba(25,22,26,.25),0 24px 40px rgba(25,22,26,.22)}.fan-card .card-tag{position:absolute;top:-21px;right:-18px;border-radius:25px;padding:8px 12px;font-size:12px;line-height:1;background:var(--mint);color:#13352b;transform:rotate(7deg);pointer-events:none}.fan-card .card-tag.blue{background:#3b28df;color:white;right:auto;left:-20px;transform:rotate(-9deg)}.hero-bottom{text-align:center;position:relative;z-index:21;margin-top:18px}.hero-bottom p{font-size:14px;margin-bottom:22px}.hero-bottom>.text-link{display:flex;justify-content:center;font-size:12px;margin-top:15px;gap:7px}.hero-side{position:absolute;left:4%;bottom:24px;font-size:10px;letter-spacing:.13em;color:var(--muted)}
.intro-section{min-height:668px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding-top:78px;padding-bottom:100px;overflow:hidden}.intro-copy h2{font-size:clamp(38px,4.4vw,65px);line-height:1.18}.body-copy{margin-top:30px;color:#655d69}.stack-scene{position:relative;height:430px;perspective:1000px}.stack-card{position:absolute;left:50%;top:50%;width:210px;height:260px;margin:-130px 0 0 -105px;border-radius:15px;object-fit:cover;box-shadow:0 15px 30px #20132312;will-change:transform;transition:transform .18s linear}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px;gap:30px}.section-heading .eyebrow{margin-bottom:20px}.section-number{font-size:11px;letter-spacing:.13em;color:var(--muted);padding-bottom:5px}.featured{padding-top:60px}.feature-frame{position:relative;height:clamp(430px,42vw,670px);overflow:hidden;border-radius:21px;background:#ded5cb}.feature-main{display:block;width:100%;height:100%;text-align:left;padding:0;position:relative;background:#ded5cb;overflow:hidden}.feature-main img{width:100%;height:100%;object-fit:cover;object-position:center 50%;transition:transform 1s var(--ease),opacity .35s}.feature-main:hover img{transform:scale(1.035)}.feature-main.switching img{opacity:.2;transform:scale(1.04)}.feature-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0003,transparent 30%,#0009)}.feature-top{position:absolute;top:28px;left:32px;right:32px;display:flex;justify-content:space-between;color:white;font-size:11px;letter-spacing:.14em}.feature-caption{position:absolute;left:36px;bottom:36px;color:white;display:flex;flex-direction:column;gap:12px}.feature-caption strong{font-size:clamp(34px,4vw,60px);letter-spacing:-.045em;font-weight:500;line-height:1.05}.feature-caption>span:last-child{font-size:15px}.feature-category{font-size:12px;background:white;color:var(--ink);border-radius:25px;padding:5px 12px;align-self:flex-start}.feature-open{position:absolute;right:34px;bottom:85px;color:white;font-size:38px}.feature-controls{position:absolute;bottom:30px;right:30px;display:flex;gap:9px}.feature-controls button{background:white;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;transition:transform .2s}.feature-controls button:hover{transform:scale(1.12)}.practice-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:72px 0 50px;color:#9b949e}.practice-strip>span{font-size:14px;line-height:1.5;color:#5c565f}.practice-strip p{font-size:clamp(16px,2vw,27px);font-weight:500;letter-spacing:-.04em}.statement{height:760px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.statement-text{text-align:center;position:relative;z-index:2;padding:0 20px}.statement-text h2{font-size:clamp(35px,4.2vw,64px);line-height:1.25}.statement-text p:last-child{margin-top:20px;font-size:14px;color:var(--muted)}.sticker{position:absolute;border-radius:30px;padding:8px 15px;font-size:14px;color:white;left:-40px;top:15px;transform:rotate(-12deg)}.sticker.blue{background:#3c2bde}.sticker.yellow{background:#dfa711;right:-40px;left:auto;transform:rotate(12deg);top:60px}.statement-fan{position:absolute;inset:0;z-index:3;pointer-events:none}.statement-card{position:absolute;left:50%;top:50%;width:175px;height:220px;margin:-150px 0 0 -87px;border-radius:15px;object-fit:cover;box-shadow:0 8px 16px #2221;will-change:transform,opacity}
.work-section{padding-top:60px;padding-bottom:140px}.work-nav{display:flex;gap:28px;margin:0 0 78px;border-bottom:1px solid var(--line);padding:0 0 25px}.work-nav a{font-size:14px;display:inline-flex;gap:22px;padding:6px 0}.work-nav a:hover{color:#665481}.work-nav a span{font-size:11px;color:var(--muted);padding-top:1px}.project-group{scroll-margin-top:100px;margin-bottom:105px}.project-group:last-child{margin-bottom:0}.group-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.group-heading h3{font-size:16px;font-weight:500}.group-heading h3 span{color:var(--muted);margin-right:12px}.group-heading>span{font-size:12px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 35px;align-items:start}.project-card:nth-child(even){margin-top:100px}.project-card{background:none;padding:0;text-align:left;display:block;width:100%;min-width:0}.project-media{display:block;position:relative;background:#e6e2e7;overflow:hidden;border-radius:15px;aspect-ratio:6/5}.project-media img{height:100%;width:100%;object-fit:cover;transition:transform 1s var(--ease);object-position:var(--cover-position,50% 50%);transform:scale(var(--cover-scale,1));transform-origin:var(--cover-position,50% 50%)}.product-grid .project-media{aspect-ratio:6/5}.product-grid .project-media img{object-fit:cover;background:#eeeae7}.project-card:hover .project-media img{transform:scale(var(--cover-hover-scale,1.025))}.project-chip{position:absolute;left:18px;top:18px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);padding:7px 12px;font-size:11px;border-radius:20px}.project-go{position:absolute;right:18px;bottom:18px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:white;font-size:24px;transform:translateY(65px) rotate(-35deg);transition:transform .5s var(--ease)}.project-card:hover .project-go,.project-card:focus-visible .project-go{transform:translateY(0) rotate(0)}.project-meta{display:flex;justify-content:space-between;gap:12px;margin-top:19px;align-items:center}.project-meta .project-title{margin:0;font-size:23px;font-weight:500;letter-spacing:-.04em}.project-meta>span{font-size:12px;color:var(--muted);white-space:nowrap}.project-description{display:block;font-size:14px;color:var(--muted);margin-top:10px;line-height:1.7}.visual-grid{grid-template-columns:repeat(2,1fr)}.visual-grid .project-media{aspect-ratio:6/5}.visual-grid .project-card:nth-child(even){margin-top:60px}
.about-section{padding-top:50px;padding-bottom:160px}.about-head{margin-bottom:70px;text-align:center}.about-head h2{line-height:1.22}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.portrait-wrap{position:relative;padding-top:37px}.portrait-label{position:absolute;top:0;left:0;right:0;background:white;display:flex;justify-content:space-between;border-radius:12px 12px 0 0;padding:14px 20px;font-size:12px;line-height:1}.portrait-wrap>img{width:100%;height:auto;border:10px solid white;border-top:0;border-radius:0 0 14px 14px}.portrait-sticker{position:absolute;bottom:35px;right:-25px;background:var(--lime);padding:15px 21px;border-radius:35px;transform:rotate(-9deg);font-size:17px;letter-spacing:-.04em}.about-copy h3{font-size:clamp(35px,4.5vw,67px);font-weight:500;line-height:1.05;letter-spacing:-.065em;margin-bottom:30px}.about-copy h3>span{display:block;font-size:22px;letter-spacing:0;margin-top:17px}.about-copy p:not(.eyebrow){color:#706a74;margin-bottom:20px}.about-copy .about-intro{color:var(--ink)!important}.education{display:flex;justify-content:space-between;gap:20px;padding-top:26px;margin-top:26px;border-top:1px solid var(--line);font-size:16px;line-height:1.8}.education small{font-size:12px;color:var(--muted)}.grade{display:flex;align-items:center;gap:30px;margin:26px 0}.grade strong{font-size:61px;font-weight:500;letter-spacing:-.065em}.grade strong>span{font-size:25px;color:#aba3af;margin-left:8px}.grade p{font-size:12px;margin:0!important;line-height:1.65!important}.about-copy>.button{margin-top:7px}.experience-section{padding-top:50px;padding-bottom:160px}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:70px}.column-label{font-size:12px;letter-spacing:.09em;margin-bottom:32px;color:var(--muted)}.experience-item{display:flex;gap:25px;padding:25px 0 35px;border-top:1px solid var(--line)}.item-year{font-size:12px;margin-top:6px;color:var(--muted)}.experience-item h3{font-size:23px;font-weight:500;letter-spacing:-.04em;margin-bottom:14px;line-height:1.4}.experience-item p{font-size:14px;line-height:1.8;color:var(--muted)}.experience-item p.position{font-size:14px;color:var(--ink);margin-bottom:12px}.skills-block{margin-top:30px}.skills-block .column-label{margin-bottom:20px}.tool-tags{display:flex;gap:8px;flex-wrap:wrap}.tool-tags span{font-size:12px;padding:10px 14px;border:1px solid var(--line);border-radius:30px}.award-row{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding:15px 0;align-items:center}.award-row h3{font-size:14px;font-weight:400;line-height:1.6}.award-row>span{font-size:12px;white-space:nowrap;color:var(--muted)}.award-patent{font-size:14px;padding:16px 0 25px;display:flex;justify-content:space-between}
.contact-section{margin:0 var(--gutter);background:var(--lime);border-radius:24px;overflow:hidden;position:relative;min-height:620px}.contact-marquee{padding:34px 0 18px;overflow:hidden}.contact-marquee>div{--marquee-gap:34px;display:flex;gap:var(--marquee-gap);padding-right:var(--marquee-gap);align-items:center;width:max-content;animation:marquee 32s linear infinite}.contact-marquee span{font-size:clamp(40px,5vw,72px);line-height:1.1;white-space:nowrap;letter-spacing:-.06em}.contact-marquee .marquee-star{font-size:55px}.contact-content{position:relative;z-index:2;text-align:center;padding:67px 20px 95px}.contact-content h2{font-size:clamp(34px,4vw,60px);line-height:1.2}.contact-content .button{margin-top:30px}.contact-email{display:block;font-size:14px;margin-top:20px}.contact-email:hover{text-decoration:underline}.contact-bottom{position:absolute;left:35px;right:35px;bottom:22px;display:flex;justify-content:space-between;font-size:12px}footer{padding:45px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:20px}footer>span{font-size:12px;color:var(--muted)}footer .text-link{font-size:12px}footer .brand{font-size:16px}
dialog{padding:0;border:0;background:var(--paper);color:var(--ink);width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;overscroll-behavior:contain}dialog::backdrop{background:#15101a99}dialog[open]{animation:dialogIn .5s var(--ease)}.dialog-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;background:rgba(249,246,250,.95);backdrop-filter:blur(15px);padding:20px var(--gutter);gap:15px;border-bottom:1px solid var(--line)}.dialog-bar>span{font-size:12px;color:var(--muted)}.dialog-close{display:flex;gap:22px;align-items:center;background:var(--ink);color:white;border-radius:30px;padding:9px 18px;font-size:14px}.dialog-close>span{font-size:22px}.project-detail-head{padding:80px var(--gutter) 60px;max-width:1300px;margin:auto}.project-detail-head h2{font-size:clamp(40px,5vw,76px);margin-bottom:28px;line-height:1.15;overflow-wrap:anywhere}.detail-intro{max-width:760px;color:#706674;line-height:1.9}.detail-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.detail-tags span{font-size:12px;border:1px solid var(--line);border-radius:30px;padding:8px 13px}.detail-pages{max-width:1600px;margin:auto;padding:0 20px}.detail-page{margin:0 0 24px;background:white;border-radius:6px;overflow:hidden}.detail-page img{width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;background:#fff}.detail-page figcaption{font-size:12px;color:var(--muted);padding:12px 20px;border-top:1px solid #eee}.detail-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:80px var(--gutter);padding-top:40px;border-top:1px solid var(--line)}.detail-next{background:none;text-align:right;padding:0}.detail-next>small{display:block;font-size:12px;color:var(--muted);margin-bottom:12px}.detail-next>strong{font-size:clamp(22px,3vw,40px);font-weight:500;letter-spacing:-.05em}.custom-cursor{position:fixed;z-index:100;left:0;top:0;pointer-events:none;width:75px;height:75px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:12px;font-weight:600;opacity:0;transform:translate(-50%,-50%) scale(.5);transition:opacity .2s,transform .3s;will-change:left,top}.custom-cursor.active{opacity:1;transform:translate(-50%,-50%) scale(1)}
.motion-ready .reveal{opacity:0;transform:translateY(32px);filter:blur(5px);transition:opacity .9s var(--ease),transform 1.1s var(--ease),filter 1s var(--ease)}.motion-ready .reveal.visible{opacity:1;transform:translateY(0);filter:blur(0)}.word-reveal .word{display:inline-block;white-space:pre;opacity:.16;filter:blur(3px);transform:translateY(8px);transition:opacity .85s var(--ease),filter 1s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--w)*.05s)}.word-reveal.visible .word{opacity:1;filter:blur(0);transform:translateY(0)}@keyframes introIn{from{opacity:0;filter:blur(12px);transform:translateY(24px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes fanOpen{0%{opacity:0;transform:translateX(0) translateY(65px) rotate(-20deg) scale(.7)}25%{opacity:1}100%{transform:translateX(calc(var(--i) * min(9.4vw,140px))) translateY(calc(var(--i) * var(--i) * 3px)) rotate(calc(var(--i) * 4deg))}}@keyframes marquee{to{transform:translateX(-25%)}}@keyframes dialogIn{from{opacity:0;transform:translateY(90px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero{padding-top:160px}.fan-scene{margin-top:42px;height:330px}.hero-bottom{margin-top:24px}}@media(max-width:1050px){.site-header nav{gap:24px;margin-right:25px}.site-header nav span{display:none}.hero{padding-top:140px;min-height:740px}.fan-scene{height:270px;padding-top:15px}.fan-card{top:20px}.intro-section{min-height:598px;gap:20px}.stack-card{width:175px;height:225px;margin:-112px 0 0 -87px}.sticker.blue{left:0;top:-35px}.sticker.yellow{right:0;top:-10px}.project-meta .project-title{font-size:21px}.project-meta>span{font-size:11px}.about-layout{gap:7%}.about-copy .eyebrow{font-size:10px}.grade strong{font-size:50px}.grade{gap:20px}.about-copy p:not(.eyebrow){font-size:14px}.experience-grid{gap:6%}.experience-item{gap:15px}.experience-item h3{font-size:20px}}
@media(max-width:700px){html{scroll-padding-top:90px}.site-header{height:75px;padding:0 22px}.site-header.scrolled{height:66px}.site-header .brand{font-size:16px;gap:7px}.site-header nav{gap:19px;margin:0;font-size:13px}.header-contact{display:none}.hero{height:760px;max-height:none;min-height:0;padding-top:145px}.hero-heading .eyebrow{font-size:10px;letter-spacing:.1em}.hero h1{font-size:clamp(38px,8vw,55px);letter-spacing:-.06em}.fan-scene{margin-top:45px;height:235px}.fan-card{width:128px;height:173px;margin-left:-64px;--spread:9.4vw;top:9px;border-radius:11px}.fan-card .card-tag{font-size:10px;padding:7px 9px}.hero-bottom{margin-top:8px}.hero-bottom p{font-size:12px;max-width:285px;margin:0 auto 20px}.hero-side{left:24px;font-size:9px;bottom:22px}.intro-section{display:flex;flex-direction:column;gap:0;padding-top:61px;padding-bottom:40px;align-items:stretch;min-height:0}.intro-copy h2{font-size:40px;letter-spacing:-.065em}.body-copy{font-size:14px;margin-top:25px}.stack-scene{height:330px;margin-top:5px}.stack-card{width:150px;height:190px;margin:-95px 0 0 -75px}.eyebrow{font-size:10px;margin-bottom:20px;letter-spacing:.12em}.section-heading{gap:20px;margin-bottom:32px}.section-heading h2{font-size:35px;line-height:1.2}.section-number{display:none}.featured{padding-top:25px}.feature-frame{height:490px;border-radius:15px}.feature-main img{object-position:center}.feature-caption{left:24px;bottom:32px;gap:13px}.feature-caption strong{font-size:36px}.feature-top{left:23px;right:23px;top:22px;font-size:10px}.feature-controls{right:18px;bottom:24px}.feature-controls button{width:30px;height:30px}.feature-open{display:none}.feature-caption>span:last-child{font-size:12px;max-width:230px}.feature-category{font-size:10px}.practice-strip{display:grid;grid-template-columns:1fr 1fr;padding-top:45px;gap:25px 15px}.practice-strip p{font-size:18px}.practice-strip>span{font-size:12px}.statement{height:570px}.statement-text h2{font-size:33px;letter-spacing:-.055em}.statement-text>p:last-child{font-size:12px;max-width:270px;margin:20px auto 0}.sticker{font-size:11px;padding:7px 12px}.statement-card{width:120px;height:156px;margin:-115px 0 0 -60px}.statement-text{padding:0 20px}.sticker.blue{left:35px;top:-50px}.sticker.yellow{right:20px;top:-22px}.work-section{padding-top:15px;padding-bottom:80px}.work-section>.section-heading{display:block}.work-section>.section-heading>.text-link{font-size:12px;margin-top:25px}.work-nav{gap:22px;overflow-x:auto;white-space:nowrap;padding-bottom:17px;margin-bottom:45px}.work-nav a{font-size:12px;gap:9px}.work-nav a span{font-size:10px}.project-grid{gap:36px 18px}.project-card:nth-child(even){margin-top:65px}.project-group{margin-bottom:65px}.project-media{border-radius:10px}.project-go{display:none}.project-chip{left:10px;top:10px;padding:5px 8px;font-size:9px}.project-meta{margin-top:13px;display:block}.project-meta .project-title{font-size:18px;line-height:1.3;overflow-wrap:anywhere}.project-meta>span{display:block;font-size:10px;margin-top:6px}.project-description{font-size:12px;line-height:1.6;margin-top:8px}.group-heading{margin-bottom:25px}.group-heading h3{font-size:14px}.group-heading>span{font-size:10px}.visual-grid .project-card:nth-child(even){margin-top:45px}.about-section{padding-top:25px;padding-bottom:90px}.about-head{margin-bottom:40px}.about-head h2{font-size:39px}.about-layout{display:block}.portrait-wrap{max-width:420px;margin:0 auto 60px}.portrait-sticker{right:-5px;font-size:16px;bottom:24px}.about-copy .eyebrow{font-size:10px}.about-copy h3{font-size:54px}.about-copy p:not(.eyebrow){font-size:16px}.about-copy h3>span{font-size:22px}.grade strong{font-size:58px}.grade p{font-size:12px!important}.experience-section{padding-top:20px;padding-bottom:85px}.experience-grid{display:block;margin-top:45px}.experience-grid>div+div{margin-top:65px}.experience-item h3{font-size:21px}.award-row h3{font-size:13px}.award-row>span{font-size:11px}.contact-section{margin:0 16px;border-radius:18px;min-height:540px}.contact-marquee{padding-top:28px}.contact-marquee span{font-size:43px}.contact-marquee .marquee-star{font-size:40px}.contact-content{padding:52px 15px 95px}.contact-content h2{font-size:33px}.contact-content .eyebrow{font-size:9px;letter-spacing:.1em}.contact-content .button{margin-top:25px}.contact-bottom{left:24px;right:24px;font-size:10px}footer{padding:35px 24px;flex-wrap:wrap;gap:25px}footer .brand{font-size:15px}footer>span{font-size:11px}footer>.text-link{font-size:11px;margin-left:auto}.dialog-bar{padding:16px 20px}.dialog-bar>.brand{font-size:15px;gap:7px}.dialog-bar>span{display:none}.dialog-close{font-size:12px;gap:16px;padding:6px 14px}.project-detail-head{padding:50px 24px 40px}.project-detail-head h2{font-size:40px}.detail-intro{font-size:15px}.detail-pages{padding:0 8px}.detail-page{margin-bottom:16px}.detail-page figcaption{font-size:10px;padding:9px 12px}.detail-bottom{margin:45px 24px}.detail-bottom .button{font-size:12px;padding:12px 16px;gap:12px}.detail-next>strong{font-size:21px}.custom-cursor{display:none!important}}
@media(max-width:370px){.site-header nav{gap:12px;font-size:12px}.site-header .brand{font-size:14px}.hero h1{font-size:36px}.hero{height:710px;padding-top:125px}.fan-scene{margin-top:35px}.project-meta .project-title{font-size:16px}.statement-text h2{font-size:29px}.contact-content h2{font-size:29px}}
.feature-main{background:#b6a590}.feature-main img{width:72%;margin-left:auto;object-fit:contain;object-position:center right}.feature-shade{background:linear-gradient(90deg,#0004,transparent 65%),linear-gradient(0deg,#0004,transparent 38%)}.project-meta .project-title{display:block}.contact-tokens{position:absolute;inset:auto 4% 57px;display:flex;justify-content:space-between;pointer-events:none}.contact-tokens span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;color:#242029;box-shadow:0 3px 10px #78832115;font-size:17px;transform:rotate(var(--tilt));opacity:.85}.contact-section.visible .contact-tokens span{animation:chipDrop 1.5s var(--ease) both;animation-delay:calc(.15s + var(--n)*.11s)}@keyframes chipDrop{0%{opacity:0;transform:translateY(-180px) rotate(-60deg)}50%{opacity:.85;transform:translateY(0) rotate(var(--tilt))}68%{transform:translateY(-26px) rotate(calc(var(--tilt) + 20deg))}84%{transform:translateY(0) rotate(var(--tilt))}93%{transform:translateY(-6px) rotate(var(--tilt))}100%{transform:translateY(0) rotate(var(--tilt))}}
.hero-heading .eyebrow,.hero-side,.section-number,.feature-top,.project-chip,.project-meta>span,.about-copy .eyebrow,.work-nav a span{font-size:12px}.about-copy p:not(.eyebrow){font-size:16px}.experience-item p{font-size:16px}.project-description{font-size:14px}
@media(max-width:700px){.site-header nav{font-size:14px;gap:16px}.hero-heading .eyebrow{font-size:12px}.hero-side{font-size:12px}.eyebrow,.group-heading>span,.feature-category,.feature-top,.project-meta>span,.project-chip,.about-copy .eyebrow,.contact-content .eyebrow,.contact-bottom,footer>span,footer>.text-link{font-size:12px}.hero-bottom p,.statement-text p:last-child{font-size:14px}.fan-card .card-tag{font-size:12px}.body-copy{font-size:16px}.project-meta .project-title{font-size:18px}.project-description{font-size:14px}.feature-main img{width:100%;object-position:center}.feature-caption>span:last-child{max-width:205px}.feature-shade{background:linear-gradient(0deg,#0008,transparent 65%)}.contact-content{padding-bottom:125px}.contact-tokens{bottom:53px}.contact-tokens span{width:34px;height:34px;font-size:13px}.contact-content .eyebrow{letter-spacing:.035em}.detail-page figcaption{font-size:12px}.award-row h3{font-size:14px}.award-row>span{font-size:12px}.education small{font-size:12px}}
/* Keep each product or brand subject in view as its cover fills the card. */
.project-card[data-project="grobobu"]{--cover-position:50% 22%}
.project-card[data-project="chair"]{--cover-position:50% 20%}
.project-card[data-project="soundrain"]{--cover-position:100% 0%;--cover-scale:1.55;--cover-hover-scale:1.59}
.project-card[data-project="aegismotion"]{--cover-position:50% 22%}
.project-card[data-project="tea"]{--cover-position:18% 50%}
.project-card[data-project="huawei"]{--cover-position:55% 50%}
.project-card[data-project="macau"]{--cover-position:50% 50%}
.project-card[data-project="xiwu"]{--cover-position:50% 48%;--cover-scale:1.13;--cover-hover-scale:1.14}
/* SVG icons keep the same monochrome geometry on desktop and mobile. */
.ui-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.125em;pointer-events:none}
/* Equal side columns keep the navigation centered on the page. */
.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:20px}.site-header>.brand{justify-self:start}.site-header nav{justify-self:center;margin:0;transform:translateX(-1px)}.header-actions{justify-self:end;display:flex;align-items:center;gap:22px;white-space:nowrap}.language-switch{display:flex;align-items:center;gap:2px;padding:3px 6px;border:1px solid var(--line);border-radius:30px;min-height:36px}.language-switch button{background:transparent;padding:5px 7px;min-width:28px;min-height:28px;font-size:12px;color:var(--muted);border-radius:20px;transition:color .2s,background .2s}.language-switch button[aria-pressed="true"]{color:var(--ink);font-weight:700;background:rgba(25,22,26,.06)}.language-switch button:hover{color:var(--ink)}.language-switch>span{font-size:12px;color:#b4aeb7}.detail-language-note{font-size:13px;color:var(--muted);margin-top:16px}.project-meta .project-title{min-width:0;overflow-wrap:anywhere}html:lang(en) .intro-copy h2{font-size:clamp(35px,4vw,60px);letter-spacing:-.055em}html:lang(en) .statement-text h2{font-size:clamp(28px,3.8vw,60px)}html:lang(en) .statement-text{max-width:94%}html:lang(en) .feature-caption strong{max-width:650px}html:lang(en) .about-copy p{line-height:1.65}html:lang(en) .education>span{max-width:55%}html:lang(en) .experience-item h3{overflow-wrap:anywhere}html:lang(en) .work-nav{flex-wrap:wrap}html:lang(en) .hero-bottom p{max-width:90vw}
@media(max-width:1050px){.site-header nav{margin:0;gap:24px}.header-actions{gap:14px}.header-contact{gap:9px}}
@media(max-width:700px){html{scroll-padding-top:125px}.site-header,.site-header.scrolled{height:108px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px 32px;row-gap:8px;column-gap:12px;padding:10px 22px}.site-header nav{grid-column:1/-1;grid-row:2;justify-self:center;gap:34px;margin:0;font-size:14px}.header-actions{grid-column:2;grid-row:1;gap:12px}.header-contact{display:flex;font-size:12px;gap:6px}.circle-arrow{height:26px;width:26px;font-size:18px}.language-switch{min-height:34px;padding:2px 4px}.language-switch button{padding:4px 5px;min-width:26px;min-height:26px}.hero{padding-top:155px}html:lang(en) .intro-copy h2{font-size:37px}html:lang(en) .statement-text h2{font-size:28px}html:lang(en) .statement-text .sticker.blue{left:25px}html:lang(en) .statement-text .sticker.yellow{right:25px}html:lang(en) .feature-caption strong{font-size:32px;max-width:240px}html:lang(en) .feature-caption>span:last-child{max-width:200px}html:lang(en) .contact-content h2{font-size:29px}html:lang(en) .project-meta{display:block}html:lang(en) .project-meta .project-title{font-size:18px;line-height:1.3}html:lang(en) .work-nav{gap:12px 20px}html:lang(en) .education{font-size:14px}.detail-next{max-width:55%}.detail-next>strong{overflow-wrap:anywhere}}
@media(max-width:370px){.site-header,.site-header.scrolled{padding-right:16px;padding-left:16px;column-gap:8px}.header-actions{gap:8px}.site-header nav{gap:25px}.header-contact{font-size:12px}.hero{padding-top:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal,.word-reveal .word{opacity:1;filter:none;transform:none}.custom-cursor{display:none!important}.statement-fan{display:none}.intro-section .stack-card{transition:none}.contact-marquee>div{animation:none}}

/* View-only media; resume downloads use their existing native link. */
img,video,svg,.brand-logo,.fan-card,.stack-scene,.feature-main,.statement-fan,.project-media,.portrait-wrap,.detail-page-viewport{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
img{pointer-events:none}
.detail-page-viewport{overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.detail-page-image{display:block;width:100%;max-width:none;padding:0;border:0;background:#fff;cursor:zoom-in}
.detail-page-image:focus-visible{outline-offset:-3px}
.detail-video-board{position:relative;width:100%;background:#fff}
.detail-video-frame{position:absolute;background:#000;overflow:hidden}
.detail-video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.detail-video:focus-visible{outline:3px solid #7155e8;outline-offset:-3px}
.detail-video-play{position:absolute;z-index:1;left:50%;top:50%;display:grid;place-items:center;width:clamp(52px,6vw,88px);height:clamp(52px,6vw,88px);padding:0;border:0;border-radius:50%;background:transparent;color:rgba(28,28,28,.85);transform:translate(-50%,-50%);transition:transform .2s,color .2s}
.detail-video-play[hidden]{display:none}
.detail-video-play svg{display:block;width:100%;height:100%;pointer-events:none}
.detail-video-play:hover{color:rgba(20,20,20,.9);transform:translate(-50%,-50%) scale(1.06)}
.detail-video-play:active{transform:translate(-50%,-50%) scale(.96)}
.detail-video-error{position:absolute;inset:0;margin:0;padding:12px;background:rgba(0,0,0,.9);color:#fff;font-size:clamp(12px,1.2vw,16px);line-height:1.6;text-align:center}
.detail-video-error:not([hidden]){display:grid;place-items:center}
.detail-page-viewport.is-zoomed .detail-page-image{width:max(1600px,150%);cursor:zoom-out}
@media(max-width:700px),(pointer:coarse){.detail-page-viewport.is-zoomed .detail-page-image{width:200%}}
@media print{img,svg{visibility:hidden!important}.detail-pages{display:none!important}}

/* Relax Chinese tracking without changing Latin project names or display type. */
html:lang(zh) h2[data-i18n],html:lang(zh) .practice-strip p,html:lang(zh) .experience-item h3,html:lang(zh) .cjk-title{letter-spacing:.015em}
html:lang(zh) .button,html:lang(zh) .header-contact,html:lang(zh) .text-link,html:lang(zh) .dialog-close,html:lang(zh) .site-header nav a{letter-spacing:.045em}
html:lang(zh) .body-copy,html:lang(zh) .project-description,html:lang(zh) .detail-intro,html:lang(zh) .about-copy p:not(.eyebrow),html:lang(zh) .experience-item p,html:lang(zh) .group-heading h3,html:lang(zh) .education,html:lang(zh) .award-row h3,html:lang(zh) .contact-bottom{letter-spacing:.02em}
html:lang(zh) .about-copy h3>span{letter-spacing:.035em}
.copy-toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:1200;max-width:calc(100vw - 40px);padding:15px 24px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:var(--ink);color:white;box-shadow:0 12px 36px rgba(25,22,26,.18);font-size:15px;line-height:1.6;text-align:center;overflow-wrap:anywhere;opacity:0;transform:translate(-50%,12px);pointer-events:none;transition:opacity .2s,transform .2s}
.copy-toast.is-visible{opacity:1;transform:translate(-50%,0)}
html:lang(zh) .copy-toast{letter-spacing:.04em}
@media(max-width:700px){html:lang(zh) .intro-copy h2{font-size:clamp(32px,10.4vw,40px)}html:lang(zh) .statement-text h2{font-size:clamp(28px,8.8vw,33px)}html:lang(zh) .section-heading h2{font-size:clamp(29px,9.3vw,35px)}}
@media print{.copy-toast{display:none!important}}

/* Align the visible Chinese headline, accounting for trailing full-width punctuation. */
html:lang(zh) #contact-title{transform:translateX(.33em)}
html:lang(zh) #featured-title{letter-spacing:0}
