:root{color-scheme:light;--plaster: #e9e7e1;--plaster-light: #f3f1eb;--ink: #171817;--muted: #777872;--line: rgba(23,24,23,.2);--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{scroll-behavior:smooth;background:var(--plaster);scrollbar-width:none}html::-webkit-scrollbar{display:none}body{margin:0;min-width:320px;overflow-x:hidden;color:var(--ink);background:var(--plaster);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(--ink);outline-offset:6px}::selection{color:var(--plaster);background:var(--ink)}#relief{position:fixed;inset:0;z-index:0;width:100%;height:100%;display:block;touch-action:pan-y}.paper-noise{position:fixed;inset:0;z-index:25;pointer-events:none;opacity:.06;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.loader{position:fixed;inset:0;z-index:100;display:grid;place-content:center;justify-items:center;gap:22px;background:var(--plaster);transition:opacity .9s cubic-bezier(.22,1,.36,1),visibility .9s}.loader.is-done{opacity:0;visibility:hidden}.loader>span{color:transparent;font:300 7rem/1 var(--display);-webkit-text-stroke:1px var(--ink)}.loader>div{width:min(280px,68vw);height:1px;overflow:hidden;background:#17181729}.loader i{display:block;width:0;height:100%;background:var(--ink)}.loader small{width:min(280px,68vw);display:flex;justify-content:space-between;color:var(--muted);font:.55rem/1 var(--mono)}.loader b{color:var(--ink);font-weight:400}.topbar{position:fixed;z-index:40;top:0;left:0;right:0;height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 30px;mix-blend-mode:multiply}.mini-link,.menu-button{font:500 .62rem/1 var(--display)}.topbar__center{color:var(--muted);font:.5rem/1 var(--mono)}.menu-button{justify-self:end;display:flex;align-items:center;gap:13px;padding:12px 0 12px 12px;background:transparent;cursor:pointer}.menu-button i,.menu-button i:after{display:block;width:18px;height:1px;background:currentColor;transition:transform .35s}.menu-button i:after{content:"";transform:translateY(5px)}.menu-open .menu-button i{transform:translateY(2px) rotate(45deg)}.menu-open .menu-button i:after{transform:rotate(-90deg)}.menu{position:fixed;inset:0;z-index:35;display:flex;flex-direction:column;justify-content:center;padding:90px 9vw 60px 48vw;background:#e9e7e1fa;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:13px 0;border-bottom:1px solid var(--line)}.menu b{color:var(--muted);font:400 .52rem/1 var(--mono)}.menu span{font:300 clamp(3rem,6vw,6.5rem)/.94 var(--display);transition:transform .35s}.menu a:hover span{transform:translate(12px)}main{position:relative;z-index:2}.chapter{position:relative;min-height:115svh;padding:100px 7vw 70px;overflow:clip}.reveal{opacity:.08;transform:translateY(35px);transition:opacity 1s ease,transform 1.2s cubic-bezier(.22,1,.36,1)}.chapter.is-active .reveal{opacity:1;transform:none}h1,h2,h3,p{letter-spacing:0}h1,h2,h3{font-family:var(--display);font-weight:300}.hero{min-height:130svh;display:grid;place-items:center}.hero__title{width:min(1320px,82vw);display:grid;grid-template-columns:230px 1fr;align-items:center;gap:34px;text-align:left}.hero h1{display:flex;align-items:center;gap:16px;margin:0;font:400 .78rem/1 var(--display)}.hero h1 b{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--ink);font:400 1rem/1 var(--display)}.hero h1 span{letter-spacing:4px}.hero__title p{margin:0;font:400 2rem/1.05 Georgia,Times New Roman,serif}.edge-link{position:absolute;font:.55rem/1 var(--mono)}.edge-link--top{top:50%;right:12px;writing-mode:vertical-rl;transform:translateY(-50%)}.edge-link--bottom-left{left:30px;bottom:42px}.edge-link--bottom-right{right:30px;bottom:42px;display:flex;align-items:center;gap:14px}.edge-link i{width:36px;height:1px;background:var(--ink);animation:line-pulse 2s ease-in-out infinite}.manifesto{min-height:150svh;display:flex;align-items:center}.statement{width:min(1080px,88vw);margin-left:8vw}.statement span,.approach__copy>span,.projects__head>span,.mission>span,.contact__copy>span{display:block;margin-bottom:30px;color:var(--muted);font:.55rem/1 var(--mono)}.statement h2{margin:0;font-size:clamp(3.5rem,7vw,7.5rem);line-height:1.02}.approach{min-height:145svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12vw}.approach__copy{max-width:680px}.approach h2{margin:0;font-size:clamp(3rem,5.4vw,5.7rem);line-height:1.04}.approach__copy p{max-width:620px;margin:40px 0 0;font-size:1rem;line-height:2}.approach__index{align-self:end;margin-bottom:13vh;border-top:1px solid var(--line)}.approach__index span{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);font:.56rem/1 var(--mono)}.approach__index span:after{content:"↗"}.projects{min-height:auto;padding-top:18vh;padding-bottom:28vh;background:transparent}.projects__head{width:min(900px,90vw);margin:0 auto 22vh;text-align:center}.projects__head h2{margin:0;font-size:clamp(6rem,14vw,14rem);line-height:.82}.projects__head p{margin:30px 0 0;font-size:.82rem}.project{width:min(980px,78vw);margin-bottom:26vh}.project--left{margin-left:3vw}.project--right{margin-left:auto;margin-right:2vw}.project--center{margin-left:auto;margin-right:auto}.project--small{width:min(650px,58vw)}.project a{display:block}.project figure{position:relative;aspect-ratio:5/2;margin:0;overflow:hidden;background:#d7d4cc;box-shadow:0 30px 70px #2e2b251f;transform-style:preserve-3d;will-change:transform,clip-path}.project--portrait figure{aspect-ratio:4/5;background:#eceae4}.project img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.72) contrast(.96);transform:scale(1.01);transition:transform .9s cubic-bezier(.22,1,.36,1),filter .55s}.project:hover img{transform:scale(1.075);filter:saturate(1) contrast(1)}.project>a>div{display:grid;grid-template-columns:1fr auto;gap:11px 30px;padding-top:17px}.project span{grid-column:1/-1;color:var(--muted);font:.52rem/1 var(--mono)}.project h3{margin:0;font-size:1.55rem}.project p{max-width:330px;margin:0;font-size:.78rem;line-height:1.6;text-align:right}.reveal-card{opacity:.15;transform:translateY(120px) rotateX(8deg);transition:opacity 1s ease,transform 1.2s cubic-bezier(.22,1,.36,1)}.reveal-card.is-visible{opacity:1;transform:none}.mission{width:min(1050px,88vw);margin:10vh auto 28vh}.mission h2{margin:0;font-size:clamp(3.8rem,8vw,8rem);line-height:1.02}.contact{min-height:120svh;display:flex;flex-direction:column;justify-content:center;background:transparent}.contact__copy{width:min(1050px,90vw)}.contact h2{margin:0;font-size:clamp(5rem,11vw,11rem);line-height:.82}.contact__copy p{margin:45px 0 0;font-size:1rem;line-height:1.8}.contact__copy>div{display:flex;gap:34px;margin-top:45px}.contact__copy a{padding-bottom:6px;border-bottom:1px solid var(--ink);font:.6rem/1 var(--mono)}.contact footer{position:absolute;left:7vw;right:7vw;bottom:28px;display:flex;justify-content:space-between;color:var(--muted);font:.52rem/1 var(--mono)}.sound{position:fixed;z-index:30;left:28px;bottom:24px;display:flex;align-items:center;gap:12px;font:.5rem/1 var(--mono);mix-blend-mode:multiply}.sound button{display:flex;align-items:center;gap:7px;padding:0;background:transparent;cursor:pointer}.sound i{width:22px;height:1px;background:var(--ink);transform-origin:left}.sound b{font-weight:400}.sound.is-off i{transform:scaleX(.3)}.progress{position:fixed;z-index:30;left:0;right:0;bottom:0;height:2px;background:#17181714}.progress i{display:block;width:100%;height:100%;background:var(--ink);transform:scaleX(0);transform-origin:left}.cursor{position:fixed;z-index:90;left:0;top:0;width:34px;height:34px;border:1px solid rgba(23,24,23,.5);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);opacity:0;mix-blend-mode:multiply;transition:width .2s,height .2s,background .2s}.cursor i{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:var(--ink);transform:translate(-50%,-50%)}.cursor.is-over{width:56px;height:56px;background:#17181717}@keyframes line-pulse{0%,to{transform:scaleX(.25);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}}@media(max-width:900px){.topbar{height:64px;grid-template-columns:1fr auto;padding:0 18px}.topbar__center,.cursor{display:none}.menu{padding:80px 22px 40px}.chapter{padding:90px 20px 65px}.hero{min-height:118svh}.hero__title{width:82vw;grid-template-columns:1fr;align-items:center;gap:22px}.hero h1{font-size:.68rem}.hero__title p{max-width:320px;font-size:1.65rem}.edge-link--top{top:50%;right:8px}.edge-link--bottom-left{left:18px;bottom:35px}.edge-link--bottom-right{right:18px;bottom:35px}.statement{width:100%;margin-left:0}.statement h2{font-size:3.25rem}.approach{grid-template-columns:1fr;align-content:center;gap:60px}.approach h2{font-size:3rem}.approach__copy p{font-size:.9rem}.approach__index{align-self:auto;margin:0}.projects{padding-top:14vh}.projects__head{margin-bottom:14vh}.projects__head h2{font-size:5.4rem}.project,.project--small{width:100%;margin-left:0;margin-right:0;margin-bottom:16vh}.project>a>div{grid-template-columns:1fr}.project p{text-align:left}.mission{width:100%;margin:4vh 0 18vh}.mission h2{font-size:3.4rem}.contact h2{font-size:4.7rem}.sound{left:18px;bottom:16px}}@media(max-width:520px){.hero__title{gap:18px}.edge-link--bottom-left{display:none}.statement h2{font-size:2.65rem}.approach h2{font-size:2.55rem}.projects__head h2{font-size:4.3rem}.project--portrait figure{aspect-ratio:4/5}.project h3{font-size:1.2rem}.mission h2{font-size:2.85rem}.contact h2{font-size:3.7rem}.contact footer span:nth-child(2){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,.reveal-card{opacity:1;transform:none}}
