.logomark[data-astro-cid-27oicc4y]{width:var(--logomark-size,3rem);height:var(--logomark-size,3rem);flex:none;display:block;overflow:visible}.logomark__square[data-astro-cid-27oicc4y],.logomark__cap[data-astro-cid-27oicc4y]{fill:currentColor}.logomark__stroke[data-astro-cid-27oicc4y]{fill:none;stroke:currentColor;stroke-width:119.7px;stroke-linejoin:miter;stroke-linecap:butt;stroke-miterlimit:10}.header[data-astro-cid-nen7h5rs]{z-index:var(--z-header);pointer-events:none;width:100%;position:fixed;top:0;left:0;right:0}.header[data-astro-cid-nen7h5rs][data-boot] .header__inner[data-astro-cid-nen7h5rs],.header[data-astro-cid-nen7h5rs][data-boot] .header__inner[data-astro-cid-nen7h5rs] [data-astro-cid-nen7h5rs]{transition:none!important}.header__inner[data-astro-cid-nen7h5rs]{view-transition-name:header;pointer-events:auto;max-width:var(--canvas-width);padding:var(--space-6) min(var(--space-16), var(--gutter));min-height:var(--header-height);margin-top:0;box-shadow:none;transition:max-width var(--duration-page) var(--ease-in-out), padding var(--duration-page) var(--ease-in-out), margin-top var(--duration-page) var(--ease-in-out), border-radius var(--duration-page) var(--ease-in-out), background-color var(--duration-hover) var(--ease-quick), box-shadow var(--duration-hover) var(--ease-quick);background-color:#0000;border-radius:0;justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.header[data-astro-cid-nen7h5rs][data-state=sticky] .header__inner[data-astro-cid-nen7h5rs],.header[data-astro-cid-nen7h5rs][data-state=darker] .header__inner[data-astro-cid-nen7h5rs],html:not(.js) .header[data-astro-cid-nen7h5rs] .header__inner[data-astro-cid-nen7h5rs]{max-width:var(--header-width-sticky);padding:var(--header-pad-y-sticky) var(--space-16);margin-top:var(--header-gap-sticky);border-radius:var(--header-radius-sticky);box-shadow:inset 0 0 0 1px var(--color-neutral-0-04);backdrop-filter:blur(var(--blur-header))}.header[data-astro-cid-nen7h5rs][data-state=sticky] .header__inner[data-astro-cid-nen7h5rs],html:not(.js) .header[data-astro-cid-nen7h5rs] .header__inner[data-astro-cid-nen7h5rs]{background-color:var(--color-surface-header)}.header[data-astro-cid-nen7h5rs][data-state=darker] .header__inner[data-astro-cid-nen7h5rs],html:not(.js):has([data-header-solid]) .header[data-astro-cid-nen7h5rs] .header__inner[data-astro-cid-nen7h5rs]{background-color:var(--color-surface-header-darker);backdrop-filter:blur(1.25rem)}@media (prefers-reduced-motion:reduce){.header__inner[data-astro-cid-nen7h5rs]{transition:background-color var(--duration-hover) linear}}.header__logo[data-astro-cid-nen7h5rs]{color:var(--color-neutral-0);flex:none;align-items:center;display:flex}.header__menu[data-astro-cid-nen7h5rs]{align-items:flex-end;gap:var(--space-6);display:flex;position:relative}.menu-cube[data-astro-cid-nen7h5rs]{background-color:var(--color-neutral-0);opacity:0;width:.5rem;height:.5rem;translate:var(--cube-x,0) 0;rotate:var(--cube-turn,0deg);transition:translate var(--duration-page) var(--ease-in-out), rotate var(--duration-page) var(--ease-in-out), opacity var(--duration-micro) var(--ease-quick);pointer-events:none;position:absolute;top:0;left:0}.header__menu[data-astro-cid-nen7h5rs][data-active-index] .menu-cube[data-astro-cid-nen7h5rs]{opacity:1}.menu-item[data-astro-cid-nen7h5rs]{z-index:0;justify-content:flex-end;align-items:center;gap:var(--space-3);padding:0 var(--space-5) var(--space-2);color:var(--color-neutral-400);transition:color var(--duration-micro) var(--ease-quick);flex-direction:column;display:flex;position:relative}.menu-item__spacer[data-astro-cid-nen7h5rs]{width:.5rem;height:.5rem}.menu-item[data-astro-cid-nen7h5rs]:hover,.menu-item[data-astro-cid-nen7h5rs]:focus-visible,.menu-item[data-astro-cid-nen7h5rs][data-active]{color:var(--color-neutral-0)}.header__mobile[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-4);display:none}.burger[data-astro-cid-nen7h5rs]{box-shadow:none;transition:scale var(--duration-hover) var(--ease-out);place-content:center;padding:.875rem .5rem;display:grid}.burger[data-astro-cid-nen7h5rs][aria-expanded=true]{scale:.92}.burger__box[data-astro-cid-nen7h5rs]{gap:7px;display:grid}.burger__bar[data-astro-cid-nen7h5rs]{background-color:var(--color-neutral-0);width:22px;height:2px;transition:transform var(--duration-micro) var(--ease-quick), opacity var(--duration-micro) var(--ease-quick);display:block}.burger[data-astro-cid-nen7h5rs][aria-expanded=true] .burger__bar[data-astro-cid-nen7h5rs]:nth-child(2){opacity:0}.burger[data-astro-cid-nen7h5rs][aria-expanded=true] .burger__bar[data-astro-cid-nen7h5rs]:first-child{transform:translateY(9px)rotate(45deg)}.burger[data-astro-cid-nen7h5rs][aria-expanded=true] .burger__bar[data-astro-cid-nen7h5rs]:nth-child(3){transform:translateY(-9px)rotate(-45deg)}.panel[data-astro-cid-nen7h5rs]{top:calc(100% - var(--space-2));left:var(--space-4);right:var(--space-4);height:calc(100svh - 100% + var(--space-2) - var(--space-4));padding:var(--space-6);border-radius:var(--radius-card);background-color:var(--color-surface-header);box-shadow:inset 0 0 0 1px var(--color-neutral-0-04);backdrop-filter:blur(var(--blur-header));pointer-events:auto;transform-origin:100% 0;animation:panel-open var(--duration-hover) var(--ease-out) both;place-content:center;place-items:center;display:grid;position:absolute}.header[data-astro-cid-nen7h5rs][data-state=darker] .panel[data-astro-cid-nen7h5rs],html:not(.js):has([data-header-solid]) .header[data-astro-cid-nen7h5rs] .panel[data-astro-cid-nen7h5rs]{background-color:var(--color-surface-header-darker);backdrop-filter:blur(1.25rem)}.panel[data-astro-cid-nen7h5rs][hidden]{display:none}@keyframes panel-open{0%{opacity:0;translate:0 -.5rem;scale:.86}to{opacity:1;translate:0;scale:1}}.panel__list[data-astro-cid-nen7h5rs]{justify-items:center;gap:var(--space-10);display:grid}.panel__link[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);color:var(--color-neutral-400);text-align:center;transition:color var(--duration-micro) var(--ease-quick);animation:panel-item var(--duration-enter) var(--ease-out) backwards;animation-delay:calc(80ms + var(--i) * var(--stagger-nav));flex-direction:column;display:flex}.panel__link[data-astro-cid-nen7h5rs]:before{content:"";background-color:var(--color-neutral-0);opacity:0;width:.5rem;height:.5rem;transition:opacity var(--duration-micro) var(--ease-quick), rotate var(--duration-page) var(--ease-in-out);rotate:-45deg}.panel__link[data-astro-cid-nen7h5rs][data-active]:before{opacity:1;rotate:0deg}.panel__link[data-astro-cid-nen7h5rs]:hover,.panel__link[data-astro-cid-nen7h5rs]:focus-visible,.panel__link[data-astro-cid-nen7h5rs][data-active]{color:var(--color-neutral-0)}@keyframes panel-item{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@media (width<1024px){.header__nav[data-astro-cid-nen7h5rs]{display:none}.header__mobile[data-astro-cid-nen7h5rs]{display:flex}.header__inner[data-astro-cid-nen7h5rs]{view-transition-name:none}.header__logo[data-astro-cid-nen7h5rs]{view-transition-name:header-logo}.burger[data-astro-cid-nen7h5rs]{view-transition-name:header-burger}.header__inner[data-astro-cid-nen7h5rs],.header[data-astro-cid-nen7h5rs][data-state=sticky] .header__inner[data-astro-cid-nen7h5rs],.header[data-astro-cid-nen7h5rs][data-state=darker] .header__inner[data-astro-cid-nen7h5rs],html:not(.js) .header[data-astro-cid-nen7h5rs] .header__inner[data-astro-cid-nen7h5rs],html:not(.js):has([data-header-solid]) .header[data-astro-cid-nen7h5rs] .header__inner[data-astro-cid-nen7h5rs]{max-width:none;padding:var(--space-4);box-shadow:none;backdrop-filter:none;background-color:#0000;border-radius:0;margin-top:0}.header__logo[data-astro-cid-nen7h5rs],.burger[data-astro-cid-nen7h5rs]{background-color:var(--color-surface-header);width:4rem;height:4rem;box-shadow:inset 0 0 0 1px var(--color-neutral-0-04);backdrop-filter:blur(var(--blur-header));transition:background-color var(--duration-hover) var(--ease-quick);border-radius:50%;place-items:center;padding:0;display:grid}.header[data-astro-cid-nen7h5rs][data-state=darker] .header__logo[data-astro-cid-nen7h5rs],.header[data-astro-cid-nen7h5rs][data-state=darker] .burger[data-astro-cid-nen7h5rs],html:not(.js):has([data-header-solid]) .header[data-astro-cid-nen7h5rs] .header__logo[data-astro-cid-nen7h5rs],html:not(.js):has([data-header-solid]) .header[data-astro-cid-nen7h5rs] .burger[data-astro-cid-nen7h5rs]{background-color:var(--color-surface-header-darker);backdrop-filter:blur(1.25rem)}.header__logo[data-astro-cid-nen7h5rs] .logomark{width:2rem;height:2rem}.burger[data-astro-cid-nen7h5rs]{place-content:center;display:grid}}.footer[data-astro-cid-jo6i4kqk]{margin-top:0}.footer__bleed[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--space-12);flex-direction:column;display:flex}.footer__content[data-astro-cid-jo6i4kqk]{width:100%;padding:0 var(--space-12) var(--space-12)}.footer__row[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:center;gap:var(--space-6);display:flex}.footer__side[data-astro-cid-jo6i4kqk]{min-width:0;color:var(--color-neutral-500);flex:1 1 0}.footer__name[data-astro-cid-jo6i4kqk]{color:inherit;transition:color var(--duration-hover) var(--ease-quick);text-decoration:none}.footer__name[data-astro-cid-jo6i4kqk]:hover,.footer__name[data-astro-cid-jo6i4kqk]:focus-visible{color:var(--color-neutral-400)}.footer__side--end[data-astro-cid-jo6i4kqk]{text-align:right}.footer__addr[data-astro-cid-jo6i4kqk]{white-space:nowrap}@media (width<1100px){.footer__content[data-astro-cid-jo6i4kqk]{padding-inline:0}.footer__row[data-astro-cid-jo6i4kqk]{gap:var(--space-4);text-align:center;flex-direction:column}.footer__side[data-astro-cid-jo6i4kqk],.footer__side--end[data-astro-cid-jo6i4kqk]{text-align:center;flex:none}}.skip-link[data-astro-cid-pbhazpx6]{top:var(--space-4);left:var(--space-4);z-index:var(--z-overlay);padding:var(--space-3) var(--space-5);background-color:var(--color-neutral-0);color:var(--color-neutral-950);border-radius:var(--radius-sm);transform:translateY(calc(-100% - var(--space-8)));transition:transform var(--duration-micro) var(--ease-quick);position:absolute}.skip-link[data-astro-cid-pbhazpx6]:focus-visible{transform:translateY(0)}.ambience[data-astro-cid-nqf7ces6]{z-index:-1;pointer-events:none;background-color:var(--color-neutral-950);position:fixed;inset:0;overflow:clip}.ambience__field[data-astro-cid-nqf7ces6],.ambience__still[data-astro-cid-nqf7ces6]{width:100%;height:100%;position:absolute;inset:0}.ambience__field[data-astro-cid-nqf7ces6]{opacity:0;transition:opacity var(--duration-page) var(--ease-out)}.ambience__field[data-astro-cid-nqf7ces6][data-on]{opacity:1}.ambience__still[data-astro-cid-nqf7ces6]{background:radial-gradient(88% 68% at 22% 18%,#4b70b933 0%,#2130501a 36%,#0000 70%),radial-gradient(78% 58% at 82% 16%,#4b70b92b 0%,#1f2e4c17 38%,#0000 72%),radial-gradient(95% 75% at 42% 94%,#4467ae2b 0%,#1c2a4517 36%,#0000 74%);mask-image:linear-gradient(112deg,#000 0 24%,#00000042 30% 36%,#000 42% 58%,#00000057 64% 70%,#000 76% 100%)}.grain[data-astro-cid-3dfpiixt]{width:100vw;height:100vh;z-index:var(--z-overlay);pointer-events:none;opacity:var(--grain-opacity,.022);mix-blend-mode:screen;contain:strict;display:none;position:fixed;inset:0;transform:translateZ(0)}.grain[data-astro-cid-3dfpiixt][data-on]{display:block}.grain[data-astro-cid-3dfpiixt][data-static],html:not(.js) .grain[data-astro-cid-3dfpiixt]{background-image:url(/images/grain-tile.png?v=6978727a);background-repeat:repeat;background-size:281px 281px;display:block}@media (width<=768px){.grain[data-astro-cid-3dfpiixt][data-static],html:not(.js) .grain[data-astro-cid-3dfpiixt]{background-size:192px 192px}}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.56s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both}::view-transition-old(root){transform-origin:var(--zoom-x,50%) var(--zoom-y,50%);animation-name:vt-zoom-leave}::view-transition-new(root){transform-origin:var(--zoom-x,50%) var(--zoom-y,50%);animation-name:vt-zoom-enter}@keyframes vt-zoom-leave{0%{opacity:1;scale:1}to{opacity:0;scale:1.45}}@keyframes vt-zoom-enter{0%{opacity:0;scale:.88}to{opacity:1;scale:1}}html[data-vt-zoom=out]::view-transition-old(root){animation-name:vt-zoom-leave-back}html[data-vt-zoom=out]::view-transition-new(root){animation-name:vt-zoom-enter-back}@keyframes vt-zoom-leave-back{0%{opacity:1;scale:1}to{opacity:0;scale:.82}}@keyframes vt-zoom-enter-back{0%{opacity:0;scale:1.18}to{opacity:1;scale:1}}html[data-vt-dir=next]::view-transition-old(root),html[data-vt-dir=next]::view-transition-new(root),html[data-vt-dir=prev]::view-transition-old(root),html[data-vt-dir=prev]::view-transition-new(root){animation-duration:.62s;animation-timing-function:cubic-bezier(.65,0,.25,1)}html[data-vt-dir=next]::view-transition-old(root){animation-name:vt-pan-out-left}html[data-vt-dir=next]::view-transition-new(root){animation-name:vt-pan-in-right}html[data-vt-dir=prev]::view-transition-old(root){animation-name:vt-pan-out-right}html[data-vt-dir=prev]::view-transition-new(root){animation-name:vt-pan-in-left}@keyframes vt-pan-out-left{0%{translate:0}to{translate:-100%}}@keyframes vt-pan-in-right{0%{translate:100%}to{translate:0}}@keyframes vt-pan-out-right{0%{translate:0}to{translate:100%}}@keyframes vt-pan-in-left{0%{translate:-100%}to{translate:0}}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}:root{--color-neutral-950:#0e0e0e;--color-neutral-900:#1a1a1a;--color-neutral-500:#ffffff78;--color-neutral-400:#ffffffad;--color-neutral-100:#e9e9e9;--color-neutral-0:#fff;--color-neutral-0-015:#ffffff04;--color-neutral-0-04:#ffffff0a;--color-blue-400:#0856ff;--color-accent-text:#4d84ff;--color-accent-text-aaa:#729df8;--color-surface-header:#0c0e1475;--color-surface-header-darker:#0e0e0ea8;--shadow-lang-active:0 4px 40px #0047e566;--color-bg:var(--color-neutral-950);--color-bg-elevated:var(--color-neutral-900);--color-surface:var(--color-neutral-0-015);--color-text:var(--color-neutral-0);--color-text-secondary:var(--color-neutral-400);--color-text-muted:var(--color-neutral-500);--color-border:var(--color-neutral-0-04);--color-divider:var(--color-neutral-0-04);--font-display:"Funnel Display Variable", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-body:"Funnel Display Variable", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-body-original:"Fustat Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--size-display-1:5.375rem;--size-h1:3.5rem;--size-h2:3rem;--size-h3:2rem;--size-h4:1.25rem;--size-link-contact:2.25rem;--size-body-l:1.5rem;--size-body-m:1.125rem;--size-body-s:1rem;--size-body-xs:.8125rem;--size-ui-nav:1rem;--size-ui-button:.9375rem;--size-ui-overline:.9375rem;--size-ui-chip:.8125rem;--size-link-underline:.9375rem;--leading-display:1.1;--leading-tight:1.25;--leading-snug:1.35;--leading-normal:1.4;--leading-relaxed:1.5;--leading-loose:1.6;--leading-none:1;--tracking-tight:-.01em;--tracking-none:0;--tracking-wide-3:.03em;--tracking-wide-4:.04em;--tracking-wide-8:.08em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--space-40:10rem;--canvas-width:94.5rem;--container-width:82.5rem;--container-work:75rem;--container-about:68.5rem;--container-narrow:40.5rem;--container-project:77.5rem;--measure:42.5rem;--gutter:var(--space-24);--header-height:6rem;--header-width-sticky:50.5rem;--header-pad-y-sticky:var(--space-6);--header-radius-sticky:10rem;--header-gap-sticky:var(--space-6);--section-gap:var(--space-40);--page-top:var(--space-20);--radius-sm:.25rem;--radius-image:1.25rem;--radius-shot:3rem;--radius-card-image:1.25rem;--radius-card:1.75rem;--radius-portrait:3rem;--radius-pill:6.25rem;--radius-button:999px;--blur-header:.375rem;--fly-cos:.937;--fly-sin:.349;--z-base:0;--z-sticky:100;--z-header:200;--z-overlay:300;--z-cursor:400;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-quick:cubic-bezier(.4, 0, .2, 1);--duration-instant:0s;--duration-tap:80ms;--duration-micro:.15s;--duration-hover:.35s;--duration-enter:.6s;--duration-page:.7s;--stagger-lines:40ms;--stagger-nav:60ms;--card-hover-scale:1.06}@media (width>=1100px){:root{font-size:min(1.0582vw,50% + .5291vw,2.116vh,175%)}}@media (width<1100px){:root{--size-display-1:clamp(3rem, 2.3208rem + 2.7865vw, 4.55rem);--size-h2:clamp(2.125rem, 1.9442rem + .7416vw, 2.5375rem);--size-h3:clamp(1.5rem, 1.4151rem + .3483vw, 1.6919rem);--size-link-contact:clamp(1.6875rem, 1.5916rem + .3933vw, 1.9036rem);--size-body-l:clamp(1.1875rem, 1.1519rem + .1461vw, 1.2694rem);--size-body-m:1rem;--size-h4:1.25rem;--gutter:var(--space-20);--section-gap:var(--space-32);--radius-portrait:2.25rem}}@media (width<1024px){:root{--gutter:var(--space-20);--section-gap:var(--space-24);--header-height:5rem}}@media (width<768px){:root{--gutter:var(--space-12);--section-gap:var(--space-14);--page-top:var(--space-14);--header-height:4.5rem;--radius-portrait:1.75rem;--radius-card:1.25rem;--radius-card-image:.75rem}}@media (width<480px){:root{--gutter:var(--space-10);--section-gap:var(--space-12);--page-top:var(--space-12)}}@media (prefers-reduced-motion:reduce){:root{--duration-tap:80ms;--duration-micro:.12s;--duration-hover:.16s;--duration-enter:.2s;--duration-page:1ms;--stagger-lines:0s;--stagger-nav:0s;--card-hover-scale:1}}@font-face{font-family:Funnel Display Variable;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/funnel-display-latin.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:Funnel Display Variable;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/funnel-display-latin-ext.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:Fustat Variable;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/fustat-latin.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:Fustat Variable;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/fustat-latin-ext.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}*,:before,:after{box-sizing:border-box}*{margin:0}html{text-size-adjust:100%;scroll-behavior:auto}body{min-height:100svh;line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}img,picture,video,canvas,svg{max-width:100%;display:block}img,picture,video{border-radius:0}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}p,li,figcaption{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance;font-weight:inherit;font-size:inherit}p{text-wrap:pretty}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-accent-text);outline-offset:3px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html{overflow-x:clip}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--size-body-m);font-weight:var(--weight-light);flex-direction:column;min-height:100svh;display:flex;overflow-x:clip}body>main{flex:1 0 auto}::selection{background-color:var(--color-blue-400);color:var(--color-neutral-0)}.t-display-1{font-family:var(--font-display);font-size:var(--size-display-1);font-weight:var(--weight-light);line-height:var(--leading-display);letter-spacing:var(--tracking-tight)}.t-h2{font-family:var(--font-display);font-size:var(--size-h2);font-weight:var(--weight-light);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.t-h3{font-family:var(--font-display);font-size:var(--size-h3);font-weight:var(--weight-light);letter-spacing:var(--tracking-tight);line-height:1.3}.t-h4{font-family:var(--font-display);font-size:var(--size-h4);font-weight:var(--weight-semibold);line-height:var(--leading-normal);letter-spacing:var(--tracking-tight)}.t-link-contact{font-family:var(--font-display);font-size:var(--size-link-contact);font-weight:var(--weight-light);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.t-nav{font-family:var(--font-display);font-size:var(--size-ui-nav);font-weight:var(--weight-semibold);line-height:var(--leading-none);letter-spacing:var(--tracking-none)}.t-button{font-family:var(--font-display);font-size:var(--size-ui-button);font-weight:var(--weight-semibold);line-height:var(--leading-none);letter-spacing:var(--tracking-none)}.t-overline{font-family:var(--font-display);font-size:var(--size-ui-overline);font-weight:var(--weight-medium);line-height:var(--leading-none);letter-spacing:var(--tracking-wide-4);text-transform:uppercase}.t-label-caps{font-family:var(--font-display);font-size:var(--size-ui-overline);font-weight:var(--weight-medium);line-height:var(--leading-none);letter-spacing:var(--tracking-wide-8);text-transform:uppercase}.t-chip{font-family:var(--font-display);font-size:var(--size-ui-chip);font-weight:var(--weight-regular);line-height:var(--leading-none);letter-spacing:var(--tracking-wide-4);text-transform:uppercase}.t-body-l{font-family:var(--font-body);font-size:var(--size-body-l);font-weight:var(--weight-light);line-height:var(--leading-normal)}.t-body-m{font-family:var(--font-body);font-size:var(--size-body-m);font-weight:var(--weight-light);line-height:var(--leading-relaxed)}.t-body-s{font-family:var(--font-body);font-size:var(--size-body-s);font-weight:var(--weight-light);line-height:var(--leading-relaxed)}.t-body-xs{font-family:var(--font-body);font-size:var(--size-body-xs);font-weight:var(--weight-light);line-height:var(--leading-relaxed);letter-spacing:var(--tracking-wide-3)}.t-link-underline{font-family:var(--font-body);font-size:var(--size-link-underline);font-weight:var(--weight-light);line-height:var(--leading-loose);text-decoration-skip-ink:none;text-decoration:underline}:where(section[id],div[id],article[id]){scroll-margin-top:calc(var(--header-height) + var(--space-12) + var(--space-6))}.container{width:100%;max-width:calc(var(--container-width) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.container--work{max-width:calc(var(--container-work) + 2 * min(3.5rem, var(--gutter)));padding-inline:min(3.5rem, var(--gutter))}.container--about{max-width:calc(var(--container-about) + 2 * var(--gutter))}.container--narrow{max-width:calc(var(--container-narrow) + 2 * var(--gutter))}.container--project{max-width:calc(var(--container-project) + 2 * var(--gutter))}.measure{max-width:var(--measure)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hairline{background-color:var(--color-divider);border:0;width:100%;height:1px}@property --tilt{syntax:"<angle>";inherits:true;initial-value:0deg}.link-wipe{text-decoration:none;display:inline-block;position:relative}.link-wipe:after{content:"";transform-origin:100%;height:1px;transition:scale var(--duration-hover) var(--ease-out);background-color:currentColor;position:absolute;bottom:-.16em;left:0;right:0;scale:0 1}.link-wipe:hover:after,.link-wipe:focus-visible:after{transform-origin:0;scale:1}.prose a,a.link{color:var(--color-accent-text);text-underline-offset:.2em;transition:text-decoration-color var(--duration-micro) var(--ease-quick);text-decoration:underline 1px}.prose a:hover,a.link:hover{text-decoration-color:#0000}[data-reveal]{opacity:0;will-change:opacity, transform;transition:opacity var(--duration-page) var(--ease-out), transform var(--duration-page) var(--ease-out);transition-delay:calc(var(--reveal-i,0) * 90ms);transform:translateY(1.75rem)}[data-reveal][data-shown]{opacity:1;will-change:auto;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none}}@media (width<768px){[data-reveal]:not(.card){transition-duration:var(--duration-enter);transition-delay:calc(var(--reveal-i,0) * 60ms);transform:translateY(.75rem)}[data-reveal][data-shown]:not(.card){transform:none}}html:not(.js) [data-reveal],html.reveal-fallback [data-reveal]:not(.shot){opacity:1!important;transform:none!important}html:not(.js) .hero__hud{position:absolute}html:not(.js) .contact__send,html.reveal-fallback .contact__send{opacity:1!important;visibility:visible!important;translate:0!important;rotate:0deg!important}@keyframes glow-drift{0%{transform:translate(0)scale(1)}25%{transform:translate(var(--drift-x,0), var(--drift-y,0)) scale(1.02)}50%{transform:translate(0, calc(var(--drift-y,0) * 2)) scale(1.04)}75%{transform:translate(calc(var(--drift-x,0) * -1), var(--drift-y,0)) scale(1.02)}to{transform:translate(0)scale(1)}}.dots{border-radius:var(--radius-pill);background-color:var(--color-surface-header);backdrop-filter:blur(var(--blur-header));box-shadow:inset 0 0 0 1px var(--color-neutral-0-04);align-items:center;gap:0;padding:4px 12px;display:flex}.dots__mark{cursor:pointer;background:0 0;border:0;place-items:center;width:15px;height:20px;margin-inline:-2.5px;padding:0;display:grid}.dots__mark:after{content:"";width:5px;height:5px;transition:width .32s var(--ease-out), height .32s var(--ease-out), border-radius .32s var(--ease-out), background-color var(--duration-hover) var(--ease-out);background-color:#ffffff73;border-radius:50%;display:block}.dots__mark:hover:after,.dots__mark:focus-visible:after{background-color:var(--color-neutral-0)}.dots__mark--spare{display:none}.dots__mark.is-here{margin-inline:-.5px}.dots__mark.is-here:after{background-color:var(--color-neutral-0);border-radius:0;width:7px;height:7px}@media (pointer:coarse){.dots__mark,.dots__mark.is-here{width:16px;height:28px;margin-inline:0}.dots{padding-block:0}}@media (prefers-reduced-motion:reduce){.dots__mark:after{transition:background-color var(--duration-hover) var(--ease-out)}}
