@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/2b232b7efa22db1c-s.2a5zzury7bvvl.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/3bee448361125987-s.p.01g2kivmtf43w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/564b25e5ad617bd2-s.29dtuopo-jwmz.woff2)format("woff2");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:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/ee9d8ff0751135e3-s.p.3p2zw-bmbrlar.woff2)format("woff2");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:Martian Mono Fallback;src:local(Arial);ascent-override:63.69%;descent-override:12.74%;line-gap-override:0.0%;size-adjust:157.02%}.martian_mono_63fb6229-module__jB1TSG__className{font-family:Martian Mono,Martian Mono Fallback;font-style:normal}.martian_mono_63fb6229-module__jB1TSG__variable{--font-martian-mono:"Martian Mono", "Martian Mono Fallback"}
@font-face{font-family:kommunaNarrow;src:url(../media/kommuna_narrow-s.p.2lmo556l20rat.otf)format("opentype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:kommunaNarrow Fallback;src:local(Arial);ascent-override:114.08%;descent-override:42.78%;line-gap-override:0.0%;size-adjust:87.66%}.kommunanarrow_fcc5c3c1-module__2-hsmq__className{font-family:kommunaNarrow,kommunaNarrow Fallback;font-style:normal;font-weight:400}.kommunanarrow_fcc5c3c1-module__2-hsmq__variable{--font-kommuna-narrow:"kommunaNarrow", "kommunaNarrow Fallback"}
@font-face{font-family:kommunaWideBold;src:url(../media/kommuna_wide_bold-s.p.0h2oqkknth7bp.otf)format("opentype");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:kommunaWideBold Fallback;src:local(Arial);ascent-override:57.04%;descent-override:21.39%;line-gap-override:0.0%;size-adjust:175.32%}.kommunawidebold_78f677d1-module__KUH6Tq__className{font-family:kommunaWideBold,kommunaWideBold Fallback;font-style:normal;font-weight:700}.kommunawidebold_78f677d1-module__KUH6Tq__variable{--font-kommuna-wide-bold:"kommunaWideBold", "kommunaWideBold Fallback"}
:root{--color-background:#fff;--color-text:#0a0a0a;--grid-padding:clamp(24px, 4vw, 64px);--site-header-height:30px;--site-header-media-height:36px;--header-title-gap:clamp(48px, 8vw, 128px);--intro-copy-gap:clamp(40px, 5vw, 72px);--text-body:16px;--visual-hover-stroke:#fff6;--visual-hover-stroke-width:5px}*{box-sizing:border-box}html,body{min-height:100%}body{font-size:var(--text-body);word-spacing:.02em;color:var(--color-text);background:var(--color-background);margin:0;font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-kommuna-narrow), var(--font-martian-mono), monospace}.home-page{background:url(/home/other/noise.png),#ececec;min-height:100svh}.home-about{padding:calc(var(--site-header-height) + var(--grid-padding) + var(--grid-padding)) var(--grid-padding) clamp(64px, 8vw, 128px)}.home-about__title,.cv-page__header h1{font-family:var(--font-kommuna-wide-bold), var(--font-kommuna-narrow), var(--font-martian-mono), monospace;letter-spacing:-.035em;margin:0;font-size:clamp(56px,9vw,136px);font-weight:700;line-height:.86}.home-about__subtitle,.cv-page__header p{font-family:var(--font-kommuna-narrow), var(--font-martian-mono), monospace;letter-spacing:-.025em;text-transform:uppercase;margin:8px 0 0;font-size:clamp(48px,7.5vw,112px);font-weight:400;line-height:.95}.home-about__details{max-width:960px;margin-top:var(--intro-copy-gap);font-size:clamp(16px,1.45vw,22px);line-height:1.4}.home-about__details p{margin:0 0 1.4em}.home-about__details p:last-child{margin-bottom:0}.cv-page{min-height:100svh;padding:calc(var(--site-header-height) + var(--grid-padding) + var(--grid-padding)) var(--grid-padding) var(--grid-padding);color:#000;background:#fff}.cv-page__content{width:min(100%,1120px)}.cv-page__header{margin-bottom:var(--intro-copy-gap)}.cv-page__body{max-width:82ch;font-size:clamp(16px,1.45vw,22px);line-height:1.45}.cv-page__body p{margin:0 0 1.45em}.cv-page__body p:last-child{margin-bottom:0}.cv-page__download{margin-top:clamp(48px,8vw,112px)}.cv-page__download a{font-family:var(--font-kommuna-wide-bold), var(--font-kommuna-narrow), var(--font-martian-mono), monospace;letter-spacing:-.035em;color:#000;font-size:clamp(36px,4vw,56px);font-weight:700;line-height:.9;text-decoration:none;transition:color .12s;display:inline-block}@media (hover:hover) and (pointer:fine){.cv-page__download a:hover{color:#ff4f00}}.cv-page__download a:focus-visible{outline-offset:8px;outline:3px solid}.home-projects{padding:0 var(--grid-padding) 20px;gap:clamp(32px,4vw,64px);display:grid}.home-project-entry{gap:16px;display:grid}.home-project-entry__title{font-family:var(--font-kommuna-wide-bold), var(--font-kommuna-narrow), var(--font-martian-mono), monospace;letter-spacing:-.035em;margin:0;font-size:clamp(40px,4vw,43px);font-weight:700;line-height:.8}.home-project-entry__title a{color:#000;text-decoration:none}.home-project-entry__meta{gap:10px;display:grid}.home-project-entry__description{max-width:58ch;margin:0;font-size:clamp(16px,1.45vw,22px);line-height:1.4}.home-project-entry--eapteka .home-project-entry__title a{color:#0000;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#8169ff 0%,#4e9fe9 48%,#00c8a8 100%);-webkit-background-clip:text;background-clip:text;display:inline-block}.home-project-entry--wb-bank .home-project-entry__title a{color:#281a42}@media (min-width:800px){.home-project-entry__meta{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:20px}.home-project-entry__description{max-width:none}}.home-project-card{width:100%;color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none;display:block}.home-project-card:focus-visible{outline-offset:8px;outline:3px solid #000}.home-project-card__stage{aspect-ratio:2;contain:layout paint;view-transition-group:contain;width:100%;min-height:360px;transition:transform .14s cubic-bezier(.23,1,.32,1);display:block;position:relative;overflow:hidden;transform:translateZ(0)}.home-project-card--eapteka{--project-noise-image:url(/projects/eapteka/noise.png);background:url(/projects/eapteka/noise.png),radial-gradient(121.87% 52.67% at 68.71% -6.96%,#b0e0ffcc 0%,#b0e0ff 85.68%),radial-gradient(466.52% 80.72% at 3.36% 2.32%,#8169ff 8.9% 87.98%),radial-gradient(194.54% 141.05% at 75.68% -27.82%,#5aede2 14.42%,#00c8a8 92.7%)}.home-project-card--wb-bank{--project-noise-image:url(/projects/wb-bank/noise.png);background:url(/projects/wb-bank/noise.png),#281a42}.project__gallery-flow.project__gallery-flow--preview{margin-top:0;position:absolute;inset:clamp(20px,3.5vw,56px)}.project__gallery--preview{min-height:100%}.project__gallery--preview .project__media{pointer-events:none}@media (hover:hover) and (pointer:fine){.home-project-card:hover .project__outline{opacity:1}}.home-project-card:active .home-project-card__stage{transition-duration:80ms;transform:scale(.996)}::view-transition{pointer-events:none}::view-transition-old(root){animation:none}::view-transition-new(root){opacity:0;animation:none}::view-transition-group(.project-surface){z-index:10;animation-duration:.64s;animation-timing-function:cubic-bezier(.23,1,.32,1)}::view-transition-image-pair(.project-surface){isolation:auto}::view-transition-old(.project-surface){opacity:0;mix-blend-mode:normal;animation:none}::view-transition-new(.project-surface){opacity:1;mix-blend-mode:normal;animation:none}::view-transition-group(.project-intro-enter){z-index:30;animation:none}::view-transition-new(.project-intro-enter){mix-blend-mode:normal;animation:.38s cubic-bezier(.23,1,.32,1) both project-intro-enter}::view-transition-group(site-header){z-index:100;animation:none}::view-transition-old(site-header){opacity:1;mix-blend-mode:normal;animation:none}::view-transition-new(site-header){opacity:1;mix-blend-mode:normal;animation:none}@keyframes project-intro-enter{0%{opacity:0;transform:translateY(-72px)}to{opacity:1;transform:translateY(0)}}.home-other{--project-noise-image:url(/home/other/noise.png);padding:clamp(40px, 5vw, 80px) var(--grid-padding) var(--grid-padding)}.home-other__gallery{flex-wrap:wrap;align-items:flex-start;column-gap:20px;display:flex;position:relative}.home-other__sizer,.home-other__item{width:calc(12.5% - 17.5px)}.home-other__sizer{visibility:hidden;height:0;display:block}.home-other__item{margin:0 0 20px;position:relative}.home-other__item--wide{width:calc(25% - 15px)}.home-other__item--triple{width:calc(37.5% - 12.5px)}.home-other__visual{display:block;position:relative}.home-other__visual:after{z-index:2;content:"";background-image:var(--project-noise-image);opacity:0;pointer-events:none;background-repeat:repeat;transition:opacity .3s cubic-bezier(.23,1,.32,1);position:absolute;inset:0}.home-other__item--image .home-other__visual:after{-webkit-mask-image:var(--home-other-mask-image);-webkit-mask-position:50%;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-image:var(--home-other-mask-image);mask-image:var(--home-other-mask-image);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.home-other__item--loaded .home-other__visual:after{opacity:1}.home-other__asset{z-index:1;opacity:0;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:auto;transition:opacity .3s cubic-bezier(.23,1,.32,1);display:block;position:relative}.home-other__outline{z-index:3;fill:none;width:100%;height:100%;stroke:var(--visual-hover-stroke);stroke-width:var(--visual-hover-stroke-width);stroke-linecap:round;stroke-linejoin:round;opacity:0;pointer-events:none;transition:opacity .18s cubic-bezier(.23,1,.32,1);position:absolute;inset:0;overflow:visible}.home-other__video{object-fit:contain;background:#0000000f}.home-other__item--video .home-other__asset,.home-other__item--video .home-other__visual:after,.home-other__item--loaded .home-other__asset{opacity:1}.home-other__hit-area,.home-other__video-button{z-index:4;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:none;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}.home-other__video-button{outline:var(--visual-hover-stroke-width) solid transparent;outline-offset:0;transition:outline-color .18s cubic-bezier(.23,1,.32,1)}@media (hover:hover) and (pointer:fine){.home-other__item--image .home-other__visual:hover .home-other__outline{opacity:1}.home-other__video-button:hover{outline-color:var(--visual-hover-stroke)}}.home-other__visual:has(.home-other__hit-area:focus-visible) .home-other__outline{opacity:1}.home-other__video-button:focus-visible{outline-color:var(--visual-hover-stroke)}.home-other__skeleton{z-index:3;opacity:0;pointer-events:none;-webkit-mask-image:var(--home-other-mask-image);-webkit-mask-position:50%;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-image:var(--home-other-mask-image);mask-image:var(--home-other-mask-image);background:#ffffff57;animation:1ms .3s forwards project-skeleton-reveal;position:absolute;inset:0;overflow:hidden;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.home-other__skeleton-shimmer{filter:blur(4px);width:70%;animation:1.6s linear infinite project-skeleton-shimmer;animation-delay:var(--home-other-skeleton-delay);will-change:transform;background:linear-gradient(90deg,#0000,#ffffffb8,#0000);position:absolute;inset:-10% auto -10% -70%}.home-other__item--loaded .home-other__skeleton{opacity:0;animation:none}.home-other__item--loaded .home-other__skeleton-shimmer{will-change:auto;animation:none}.home-lightbox__video{object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;background:#000;width:100%;max-width:none;height:100%;max-height:none;display:block}.home-lightbox__media--video:after{-webkit-mask-image:none;mask-image:none}.site-header{--site-header-hover-color:#ff4f00;z-index:100;inset:var(--grid-padding) var(--grid-padding) auto;height:var(--site-header-height);color:var(--color-text);pointer-events:none;view-transition-name:site-header;grid-template-columns:max-content max-content minmax(0,1fr) max-content;align-items:center;column-gap:20px;display:grid;position:fixed}.site-header__portrait-link{width:auto;height:var(--site-header-media-height);pointer-events:auto;place-items:center;display:grid}.site-header__portrait{width:auto;height:var(--site-header-media-height);object-fit:contain;transform-origin:50%;will-change:transform;display:block}.site-header__identity,.site-header__meta,.site-header__links{font-size:var(--text-body);margin:0;font-weight:400;line-height:1.25}.site-header__identity{width:fit-content;color:inherit;pointer-events:auto;align-items:center;gap:20px;text-decoration:none;display:flex}.site-header__identity--home{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.site-header__identity:focus-visible{outline-offset:6px;outline:2px solid}.site-header__name{width:fit-content;font-family:var(--font-kommuna-narrow), var(--font-martian-mono), monospace;letter-spacing:-.035em;text-transform:uppercase;white-space:nowrap;color:inherit;pointer-events:auto;font-size:43px;line-height:.7;text-decoration:none}.site-header__meta{font-family:var(--font-martian-mono), monospace;font-size:var(--text-body);white-space:nowrap;justify-items:start;line-height:1.18;display:grid}.site-header__links{font-family:var(--font-kommuna-narrow), var(--font-martian-mono), monospace;letter-spacing:-.035em;text-transform:uppercase;white-space:nowrap;pointer-events:auto;grid-column:4;justify-self:end;align-items:center;gap:20px;font-size:43px;line-height:.7;display:flex}.site-header__name,.site-header__meta,.site-header__links>span,.site-header__links>a{transition:color .12s}.site-header__links>a{color:inherit;text-decoration:none}.site-header__links>.site-header__cv-link{place-items:center;width:40px;height:40px;display:grid}.system-close-icon{shape-rendering:geometricprecision;flex:none;width:40px;height:40px;display:block;overflow:visible}.system-close-icon path{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}@media (hover:hover) and (pointer:fine){.site-header__identity:hover .site-header__name,.site-header__identity:hover .site-header__meta,.site-header .site-header__links>span:hover,.site-header .site-header__links>a:hover{color:var(--site-header-hover-color)}}.site-header__name-medium,.site-header__name-short{display:none}.site-header__name,.site-header__meta,.site-header__links{color:#000}body:has(.project-page) .site-header{color:#fff}@media (max-width:679px){.site-header__name-wide{display:none}.site-header__name-medium{display:inline}}@media (max-width:799px){.site-header{column-gap:12px}.site-header__identity{gap:12px}.site-header__name{font-size:40px}.site-header__meta{font-size:14px}.site-header__links{gap:12px;font-size:40px}}@media (max-width:559px){.site-header__name-medium{display:none}.site-header__name-short{display:inline}}@media (max-width:459px){.site-header{grid-template-columns:max-content max-content minmax(0,1fr) max-content;column-gap:8px}.site-header__meta{display:none}.site-header__identity{gap:8px}.site-header__links{grid-column:4;gap:8px}}.project-page{color:#fff;view-transition-group:contain;min-height:100svh;position:relative;overflow:clip}.project-page--eapteka{--project-noise-image:url(/projects/eapteka/noise.png);background:url(/projects/eapteka/noise.png),radial-gradient(121.87% 52.67% at 68.71% -6.96%,#b0e0ffcc 0%,#b0e0ff 85.68%),radial-gradient(466.52% 80.72% at 3.36% 2.32%,#8169ff 8.9% 87.98%),radial-gradient(194.54% 141.05% at 75.68% -27.82%,#5aede2 14.42%,#00c8a8 92.7%)}.project-page--wb-bank{--project-noise-image:url(/projects/wb-bank/noise.png);background:url(/projects/wb-bank/noise.png),#281a42}:is(body:has(.project-page--wb-bank) .site-header__name,body:has(.project-page--wb-bank) .site-header__meta,body:has(.project-page--wb-bank) .site-header__links){color:#fff}@supports (color:color(display-p3 1 1 1)){.project-page--eapteka,.home-project-card--eapteka{background:url(/projects/eapteka/noise.png),radial-gradient(121.87% 52.67% at 68.71% -6.96%,color(display-p3 .7294 .8745 1/.8) 0%,color(display-p3 .7294 .8745 1/0) 85.68%),radial-gradient(466.52% 80.72% at 3.36% 2.32%,color(display-p3 .4902 .4157 1) 8.9%,color(display-p3 .4902 .4157 1/0) 87.98%),radial-gradient(194.54% 141.05% at 75.68% -27.82%,color(display-p3 .5202 .9163 .8841) 14.42%,color(display-p3 .0314 .7686 .6627) 92.7%)}}.project{z-index:1;padding:calc(var(--grid-padding) + var(--site-header-height) + var(--header-title-gap)) var(--grid-padding) var(--grid-padding);position:relative}.project__intro{width:100%}.project__title{font-family:var(--font-kommuna-wide-bold), var(--font-kommuna-narrow), var(--font-martian-mono), monospace;letter-spacing:-.035em;text-indent:-.023em;margin:0;font-size:clamp(72px,14vw,220px);font-weight:700;line-height:.86}.project__description{width:100%;font-size:var(--text-body);gap:8px;margin:12px 0 0;font-weight:400;line-height:1.35;display:grid}.project__description p{margin:0}.project__gallery-flow{margin-top:clamp(96px,15vw,240px)}.project__gallery{flex-wrap:wrap;align-items:flex-start;column-gap:20px;margin-top:0;display:flex;position:relative}.project__gallery-flow>.project__gallery:not(:first-child){margin-top:20px}.project__gallery-sizer,.project__media{width:calc(12.5% - 17.5px)}.project__gallery-sizer{visibility:hidden;height:0;display:block}.project__media{margin:0 0 20px;position:relative}.project__visual{display:block;position:relative}.project__visual:after{z-index:2;content:"";background-image:var(--project-noise-image);opacity:0;pointer-events:none;-webkit-mask-image:var(--project-mask-image);-webkit-mask-position:50%;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-image:var(--project-mask-image);mask-image:var(--project-mask-image);background-repeat:repeat;transition:opacity .3s cubic-bezier(.23,1,.32,1);position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.project__media--loaded .project__visual:after{opacity:1}.project__media--wide{width:calc(25% - 15px)}.project__media--triple{width:calc(37.5% - 12.5px)}.project__gallery-flow>.project__media--fullscreen{width:calc(100% + 2 * var(--grid-padding));margin:clamp(64px,8vw,128px) 0;margin-left:calc(-1 * var(--grid-padding))}.project__media--fullscreen .project__visual,.project__media--fullscreen .project__image,.project__media--fullscreen .project__hit-area,.project__media--fullscreen .project__skeleton{width:100%}.project__media--fullscreen .project__image{height:auto}.project__media--fullscreen .project__skeleton,.project__media--fullscreen .project__visual:after{-webkit-mask-size:contain;mask-size:contain}.project__image{z-index:1;opacity:0;pointer-events:none;width:100%;height:auto;transition:opacity .3s cubic-bezier(.23,1,.32,1),transform .5s cubic-bezier(.23,1,.32,1);display:block;position:relative}.project__outline{z-index:3;fill:none;width:100%;height:100%;stroke:var(--visual-hover-stroke);stroke-width:var(--visual-hover-stroke-width);stroke-linecap:round;stroke-linejoin:round;opacity:0;pointer-events:none;transition:opacity .18s cubic-bezier(.23,1,.32,1);position:absolute;inset:0;overflow:visible}.project__hit-area{z-index:4;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:none;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.project__visual:hover .project__outline{opacity:1}}.project__visual:has(.project__hit-area:focus-visible) .project__outline{opacity:1}.project-lightbox{color:#fff;background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;overflow:hidden}.project-lightbox::backdrop{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0000001f}.project-lightbox--animated-open[open]::backdrop{animation:.42s cubic-bezier(.23,1,.32,1) project-lightbox-backdrop-in}.project-lightbox__stage{-webkit-user-select:none;user-select:none;place-items:center;width:100%;height:100%;padding:0;display:grid;position:relative}.project-lightbox__media--focus{animation:.18s cubic-bezier(.23,1,.32,1) project-lightbox-focus}.project-lightbox__media{width:100dvw;height:100dvh;position:relative}.project-lightbox__media:after{z-index:1;content:"";background-image:var(--project-noise-image);pointer-events:none;-webkit-mask-image:var(--project-mask-image);-webkit-mask-position:50%;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-image:var(--project-mask-image);mask-image:var(--project-mask-image);background-repeat:repeat;position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.project-lightbox__image{object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;width:100%;max-width:none;height:100%;max-height:none;display:block}.project-lightbox__control{z-index:2;color:#fff;text-shadow:0 1px 12px #00000047;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;place-items:center;width:48px;height:48px;padding:0;transition:opacity .12s,transform .12s cubic-bezier(.23,1,.32,1);display:grid;position:absolute}.project-lightbox__control:hover{opacity:.72}.project-lightbox__control:active{transform:scale(.94)}.project-lightbox__control:focus-visible{outline-offset:6px;border-radius:999px;outline:2px solid}.project-lightbox__icon{shape-rendering:geometricprecision;flex:none;width:48px;height:48px;display:block;overflow:visible}.project-lightbox__icon path{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.project-lightbox__close{top:var(--grid-padding);right:var(--grid-padding);width:40px;height:40px}.project-lightbox--animated-open[open] .project-lightbox__close{animation:.34s cubic-bezier(.23,1,.32,1) project-lightbox-close-in}.project-lightbox__close .project-lightbox__icon,.project-lightbox__close .system-close-icon{width:40px;height:40px}.project-lightbox__previous,.project-lightbox__next{top:50%;transform:translateY(-50%)}.project-lightbox__previous:active,.project-lightbox__next:active{transform:translateY(-50%)scale(.94)}.project-lightbox__previous{left:var(--grid-padding)}.project-lightbox--animated-open[open] .project-lightbox__previous{animation:.34s cubic-bezier(.23,1,.32,1) project-lightbox-previous-in}.project-lightbox__next{right:var(--grid-padding)}.project-lightbox--animated-open[open] .project-lightbox__next{animation:.34s cubic-bezier(.23,1,.32,1) project-lightbox-next-in}@keyframes project-lightbox-backdrop-in{0%{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:0 0}to{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0000001f}}@keyframes project-lightbox-focus{0%{opacity:.28;filter:blur(16px);transform:scale(.985)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes project-lightbox-previous-in{0%{opacity:0;transform:translate(-160px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes project-lightbox-next-in{0%{opacity:0;transform:translate(160px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes project-lightbox-close-in{0%{opacity:0;transform:translate(96px,-96px)}to{opacity:1;transform:translate(0)}}.project__skeleton{z-index:3;opacity:0;pointer-events:none;-webkit-mask-image:var(--project-mask-image);-webkit-mask-position:50%;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-image:var(--project-mask-image);mask-image:var(--project-mask-image);background:#ffffff2e;transition:opacity .3s cubic-bezier(.23,1,.32,1);animation:1ms .3s forwards project-skeleton-reveal;position:absolute;inset:0;overflow:hidden;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.project__skeleton-shimmer{filter:blur(4px);width:70%;animation:1.6s linear infinite project-skeleton-shimmer;animation-delay:var(--project-skeleton-delay);will-change:transform;background:linear-gradient(90deg,#0000,#ffffff5c,#0000);position:absolute;inset:-10% auto -10% -70%}.project__media--loaded .project__skeleton{opacity:0;animation:none}.project__media--loaded .project__image{opacity:1}.project__media--loaded .project__skeleton-shimmer{will-change:auto;animation:none}@keyframes project-skeleton-reveal{to{opacity:1}}@keyframes project-skeleton-shimmer{to{transform:translate(340%)}}@media (prefers-reduced-motion:reduce){.site-header__portrait{will-change:auto}.project__skeleton{transition:none}.project__skeleton-shimmer{will-change:auto;display:none}.project-lightbox__media,.project-lightbox--animated-open[open]::backdrop,.project-lightbox--animated-open[open] .project-lightbox__control{animation:none}.home-project-card__stage,.home-project-card .project__image,.project__outline,.home-other__asset,.home-other__outline,.home-other__video-button{transition:none}::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}.home-other__skeleton-shimmer{will-change:auto;display:none}}.project__caption{margin-top:8px;font-size:14px;line-height:1.25}@media (max-width:1099px){.home-other__sizer,.home-other__item{width:calc(16.6667% - 16.6667px)}.home-other__item--wide{width:calc(33.3333% - 13.3333px)}.home-other__item--triple{width:calc(50% - 10px)}.project__gallery-sizer,.project__media{width:calc(16.6667% - 16.6667px)}.project__media--wide{width:calc(33.3333% - 13.3333px)}.project__media--triple{width:calc(50% - 10px)}}@media (max-width:719px){.home-about__details{font-size:16px}.home-project-card__stage{aspect-ratio:4/3;min-height:0}.home-other__sizer,.home-other__item{width:calc(25% - 15px)}.home-other__item--wide{width:calc(50% - 10px)}.home-other__item--triple{width:calc(75% - 5px)}.project-lightbox__close{top:24px;right:24px}.project-lightbox__previous{left:16px}.project-lightbox__next{right:16px}.project__gallery-sizer,.project__media{width:calc(25% - 15px)}.project__media--wide{width:calc(50% - 10px)}.project__media--triple{width:calc(75% - 5px)}}@media (max-width:419px){.home-project-card__stage{aspect-ratio:1}.home-other__sizer,.home-other__item{width:calc(50% - 10px)}.home-other__item--wide,.home-other__item--triple{width:100%}.project__gallery-sizer,.project__media{width:calc(50% - 10px)}.project__media--wide,.project__media--triple{width:100%}}
