@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}:root{--cjk:var(--font-cjk,"Noto Serif SC"), "Songti SC", "STSong", "SimSun";--sans:"Neue Montreal", var(--font-sans,"Inter Tight"), var(--cjk), system-ui, sans-serif;--serif:var(--font-serif,"Hedvig Letters Serif"), var(--cjk), Georgia, serif;--ivy:"IvyPresto Display", var(--font-display,"Cormorant Garamond"), var(--cjk), Georgia, serif;--mono-font:var(--font-display,"Cormorant Garamond"), var(--cjk), Georgia, serif;--funnel:var(--font-funnel,"Funnel Display"), var(--cjk);--paper:#f9f8f5;--ink:#424242;--ink-soft:#6b6b6b;--label:#888;--unlit:#d1d6e0;--lit:#343436;--line:#00000012;--white:#f2f4f8;--frame:15px;--bar:44px;--panel-r:50px;--side:100px}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-width:thin;scrollbar-color:#ffffff2e #000;background:#000}html.lenis,html.lenis body{height:auto}body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#000;font-weight:500;overflow-x:clip}a{color:inherit;text-decoration:none}a:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid}h1,h2,h3,h4,p{font-weight:inherit}.bg{z-index:0;pointer-events:none;background:#090912;position:fixed;inset:0;overflow:hidden}.bg-img{object-fit:cover;width:100%;height:100%;animation:60s ease-in-out infinite alternate bg-drift;position:absolute;inset:0}@keyframes bg-drift{0%{transform:scale(1.06)translate(-1.2%,-.8%)}to{transform:scale(1.1)translate(1.2%,.8%)}}.bg-ripple{opacity:0;width:100%;height:100%;transition:opacity .8s;position:absolute;inset:0}.bg-ripple.ready{opacity:1}.bg:has(.bg-ripple.ready) .bg-img{visibility:hidden;animation:none}.bg-grain{opacity:.15;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px;animation:1s steps(6,end) infinite grain;position:absolute;inset:-40px}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-12px,8px)}40%{transform:translate(10px,-14px)}60%{transform:translate(-6px,16px)}80%{transform:translate(14px,4px)}to{transform:translate(0)}}.bg-vignette{background:radial-gradient(75% 70% at 50% 45%,#0000 40%,#0000008c 100%);position:absolute;inset:0}.bg-dim{opacity:0;will-change:opacity;background:#000;position:absolute;inset:0}.sheen{z-index:3;pointer-events:none;opacity:.3;background:linear-gradient(118deg,#0000000f 0%,#00000006 22%,#0000 36%,#0000000a 52%,#00000013 62%,#00000003 78%,#0000000d 100%);position:fixed;inset:0}.frame{z-index:90;pointer-events:none;position:fixed;inset:0;overflow:hidden}.frame:before{content:"";inset:var(--bar) var(--frame) var(--frame);border-radius:30px;position:absolute;box-shadow:0 0 0 80px #000}.nav{z-index:100;height:var(--bar);background:#000;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav .logo{z-index:1;width:60px;height:var(--bar);color:var(--white);flex-shrink:0;display:block;position:relative}.nav .links{height:var(--bar);align-items:center;display:flex;position:absolute;top:0}.nav .links.l{right:calc(50% + 30px)}.nav .links.r{left:calc(50% + 30px)}.nav .links a{text-align:center;width:90px;color:var(--white);opacity:0;white-space:nowrap;font-size:11px;font-weight:500;transition:opacity .35s}.nav .links.l a{transform:translate(8px)}.nav .links.r a{transform:translate(-8px)}.nav .links a{transition:opacity .35s,transform .5s cubic-bezier(.2,.7,.2,1)}.nav:hover .links a,.nav:focus-within .links a,.nav.open .links a{opacity:.9;transform:none}.nav .links a:hover{opacity:1!important}.nav .sheet{display:none}.nav .sound{width:44px;height:var(--bar);cursor:pointer;color:var(--white);font:inherit;letter-spacing:.08em;text-transform:uppercase;opacity:.6;background:0 0;border:0;justify-content:center;align-items:center;gap:2px;padding:0;font-size:10px;transition:opacity .3s;display:flex;position:absolute;top:0;right:0}.nav .sound:hover,.nav .sound.on{opacity:1}.nav .sound i{transform-origin:bottom;background:currentColor;border-radius:1px;width:2px;height:4px;margin-right:1px;transition:transform .4s}.nav .sound i:nth-child(2){height:10px;transform:scaleY(.4)}.nav .sound i:nth-child(3){height:7px;transform:scaleY(.55)}.nav .sound.on i{animation:1.1s ease-in-out infinite bars}.nav .sound.on i:nth-child(2){animation-delay:-.35s}.nav .sound.on i:nth-child(3){animation-delay:-.7s}@keyframes bars{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1.6)}}.hero{z-index:1;width:650px;max-width:calc(100% - 60px);height:100svh;color:var(--white);position:fixed;top:0;left:50%;transform:translate(-50%)}.hero-slide{padding:calc(var(--bar) + 20px) 0 70px;will-change:transform, opacity;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0}.hero-info{flex:1;justify-content:center;align-items:center;gap:30px;width:100%;display:flex}.hero-info .name{letter-spacing:.68px;text-transform:uppercase;white-space:nowrap;font-size:13.6px;line-height:1}.hero-info .line{opacity:.1;transform-origin:50%;background:#fff;flex:0 207px;height:1px}.hero-info .role{white-space:nowrap;align-items:center;gap:5px;display:flex}.hero-bottom{letter-spacing:.256px;text-align:center;width:100%;font-size:12.8px}.hero-tagline{text-wrap:balance;max-width:620px;margin:0 auto 24px;line-height:1.8}:lang(en) .hero-tagline{text-transform:uppercase}.hero-bottom .loc{gap:10px;font-size:.85em;line-height:1;display:inline-flex}.hero-info>*,.hero-bottom{opacity:0;transition:opacity 1.2s,transform 1.4s cubic-bezier(.2,.7,.2,1)}.hero-info .name{transform:translate(20px)}.hero-info .role{transform:translate(-20px)}.hero-info .line{transition-duration:1.4s;transform:scaleX(0)}.hero-bottom{transition-delay:.5s;transform:translateY(10px)}.loaded .hero-info>*,.loaded .hero-bottom{opacity:1;transform:none}.loaded .hero-info .line{opacity:.1}main{z-index:2;position:relative}.spacer{height:100svh}.biography{min-height:100svh;color:var(--white);scroll-margin-top:calc(var(--bar) + 24px);align-items:center;padding:100px 30px 140px;display:flex}.biography-layout{grid-template-columns:clamp(180px,20vw,240px) minmax(0,1fr);align-items:start;gap:clamp(40px,5vw,72px);width:min(1040px,100%);margin:0 auto;display:grid}.biography-sidebar{gap:28px;display:grid}.biography-label{color:#f2f4f88c;letter-spacing:.14em;padding-top:15px;font-weight:400}.biography-label:before{content:"";opacity:.65;background:currentColor;width:28px;height:1px;margin-bottom:20px;display:block}.biography-portrait{aspect-ratio:1;background:#f2f4f80a;border-radius:18px;width:clamp(120px,12vw,168px);overflow:hidden}.biography-portrait img{object-fit:cover;width:100%;height:100%;display:block}.biography-copy{min-width:0;font-family:var(--serif);font-weight:400}.biography-copy.reveal-active .w{opacity:0;transition:opacity .3s}.biography-copy.reveal-active .w.on{opacity:1}.biography-lead{letter-spacing:.015em;text-wrap:balance;font-size:clamp(20px,1.8vw,25px);line-height:1.8}.biography-lead p+p{margin-top:14px}.biography-body{border-top:1px solid #f2f4f829;margin-top:34px;padding-top:32px}.biography-body p{color:#f2f4f8cc;letter-spacing:.02em;text-wrap:pretty;overflow-wrap:break-word;font-size:15px;line-height:2.1}.biography-body p+p{margin-top:24px}:lang(en) .biography-lead{letter-spacing:0;line-height:1.65}:lang(en) .biography-body p{letter-spacing:0;line-height:1.9}.panel{margin:0 var(--frame);border-radius:var(--panel-r);background-color:var(--paper);background-image:url(/textures/paper.svg);background-repeat:repeat;background-size:384px 384px;position:relative;overflow:clip}.panel .panel{margin-left:0;margin-right:0}.intro{padding:150px var(--side)}.intro p{text-indent:125px;letter-spacing:-1.296px;max-width:960px;color:var(--unlit);margin:0 auto;font-size:43.2px;line-height:51.84px;position:relative}.intro .tag{text-indent:0;font-family:var(--serif);letter-spacing:.672px;text-transform:uppercase;color:var(--label);font-size:11.2px;font-weight:400;line-height:1;position:absolute;top:30px;left:21px}.intro .w{transition:color .4s}.intro .w.on{color:var(--lit)}.jobs{flex-direction:column;align-items:center;gap:40px;padding-bottom:170px;display:flex}.job{color:var(--unlit);align-items:flex-start;gap:13px;transition:color .5s;display:flex}.job .n{font-family:var(--serif);white-space:nowrap;font-size:59.2px;font-weight:400;line-height:71.04px}.job .y{font-family:var(--serif);letter-spacing:.576px;white-space:nowrap;margin-top:16px;font-size:9.6px;font-weight:400;line-height:1}.job.on{color:var(--lit)}.p2{z-index:2;margin-top:-100vh;padding:100px 0}.split{padding:0 var(--side);grid-template-columns:484px 726px;justify-content:center;display:grid}.split .left{align-self:start;padding-bottom:100px;padding-right:100px;position:sticky;top:100px}.eyebrow{font-family:var(--serif);letter-spacing:.672px;text-transform:uppercase;color:var(--label);font-size:11.2px;font-weight:400;line-height:1}.split h2,.awards-head h2{letter-spacing:-.3px;color:var(--ink);margin-top:6px;font-size:28px;line-height:28px}.split .lede,.awards-head .lede{font-family:var(--serif);letter-spacing:.432px;color:var(--ink-soft);margin-top:20px;font-size:14.4px;font-weight:400;line-height:23.04px}.brands{padding-bottom:25px}.brands .right{padding:0 0 100px 20px}.wall{grid-template-columns:repeat(4,1fr);grid-auto-rows:81px;align-items:center;padding-top:30px;display:grid}.wall span{text-align:center;color:#1d1d1f;letter-spacing:.02em;opacity:.9;font-size:12px}.wall span:nth-child(4n+1){font-family:var(--serif);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:400}.wall span:nth-child(4n+2){letter-spacing:-.02em;font-size:14px;font-weight:600}.wall span:nth-child(4n+3){font-family:var(--ivy);font-size:19px;font-weight:300}.wall span:nth-child(4n){letter-spacing:.25em;text-transform:uppercase;font-size:10px}.rows{padding:30px 0 0}.rows.has-cta{padding-bottom:50px}.row{border-top:1px solid var(--line);grid-template-columns:363px 1fr auto;align-items:center;height:60px;display:grid}.row:last-child{border-bottom:1px solid var(--line)}.row .a{letter-spacing:.36px;text-transform:uppercase;color:var(--ink);font-size:12px;line-height:1;transition:color .25s}.row .b{font-family:var(--serif);letter-spacing:.672px;text-transform:uppercase;color:var(--label);font-size:11.2px;font-weight:400;line-height:1}.row .c{letter-spacing:.36px;color:var(--ink);text-align:right;font-size:12px;line-height:1;transition:transform .35s}a.row:hover .a{color:#000}a.row:hover .c{transform:translate(2px,-2px)}.cta{background:#fff;border-radius:30px;justify-content:space-between;align-items:center;gap:30px;height:80px;margin:0 -7.5px;padding:20px 20px 20px 30px;display:flex}.cta h4{letter-spacing:.36px;text-transform:uppercase;color:var(--ink);font-size:12px;line-height:1}.btn{letter-spacing:.8px;text-transform:uppercase;color:#fff;background:radial-gradient(75% 100% at 50% 0,#2d3033 0%,#08090a 100%);border-radius:200px;flex-shrink:0;align-items:center;gap:12px;height:40px;padding:0 17px 0 20px;font-size:10px;line-height:1;transition:transform .3s;display:inline-flex;box-shadow:0 1.34px 1.34px -.47px #00000030,0 3.18px 3.18px -.94px #0000002e,0 5.8px 5.8px -1.4px #00000026,0 10px 10px -2px #0000001a}.btn:hover{transform:scale(1.03)}.btn svg{width:15px;height:15px}.cases{flex-direction:column;align-items:center;gap:71px;padding:210px 0 211px;display:flex}.cases.next{padding:0 0 120px}.cases .next-label{font-family:var(--serif);letter-spacing:.672px;text-transform:uppercase;color:#ffffff73;align-self:center;margin-bottom:-31px;font-size:11.2px;font-weight:400}.case{width:min(1094px, calc(100% - 2 * var(--frame) - 40px));aspect-ratio:1094/679;transform-origin:50% 0;background:#000;border-radius:30px;display:block;position:relative;overflow:hidden}.case.near{will-change:transform, opacity}.case .img{background-position:50%;background-size:cover;height:166%;position:absolute;top:-34%;left:0;right:0}.case.near .img{will-change:transform}.case .img picture,.case .img img,.case .img video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.img img{transition:opacity .6s}.case .gui{z-index:2;color:var(--c);padding:50px 58px;position:absolute;inset:0}.case .content{flex-direction:column;display:flex;position:absolute}.case .ttl{text-transform:uppercase;flex-direction:column;line-height:1;display:flex}.case .ttl>span{white-space:nowrap;display:block}.case .k{letter-spacing:6px;margin-bottom:8px;font-size:12px}.case .s{letter-spacing:-2.1px;font-size:70px;line-height:.97}.case .i{letter-spacing:-2.1px;font-size:70px;font-style:italic;line-height:.97}.case .v{font-family:var(--ivy);letter-spacing:-.65px;font-size:66px;font-weight:100;line-height:.97}.case .v.light{font-weight:300}.case .amp{font-family:var(--ivy);color:gray;text-transform:none;font-size:65px;font-style:italic;font-weight:100}.case .meta{letter-spacing:.5px;text-transform:uppercase;gap:40px;margin-top:24px;font-size:10px;line-height:1;display:flex}.case .meta b{margin-right:8px;font-weight:500}.case .meta i{font-style:normal;font-family:var(--serif);font-weight:400}.case .desc{letter-spacing:.27px;text-transform:uppercase;max-width:360px;margin-top:23px;font-size:9px;line-height:13.5px}.case .laurels{gap:14px;display:flex;position:absolute}.case .laurels i{opacity:.7;border:1.2px solid;border-radius:50%;width:54px;height:30px}.L-tr .content{text-align:left;top:50px;right:58px}.L-tr .laurels{top:60px;right:438px}.L-bl .content{bottom:50px;left:58px}.L-bl .laurels{top:50px;left:58px}.L-r .content{top:50%;right:75px;transform:translateY(-50%)}.L-c .content{top:50%;left:50%;transform:translate(-50%,-40%)}.L-c .laurels{top:50px;left:50%;transform:translate(-50%)}.L-rt .content{top:50px;right:58px}.L-blw .content{flex-direction:row;align-items:flex-end;gap:30px;bottom:50px;left:58px;right:58px}.L-blw .desc{margin:0 0 6px}.p3{padding:100px var(--side);z-index:2}.p3 .split{padding:0}.p3 .events{padding-bottom:100px}.p3 .press .rows .row{grid-template-columns:363px 1fr 20px}.ending{position:relative}footer.near>*{will-change:transform}footer{z-index:0;margin:0 var(--frame);color:var(--white);padding:120px 50px 30px;position:sticky;bottom:0}.foot{grid-template-columns:1fr 450px;gap:0;display:grid}.foot .info{flex-direction:column;padding:0 50px 50px 0;display:flex}.foot .mono{font-family:var(--mono-font);letter-spacing:-.04em;font-size:21px;font-weight:500;line-height:18px}.foot .info p{font-family:var(--serif);letter-spacing:.432px;color:#ffffff80;max-width:480px;margin-top:32px;font-size:14.4px;font-weight:400;line-height:23.04px}.socials{gap:13px;margin-top:auto;padding-top:32px;display:flex}.socials a svg{opacity:.3;width:20px;height:20px;transition:opacity .25s}.socials a:hover svg{opacity:.8}.foot .links{padding:38px 0 50px}.foot .links .eyebrow{color:var(--ink)}.foot .links .row-l{justify-content:space-between;padding:15px 0 40px;display:flex}.foot .links .row-l.last{padding:20px 0 0}.foot .links a{letter-spacing:.48px;text-transform:uppercase;color:#b8b8b8;font-size:9.6px;line-height:1.2;transition:color .25s}.foot .links a:hover{color:#fff}.foot-bar{background:#f2f4f70d;border-radius:15px;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:20px 20px 20px 30px;font-size:12.8px;line-height:1;display:grid}.foot-bar .r1{align-items:center;gap:6px;display:flex}.foot-bar .r1 .t{font-family:var(--serif);letter-spacing:.56px;text-transform:uppercase;font-size:11.2px;font-weight:400}.foot-bar .r1 .c{text-transform:uppercase;font-size:11.2px}.foot-bar .r2{text-transform:uppercase}.foot-bar .r3{justify-self:end;gap:14px;display:flex}.foot-bar .r3 .l{font-family:var(--funnel), var(--sans);text-transform:uppercase;font-weight:600}.foot-bar .beian{flex-wrap:wrap;grid-column:1/-1;justify-content:center;justify-self:center;gap:8px 20px;font-size:11.2px;line-height:1.4;display:flex}.foot-bar .beian a{opacity:.55;transition:opacity .25s}.foot-bar .beian a:hover{opacity:1}.fade{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(20px)}.fade.in{opacity:1;transform:none}.nav-project .language-switch{left:auto;right:60px}.project-back{left:var(--frame);height:var(--bar);color:var(--white);white-space:nowrap;align-items:center;gap:10px;padding:0 12px;font-size:12px;display:inline-flex;position:absolute;top:0}.project-back:hover{color:#fff}.project-back>span:first-child{font-size:18px}.project-page main{padding-bottom:calc(var(--frame) + 12px)}.cs-top{height:calc(var(--bar) + 30px)}.case.cs-hero{width:auto;margin:0 var(--frame);aspect-ratio:auto;height:calc(100vh - var(--bar) - 30px - var(--frame));height:calc(100svh - var(--bar) - 30px - var(--frame));min-height:480px}.case.cs-hero .img{height:140%;top:-20%}.cs-body{padding:100px var(--side);z-index:2;margin-top:12px}.cs-body .split{padding:0}.cs-body .split .left{padding-bottom:60px}.cs-body .rows{margin-bottom:50px;padding-top:0}.prose{font-family:var(--serif);letter-spacing:.2px;color:var(--ink-soft);max-width:640px;font-size:16px;font-weight:400;line-height:1.8}.prose p{margin-bottom:1.3em}.prose h3{font-family:var(--sans);letter-spacing:.36px;text-transform:uppercase;color:var(--ink);margin:2.4em 0 1em;font-size:12px;font-weight:500}.prose ul,.prose ol{margin-bottom:1.3em;padding-left:1.2em}.prose a{text-underline-offset:3px;text-decoration:underline}.cs-gallery{flex-direction:column;gap:40px;padding-top:100px;display:flex}.cs-media .box{background:#0e0f12;border-radius:30px;position:relative;overflow:hidden}.cs-media picture,.cs-media img,.cs-media video{width:100%;height:auto;display:block}.cs-media video{aspect-ratio:16/9;object-fit:cover}.cs-media .cap{font-family:var(--serif);letter-spacing:.672px;text-transform:uppercase;color:var(--label);padding:16px 20px 0;font-size:11.2px;font-weight:400}.cs-next{padding:120px 0 0}@media (width<=1199px){:root{--side:50px}.intro p{letter-spacing:-1px;font-size:34px;line-height:41px}.job .n{font-size:46px;line-height:56px}.split{grid-template-columns:38% 62%}.split .left{padding-right:50px}.row{grid-template-columns:45% 1fr auto}.p3 .press .rows .row{grid-template-columns:40% 1fr 20px}.case .s,.case .i{font-size:52px}.case .v{font-size:50px}.case .gui{padding:36px 40px}.foot{grid-template-columns:1fr 380px}}@media (width<=809px){:root{--side:24px;--panel-r:30px;--frame:8px;--bar:40px}.nav .links{display:none}.nav.open .sheet{white-space:nowrap;background:#000;border-radius:16px;grid-template-columns:repeat(3,auto);gap:14px 26px;padding:16px 22px;display:grid;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.nav .sheet a{color:var(--white);font-size:11px}.hero-info{flex-direction:column;gap:16px}.hero-info .line{flex:0 0 40px;width:1px;height:40px}.hero-info .name,.hero-info .role{transform:none}.intro{padding:100px var(--side)}.intro p{letter-spacing:-.6px;text-indent:90px;font-size:26px;line-height:31px}.intro .tag{top:11px;left:0}.jobs{padding:0 var(--side) 100px;gap:22px}.job{flex-direction:column;align-items:center;gap:4px}.job .n{white-space:normal;text-align:center;font-size:30px;line-height:36px}.job .y{margin:0}.split{grid-template-columns:1fr}.split .left{padding:0 0 30px;position:static}.brands .right{padding:0 0 60px}.wall{grid-template-columns:repeat(2,1fr);grid-auto-rows:64px}.row{grid-template-rows:auto auto;grid-template-columns:1fr auto;row-gap:8px;height:auto;padding:16px 0}.row .b{grid-area:2/1}.row .c{grid-area:1/2/span 2}.p3 .press .rows .row{grid-template-columns:1fr 20px}.cta{flex-direction:column;align-items:flex-start;gap:16px;height:auto;margin:0;padding:22px}.cta h4{line-height:1.4}.cases{gap:24px;padding:120px 0}.cases.next{padding:0 0 80px}.case{aspect-ratio:3/4;border-radius:22px}.case.cs-hero{aspect-ratio:auto;border-radius:22px}.case .gui{padding:24px}.case .content,.L-r .content,.L-c .content{inset:auto 24px 24px!important;transform:none!important}.L-blw .content{flex-direction:column;align-items:flex-start}.case .laurels{display:none}.case .s,.case .i,.case .v,.case .amp{letter-spacing:-1px;font-size:40px!important}.case .ttl>span{white-space:normal}.case .meta{flex-wrap:wrap;gap:16px}.p3,.cs-body{padding:70px var(--side)}.cs-gallery{gap:20px;padding-top:60px}.cs-media .box{border-radius:18px}footer{padding:90px 24px 20px}.foot{grid-template-columns:1fr}.foot .links .row-l{flex-wrap:wrap;justify-content:flex-start;gap:14px 24px}.foot-bar{text-align:center;grid-template-columns:1fr;justify-items:center}.foot-bar .r3{justify-self:center}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.hero-info>*,.hero-bottom,.fade{opacity:1!important;transform:none!important}.biography-copy.reveal-active .w{opacity:1!important}.hero-info .line{opacity:.1!important}}.language-switch{height:var(--bar);color:#777;align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;left:15px}.language-switch a{padding:10px 1px}.language-switch a[aria-current=page]{color:var(--white)}.nav .links a{width:86px}.hero-info .name{letter-spacing:.06em;text-align:center;flex-direction:column;align-items:center;gap:6px;font-size:22px;line-height:1.35;display:inline-flex}.hero-info .alternate-name{letter-spacing:.08em;opacity:.65;font-size:11px}.hero-info .role{min-width:0;font-family:var(--serif);letter-spacing:.02em;text-align:right;flex-flow:wrap;flex:0 auto;justify-content:flex-end;align-items:baseline;gap:4px 16px;font-size:15px;font-weight:400;line-height:1.6}.hero-info .role>span{white-space:nowrap}.experience-showcase{max-width:1210px;padding:0 var(--side) 150px;scroll-margin-top:calc(var(--bar) + 32px);margin:0 auto}.experience-intro{max-width:620px;margin-bottom:64px}.experience-intro h2{letter-spacing:-.3px;margin-top:8px;font-size:28px;line-height:1.4}.experience-intro p{font-family:var(--serif);color:var(--ink-soft);margin-top:20px;font-size:14.4px;line-height:1.85}.jobs{scroll-margin-top:calc(var(--bar) + 32px);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:60px 80px;padding:0;list-style:none;display:grid}.job{text-align:center;min-width:0;padding:0;display:block}.job-link{height:100%;color:inherit;flex-direction:column;align-items:center;padding:20px 0;text-decoration:none;display:flex}.job-logo{opacity:.22;place-items:center;width:100%;height:96px;margin-bottom:10px;transition:opacity .5s;display:grid}.job-logo img{filter:brightness(0);width:200px;max-width:85%;height:auto;display:block}.job--moodio .job-logo img{width:64px}.job--tencent .job-logo img,.job--artist-club .job-logo img{width:240px}.job--xinhuo .job-logo img{width:92px}.job.on .job-logo{opacity:1}.job-logo,.job .y{position:relative}.particles-canvas{pointer-events:none;visibility:hidden;position:absolute}.is-particles>.particles-canvas{visibility:visible}.job-logo.is-particles img{visibility:hidden}.job .y.is-particles{color:#0000}.job .y{letter-spacing:.02em;white-space:pre-line;overflow-wrap:anywhere;min-height:3.4em;margin:14px 0 0;font-size:14px;line-height:1.7}@media (width<=809px){.experience-showcase{padding-bottom:100px}.experience-intro{margin-bottom:40px}.experience-intro h2{font-size:26px}.jobs{gap:36px 24px}.job-link{padding:12px 0}.job-logo{height:60px;margin-bottom:6px}.job-logo img{width:110px}.job--moodio .job-logo img{width:36px}.job--tencent .job-logo img,.job--artist-club .job-logo img{width:140px}.job--xinhuo .job-logo img{width:56px}.job .y{letter-spacing:0;margin-top:10px;font-size:12px;line-height:1.8}}.experience-page{min-height:calc(100svh - var(--bar) - 57px);padding:clamp(48px,7vw,100px) 24px}.experience-inner{width:min(880px,100%);margin:0 auto}.experience-header{margin-bottom:64px}.experience-header .eyebrow{color:var(--label)}.experience-header h1{font-family:var(--serif);color:var(--ink);overflow-wrap:break-word;margin:20px 0 18px;font-size:clamp(36px,5vw,64px);font-weight:400;line-height:1.25}.experience-role{font-family:var(--serif);white-space:pre-line;color:var(--ink-soft);font-size:clamp(14px,1.3vw,17px);line-height:1.9}.experience-section{border-top:1px solid var(--line);grid-template-columns:170px minmax(0,1fr);gap:40px;padding:32px 0;display:grid}.experience-section h2{color:var(--label);font-size:14px;font-weight:400;line-height:1.8}.experience-empty{min-height:100px}.practice-item{border-top:1px solid var(--line);padding:26px 0}.practice-item .eyebrow{line-height:1.7}.practice-item h3{letter-spacing:-.02em;margin:10px 0 14px;font-size:22px;line-height:1.5}.practice-item p{color:var(--ink-soft);max-width:580px;font-size:14px;line-height:1.9}.text-link{border-bottom:1px solid;margin-top:12px;padding:12px 0;font-size:12px;display:inline-block}.row{grid-template-columns:minmax(120px,.7fr) minmax(160px,1.4fr) auto;column-gap:22px;height:auto;min-height:70px;padding:18px 0}.row .a,.row .b,.row .c{text-transform:none;line-height:1.7}.row .b{font-family:var(--sans);letter-spacing:0;color:#737373;font-size:12px}.split h2,.awards-head h2{line-height:1.4}.split .lede,.awards-head .lede{line-height:1.85}.rail.is-rail{height:calc(100svh + var(--rail-travel,0px));padding:0}.rail.is-rail .rail-stage{box-sizing:border-box;height:100svh;position:sticky;top:0}.rail-viewport{min-width:0}.rail.is-rail .rail-viewport{margin-left:-56px;padding-left:56px;overflow:clip;-webkit-mask-image:linear-gradient(90deg,#0000,#000 56px);mask-image:linear-gradient(90deg,#0000,#000 56px)}.rail-track{flex-wrap:wrap;align-items:flex-start;gap:36px;display:flex;position:relative}.rail.is-rail .rail-track{width:max-content;padding-right:var(--side);flex-wrap:nowrap;align-items:center}.rail-track.near{will-change:transform}.awards-stage{max-width:1440px;padding:0 var(--side);grid-template-columns:minmax(200px,.8fr) minmax(0,2fr);align-items:start;gap:clamp(40px,5vw,80px);margin:0 auto;display:grid}.rail.is-rail .awards-stage{max-width:none;padding:calc(var(--bar) + 48px) 0 40px var(--side);grid-template-columns:minmax(240px,24vw) minmax(0,1fr);align-items:center;margin:0}.awards-head .lede{max-width:260px}.awards-card{border-top:1px solid var(--line);flex:none;width:clamp(280px,26vw,380px);min-width:0;padding-top:24px}.award-film-heading{align-items:baseline;gap:16px;margin-bottom:20px;display:flex}.award-index{letter-spacing:.08em;color:var(--label);flex-shrink:0;font-size:10px}.awards-card h3{font-family:var(--serif);color:var(--ink);text-wrap:balance;font-size:clamp(21px,1.7vw,25px);font-weight:400;line-height:1.45}.award-records{gap:12px;list-style:none;display:grid}.award-records li{grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:baseline;gap:24px;font-size:14px;font-weight:400;line-height:1.85;display:grid}.award-event{color:var(--ink-soft);overflow-wrap:break-word}.award-event:only-child{grid-column:1/-1}.award-result{text-align:right;max-width:24ch;color:var(--ink)}.awards-card .award-records{gap:14px}.awards-card .award-records li{grid-template-columns:minmax(0,1fr);gap:2px;font-size:13.5px;line-height:1.7}.awards-card .award-result{text-align:left;max-width:none}@media (height<=820px) and (width>=810px){.rail.is-rail .awards-stage{padding-top:calc(var(--bar) + 28px)}.awards-card{padding-top:18px}.awards-card .award-film-heading{margin-bottom:14px}.awards-card h3{font-size:clamp(19px,1.5vw,22px)}.awards-card .award-records{gap:9px}.awards-card .award-records li{font-size:12.5px;line-height:1.55}}@media (width<=809px){.awards-stage{grid-template-columns:minmax(0,1fr);gap:28px}.awards-head .lede{max-width:none}.rail-track{gap:22px}.awards-card{width:100%;padding-top:20px}.award-film-heading{gap:12px;margin-bottom:18px}.awards-card h3{font-size:21px}.awards-card .award-records li{font-size:13px}.award-records li{font-size:14px;display:block}.award-result{text-align:left;max-width:none;margin-top:2px;font-size:12px;display:block}}.work-heading,.filmography{width:min(1094px, calc(100% - 2 * var(--frame) - 40px));color:var(--white)}.work-heading{padding:0 10px 15px}.work-heading h2{margin:14px 0;font-size:36px;line-height:1.4}.work-heading p{color:#96989d;max-width:630px;font-size:14px;line-height:1.8}.work-section{width:min(1210px, calc(100% - 2 * var(--frame) - 2 * var(--side)));scroll-margin-top:var(--bar);margin:0 auto;padding:140px 0 160px}[data-stick-bottom]{top:var(--pin,0px);z-index:0;position:sticky}.work-section .work-heading{width:100%;margin-bottom:52px;padding:0}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 26px;display:grid}.work-card{aspect-ratio:16/10;min-width:0;color:var(--white);background:#13171d;border:1px solid #22272e;border-radius:16px;transition:border-color .3s;display:block;position:relative;overflow:hidden}.work-card-cover{position:absolute;inset:0}.work-card-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.work-card:hover,.work-card:focus-visible{border-color:#65707b}.work-card-info{background:linear-gradient(#0000,#00000040 45%,#0000009e);padding:48px 22px 18px;position:absolute;inset:auto 0 0}.work-card-meta{color:#ffffff9e;justify-content:space-between;gap:12px;font-size:11px;line-height:1.8;display:flex}.work-card-title{font-family:var(--serif);justify-content:space-between;align-items:baseline;gap:12px;margin-top:4px;font-size:clamp(20px,1.6vw,24px);font-weight:400;line-height:1.4;display:flex}.work-card-title>span:first-child{overflow-wrap:break-word;text-wrap:balance;min-width:0}.work-card-arrow{font-family:var(--sans);color:#ffffff9e;flex-shrink:0;font-size:15px}.practice-item.list-item{color:inherit;display:block}.practice-item.list-item h3{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.list-arrow{color:var(--label);flex-shrink:0;font-size:15px;transition:transform .4s,color .25s}.practice-item.list-item:hover h3{color:#000}.practice-item.list-item:hover .list-arrow{color:var(--ink);transform:translate(4px)}.practice-item .eyebrow:empty{display:none}.practice-item.has-icon{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:24px;display:grid}.list-body{min-width:0}.list-icon{width:52px;height:52px;color:var(--ink);transition:transform .5s cubic-bezier(.2,.7,.2,1);display:block}.practice-item.has-icon:hover .list-icon{transform:rotate(-4deg)scale(1.06)}.hobby-icon{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.hobby-icon .ink{fill:currentColor;stroke:none}.hobby-icon .ghost{opacity:.35;stroke-width:1.2px}.practice-item.is-empty{border-top-style:dashed;min-height:96px}.practice-item.is-empty+.practice-item.is-empty{border-top-style:dashed}[data-ascii-wake]{touch-action:pan-y pinch-zoom;position:relative}.wake-canvas{pointer-events:none;width:calc(100% + 24px);height:calc(100% + 24px);position:absolute;top:-12px;left:-12px}.map-svg{width:100%;height:auto;display:block;overflow:visible}.map-land path{fill:#f2f4f80a;stroke:#f2f4f852;stroke-width:.7px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map-inset rect{fill:#09091259;stroke:#f2f4f840;stroke-width:.6px}.map-inset path{fill:#f2f4f873;stroke:#f2f4f873;stroke-width:.6px;vector-effect:non-scaling-stroke}.map-route{fill:none;stroke:#fff;stroke-width:calc(1.6px * var(--map-unit,1));stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-width .3s}.map-rider{fill:#fff;opacity:0;offset-rotate:0deg}.map-ride{transition:opacity .4s}@keyframes map-trace{0%{stroke-dashoffset:1px;opacity:0}3%{opacity:1}72%{stroke-dashoffset:0;opacity:1}92%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes map-ride{0%{offset-distance:0%;opacity:0}3%{opacity:1}70%{opacity:1}72%{offset-distance:100%;opacity:0}to{offset-distance:100%;opacity:0}}.map-svg.is-live .map-ride.is-animated .map-route{animation:map-trace 10s cubic-bezier(.45, 0, .25, 1) calc(var(--i,0) * 1.6s) infinite}.map-svg.is-live .map-ride.is-animated .map-rider{animation:map-ride 10s cubic-bezier(.45, 0, .25, 1) calc(var(--i,0) * 1.6s) infinite}.map-ride:not(.is-animated) .map-route{stroke-dasharray:none;stroke-dashoffset:0;opacity:.45}.map-ride:not(.is-animated) .map-rider{display:none}.map-route.is-schematic{stroke-width:calc(1.1px * var(--map-unit,1))}.map-ride.is-active .map-route{stroke-width:calc(2.2px * var(--map-unit,1))}.map-svg:has(.map-ride.is-active) .map-ride:not(.is-active){opacity:.22}@supports not (offset-path:path("M0 0L1 1")){.map-rider{display:none}}@media (prefers-reduced-motion:reduce){.map-route{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.map-rider{display:none}}.map-dot{fill:#fff}.map-label{font-family:var(--serif);fill:#f2f4f8d9;paint-order:stroke;stroke:#090912d9;stroke-width:calc(3px * var(--map-unit,1));stroke-linejoin:round}.panel .map-land path{fill:#4242420a;stroke:#42424273}.panel .map-route{stroke:var(--ink)}.panel .map-dot,.panel .map-rider{fill:var(--ink)}.panel .map-label{fill:var(--ink);stroke:#f9f8f5e6}.panel .map-inset rect{fill:none;stroke:#4242424d}.panel .map-inset path{fill:#42424280;stroke:#42424280}.rides-heading{font-family:var(--serif);color:var(--ink);margin:0 0 8px;font-size:clamp(22px,2vw,28px);font-weight:400;line-height:1.4}.ride-entries{border-bottom:1px solid var(--line)}.ride-entry{border-top:1px solid var(--line);grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:stretch;gap:clamp(28px,4.5vw,72px);padding:48px 0 60px;display:grid}.ride-entry:nth-child(2n) .ride-map{order:2}.ride-map{border:1px solid var(--line);background:#42424209;border-radius:18px;min-height:clamp(360px,34vw,560px);transition:border-color .3s;display:block;overflow:hidden}.ride-map:hover{border-color:#42424259}.ride-map .map-svg{width:100%;height:100%;display:block}.ride-body{flex-direction:column;min-width:0;padding-top:6px;display:flex}.ride-index{letter-spacing:.1em;color:var(--label);font-size:10px}.ride-meta{letter-spacing:.05em;color:var(--ink-soft);margin-top:14px;font-size:11px}.ride-title{font-family:var(--serif);color:var(--ink);text-wrap:balance;margin-top:8px;font-size:clamp(28px,2.6vw,38px);font-weight:400;line-height:1.3}.ride-title a{color:inherit;transition:color .25s}.ride-title a:hover{color:#000}.ride-summary{max-width:46ch;font-family:var(--serif);color:var(--ink-soft);margin-top:18px;font-size:14.5px;font-weight:400;line-height:1.85}.ride-summary.is-empty{border-top:1px dashed var(--line);min-height:44px}.ride-link{letter-spacing:.05em;min-height:40px;color:var(--ink);align-items:center;gap:10px;margin-top:16px;font-size:12px;display:inline-flex}.ride-link span{transition:transform .4s}.ride-link:hover span{transform:translate(4px)}.ride-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto;padding-top:28px;display:grid}.ride-photo{aspect-ratio:4/3;background:#4242420d;border-radius:12px;margin:0;overflow:hidden}.ride-photo:first-child{aspect-ratio:3/2;grid-column:1/-1}.ride-photo img{object-fit:cover;width:100%;height:100%;display:block}.ride-photo.is-empty{border:1px dashed var(--line);background:0 0}.writing-rows .row{grid-template-columns:minmax(0,1fr) auto 20px;column-gap:24px;height:auto;min-height:64px;padding:14px 0}.writing-rows .a{font-family:var(--serif);letter-spacing:0;text-transform:none;color:var(--ink);font-size:16px;line-height:1.6}.writing-rows .b{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--ink-soft);white-space:nowrap;font-size:12px}.writing-more{letter-spacing:.04em;min-height:44px;color:var(--ink);align-items:center;gap:10px;margin-top:22px;font-size:12px;display:inline-flex}.writing-more span{transition:transform .4s}.writing-more:hover span{transform:translate(4px)}@media (width<=809px){.work-section{padding:100px 0 110px}.work-section .work-heading{margin-bottom:36px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 20px}.ride-entry{grid-template-columns:minmax(0,1fr);gap:22px;padding:32px 0 40px}.ride-entry:nth-child(2n) .ride-map{order:0}.ride-map{aspect-ratio:5/4;min-height:0}.ride-title{font-size:26px}.ride-photos{padding-top:20px}.work-card-title{font-size:20px}.work-card-info{padding:36px 16px 14px}}@media (width<=539px){.work-grid{grid-template-columns:minmax(0,1fr);gap:38px}}.blank-media{background:#15191e}.personal-case{border:1px solid #ffffff0f}.media-label{letter-spacing:.1em;color:#626970;font-size:10px;position:absolute;top:35px;right:35px}.personal-case .content{max-width:780px;left:58px;right:58px}.personal-case .project-title{letter-spacing:-.025em;text-wrap:balance;margin-top:18px;font-size:clamp(30px,4.6vw,62px);line-height:1.25}.personal-case .eyebrow{color:#8e969e;line-height:1.5}.personal-case .meta{font-size:12px;line-height:1.8}.personal-case .desc{text-transform:none;color:#a1a8b0;max-width:560px;font-size:13px;line-height:1.85}.project-open{border-bottom:1px solid #555;gap:25px;margin-top:28px;padding-bottom:10px;font-size:12px;display:inline-flex}.filmography{border-top:1px solid #303236;border-bottom:1px solid #303236;margin-top:30px}.filmography summary{cursor:pointer;padding:25px 10px;font-size:17px}.filmography summary span{float:right;color:#888;font-size:12px}.filmography-list{padding:0 10px 25px}.film-row{border-top:1px solid #25282b;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:20px;padding:20px 0;font-size:13px;line-height:1.7;display:grid}.film-row small{color:#838b92;margin-top:6px;font-size:11px;display:block}.film-row>span{color:#a1a8b0;font-size:12px}.film-row time{color:#888;font-size:11px}.section-note{color:var(--ink-soft);margin-top:22px;font-size:12px;line-height:1.8}.small-heading{color:var(--label);margin:36px 0 16px;font-size:12px}.research-list{font-size:15px;line-height:2;list-style:none}.empty-slot{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:65px}.project-media-slot{aspect-ratio:16/9;color:#a3a7ab;background:#e7e9ec;border-radius:15px;place-items:center;margin-top:50px;font-size:11px;display:grid}.foot .mono{line-height:1.6;font-family:var(--sans)}.foot .mono span{color:#888;margin-left:8px;font-size:13px}.contact-email{opacity:.7;justify-content:center;align-self:flex-start;align-items:center;width:44px;height:44px;margin-top:30px;transition:opacity .25s;display:inline-flex}.contact-email svg{width:30px;height:30px}.contact-email:hover,.contact-email:focus-visible{opacity:1}.collaboration{color:#888;flex-wrap:wrap;gap:10px 18px;margin-top:28px;font-size:11px;line-height:1.8;list-style:none;display:flex}.foot .links .row-l{flex-wrap:wrap;justify-content:flex-start;gap:20px}.foot .links a{font-size:11px;line-height:1.7}.foot-bar .r1{flex-wrap:wrap;line-height:1.6}:lang(zh-CN) .intro p{letter-spacing:-.035em;line-height:1.6}:lang(zh-CN) .split .lede,:lang(zh-CN) .prose,:lang(zh-CN) .foot .info p{font-family:var(--sans)}@media (width>=810px){.split{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}@media (width<=1199px){.nav .links a{width:76px}.foot-bar{grid-template-columns:1fr auto}.foot-bar .r2{display:none}}@media (width<=809px){.language-switch{left:12px}.experience-header{margin-bottom:44px}.experience-section{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px 0}.experience-empty{min-height:80px}.hero-info .name{font-size:24px}.hero-info .role{text-align:center;flex-wrap:wrap;justify-content:center;gap:8px 12px;max-width:100%;font-size:14px}.hero-bottom{font-size:11px}.hero-tagline{max-width:290px}.hero-slide{padding-bottom:65px}.biography{padding:72px 30px 100px}.biography-layout{grid-template-columns:minmax(0,1fr);gap:30px}.biography-sidebar{grid-template-columns:112px minmax(0,1fr);align-items:center;gap:24px}.biography-portrait{border-radius:14px;grid-area:1/1;width:112px}.biography-sidebar .biography-label{grid-area:1/2}.biography-label{align-items:center;gap:16px;padding-top:0;display:flex}.biography-label:before{width:24px;margin-bottom:0}.biography-lead{font-size:20px;line-height:1.9}.biography-body{margin-top:28px;padding-top:28px}.biography-body p{font-size:14px;line-height:2}.intro p{font-size:24px}.row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.row .a{font-size:13px}.row .b{font-size:12px}.row .c{font-size:10px}.practice-item h3{font-size:20px}.work-heading h2{font-size:27px}.work-heading p{font-size:13px}.personal-case .project-title{font-size:29px;line-height:1.4}.personal-case .meta{font-size:11px}.personal-case .desc{font-size:12px;line-height:1.7}.media-label{top:25px;right:24px}.project-open{margin-top:22px}.film-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.film-row>span{grid-area:2/1}.film-row time{grid-area:1/2}.foot .info{padding-right:0}.foot-bar{grid-template-columns:1fr}.foot-bar .r1{flex-direction:column}}.publication h3{overflow-wrap:anywhere}.publication h3 a{color:inherit}.publication .publication-credit{color:var(--ink);margin-bottom:14px}.publication-links{flex-wrap:wrap;gap:24px;margin-top:20px;display:flex}.publication-links a{color:var(--ink);text-underline-offset:5px;font-size:14px;text-decoration:underline}.publication a:focus-visible{outline-offset:5px;outline:2px solid}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
