:root{--color-paper:#fbfaf8;--color-ink:#0b0b0b;--color-paper-pure:#fff;--color-ink-pure:#000;--color-ink-70:#0b0b0bb3;--color-ink-55:#0b0b0b8c;--color-ink-40:#0b0b0b66;--color-ink-25:#0b0b0b40;--color-ink-12:#0b0b0b1f;--color-paper-70:#fbfaf8b3;--color-paper-45:#fbfaf873;--color-paper-20:#fbfaf833;--font-sans:"Helvetica Neue","Inter","Helvetica","Arial",sans-serif;--font-mono:"Space Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--fs-display:clamp(3.25rem,1.2rem + 8.9vw,11.375rem);--fs-h1:clamp(2.5rem,1.4rem + 5.2vw,5.75rem);--fs-h2:clamp(1.85rem,1.2rem + 3.1vw,3.375rem);--fs-h3:clamp(1.15rem,1rem + .8vw,1.6875rem);--fs-lead:clamp(1rem,.94rem + .5vw,1.1875rem);--fs-body:.9375rem;--fs-sm:.8125rem;--fs-xs:.6875rem;--fs-2xs:.625rem;--tracking-display:-.045em;--tracking-tight:-.02em;--tracking-normal:-.006em;--tracking-wide:.08em;--tracking-wider:.16em;--leading-tight:.92;--leading-snug:1.15;--leading-body:1.6;--measure:66ch;--gutter:clamp(1.25rem,5vw,4rem);--section-gap:clamp(4rem,9vw,9rem);--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:7rem;--header-h:4rem;--header-h-min:3.25rem;--radius:2px;--hairline:1px solid var(--color-ink-12);--z-base:1;--z-raised:5;--z-overlay:10;--z-header:100;--z-lightbox:2000;--z-cursor:9000;--z-loader:10000;--dur-fast:.18s;--dur:.4s;--dur-slow:.8s;--ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.65,0,.35,1)}*,:before,:after{box-sizing:border-box}*{margin:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%;tab-size:4}body{line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100svh}img,picture,video,canvas,svg{max-width:100%;display:block}img,video{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{color:inherit;background:0 0;border:0;padding:0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul[role=list],ol[role=list]{padding:0;list-style:none}body{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:400;line-height:var(--leading-body);letter-spacing:var(--tracking-normal);color:var(--color-ink);background-color:var(--color-paper)}h1,h2,h3,h4{color:var(--color-ink);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-display);text-wrap:balance}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);font-weight:600;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}h4{font-size:var(--fs-lead);font-weight:500;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}p{max-width:var(--measure)}.u-display{font-family:var(--font-sans);font-size:var(--fs-display);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-display);text-wrap:balance}.u-mono{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:0;text-transform:lowercase;font-feature-settings:"ss01";font-weight:400}.u-tag{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:0;color:var(--color-ink-55);font-weight:400}::selection{background:var(--color-ink);color:var(--color-paper)}html{background-color:var(--color-ink)}body{overflow-x:hidden}video{width:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}.lenis.lenis-smooth iframe{pointer-events:none}.container{padding-inline:var(--gutter)}.grid{gap:var(--gutter);grid-template-columns:repeat(12,1fr);display:grid}main>section{margin-block-end:var(--section-gap)}main>section:last-child{margin-block-end:0}:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px;border-radius:1px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-head{z-index:var(--z-header);color:var(--color-ink);transition:transform var(--dur)var(--ease-out),color var(--dur)var(--ease-out),background-color var(--dur)var(--ease-out);position:fixed;inset:0 0 auto}.site-head.is-inverted{color:var(--color-paper)}.site-head.is-scrolled{color:var(--color-ink);background-color:var(--color-paper);background-color:color-mix(in srgb,var(--color-paper)85%,transparent);-webkit-backdrop-filter:blur(10px)saturate(1.4);backdrop-filter:blur(10px)saturate(1.4);border-bottom:var(--hairline)}.site-head.is-hidden{transform:translateY(-101%)}.site-head__inner{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:var(--header-h);padding-block:var(--space-xs);padding-inline:var(--gutter);transition:min-height var(--dur)var(--ease-out);display:flex}.site-head.is-scrolled .site-head__inner{min-height:var(--header-h-min)}.site-head__brand{flex-shrink:0;align-items:baseline;gap:.55em;display:inline-flex}.site-head__name{font-size:var(--fs-sm);letter-spacing:var(--tracking-tight);white-space:nowrap;font-weight:600}.site-head__role{font-family:var(--font-mono);font-size:var(--fs-2xs);opacity:.55;white-space:nowrap}@media (width<=767.98px){.site-head__role{display:none}}.site-head__nav{align-items:center;gap:var(--space-md);margin-inline-start:auto;display:flex}.site-head__link{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:lowercase;padding-block:.35em;position:relative}.site-head__link:after{content:"";transform-origin:100%;transition:transform var(--dur)var(--ease-out);background:currentColor;height:1px;position:absolute;bottom:.05em;left:0;right:0;transform:scaleX(0)}.site-head__link:hover:after,.site-head__link:focus-visible:after{transform-origin:0;transform:scaleX(1)}.site-head__link[aria-current=page]{font-weight:700}.site-head__link[aria-current=page]:after{transform:scaleX(1)}.site-head__loc{font-family:var(--font-mono);font-size:var(--fs-2xs);opacity:.55;white-space:nowrap}@media (width<=767.98px){.site-head__loc{display:none}}.site-foot{margin-top:var(--space-lg);background-color:var(--color-ink);color:var(--color-paper);padding-block:var(--space-xl)var(--space-lg);padding-inline:var(--gutter)}.site-foot__inner{gap:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-paper-20);grid-template-columns:1.4fr 1fr 1fr;display:grid}@media (width<=767.98px){.site-foot__inner{gap:var(--space-md);grid-template-columns:1fr}}.site-foot__col-title{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--color-paper-45);margin-bottom:var(--space-sm)}.site-foot__cta{align-self:start;display:block}.site-foot__cta-label{font-size:var(--fs-h3);font-weight:500;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-sm);transition:opacity var(--dur)var(--ease-out);max-width:18ch}.site-foot__cta-link{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-paper-70);border-bottom:1px solid var(--color-paper-20);transition:color var(--dur)var(--ease-out),border-color var(--dur)var(--ease-out);padding-bottom:.15em;display:inline-block}.site-foot__cta:hover .site-foot__cta-link{color:var(--color-paper);border-color:var(--color-paper)}.site-foot__list{gap:var(--space-3xs);flex-direction:column;display:flex}.site-foot__link{font-size:var(--fs-body);color:var(--color-paper-70);transition:color var(--dur)var(--ease-out);width:-moz-fit-content;width:fit-content;display:inline-block}.site-foot__link:hover,.site-foot__link:focus-visible{color:var(--color-paper)}.site-foot__social{gap:var(--space-sm);display:flex}.site-foot__social a{color:var(--color-paper-70);transition:color var(--dur)var(--ease-out),transform var(--dur)var(--ease-out);width:22px;height:22px;display:block}.site-foot__social a:hover,.site-foot__social a:focus-visible{color:var(--color-paper);transform:translateY(-2px)}.site-foot__social a svg{fill:currentColor;width:100%;height:100%}.site-foot__bottom{justify-content:space-between;align-items:baseline;gap:var(--space-sm);padding-top:var(--space-md);font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--color-paper-45);display:flex}.site-foot__bottom a{transition:color var(--dur)var(--ease-out)}.site-foot__bottom a:hover,.site-foot__bottom a:focus-visible{color:var(--color-paper)}@media (width<=479.98px){.site-foot__bottom{gap:var(--space-2xs);flex-direction:column}}.cursor{background:var(--color-paper-pure);mix-blend-mode:difference;pointer-events:none;z-index:var(--z-cursor);opacity:0;will-change:transform;transition:opacity var(--dur)var(--ease-out),width var(--dur)var(--ease-out),height var(--dur)var(--ease-out),background-color var(--dur)var(--ease-out),border-color var(--dur)var(--ease-out),backdrop-filter var(--dur)var(--ease-out);border-radius:50%;width:10px;height:10px;position:fixed;top:0;left:0}.cursor.is-visible{opacity:1}.cursor.is-link{border:1px solid var(--color-paper-pure);background:0 0;width:34px;height:34px}.cursor.is-lens{mix-blend-mode:normal;border:1px solid var(--color-paper-20);-webkit-backdrop-filter:invert();backdrop-filter:invert();background:0 0;width:116px;height:116px}:root.has-cursor,:root.has-cursor a,:root.has-cursor button,:root.has-cursor [data-cursor]{cursor:none}@media (hover:none),(pointer:coarse){.cursor{display:none}:root.has-cursor,:root.has-cursor *{cursor:auto}}@media (prefers-reduced-motion:reduce){.cursor{display:none}}#pixel-cursor{pointer-events:none;z-index:var(--z-cursor);opacity:0;will-change:transform,opacity;width:48px;height:48px;transition:opacity .15s;position:fixed;top:0;left:0}#pixel-cursor.is-active{opacity:1}#pixel-cursor__img{object-fit:contain;image-rendering:pixelated;-webkit-user-select:none;user-select:none;will-change:transform;transform-origin:50%;width:100%;height:100%;display:block}@media (hover:none),(pointer:coarse){#pixel-cursor{display:none}}@media (prefers-reduced-motion:reduce){#pixel-cursor{display:none}}.loader{z-index:var(--z-loader);place-content:center;gap:var(--space-sm);background:var(--color-paper);transition:opacity var(--dur-slow)var(--ease-out),visibility var(--dur-slow)var(--ease-out);display:grid;position:fixed;inset:0}.loader.is-done{opacity:0;visibility:hidden}.loader__media{object-fit:contain;mix-blend-mode:multiply;width:140px;height:auto}.loader__word{font-size:var(--fs-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-ink-55);text-align:center;font-weight:500}@media (prefers-reduced-motion:reduce){.loader{transition:none}}html:not(.js) .loader{display:none}.card-youtube{width:min(100%,1020px);margin-inline:auto}.card-youtube iframe{aspect-ratio:16/9;border:0;width:100%;height:auto;display:block}.project-card{position:relative}.project-card a{color:inherit;display:block}.project-card.is-hidden{display:none}.project-card__media{aspect-ratio:4/5;background:var(--color-ink-12);width:100%;display:block;overflow:hidden}.project-card__media img{object-fit:cover;filter:grayscale()contrast(1.03);transition:filter .5s var(--ease-out),transform .9s var(--ease-out);width:100%;height:100%}.project-card:hover .project-card__media img,.project-card:focus-within .project-card__media img{filter:grayscale(0%)contrast();transform:scale(1.04)}.project-card__info{padding-top:var(--space-2xs);flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.project-card__title{font-size:var(--fs-sm);letter-spacing:var(--tracking-tight);font-weight:600}.project-card__meta{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--color-ink-55)}.project-card__meta--year{margin-inline-start:auto}.project-card--text a{padding:var(--space-sm)0;border-top:1px solid var(--color-ink);border-bottom:var(--hairline);transition:padding-left var(--dur)var(--ease-out);align-items:flex-end;min-height:clamp(180px,22vw,280px);display:flex}.project-card--text:hover a,.project-card--text:focus-within a{padding-left:var(--space-sm)}.project-card--text .project-card__info{padding-top:0}.project-card--text .project-card__title{font-size:var(--fs-h3);font-weight:600}.recent-carousel{scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding-inline:var(--gutter);padding-block:var(--space-md);scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:clamp(1rem,3vw,2rem);display:flex;overflow:auto hidden}.recent-carousel::-webkit-scrollbar{display:none}.recent-card{scroll-snap-align:center;opacity:.4;transition:opacity var(--dur)var(--ease-out),transform var(--dur)var(--ease-out);flex:0 0 clamp(240px,62vw,440px);transform:scale(.97)}.recent-card.is-active,.recent-card:hover,.recent-card:focus-within{opacity:1;transform:scale(1)}.recent-card a{color:inherit;display:block}.recent-card img{aspect-ratio:4/5;object-fit:cover;filter:grayscale()contrast(1.03);transition:filter .5s var(--ease-out),transform .9s var(--ease-out);width:100%;height:auto}.recent-card:hover img,.recent-card:focus-within img{filter:grayscale(0%)contrast()}.recent-card__info{padding-top:var(--space-2xs);flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.recent-card__title{font-size:var(--fs-sm);letter-spacing:var(--tracking-tight);font-weight:600}.recent-card__meta{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--color-ink-55)}.recent-card__meta--year{margin-inline-start:auto}.carousel-nav{gap:var(--space-2xs);flex-shrink:0;display:flex}.carousel-nav__btn{color:var(--color-ink);border:var(--hairline);cursor:pointer;transition:background-color var(--dur)var(--ease-out),color var(--dur)var(--ease-out),opacity var(--dur)var(--ease-out);border-radius:50%;place-content:center;width:34px;height:34px;font-size:1.1rem;line-height:1;display:grid}.carousel-nav__btn:hover,.carousel-nav__btn:focus-visible{background-color:var(--color-ink);color:var(--color-paper)}.carousel-nav__btn[disabled]{opacity:.3;pointer-events:none}@media (hover:none),(pointer:coarse){.recent-card img{filter:grayscale(0%)contrast()}.carousel-nav{display:none}}@media (width<=767.98px){.recent-card{opacity:1;flex-basis:78vw;transform:none}.recent-card:not(.is-active){opacity:.6}}.archive-strip__label{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-ink-40);margin-bottom:var(--space-md)}.archive-strip__viewport{overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.archive-strip__track{will-change:transform;width:max-content;animation:55s linear infinite archive-scroll;display:flex}.archive-strip__track:hover,.archive-strip__track:focus-within{animation-play-state:paused}.archive-strip__item{flex:none;height:clamp(200px,32vh,340px);margin-inline-end:var(--space-2xs);display:block}.archive-strip__item img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;height:100%}@keyframes archive-scroll{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.archive-strip__track{animation:none}.archive-strip__viewport{overflow-x:auto}}.scroll-indicator{z-index:var(--z-raised);align-items:center;gap:var(--space-2xs);pointer-events:none;color:var(--color-paper-pure);opacity:1;transition:opacity var(--dur-slow)var(--ease-out);flex-direction:column;display:flex;position:absolute;bottom:clamp(1.25rem,6vh,3rem);left:50%;transform:translate(-50%)}.scroll-indicator.is-hidden{opacity:0}.scroll-indicator__label{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:var(--tracking-wide);text-transform:lowercase}.scroll-indicator__line{transform-origin:top;opacity:.85;animation:scroll-cue-line 2.4s var(--ease-in-out)infinite;background:currentColor;width:1px;height:40px;display:block}@keyframes scroll-cue-line{0%{opacity:0;transform:scaleY(0)}30%{opacity:.85}60%{opacity:.85;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@media (width<=767.98px){.scroll-indicator__line{height:30px}}@media (prefers-reduced-motion:reduce){.scroll-indicator__line{opacity:.7;animation:none}}.works-filters{gap:var(--space-md);padding-block:var(--space-md);margin-bottom:var(--space-xl);border-bottom:var(--hairline);flex-wrap:wrap;display:flex}.filter-btn{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:lowercase;color:var(--color-ink);opacity:.4;cursor:pointer;transition:opacity var(--dur-fast)var(--ease-out);padding-block:.2rem;position:relative}.filter-btn:after{content:"";transform-origin:100%;transition:transform var(--dur)var(--ease-out);background:currentColor;height:1px;position:absolute;bottom:-.15rem;left:0;right:0;transform:scaleX(0)}.filter-btn:hover,.filter-btn:focus-visible{opacity:.75}.filter-btn.is-active{opacity:1}.filter-btn.is-active:after{transform-origin:0;transform:scaleX(1)}.project-meta{gap:var(--space-md);padding-block:var(--space-md);border-top:var(--hairline);border-bottom:var(--hairline);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-block-end:var(--space-lg);display:grid}.project-meta__item{gap:var(--space-3xs);flex-direction:column;display:flex}.project-meta__key{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:lowercase;color:var(--color-ink-55)}.project-meta__val{font-size:var(--fs-sm);letter-spacing:var(--tracking-tight);font-weight:500}.project-meta__val a{text-underline-offset:.2em;text-decoration:underline}.project-nav{justify-content:space-between;gap:var(--space-md);padding-block:var(--space-xl);padding-inline:var(--gutter);border-top:var(--hairline);display:flex}.project-nav__link{gap:var(--space-2xs);flex-direction:column;max-width:45%;display:inline-flex}.project-nav__link--next{text-align:right;align-items:flex-end;margin-inline-start:auto}.project-nav__dir{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:lowercase;color:var(--color-ink-55)}.project-nav__title{font-size:var(--fs-h3);letter-spacing:var(--tracking-tight);font-weight:600;line-height:var(--leading-snug);transition:opacity var(--dur)var(--ease-out)}.project-nav__link:hover .project-nav__title,.project-nav__link:focus-visible .project-nav__title{opacity:.55}@media (width<=479.98px){.project-nav{gap:var(--space-lg);flex-direction:column}.project-nav__link{max-width:100%}.project-nav__link--next{text-align:left;align-items:flex-start}}html.scroll-locked{overflow:hidden}.lightbox{z-index:var(--z-lightbox);opacity:0;transition:opacity var(--dur)var(--ease-out);background:#080808f0;place-items:center;padding:clamp(.75rem,5vw,3.5rem);display:grid;position:fixed;inset:0}.lightbox.is-open{opacity:1}.lightbox[hidden]{display:none}.lightbox__img{z-index:1;object-fit:contain;will-change:transform,opacity;transition:transform var(--dur-slow)var(--ease-out),opacity var(--dur)var(--ease-out);width:auto;max-width:100%;height:auto;max-height:100%;display:block;position:relative}.lightbox__nav,.lightbox__close{z-index:3;padding:var(--space-2xs);color:var(--color-paper-pure);opacity:.55;cursor:pointer;transition:opacity var(--dur)var(--ease-out);place-content:center;display:grid;position:absolute}.lightbox__nav svg,.lightbox__close svg{width:26px;height:26px}.lightbox__nav:hover,.lightbox__nav:focus-visible,.lightbox__close:hover,.lightbox__close:focus-visible{opacity:1}.lightbox__close{top:clamp(.75rem,4vw,2rem);right:clamp(.75rem,4vw,2rem)}.lightbox__nav{top:50%;translate:0 -50%}.lightbox__nav--prev{left:clamp(.5rem,3vw,2rem)}.lightbox__nav--next{right:clamp(.5rem,3vw,2rem)}.lightbox__count{z-index:2;font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.04em;color:var(--color-paper-70);position:absolute;bottom:clamp(.75rem,4vw,2rem);left:50%;translate:-50%}@media (width<=479.98px){.lightbox__nav{display:none}}@media (prefers-reduced-motion:reduce){.lightbox,.lightbox__img{transition:none}}.reel{background:var(--color-ink);width:100%;height:100svh;min-height:480px;position:relative;overflow:hidden}@media (width<=767.98px){.reel{height:clamp(400px,62svh,620px)}}.reel__media{object-fit:cover;background-color:var(--color-ink);width:100%;height:100%;display:block;position:absolute;inset:0}.reel:before{content:"";height:calc(var(--header-h) + 5.5rem);pointer-events:none;background:linear-gradient(#0000008c,#0000);position:absolute;inset:0 0 auto}.reel__bar{left:var(--gutter);right:var(--gutter);justify-content:space-between;align-items:baseline;gap:var(--space-md);display:flex;position:absolute;bottom:clamp(1.25rem,6vh,3rem)}.reel__label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:lowercase;color:var(--color-paper-pure)}.reel__sound{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:lowercase;color:var(--color-paper-pure);border-bottom:1px solid var(--color-paper-45);cursor:pointer;transition:border-color var(--dur)var(--ease-out);padding-bottom:.15em}.reel__sound:hover,.reel__sound:focus-visible,.reel__sound.is-on{border-color:var(--color-paper-pure)}.intro{padding-inline:var(--gutter);padding-block:clamp(3rem,9vw,7rem)var(--space-xl);max-width:46rem}.intro__name{font-size:clamp(2rem,1.2rem + 4vw,3.75rem);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}.intro__role{margin-top:var(--space-2xs);font-family:var(--font-mono);font-size:var(--fs-lead);color:var(--color-ink-70)}.intro__blurb{margin-top:var(--space-md);font-size:var(--fs-lead);line-height:var(--leading-snug);color:var(--color-ink-70);text-wrap:pretty;max-width:38ch}.intro__links{margin-top:var(--space-lg);gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--fs-xs);display:flex}.intro__links a{border-bottom:1px solid var(--color-ink-25);transition:border-color var(--dur)var(--ease-out);padding-bottom:.15em}.intro__links a:hover,.intro__links a:focus-visible{border-color:var(--color-ink)}.intro__links span{color:var(--color-ink-40)}.section-head{justify-content:space-between;align-items:flex-end;gap:var(--space-md);padding-inline:var(--gutter);margin-bottom:var(--space-lg);display:flex}.section-head__tag{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:lowercase;color:var(--color-ink-40);margin-bottom:var(--space-2xs)}.section-head__title{font-size:var(--fs-h2)}.section-head__link{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-ink-55);border-bottom:1px solid var(--color-ink-25);transition:color var(--dur)var(--ease-out),border-color var(--dur)var(--ease-out);flex-shrink:0;padding-bottom:.15em}.section-head__link:hover,.section-head__link:focus-visible{color:var(--color-ink);border-color:var(--color-ink)}.index-outro{padding-inline:var(--gutter);padding-top:var(--space-xl);margin-top:var(--space-xl);border-top:var(--hairline)}.index-outro__tag{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-ink-40);margin-bottom:var(--space-sm)}.index-outro__link{font-size:var(--fs-display);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-display);transition:opacity var(--dur)var(--ease-out);display:inline-block}.index-outro__link:hover,.index-outro__link:focus-visible{opacity:.55}.works-header{display:block}.works-video-wrapper{background:var(--color-ink);width:100%;height:clamp(340px,78svh,780px);position:relative;overflow:hidden}.works-video-wrapper video,.works-video-wrapper img{object-fit:cover;width:100%;height:100%;display:block}.works-video-wrapper:before{content:"";height:calc(var(--header-h) + 4rem);z-index:var(--z-base);pointer-events:none;background:linear-gradient(#00000059,#0000);position:absolute;inset:0 0 auto}.works-video-title{left:var(--gutter);z-index:var(--z-raised);font-size:var(--fs-display);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-display);color:var(--color-paper-pure);mix-blend-mode:difference;margin:0;position:absolute;bottom:clamp(1.5rem,8vh,6rem)}.works-section{padding-inline:var(--gutter);padding-top:var(--space-xl)}.works-grid{gap:var(--space-lg)var(--gutter);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=1023.98px){.works-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=479.98px){.works-grid{grid-template-columns:1fr}}.project-body{padding-inline:var(--gutter);padding-top:var(--space-xl)}.project-body>*+*{margin-top:var(--space-lg)}.site-head+main .project-body{padding-top:calc(var(--header-h) + var(--space-xl))}.works-project-h1{font-size:var(--fs-display);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-display);margin-bottom:var(--space-md)}.works-project-sub{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:0;color:var(--color-ink-55)}.works-project-h1+.works-project-sub{margin-top:0}.project-lead{max-width:var(--measure);font-size:var(--fs-lead);line-height:var(--leading-snug);color:var(--color-ink-70)}.project-lead a{color:var(--color-ink);text-underline-offset:.2em;text-decoration:underline}.project-figure{width:min(100%,1020px);margin-inline:auto;display:block}.project-figure img{width:100%;height:auto}.project-figure--wide{width:min(100%,1320px)}.project-figure--left{margin-inline:0 auto}.project-figure--right{margin-inline:auto 0}.project-grid{gap:var(--gutter);width:100%;display:grid}.project-grid img{width:100%;height:auto}.project-grid--2{grid-template-columns:repeat(2,1fr)}.project-grid--3{grid-template-columns:repeat(3,1fr)}.works-project-image-gap{gap:var(--space-lg);padding-bottom:var(--space-xl);flex-direction:column;display:flex}@media (width<=479.98px){.project-grid--3{grid-template-columns:1fr 1fr}}.gallery{gap:var(--space-2xs);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=767.98px){.gallery{grid-template-columns:repeat(2,1fr)}}.gallery a{aspect-ratio:1;background:var(--color-ink-12);cursor:pointer;display:block;overflow:hidden}.gallery img{object-fit:cover;transition:transform .9s var(--ease-out);width:100%;height:100%}.gallery a:hover img,.gallery a:focus-visible img{transform:scale(1.03)}.pdf-embed{width:min(100%,1020px);margin-inline:auto}.pdf-embed iframe{background:var(--color-ink-12);border:0;width:100%;height:clamp(520px,88vh,960px);display:block}.pdf-embed__link{margin-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-ink-55)}.pdf-embed__link a{color:var(--color-ink-55);border-bottom:1px solid var(--color-ink-25);transition:color var(--dur)var(--ease-out),border-color var(--dur)var(--ease-out);padding-bottom:.15em}.pdf-embed__link a:hover,.pdf-embed__link a:focus-visible{color:var(--color-ink);border-color:var(--color-ink)}@media (width<=479.98px){.pdf-embed iframe{height:clamp(420px,68vh,640px)}}.project-aside{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-ink-55)}.project-aside a{border-bottom:1px solid var(--color-ink-25);transition:color var(--dur)var(--ease-out),border-color var(--dur)var(--ease-out);padding-bottom:.15em}.project-aside a:hover,.project-aside a:focus-visible{color:var(--color-ink);border-color:var(--color-ink)}.project-body .archive-strip__viewport{margin-inline:calc(var(--gutter)*-1)}.about-section{padding-inline:var(--gutter);padding-top:calc(var(--header-h) + var(--space-xl))}.about-lede{font-size:clamp(1.9rem,1rem + 4.4vw,3.5rem);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance;overflow-wrap:break-word;margin-bottom:var(--space-xl);max-width:18ch}.about-content{align-items:flex-start;gap:clamp(2rem,6vw,5rem);display:flex}@media (width<=767.98px){.about-content{gap:var(--space-lg);flex-direction:column}}.about-text{flex:55%}.about-p{font-size:var(--fs-lead);line-height:var(--leading-snug);color:var(--color-ink-70);max-width:54ch}.about-p+.about-p{margin-top:var(--space-md)}.about-media{flex:45%}@media (width<=767.98px){.about-media{width:100%}}.about-img{filter:grayscale()contrast(1.05);transition:filter var(--dur-slow)var(--ease-out);width:100%;height:auto}.about-img:hover{filter:grayscale(0%)}.about-details{gap:var(--space-lg);margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:var(--hairline);grid-template-columns:1fr;display:grid}@media (width>=480px){.about-details{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.about-details{gap:var(--space-xl)var(--space-lg);grid-template-columns:repeat(3,1fr)}}.about-details__group{gap:var(--space-3xs);flex-direction:column;display:flex}.about-details__key{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:lowercase;color:var(--color-ink-55);margin-bottom:var(--space-2xs)}.about-details__val{font-size:var(--fs-body);overflow-wrap:break-word}.about-details__val a{text-underline-offset:.2em;transition:opacity var(--dur)var(--ease-out);text-decoration:underline}.about-details__val a:hover{opacity:.6}.reveal{opacity:0;transition:opacity .62s var(--ease-out),transform .62s var(--ease-out);transition-delay:var(--reveal-delay,0s);will-change:opacity,transform;transform:translateY(10px)}.reveal.is-in{opacity:1;transform:none}.reveal-group>*{opacity:0;transition:opacity .62s var(--ease-out),transform .62s var(--ease-out);transform:translateY(10px)}.reveal-group.is-in>*{opacity:1;transform:none}.reveal-group.is-in>:first-child{transition-delay:0s}.reveal-group.is-in>:nth-child(2){transition-delay:55ms}.reveal-group.is-in>:nth-child(3){transition-delay:.11s}.reveal-group.is-in>:nth-child(4){transition-delay:.165s}.reveal-group.is-in>:nth-child(5){transition-delay:.22s}.reveal-group.is-in>:nth-child(6){transition-delay:.275s}.reveal-group.is-in>:nth-child(7){transition-delay:.33s}.reveal-group.is-in>:nth-child(8){transition-delay:.385s}.reveal-group.is-in>:nth-child(9){transition-delay:.44s}.reveal-group.is-in>:nth-child(10){transition-delay:.495s}.reveal-group.is-in>:nth-child(11){transition-delay:.55s}.reveal-group.is-in>:nth-child(12){transition-delay:.605s}.reveal.is-in,.reveal-group.is-in>*{will-change:auto}@media (prefers-reduced-motion:reduce){.reveal,.reveal-group>*{opacity:1!important;transition:none!important;transform:none!important}}html:not(.js) .reveal,html:not(.js) .reveal-group>*{opacity:1;transform:none}.u-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}