:root{--bg: #fff;--fg: #111;--placeholder: #eee;--font: "JetBrains Mono", "SF Mono", ui-monospace, monospace;--gutter: 2.5rem;--slide-width: 55vw;--band-item-width: 40vw;--band-height: 34vh;--band-gap: .5vw}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:auto}html,body{overscroll-behavior-y:none}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}p{margin:0}.header{position:fixed;top:var(--gutter);left:var(--gutter);z-index:10;mix-blend-mode:difference;color:#fff}.header__link{display:block}.header__name{display:block;font-size:clamp(1.6rem,2.6vw,2.6rem);line-height:1.05;letter-spacing:-.02em;text-transform:lowercase}.header__role{display:block;margin-top:.4em;font-size:.85rem;text-transform:lowercase}.nav{position:fixed;right:var(--gutter);bottom:var(--gutter);z-index:10;display:flex;gap:1.5rem;text-transform:lowercase;mix-blend-mode:difference;color:#fff}.nav a:hover,.nav a.is-active{text-decoration:underline;text-underline-offset:.25em}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#111}::-webkit-scrollbar-thumb{background:#fff;border:none;border-radius:0}@supports not selector(::-webkit-scrollbar){html{scrollbar-color:#fff #111;scrollbar-width:thin}}@media (pointer: fine){html,body,a,button{cursor:none}}.cursor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;pointer-events:none;mix-blend-mode:difference;opacity:0;transition:opacity .2s}.cursor.is-visible{opacity:1}.cursor__dot,.cursor__ring{position:fixed;top:0;left:0;pointer-events:none;will-change:transform}.cursor__dot{width:10px;height:10px;margin:-5px 0 0 -5px;background:#fff;border-radius:50%}.cursor__ring{--cursor-ring-size: 28px;--cursor-orbit: 6px;width:0;height:0}.cursor__orbit{position:absolute;top:0;left:0;width:0;height:0;animation:cursor-orbit 3s linear infinite}.cursor__circle{position:absolute;top:0;left:0;width:var(--cursor-ring-size);height:var(--cursor-ring-size);border:1px solid #fff;border-radius:50%;background:transparent;transform:translate(-50%,-50%) translate(var(--cursor-orbit));transition:width .3s ease,height .3s ease,transform .3s ease}.cursor.is-hover .cursor__ring{--cursor-ring-size: 40px;--cursor-orbit: 2px}@keyframes cursor-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.cursor__orbit{animation:none}}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#111;display:none;align-items:flex-end}html.intro-pending .loader{display:flex}.loader.is-leaving{transform:translateY(-101%);transition:transform .7s cubic-bezier(.76,0,.24,1)}.loader__count{color:#fff;padding:var(--gutter);font-size:clamp(4rem,14vw,12rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}html.intro-pending .header,html.intro-pending .nav,html.intro-pending .slider{opacity:0}@media (prefers-reduced-motion: reduce){.loader.is-leaving{transform:none;opacity:0;transition:opacity .3s ease}}@view-transition{navigation: auto;}::view-transition-image-pair(root){isolation:isolate}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal}html:not(.is-return)::view-transition-old(root){animation:none;opacity:1}html:not(.is-return)::view-transition-new(root){animation:vt-slide-from-bottom .7s cubic-bezier(.76,0,.24,1) both;box-shadow:0 -24px 48px #1111112e;z-index:2}@keyframes vt-slide-from-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}html.is-return::view-transition-old(root){animation:vt-slide-to-bottom .7s cubic-bezier(.76,0,.24,1) both;box-shadow:0 -24px 48px #1111112e;z-index:2}html.is-return::view-transition-new(root){animation:none;opacity:1;z-index:1}@keyframes vt-slide-to-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media (prefers-reduced-motion: reduce){@view-transition{navigation: none;}::view-transition-old(root),::view-transition-new(root){animation:none}}.media{position:relative;width:100%;background:var(--placeholder);aspect-ratio:4 / 3;overflow:hidden}.media>img,.media>video{width:100%;height:100%;object-fit:cover}.slider{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}@media (pointer: coarse){.page-home{touch-action:none}}.scroll-space{height:400vh}.slide{position:absolute;top:50%;left:0;width:calc(var(--band-item-width) + var(--band-gap));padding-right:var(--band-gap);pointer-events:auto;will-change:transform;transform-origin:50% 50%;transform:translate3d(-100vw,-50%,0)}.slide .media{aspect-ratio:auto;height:var(--band-height)}.curtains-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.slider.is-webgl .slide .media{background:transparent}.slider.is-webgl .slide img{opacity:0}.slider:not(.is-webgl) .slide img{filter:grayscale(1);transition:filter .45s ease-out}.slider:not(.is-webgl) .slide:hover img,.slider:not(.is-webgl) .slide.is-active img{filter:none}@media (prefers-reduced-motion: reduce){.slider:not(.is-webgl) .slide img{transition:none}}.slide__caption{margin-top:1.5vh;font-size:12px;text-transform:lowercase;will-change:transform}.slide__caption span{display:block;opacity:0;transform:translateY(-12px);transition:opacity .25s cubic-bezier(.215,.61,.355,1),transform .25s cubic-bezier(.215,.61,.355,1)}.slide:hover .slide__caption span{opacity:1;transform:translateY(0);transition-duration:.45s}@media (hover: none){.slide__caption span{opacity:1;transform:translateY(0);transition:none}}.about{height:100vh}.about__sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center}.about__grid{width:100%;padding:0 var(--gutter);display:grid;grid-template-columns:20vw 1fr 20vw;gap:4vw;align-items:start}.about__bio{text-align:left}.about__col{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}.about__socials{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;font-size:12px;text-transform:lowercase}.about__socials a{display:inline-flex;align-items:baseline;gap:.4em}.about__socials a:hover{text-decoration:underline;text-underline-offset:.25em}.about__socials a:hover .link-arrow{transform:translate(2px,-2px)}.about__aside{text-align:right}.about__media{width:min(38vw,520px);justify-self:center;background:var(--placeholder);overflow:hidden}.about__media video{width:100%;height:100%;object-fit:cover}.project{padding:22vh var(--gutter) 20vh;display:grid;grid-template-columns:20vw minmax(0,1fr);gap:6vw;align-items:start}.project__intro{position:sticky;top:22vh}.project__title{margin:0 0 1.5rem;font-size:1rem;font-weight:400;text-transform:lowercase}.project__description{max-width:34ch}.project__link{display:inline-flex;align-items:baseline;gap:.4em;margin-top:1.5rem}.project__link:hover{text-decoration:underline;text-underline-offset:.25em}.project__link-arrow,.link-arrow{display:inline-block;transition:transform .25s ease}.project__link:hover .project__link-arrow{transform:translate(2px,-2px)}.project__gallery{width:100%;display:flex;flex-direction:column;align-items:center;gap:12vh}.project__item{width:100%;aspect-ratio:auto;will-change:transform,opacity}.project__item>img,.project__item>video{width:100%;height:auto}.project__item>video,.project__item>img{width:100%;aspect-ratio:16 / 9}.project__next{grid-column:1 / -1;justify-self:end;margin:18vh 0 12vh;display:flex;flex-direction:column;align-items:flex-end;gap:.9rem;text-align:right;will-change:transform,opacity}.project__next-label,.project__next-title{font-size:12px;text-transform:lowercase}.project__next-cover{width:22vw;height:auto;filter:grayscale(1);transition:filter .45s ease-out}.project__next:hover .project__next-cover{filter:grayscale(0)}.project__next:hover .project__next-title{text-decoration:underline;text-underline-offset:.25em}@media (pointer: coarse){.project__next-cover{filter:none;transition:none}}.page-notfound{background:#111;overflow:hidden;height:100vh}.notfound__photo{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0}.notfound.is-loaded .notfound__photo{opacity:1;transition:opacity .5s ease-out;animation:nf-zoom 14s linear forwards}@keyframes nf-zoom{0%{transform:scale(1)}to{transform:scale(1.06)}}.notfound__overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;mix-blend-mode:difference;color:#fff}.notfound__title{margin:0;font-size:clamp(6rem,22vw,18rem);font-weight:400;line-height:1;letter-spacing:-.04em}.notfound__meta{font-size:.85rem;text-transform:lowercase}.notfound__back{font-size:.85rem;text-transform:lowercase;text-decoration:underline;text-underline-offset:.25em}@media (prefers-reduced-motion: reduce){.notfound.is-loaded .notfound__photo{animation:none;transition:none}}@media (max-width: 900px){:root{--gutter: 1.25rem;--slide-width: 90vw;--band-item-width: 78vw;--band-gap: 3vw}.slide .media{height:auto;aspect-ratio:16 / 9}.nav{gap:1rem;font-size:.85rem}.about{height:auto}.about__sticky{position:static;height:auto;display:block;padding-top:calc(var(--gutter) + var(--header-height, 5rem) + 6vh);padding-bottom:12vh}.about__grid{display:flex;flex-direction:column;gap:7vh}.about__bio,.about__aside{margin-top:0;text-align:left}.about__col,.about__socials{align-items:flex-start}.about__col{gap:7vh;justify-content:flex-start}.about__socials{order:2;margin-top:0}.about__media{width:100%;aspect-ratio:4 / 3}.project{grid-template-columns:1fr;gap:5vh;padding:calc(var(--gutter) + var(--header-height, 5rem) + 6vh) var(--gutter) 12vh}.project__intro{position:static}.project__gallery{width:100%;gap:6vh}.project__next{margin:8vh 0 6vh}.project__next-cover{width:60vw}}@media (prefers-reduced-motion: reduce){.slide,.project__item,.project__next{will-change:auto}.project__next-cover{transition:none}}
