@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-cyrillic-ext-wght-normal.okcGN4Nq.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-cyrillic-wght-normal.BS41q_Tv.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-greek-ext-wght-normal.DQgQPNk4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-greek-wght-normal.sS1B39LI.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-vietnamese-wght-normal.TKKdAiBA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-latin-ext-wght-normal.B4u9PlvR.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-tight-latin-wght-normal.DX-nOvPD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/courier-prime-latin-ext-400-normal.B-EsvyE4.woff2)format("woff2"),url(/_astro/courier-prime-latin-ext-400-normal.CKOCNFvK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/courier-prime-latin-400-normal.BbyBr73r.woff2)format("woff2"),url(/_astro/courier-prime-latin-400-normal.BAlbUm6l.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/courier-prime-latin-ext-700-normal.ByMJlNdM.woff2)format("woff2"),url(/_astro/courier-prime-latin-ext-700-normal.BIFoAzHx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/courier-prime-latin-700-normal.D1YCjmaD.woff2)format("woff2"),url(/_astro/courier-prime-latin-700-normal.CVvp4Sof.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#fff;--ink:#111;--muted:#9a9a9a;--tile:#000;--accent:#0047ab;--accent-on-dark:#70acff;--sans:"Inter Tight Variable", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:"Courier Prime", "Courier New", ui-monospace, monospace;--pad:clamp(14px, 2vw, 32px);--gap:clamp(10px, 1.25vw, 20px);--grid-gap:clamp(16px, 1.75vw, 28px);--cols:2;--bar-h:3.6rem;--fs:clamp(13px, .25vw + 11.5px, 15px);--ease:cubic-bezier(.2, .7, .1, 1);color-scheme:light}@media (width>=760px){:root{--cols:3}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);min-height:100svh;color:var(--ink);font-family:var(--mono);font-size:var(--fs);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);flex-direction:column;margin:0;line-height:1.32;display:flex}main{flex:1}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1,p,dl,dd{font-weight:inherit;font-size:inherit;margin:0}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:1px solid var(--ink);outline-offset:3px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:50;left:var(--pad);top:var(--pad);background:var(--ink);color:var(--paper);text-transform:uppercase;padding:.3em .5em;position:fixed;translate:0 -300%}.skip-link:focus{translate:0}.bar,.peek,.cursor-label,.facts,.footer,.work__back,.work__index,.work__nav,.lightbox__bar{text-transform:uppercase}.statement,.work__title{font-family:var(--sans);letter-spacing:-.02em;text-wrap:pretty;font-weight:700}.statement{max-width:22em;font-size:clamp(1.65rem,1rem + 2.6vw,3.6rem);line-height:1.02}.statement a,.work__desc a,.facts a{text-underline-offset:.12em;text-decoration:underline .07em}.statement a:hover,.work__desc a:hover,.facts a:hover{color:var(--accent)}.bar{z-index:10;align-content:center;align-items:baseline;column-gap:var(--gap);min-height:var(--bar-h);padding:0 var(--pad);background:var(--paper);view-transition-name:bar;grid-template-columns:1fr auto;grid-template-areas:"name info";row-gap:.15em;display:grid;position:sticky;top:0}.bar--filter{grid-template-areas:"name info""filter filter";min-height:4.6rem}html[data-page=index] .bar{padding-inline:calc(var(--pad) + env(safe-area-inset-left)) calc(var(--pad) + env(safe-area-inset-right));visibility:hidden;transition:translate .4s var(--ease), visibility 0s .4s;position:fixed;inset:0 0 auto;translate:0 -100%}html[data-page=index] .bar[data-shown=true]{visibility:visible;transition:translate .4s var(--ease);translate:0}.bar__name{white-space:nowrap;grid-area:name}.bar__info{grid-area:info;justify-self:end}.bar__name:hover,.bar__info:hover,.bar__info[aria-current=page]{color:var(--accent)}.filter{flex-wrap:wrap;align-items:baseline;gap:0 .5ch;display:flex}.bar .filter{grid-area:filter}.filter__item{transition:color .15s}.filter__item:hover,html:not([data-show]) [data-filter=all],html[data-show=a24] [data-filter=a24],html[data-show=personal] [data-filter=personal]{color:var(--accent)}@media (width>=760px){.bar{min-height:var(--bar-h);grid-template-columns:repeat(3,1fr);grid-template-areas:"name filter info"}}.index{padding:0 var(--pad) 8rem}.intro{padding:var(--pad) 0 .9em}.intro__info{white-space:nowrap}.arrow{fill:none;stroke:currentColor;stroke-width:10px;width:.7em;height:.6em;margin-left:.22em;overflow:visible}.projects{margin-bottom:calc(var(--pad) * 2.5)}.projects .filter__item{text-decoration:none}.grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));gap:var(--grid-gap);display:grid}.tile{aspect-ratio:4/5;background:var(--tile);-webkit-tap-highlight-color:transparent;outline-offset:3px;transition:opacity .6s var(--ease), filter .6s var(--ease), outline-color .15s;outline:1px solid #0000;display:block;position:relative}.tile img{object-fit:contain;user-select:none;-webkit-user-drag:none;width:100%;height:100%}.tile.is-selected,.tile:focus-visible{outline-color:var(--accent)}html[data-show=a24] .tile:not([data-category=a24]),html[data-show=personal] .tile:not([data-category=personal]){opacity:.6;filter:grayscale();pointer-events:none}.cursor-label{z-index:30;background:var(--paper);white-space:nowrap;pointer-events:none;opacity:0;padding:.15em .4em;transition:opacity .15s;position:fixed;top:0;left:0}.cursor-label[data-visible=true]{opacity:1}.peek{z-index:20;left:calc(var(--pad) + env(safe-area-inset-left));bottom:calc(var(--pad) + env(safe-area-inset-bottom));width:min(30rem, calc(100% - 2 * var(--pad)));background:var(--paper);border:1px solid var(--ink);translate:0 calc(100% + 2 * var(--pad) + env(safe-area-inset-bottom));visibility:hidden;transition:translate .4s var(--ease), visibility 0s .4s;align-items:flex-start;display:flex;position:fixed}.peek[data-open=true]{visibility:visible;transition:translate .4s var(--ease);translate:0}.peek__body{flex-direction:column;flex:1;min-width:0;padding:.8em .9em .9em;display:flex}.peek__head{grid-template-columns:5ch 1fr;display:grid}.peek__subtitle{color:var(--muted)}.peek__cta{color:var(--accent);margin-top:.8em}.peek__body:hover .peek__cta{text-underline-offset:.15em;text-decoration:underline}.peek__close{flex:none;padding:.8em .9em}.peek__close:hover{color:var(--accent)}.peek [hidden]{display:none}.footer{justify-content:space-between;gap:var(--gap);padding:var(--pad);display:flex}.footer__links{gap:2ch;display:flex}.footer a:hover{color:var(--accent)}.work{gap:calc(var(--pad) * 2);padding:calc(var(--pad) * .5) var(--pad) calc(var(--pad) * 3);flex-direction:column;display:flex}.work__info{display:contents}.work__head{order:1}.work__images{order:2}.work__details{order:3}.work__nav{order:4}.work__back{margin-bottom:2em;display:inline-block}.work__back:hover{color:var(--accent)}.work__index{margin-bottom:.6em}.work__title{font-size:clamp(2rem,1.4rem + 2vw,3.6rem);line-height:.98}.work__subtitle{color:var(--muted);display:block}.work__desc{max-width:36em;margin-top:1.4em}.work__desc p+p{margin-top:.8em}.work__details{gap:1.3em;display:grid}.facts>div{text-indent:-2ch;padding-left:2ch}.facts dt,.facts dd{display:inline}.work__nav{justify-content:space-between;gap:var(--gap);display:flex}.work__nav a:last-child{text-align:right}.work__nav a:hover{color:var(--accent)}.work__images{gap:var(--gap);flex-direction:column;min-width:0;display:flex}.work__row{justify-content:center;gap:var(--gap);display:flex}.work__figure{flex:var(--r) 1 0%;background:var(--tile);cursor:zoom-in;min-width:0;display:block}.work__row.is-narrow .work__figure{width:min(100%, calc((100svh - var(--bar-h) - 2 * var(--pad)) * var(--r)));flex:none}.work__figure img{width:100%}@media (width>=760px){.work{column-gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.work__info{top:calc(var(--bar-h) + var(--pad) * .5);max-height:calc(100svh - var(--bar-h) - var(--pad));padding-right:var(--gap);padding-bottom:var(--pad);scrollbar-width:none;flex-direction:column;grid-column:1;gap:2.2em;display:flex;position:sticky;overflow-y:auto}.work__info::-webkit-scrollbar{display:none}.work__images{grid-column:2/4}}.lightbox{background:var(--tile);width:100%;max-width:none;height:100%;max-height:none;color:var(--paper);border:0;margin:0;padding:0}.lightbox::backdrop{background:var(--tile)}.lightbox[open]{animation:fade-in .25s var(--ease)}html:has(.lightbox[open]){overflow:hidden}.lightbox img{top:var(--bar-h);left:calc(var(--pad) + env(safe-area-inset-left));width:calc(100% - 2 * var(--pad) - env(safe-area-inset-left) - env(safe-area-inset-right));height:calc(100% - var(--bar-h) - var(--pad) - env(safe-area-inset-bottom));object-fit:contain;position:absolute}.lightbox__bar{min-height:var(--bar-h);padding:0 calc(var(--pad) + env(safe-area-inset-right)) 0 calc(var(--pad) + env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0 0 auto}.lightbox__bar>*{pointer-events:auto}.lightbox__bar button:hover{color:var(--accent-on-dark)}.lightbox__half{width:50%;position:absolute;top:0;bottom:0}.lightbox__half--prev{cursor:w-resize;left:0}.lightbox__half--next{cursor:e-resize;right:0}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}.info{padding:calc(var(--pad) * .75) var(--pad) calc(var(--pad) * 4);align-content:start;gap:3em;display:grid}.info .facts{max-width:44em}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.3s}::view-transition-group(hero){animation-duration:.5s;animation-timing-function:var(--ease)}::view-transition-old(hero){animation:none}::view-transition-new(hero){opacity:0;animation:none}::view-transition-old(hero):only-child{animation:.3s both fade-out}::view-transition-new(hero):only-child{opacity:1;animation:.3s both fade-in}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
