:root{--green:#0f0;--black:#000;--white:#fff;--ink:#000000d9;--credits:#ffffffb3;--font:"neue-haas-grotesk-display", "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Text Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;--inset:.65rem;--gutter:.75rem;--index-width:clamp(300px, 30vw, 520px);color-scheme:dark}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:clamp(11.8px,6.38px + .457vw,22px)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}*,:before,:after{box-sizing:border-box}body{background:var(--black);color:var(--white);font:700 1rem/1.2 var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}h1,h2,p,ol,ul,figure{font:inherit;margin:0;padding:0}ol,ul{list-style:none}i,em{font-style:italic}a{color:inherit;text-underline-offset:.12em;text-decoration:underline from-font}img{max-width:100%;height:auto;display:block}button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}:focus-visible{outline-offset:2px;outline:2px solid}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:10;padding:var(--inset);background:var(--black);color:var(--white);position:absolute;top:0;left:0;translate:0 -100%}.skip-link:focus{translate:none}.index,.index-backdrop{display:none}@media (width>=1024px){html:not([data-index-closed]) .layout{grid-template-columns:minmax(0, 1fr) var(--index-width);align-items:start;display:grid}html:not([data-index-closed]) .feed{grid-area:1/1;min-width:0}html:not([data-index-closed]) .index{overscroll-behavior:contain;grid-area:1/2;height:100dvh;display:block;position:sticky;top:0;overflow-y:auto}html[data-index-side=left]:not([data-index-closed]) .layout{grid-template-columns:var(--index-width) minmax(0, 1fr)}html[data-index-side=left]:not([data-index-closed]) .feed{grid-area:1/2}html[data-index-side=left]:not([data-index-closed]) .index{grid-area:1/1}html:not([data-index-closed]) .projects-toggle{display:none}}@media (width<=1023px){html[data-index-overlay]{overflow:hidden}[data-index-overlay] .index{z-index:20;overscroll-behavior:contain;width:clamp(320px,45vw,440px);animation:.25s ease-out index-in-left;display:block;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}[data-index-side=right][data-index-overlay] .index{animation-name:index-in-right;left:auto;right:0}[data-index-overlay] .index-backdrop{z-index:15;background:#0009;animation:.25s ease-out fade-in;display:block;position:fixed;inset:0}}@media (width<=639px){[data-index-overlay] .index{width:100%}}@keyframes index-in-left{0%{translate:-100%}}@keyframes index-in-right{0%{translate:100%}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.index,.index-backdrop{animation:none!important}}.bio{z-index:5;column-gap:var(--gutter);padding:var(--inset);border-bottom:1px solid var(--ink);background:var(--green);color:var(--ink);grid-template-columns:10fr 2fr;align-content:start;display:grid;position:sticky;top:0}.bio a,.projects-toggle{color:var(--black);text-underline-offset:.12em;text-decoration:underline from-font}.bio-toggle{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.project{scroll-margin-top:var(--bio-height,0px)}.bio-expanded{border-bottom:0;min-height:100dvh;position:static}.bio-more{gap:1.2em;margin-top:1.2em;display:grid}.bio-items{padding-left:2em}.project{padding:var(--inset) var(--inset) calc(var(--inset) * 1.6);border-bottom:1px solid var(--white);background:var(--black);color:var(--white);font-size:1.1rem}.project-head{column-gap:var(--gutter);margin-bottom:var(--gutter);grid-template-columns:minmax(0,2fr) minmax(0,5fr) minmax(0,3fr) minmax(0,2fr);display:grid}.project-head>*{overflow-wrap:break-word}.project-head .year{text-align:right}@media (width>=1024px){html:not([data-index-closed]) .project-head{grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,3fr) minmax(0,2fr)}}@media (width<=639px){.project-head{grid-template-columns:minmax(0,3.5fr) minmax(0,4fr) minmax(0,2.8fr) minmax(0,2fr)}}.project-text{column-gap:calc(var(--gutter) * 2);margin-top:var(--gutter);grid-template-columns:8fr 4fr;display:grid}.description p+p{margin-top:1.2em}.credits{color:var(--credits)}@media (width<=760px){.project-text{grid-template-columns:minmax(0,1fr);row-gap:1.2em}}.slideshow{position:relative}.slides{aspect-ratio:var(--ratio);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.slides::-webkit-scrollbar{display:none}.slideshow[data-count="1"] .slides{overflow:hidden}.slideshow:not([data-count="1"]) .slides{cursor:pointer}.slide{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%}.slide img{object-fit:contain;width:100%;height:100%}.arrow{width:36px;height:36px;position:absolute;top:50%;translate:0 -50%}.arrow svg{fill:none;width:100%;height:100%;display:block;overflow:visible}.arrow .outline{stroke:var(--black);stroke-width:2.5px;opacity:.6}.arrow .shape{stroke:var(--white);stroke-width:1.5px}.arrow.prev{left:1rem}.arrow.next{right:1rem}.arrow.next svg{scale:-1 1}.strip{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.strip figure{scroll-snap-align:start;flex:none;width:min-content;padding:5px}.strip img{width:auto;max-width:none;height:80vh}.strip figcaption{width:89%;margin-top:.3em;padding-left:10px;font-size:.9rem}@media (width<=760px){.strip img{height:40vh}}.back{padding:var(--inset);font-size:1.1rem}.index{background:var(--green);color:var(--ink);scrollbar-color:var(--ink) transparent;scrollbar-width:thin}.index-head{z-index:1;padding:var(--inset);border-bottom:1px solid var(--ink);background:var(--green);justify-content:flex-end;display:flex;position:sticky;top:0}.index a{column-gap:var(--gutter);padding:.45em var(--inset);border-bottom:1px solid var(--ink);grid-template-columns:3.4em minmax(0,1fr) minmax(0,.8fr);text-decoration:none;display:grid}.index .name,.index-head button{text-underline-offset:.12em;text-decoration:underline from-font}.index .type{opacity:.6;display:block}.index a:hover{background:#00000014}.index a[data-active],.index a[aria-current=page]{background:var(--black);color:var(--green)}.index a[data-active] .type,.index a[aria-current=page] .type{opacity:.75}
