@font-face{font-family:Gayathri;src:url(/fonts/Gayathri-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Gayathri;src:url(/fonts/Gayathri-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:block}:root{--u: calc(100vw / 1440);--ink: #000;--paper: #fff;--lh: 1.2207;--fs-title: calc(96 * var(--u));--fs-nav: calc(25.6 * var(--u));--fs-body: calc(20 * var(--u));--lh-body: calc(24 * var(--u));--edge: calc(35.8 * var(--u));--top: calc(65.4 * var(--u));--col: calc(841 * var(--u));--media: calc(821 * var(--u));--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}*,*:before,*:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:Gayathri,system-ui,sans-serif;font-weight:400;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.ripple{position:fixed;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}a{color:inherit;text-decoration:none}img{max-width:100%}::selection{background:var(--ink);color:var(--paper)}.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}html.js:not(.is-ready) main{visibility:hidden}.skip{position:fixed;left:8px;top:8px;z-index:100;padding:6px 10px;background:var(--ink);color:var(--paper);transform:translateY(-200%)}.skip:focus{transform:none}:focus-visible{outline:1px solid currentColor;outline-offset:4px}@property --chroma-a{syntax: "<number>"; inherits: true; initial-value: 0;}@property --shift{syntax: "<length>"; inherits: false; initial-value: 0px;}.chroma,.prose a,.project-page__body a,.next__link{background-image:repeating-linear-gradient(190deg,rgb(255 45 120 / var(--chroma-a)) calc(var(--shift) + 0em),rgb(255 140 0 / var(--chroma-a)) calc(var(--shift) + 2em),rgb(255 214 0 / var(--chroma-a)) calc(var(--shift) + 4em),rgb(40 210 110 / var(--chroma-a)) calc(var(--shift) + 6em),rgb(0 190 255 / var(--chroma-a)) calc(var(--shift) + 8em),rgb(90 90 255 / var(--chroma-a)) calc(var(--shift) + 10em),rgb(200 70 255 / var(--chroma-a)) calc(var(--shift) + 12em),rgb(255 45 120 / var(--chroma-a)) calc(var(--shift) + 14em));background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:chroma-flow 36s linear infinite;animation-play-state:paused;transition:color .5s var(--ease-out),--chroma-a .3s linear .3s}a:hover .chroma,a:focus-visible .chroma,.prose a:hover,.prose a:focus-visible,.project-page__body a:hover,.project-page__body a:focus-visible,.next__link:hover,.next__link:focus-visible{--chroma-a: 1;color:transparent;animation-play-state:running;transition:color .55s var(--ease-out),--chroma-a .12s linear}@keyframes chroma-flow{to{--shift: 14em}}.prose a,.project-page__body a{text-decoration:underline;text-decoration-thickness:max(1px,calc(1 * var(--u)));text-underline-offset:calc(3 * var(--u));text-decoration-color:var(--ink)}.nav{position:fixed;z-index:20;top:calc(57.64 * var(--u));right:calc(30.4 * var(--u));display:flex;flex-direction:column;align-items:flex-end;font-size:var(--fs-nav);line-height:var(--lh)}.nav__link{display:grid;justify-items:end}.nav__label{grid-area:1 / 1;transition:opacity .45s var(--ease-out),color .5s var(--ease-out),--chroma-a .3s linear .3s}.nav__label--bold{font-weight:700;opacity:0}.nav__link[aria-current=page]:not([data-nav=home]) .nav__label{opacity:0}.nav__link[aria-current=page]:not([data-nav=home]) .nav__label--bold{opacity:1}.page{position:relative}.projects{list-style:none;margin:0;padding:var(--top) 0 calc(180 * var(--u)) var(--edge)}.project{height:calc(var(--fs-title) * var(--lh))}.project__link{position:relative;display:block;width:max-content;font-size:var(--fs-title);line-height:var(--lh);white-space:nowrap;-webkit-tap-highlight-color:transparent}.project__link:focus-visible{outline:none}.project__title{display:block}.project__desc{position:absolute;left:0;top:calc(-9.05 * var(--u));width:var(--col);font-size:var(--fs-body);line-height:var(--lh-body);white-space:normal;visibility:hidden}.project.is-desc .project__title,.project.is-anim .project__title{visibility:hidden}.project.is-anim .project__desc{visibility:visible;opacity:0!important}.project.is-desc .project__desc,.project.is-out .project__title{visibility:visible}.project.is-out .fx__c{color:var(--ink)!important}.fx{position:absolute;inset:0;pointer-events:none;visibility:hidden}.project.is-anim .fx{visibility:visible}.fx__c{position:absolute;top:0;left:0;display:block;white-space:pre;transform-origin:50% 58%}.fx__c.is-scramble{text-align:center}.project-page{padding:var(--top) 0 calc(160 * var(--u)) var(--edge)}.project-page__title{margin:0;font-size:var(--fs-title);line-height:var(--lh);font-weight:400}.project-page__body{width:var(--col);margin-top:calc(22.95 * var(--u));font-size:var(--fs-body);line-height:var(--lh-body)}.project-page__body>*{margin:0 0 var(--lh-body)}.project-page__body>.lede{margin-bottom:0}.project-page__body h2{margin-top:var(--lh-body);margin-bottom:0;font-size:inherit;line-height:inherit;font-weight:700}.media{width:min(var(--media),var(--nw, 100%));margin:calc(25.45 * var(--u)) 0 var(--lh-body)}.media img,.media video{display:block;width:100%;height:auto;aspect-ratio:var(--ar);background:#f2f2f2}html.js .media img,html.js .media video{opacity:0;transition:opacity .9s var(--ease-out)}html.js .media img.is-loaded,html.js .media video.is-loaded{opacity:1}.media figcaption{margin-top:calc(8 * var(--u));font-size:calc(16 * var(--u));line-height:calc(20 * var(--u));opacity:.6}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:var(--lh-body);align-items:start;width:var(--media)}.gallery .media{width:auto;margin:0}.next{margin-top:calc(140 * var(--u))}.next__label{display:block;font-size:var(--fs-body);line-height:var(--lh-body)}.next__link{display:inline-block;font-size:var(--fs-title);line-height:var(--lh)}.prose--about{width:calc(844 * var(--u));margin-left:calc(45 * var(--u));padding:calc(57.55 * var(--u)) 0 calc(160 * var(--u));font-size:var(--fs-body);line-height:var(--lh-body)}.prose p{margin:0 0 var(--lh-body)}.prose__heading{margin:0;font-size:inherit;line-height:inherit;font-weight:700}.prose__heading~.prose__heading{margin-top:calc(var(--lh-body) * 2)}.updates{margin:calc(16.5 * var(--u)) 0 0 calc(10 * var(--u))}.updates__title{margin:0 0 calc(48 * var(--u));font-size:inherit;line-height:inherit;font-weight:400}.updates__mark{font-family:system-ui,sans-serif}.updates__list{list-style:none;width:calc(714 * var(--u));margin:0;padding:0 0 0 calc(30 * var(--u))}.updates__list li{position:relative}.updates__list li:before{content:"•";position:absolute;left:calc(-17.5 * var(--u))}.portrait{position:absolute;left:calc(1062 * var(--u));top:calc(466 * var(--u));width:calc(345 * var(--u));height:calc(486.5 * var(--u));margin:0}.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 100%}.contact{margin:0}.contact dt:not(:first-child){margin-top:var(--lh-body)}.contact dd{margin:0}.cv__head{margin-bottom:calc(var(--lh-body) * 2)}.cv{list-style:none;margin:0;padding:0}.cv li{margin-bottom:var(--lh-body)}.cv__date,.cv__note{display:block;font-size:calc(16 * var(--u));line-height:calc(20 * var(--u));opacity:.6}.cv__note{margin-top:calc(4 * var(--u))}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}@media(max-width:760px){:root{--fs-title: 10.2vw;--fs-nav: 13.6px;--fs-body: 16px;--lh-body: 22px;--edge: 16px;--top: 128px;--col: 100%;--media: 100%}.nav{position:absolute;top:16px;right:16px}.projects{padding-right:16px}.project{height:auto;margin-bottom:.18em}.project__link{width:auto;min-width:0;white-space:normal;line-height:1.05}.project__desc,.fx{display:none}.project-page{padding-right:16px}.project-page__title{line-height:1.05}.project-page__body{margin-top:24px}.gallery{grid-template-columns:1fr}.prose--about{width:auto;margin:0 16px;padding-top:128px}.updates{margin-left:0}.updates__title{margin-bottom:24px}.updates__list{width:auto;padding-left:18px}.updates__list li:before{left:-16px}.media figcaption,.cv__date,.cv__note{font-size:13px;line-height:18px}.media figcaption{margin-top:6px}.portrait{position:static;width:100%;height:auto;margin:0 0 32px;order:-1}.page--about{display:flex;flex-direction:column}.page--about .portrait{order:1;width:auto;margin:0 16px 64px}.next{margin-top:96px}}@media(prefers-reduced-motion:reduce){.chroma,.prose a,.project-page__body a,.next__link{animation:none}}
