html:has(.s-site){--bg:#fff;--ink:#111;--ink-2:#2e2e2e;--muted:#676767;--faint:#c9c9c9;--line:#e7e7e7;--grid:#f0f0f0;--sans:var(--font-grotesk), "Space Grotesk", system-ui, sans-serif;--gutter:clamp(20px, 4.2vw, 72px);--ease:cubic-bezier(.22, 1, .36, 1);background:var(--bg);transition:background-color .7s var(--ease)}html:has(.s-site) body{color:var(--ink);background:0 0}html:has(.s-site){overflow-x:clip}html:has(.s-site) body{overflow-x:clip}html.s-dark:has(.s-site){--bg:#111;--ink:#f2f2f2;--ink-2:#d6d6d6;--muted:#a3a3a3;--faint:#4a4a4a;--line:#2b2b2b;--grid:#ffffff0d}.s-site{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;transition:color .7s var(--ease);font-size:17px;line-height:1.55;position:relative}.s-site :where(button){font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.s-site :where(a){color:inherit;text-decoration:none}.s-site :where(h1,h2,h3,p,ol,ul,dl,dd){margin:0;padding:0}.s-site :where(ol,ul){list-style:none}.s-site :focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:4px}.s-site :where(svg){fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em}.s-stage{z-index:0;pointer-events:none;position:fixed;inset:0}.s-grid{inset:0 var(--gutter);z-index:0;pointer-events:none;grid-template-columns:repeat(6,1fr);display:grid;position:fixed}.s-grid span{border-right:1px solid var(--grid);transition:border-color .7s var(--ease)}.s-grid span:first-child{border-left:1px solid var(--grid)}main{position:relative}.s-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.s-display{letter-spacing:-.05em;font-size:clamp(60px,10vw,168px);font-weight:300;line-height:.92}.s-display--xl{font-size:clamp(64px,11.5vw,196px)}.s-h2{letter-spacing:-.035em;font-size:clamp(30px,3.6vw,58px);font-weight:400;line-height:1.08}.s-body{color:var(--ink-2);max-width:34em}.s-line{display:block}.s-head{gap:18px;margin-bottom:clamp(40px,6vw,88px);display:grid}.s-head--center{text-align:center;justify-items:center}.s-w{vertical-align:top;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:hidden}.s-w>span{display:inline-block}.s-js [data-reveal] .s-w>span{transition:transform 1s var(--ease) var(--d,0s);transform:translateY(105%)}.s-js [data-reveal].is-in .s-w>span{transform:none}.s-js [data-reveal] .s-up{opacity:0;transition:opacity .9s var(--ease) var(--d,0s), transform .9s var(--ease) var(--d,0s);transform:translateY(24px)}.s-js [data-reveal].is-in .s-up{opacity:1;transform:none}.s-roll{display:inline-flex}.s-roll>span{height:1.2em;line-height:1.2em;display:inline-block;overflow:hidden}.s-roll>span>span{transition:transform .5s var(--ease) calc(var(--i) * 18ms);display:block}:is(a,button):hover .s-roll>span>span{transform:translateY(-100%)}.s-header{z-index:50;padding:22px var(--gutter);color:#fff;mix-blend-mode:difference;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;inset:0 0 auto}.s-mark{letter-spacing:-.04em;justify-self:start;font-size:22px;font-weight:700}.s-header__name{font-size:17px;font-weight:500}.s-menu-btn{text-transform:uppercase;letter-spacing:.02em;justify-self:end;align-items:center;gap:12px;font-size:17px;font-weight:500;display:inline-flex}.s-menu-btn__icon{border-top:1.5px solid;border-bottom:1.5px solid;width:22px;height:8px}.s-menu{z-index:60;padding:22px var(--gutter) 32px;color:#f2f2f2;animation:s-fade .5s var(--ease);background:#111;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.s-menu__top{justify-content:space-between;align-items:center;display:flex}.s-menu__nav{align-content:center;display:grid}.s-menu__nav button{letter-spacing:-.045em;text-align:left;animation:s-rise .8s var(--ease) both;animation-delay:calc(80ms + var(--i) * 50ms);align-items:baseline;gap:18px;padding:4px 0;font-size:clamp(36px,min(7vw,10vh),112px);font-weight:300;line-height:1.05;display:flex}.s-menu__no{letter-spacing:.1em;color:#8f8f8f;font-size:13px;font-weight:600}.s-menu__foot{flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font-weight:500;display:flex}.s-menu__foot span{gap:24px;display:flex}@keyframes s-fade{0%{opacity:0}}@keyframes s-rise{0%{opacity:0;transform:translateY(40px)}}.s-hero{min-height:100svh;position:relative}.s-hero__title{top:clamp(84px,10.5vh,120px);left:var(--gutter);right:var(--gutter);text-align:center;letter-spacing:-.045em;font-size:clamp(42px,6.6vw,112px);font-weight:400;line-height:1;position:absolute}.s-hero__callout{font-size:16px;font-weight:600;line-height:1.35;position:absolute;top:76%;left:64%}.s-hero__callout svg{stroke-width:1.5px;width:60px;height:40px;position:absolute;top:-30px;left:-64px}.s-hero__foot{left:var(--gutter);right:var(--gutter);justify-content:space-between;align-items:flex-end;gap:24px;display:flex;position:absolute;bottom:36px}.s-hero__intro{text-align:right;max-width:400px;font-weight:600;line-height:1.4}.s-scroll{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);justify-items:center;gap:10px;font-size:12px;font-weight:600;display:grid;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.s-scroll span{background:linear-gradient(var(--ink), transparent);transform-origin:top;width:1px;height:36px;animation:s-drip 2.2s var(--ease) infinite}@keyframes s-drip{0%{transform:scaleY(0)}60%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.s-name{height:260vh}.s-name__pin{align-items:center;height:100svh;display:flex;position:sticky;top:0;overflow:hidden}.s-name__text{white-space:nowrap;letter-spacing:-.055em;text-transform:uppercase;transform:translateX(calc(30vw - var(--p,0) * 150vw));font-size:23vw;font-weight:300;line-height:1}.s-name__meta{left:var(--gutter);right:var(--gutter);color:var(--ink);justify-content:space-between;margin-top:calc(9vw + 40px);display:flex;position:absolute;top:50%}.s-about{padding:16vh var(--gutter) 14vh}.s-about__copy{gap:22px;margin-left:45%;display:grid}.s-stats{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:12vh;display:grid}.s-stats div{flex-direction:column-reverse;gap:6px;padding:26px 24px 0 0;display:flex}.s-stats dd{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(48px,6.2vw,104px);font-weight:300;line-height:1}.s-morph{height:230vh;position:relative}.s-morph__pin{height:100svh;padding:0 var(--gutter) 12vh;align-content:end;gap:22px;display:grid;position:sticky;top:0;overflow:clip}.s-morph__stage{letter-spacing:-.05em;max-width:60%;font-size:clamp(60px,10vw,168px);font-weight:300;line-height:.92;display:grid;position:relative}.s-morph__ghost{grid-area:1/1;padding-bottom:.08em}.s-morph__word{white-space:nowrap}.s-morph__word>span,.s-morph__p{display:inline-block}.s-morph.is-ready .s-morph__ghost{visibility:hidden}.s-morph__p{visibility:hidden;transform-origin:50% 60%;will-change:transform, opacity;position:absolute;top:0;left:0}.s-morph.is-ready .s-morph__p{visibility:visible}.s-site .s-after-morph{padding-top:4vh}.s-exp{padding:14vh var(--gutter)}.s-exp .s-head,.s-rows,.s-chips,.s-edu{max-width:64%}.s-row{transition:padding-left .5s var(--ease);grid-template-columns:170px 1.1fr 1fr;gap:24px;padding:28px 0;display:grid;position:relative}.s-row:before{content:"";background:var(--ink);opacity:.16;transform-origin:0;height:1px;position:absolute;inset:0 0 auto}.s-js .s-row:before{transition:transform 1.2s var(--ease);transform:scaleX(0)}.s-js .s-row.is-in:before{transform:none}.s-row:last-child:after{content:"";background:var(--ink);opacity:.16;height:1px;position:absolute;inset:auto 0 0}.s-row:hover{padding-left:14px}.s-row__period{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}.s-row__main{display:grid}.s-row__main strong{letter-spacing:-.02em;font-size:clamp(22px,1.9vw,30px);font-weight:500;line-height:1.15}.s-row__main span{color:var(--muted)}.s-row__text{color:var(--ink-2)}.s-edu{margin-top:18vh}.s-edu__title{letter-spacing:-.04em;margin-bottom:28px;font-size:clamp(36px,4.4vw,68px);font-weight:500;line-height:1}.s-edu .s-rows{max-width:none}.s-row__edu{font-size:18px;font-weight:500;line-height:1.3}.s-chips{flex-wrap:wrap;gap:10px;margin-top:40px;display:flex}.s-chips li,.s-tags li{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:7px 16px;font-size:14px;font-weight:500}.s-work{padding:0 var(--gutter) 12vh}.s-work__intro{margin-bottom:clamp(32px,6vh,72px)}.s-project__top{justify-content:space-between;gap:16px;display:flex}.s-project__title{letter-spacing:-.05em;font-size:clamp(52px,8.5vw,150px);font-weight:300;line-height:.95}.s-project__body{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(28px,5vw,96px);display:grid}.s-project__impact{letter-spacing:-.035em;gap:14px;font-size:clamp(32px,3.8vw,64px);font-weight:400;line-height:1.05;display:grid}.s-project__info{justify-items:start;gap:22px;display:grid}.s-project__desc{color:var(--ink-2);max-width:32em;font-size:clamp(18px,1.45vw,22px);line-height:1.5}.s-reel{position:relative}.s-js .s-reel{height:calc(var(--n) * 240vh + 100vh)}.s-js .s-reel__pin{height:100svh;margin-inline:calc(var(--gutter) * -1);position:sticky;top:0;overflow:clip}.s-scene{align-content:center;gap:clamp(18px,2.6vw,36px);padding:8vh 0;display:grid;position:relative}.s-js .s-scene{padding:96px var(--gutter) 110px;opacity:0;pointer-events:none;position:absolute;inset:0}.s-js .s-scene.is-current{opacity:1;pointer-events:auto}.s-scene>*{z-index:1;position:relative}.s-scene .s-scene__giant{z-index:0;right:calc(var(--gutter) - .04em);letter-spacing:-.06em;color:var(--ink);opacity:.045;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(200px,34vw,560px);font-weight:300;line-height:1;position:absolute;bottom:-.14em}.s-scene__mask{vertical-align:top;margin-bottom:-.1em;padding-bottom:.1em;display:inline-block;overflow:hidden}.s-scene__mask>span{transform-origin:0 100%;display:inline-block}.s-scene__rule{background:var(--ink);transform-origin:0;height:1px;display:block}.s-scene__bar{background:var(--ink);transform-origin:0;width:clamp(56px,6vw,96px);height:4px;display:block}.s-reel__chapters,.s-reel__wipe{display:none}.s-js .s-reel__chapters{z-index:4;left:var(--gutter);right:var(--gutter);grid-template-columns:repeat(var(--n), 1fr);gap:12px;display:grid;position:absolute;bottom:28px}.s-reel__seg{gap:10px;display:grid}.s-reel__seg .s-label{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;transition:color .4s var(--ease);font-size:11px;overflow:hidden}.s-reel__seg.is-current .s-label{color:var(--ink)}.s-reel__seg b{background:var(--line);height:2px;display:block;overflow:hidden}.s-reel__seg i{background:var(--ink);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.s-js .s-reel__wipe{z-index:5;background:var(--ink);color:var(--bg);display:block;position:absolute;inset:0;overflow:hidden;transform:translateY(100%)}.s-reel__card{place-content:center;justify-items:center;gap:18px;display:grid;position:absolute;inset:0}.s-reel__wipe-no{letter-spacing:-.06em;font-size:clamp(96px,16vw,260px);font-weight:300;line-height:.9}.s-reel__wipe .s-label{color:inherit;opacity:.6}.s-tags{flex-wrap:wrap;gap:8px;display:flex}.s-link{border-bottom:1.5px solid;align-items:center;gap:10px;width:fit-content;padding-bottom:4px;font-weight:600;display:inline-flex}.s-skills{padding:16vh var(--gutter)}.s-skills .s-head,.s-kit{max-width:56%}.s-kit__row{border-top:1px solid var(--line);grid-template-columns:170px 1fr;align-items:baseline;gap:24px;padding:22px 0;display:grid;position:relative}.s-kit__row:last-child{border-bottom:1px solid var(--line)}.s-kit__row dt{text-transform:uppercase}.s-kit__row dd{letter-spacing:-.025em;flex-wrap:wrap;gap:6px 0;font-size:clamp(22px,2.1vw,34px);font-weight:400;line-height:1.2;display:flex}.s-kit__row dd span:not(:last-child):after{content:"/";color:var(--faint);margin:0 .45em}.s-kit__row:last-child dd{color:var(--muted)}.s-principles{min-height:100svh;padding:22vh var(--gutter) 18vh}.s-principles .s-head,.s-steps{max-width:60%}.s-steps{grid-template-columns:repeat(2,1fr);gap:48px 32px;display:grid}.s-steps li{border-top:1px solid var(--ink);align-content:start;gap:10px;padding-top:22px;display:grid}.s-steps__no{letter-spacing:.1em;color:var(--muted);font-size:13px;font-weight:600}.s-steps strong{letter-spacing:-.025em;font-size:clamp(22px,1.9vw,30px);font-weight:500;line-height:1.15}.s-steps p{color:var(--ink-2)}.s-contact{min-height:100svh;padding:18vh var(--gutter) 32px;grid-template-rows:1fr auto;display:grid}.s-contact__copy{align-content:center;justify-items:start;gap:26px;max-width:58%;display:grid}.s-contact__email{letter-spacing:-.03em;transition:background-size .6s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;align-items:center;gap:14px;padding-bottom:6px;font-size:clamp(22px,2.8vw,44px);font-weight:400;display:inline-flex}.s-contact__email:hover{background-position:100% 100%;background-size:0% 1.5px}.s-footer{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:24px;padding-top:26px;font-weight:500;display:grid}.s-footer>div{align-content:start;gap:6px;display:grid}.s-footer__links{gap:20px;display:flex}.s-footer__end{text-align:right;justify-items:end}@media (max-width:760px),(max-aspect-ratio:9/10){.s-site{font-size:16px}.s-grid{grid-template-columns:repeat(3,1fr)}.s-grid span:nth-child(n+4),.s-header__name{display:none}.s-header{grid-template-columns:1fr 1fr}.s-hero__title{top:96px}.s-hero__callout{display:none}.s-hero__foot{flex-direction:column;align-items:flex-start;bottom:84px}.s-hero__intro{text-align:left}.s-scroll{bottom:22px}.s-name__text{transform:translateX(calc(40vw - var(--p,0) * 260vw));font-size:34vw}.s-name__meta{flex-direction:column;gap:6px;margin-top:calc(17vw + 30px)}.s-about{padding-top:34vh}.s-about__copy{margin-left:0}.s-stats{grid-template-columns:repeat(2,1fr)}.s-exp{padding-top:26vh}.s-exp .s-head,.s-rows,.s-chips,.s-edu{max-width:none}.s-row{grid-template-columns:1fr;gap:6px}.s-js .s-scene{padding:84px var(--gutter) 76px}.s-project__desc{font-size:16px}.s-reel__seg .s-label{display:none}.s-project__body{grid-template-columns:1fr}.s-morph{height:200vh}.s-morph__pin{align-content:center;padding-bottom:0}.s-morph__stage{max-width:none;font-size:clamp(52px,15vw,96px)}.s-principles .s-head,.s-steps,.s-skills .s-head,.s-kit{max-width:none}.s-kit__row{grid-template-columns:1fr;gap:6px}.s-steps{grid-template-columns:1fr;gap:28px}.s-principles{padding-top:30vh}.s-contact{padding-top:40vh}.s-contact__copy{max-width:none}.s-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.s-footer>div:nth-child(3){grid-column:1/-1}.s-footer__links{flex-wrap:wrap;gap:6px 20px}.s-footer__end{text-align:left;justify-items:start}}@media (prefers-reduced-motion:reduce){.s-site *,.s-site :before,.s-site :after{transition-duration:.01ms!important;animation:none!important}}
