:root{color-scheme:dark;--black: #030303;--white: #f2f2ef;--dim: #787d7a;--line: rgba(255,255,255,.16);--green: #82f6cf;--display: "Helvetica Neue", "Arial", sans-serif;--body: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono: "SFMono-Regular", "Roboto Mono", monospace}*{box-sizing:border-box}html{background:var(--black);scroll-behavior:smooth;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{margin:0;min-width:320px;overflow-x:hidden;color:var(--white);background:var(--black);font-family:var(--body);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{border:0;color:inherit;font:inherit}button:focus-visible,a:focus-visible{outline:1px solid var(--green);outline-offset:6px}::selection{color:var(--black);background:var(--green)}#experience,.grain,.shade{position:fixed;inset:0;width:100%;height:100%}#experience{z-index:0;display:block;touch-action:pan-y}.grain{z-index:30;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.shade{z-index:1;pointer-events:none;background:radial-gradient(circle at 52% 48%,transparent 0 24%,rgba(3,3,3,.08) 52%,rgba(3,3,3,.62) 100%)}.loader{position:fixed;inset:0;z-index:100;display:grid;place-content:center;justify-items:center;gap:25px;background:var(--black);transition:opacity .9s cubic-bezier(.22,1,.36,1),visibility .9s}.loader.is-done{opacity:0;visibility:hidden}.loader__glyph{color:transparent;font:300 6rem/1 var(--display);-webkit-text-stroke:1px rgba(255,255,255,.7)}.loader__line{width:min(280px,68vw);height:1px;background:#ffffff21;overflow:hidden}.loader__line i{display:block;width:0;height:100%;background:var(--white)}.loader small{width:min(280px,68vw);display:flex;justify-content:space-between;color:var(--dim);font:.58rem/1 var(--mono)}.loader b{color:var(--white);font-weight:400}.header{position:fixed;z-index:40;top:0;left:0;right:0;height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 34px}.brand,.menu-toggle{position:relative;z-index:2;font:600 .68rem/1 var(--display);letter-spacing:0}.brand:before{content:"";display:inline-block;width:5px;height:5px;margin-right:12px;background:var(--green);box-shadow:0 0 12px var(--green)}.header__meta{display:flex;gap:24px;color:var(--dim);font:.54rem/1 var(--mono)}.header__meta .clock{color:#bbb}.menu-toggle{justify-self:end;display:flex;align-items:center;gap:14px;padding:12px 0 12px 12px;background:none;cursor:pointer}.menu-toggle i,.menu-toggle i:after{display:block;width:20px;height:1px;background:currentColor;transition:transform .35s ease}.menu-toggle i:after{content:"";transform:translateY(6px)}.menu-open .menu-toggle i{transform:translateY(3px) rotate(45deg)}.menu-open .menu-toggle i:after{transform:rotate(-90deg)}.menu{position:fixed;inset:0;z-index:35;display:flex;flex-direction:column;justify-content:center;padding:90px 10vw 50px 48vw;background:#030303f5;transform:translateY(-102%);transition:transform .8s cubic-bezier(.76,0,.24,1)}.menu-open .menu{transform:translateY(0)}.menu a{display:grid;grid-template-columns:45px 1fr;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}.menu b{color:var(--dim);font:400 .55rem/1 var(--mono)}.menu span{font:400 clamp(2.5rem,5vw,5.5rem)/1 var(--display);transition:color .2s,transform .35s}.menu a:hover span{color:var(--green);transform:translate(12px)}main{position:relative;z-index:2}.panel{position:relative;min-height:112svh;padding:120px 8vw 80px;overflow:clip}.reveal{opacity:.1;transform:translateY(28px);transition:opacity .9s ease,transform 1.1s cubic-bezier(.22,1,.36,1)}.panel.is-active .reveal{opacity:1;transform:none}.eyebrow{display:block;margin-bottom:30px;color:var(--dim);font:.58rem/1 var(--mono)}h1,h2,p{letter-spacing:0}h2{margin:0;font-family:var(--display);font-weight:400}.hero{min-height:120svh}.hero__label{position:absolute;left:34px;top:42%;color:var(--dim);font:.55rem/1.7 var(--mono)}.hero__label span{color:var(--white)}.hero__label p{margin:7px 0 0}.hero__statement{position:absolute;right:5vw;bottom:70px;text-align:right}.hero__statement p{margin:0 0 18px;font-size:1rem;line-height:1.8}.hero__statement span{color:var(--dim);font:.54rem/1 var(--mono)}.scroll{position:absolute;left:34px;bottom:70px;display:flex;align-items:center;gap:16px;color:var(--dim);font:.54rem/1 var(--mono)}.scroll i{width:46px;height:1px;background:var(--white);animation:scroll-line 2s ease-in-out infinite}.about{display:flex;align-items:center}.about__copy{width:min(760px,50vw);margin-left:6vw}.about h2{font-size:clamp(3rem,5vw,5.3rem);line-height:1.06}.about__copy p{max-width:650px;margin:42px 0 0;color:#a1a5a2;font-size:1rem;line-height:2}.practice{min-height:125svh;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:8vw}.practice__intro h2{font-size:clamp(3.2rem,5.6vw,6rem);line-height:1.04}.disciplines{border-top:1px solid var(--line)}.disciplines button{width:100%;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;transition:padding .35s,color .25s}.disciplines button:hover,.disciplines button.is-active{padding-left:16px;color:var(--green)}.disciplines b{color:var(--dim);font:400 .52rem/1 var(--mono)}.disciplines span{font:400 1.35rem/1 var(--display)}.disciplines small{color:var(--dim);font-size:.74rem}.work{min-height:210svh;padding-top:16vh}.work__head{margin-bottom:9vh}.work__head h2{font-size:clamp(3.3rem,5.5vw,5.8rem);line-height:1.04}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:7vw 2vw}.project-card{grid-column:span 5;position:relative;display:block;perspective:1000px}.project-card:nth-child(2),.project-card:nth-child(5){margin-top:13vw}.project-card--wide{grid-column:span 7}.project-card--tall{grid-column:2 / span 5}.project-card figure{position:relative;aspect-ratio:16/10;margin:0;overflow:hidden;background:#0b0b0b;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.22,1,.36,1)}.project-card--tall figure{aspect-ratio:4/5}.project-card img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.62) brightness(.74) contrast(1.08);transform:scale(1.035);transition:filter .55s ease,transform .75s cubic-bezier(.22,1,.36,1)}.project-card figure:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px #00000047;pointer-events:none}.project-card:hover figure{transform:translateY(-8px) rotateX(1.5deg) rotateY(-1.5deg)}.project-card:hover img{filter:saturate(.92) brightness(.9) contrast(1.02);transform:scale(1.075)}.project-card>div{display:grid;grid-template-columns:1fr auto;gap:10px 20px;padding-top:18px}.project-card b{grid-column:1/-1;color:var(--dim);font:400 .52rem/1 var(--mono)}.project-card h3{margin:0;font:400 1.45rem/1.2 var(--display)}.project-card span{max-width:280px;color:var(--dim);font-size:.76rem;line-height:1.6;text-align:right}.project-card i{margin-left:9px;color:var(--white);font-style:normal}.contact{min-height:108svh;display:flex;flex-direction:column;justify-content:center}.contact__copy{width:min(980px,90%)}.contact h2{font-size:clamp(4rem,8.5vw,9rem);line-height:.86}.contact__copy>p{margin:46px 0 0;color:#a1a5a2;font-size:1rem;line-height:1.9}.contact__links{display:flex;gap:1px;width:min(550px,100%);margin-top:52px;background:var(--line);border:1px solid var(--line)}.contact__links a{flex:1;display:flex;justify-content:space-between;padding:22px;background:#030303d6;font:.65rem/1 var(--mono);transition:color .25s,background .25s}.contact__links a:hover{color:var(--black);background:var(--green)}.contact__links i{font-style:normal}.contact footer{position:absolute;left:8vw;right:8vw;bottom:28px;display:flex;justify-content:space-between;color:var(--dim);font:.52rem/1 var(--mono)}.scene-counter{position:fixed;z-index:20;right:28px;top:50%;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--dim);font:.52rem/1 var(--mono);transform:translateY(-50%)}.scene-counter i{position:relative;width:1px;height:112px;background:var(--line)}.scene-counter i:after{content:"";position:absolute;inset:0;height:20%;background:var(--white);transform:translateY(var(--scene-progress,0%));transition:transform .65s cubic-bezier(.22,1,.36,1)}.scene-counter b{font-weight:400}.cursor{position:fixed;z-index:90;left:0;top:0;width:36px;height:36px;border:1px solid rgba(255,255,255,.5);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);opacity:0;mix-blend-mode:difference;transition:width .2s,height .2s,background .2s}.cursor i{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.cursor.is-over{width:58px;height:58px;background:#ffffff2e}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes scroll-line{0%,to{transform:scaleX(.25);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}}@media(max-width:900px){.header{height:66px;grid-template-columns:1fr auto;padding:0 20px}.header__meta,.scene-counter,.cursor{display:none}.menu{padding:80px 24px 40px}.panel{min-height:105svh;padding:100px 24px 70px}.hero__label{left:20px;top:24%}.hero__statement{right:20px;bottom:55px}.scroll{left:20px;bottom:55px}.about{display:flex;align-items:center}.about__copy{width:100%;margin-left:0}.about h2{font-size:2.8rem}.about__copy p{margin-top:28px;font-size:.92rem}.practice{grid-template-columns:1fr;align-content:center;gap:55px}.practice__intro h2{font-size:3.3rem}.disciplines button{grid-template-columns:38px 1fr}.disciplines small{grid-column:2}.work{min-height:auto}.project-grid{grid-template-columns:1fr;gap:58px}.project-card,.project-card--wide,.project-card--tall{grid-column:1;margin-top:0}.project-card figure,.project-card--tall figure{aspect-ratio:16/10}.contact h2{font-size:4rem}}@media(max-width:520px){.panel{padding-left:18px;padding-right:18px}.hero__label{left:18px}.hero__statement{right:18px;text-align:right}.hero__statement p{font-size:.88rem}.scroll{left:18px}.about h2{font-size:2.25rem}.practice__intro h2{font-size:2.7rem}.disciplines span{font-size:1.05rem}.work__head h2{font-size:2.7rem}.project-card>div{grid-template-columns:1fr}.project-card h3{font-size:1.15rem}.project-card span{text-align:left}.contact h2{font-size:3.2rem}.contact footer{left:18px;right:18px}.contact footer span:last-child{display:none}}@media(hover:none),(pointer:coarse){.cursor{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
