@font-face{font-family:Mona Sans;font-style:normal;font-display:swap;font-weight:200 900;font-stretch:75% 125%;src:url(/_astro/mona-sans-latin.BMVx8nn_.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:Mona Sans;font-style:normal;font-display:swap;font-weight:200 900;font-stretch:75% 125%;src:url(/_astro/mona-sans-latin-ext.CQ1tG6In.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:Martian Mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/martian-mono-latin.5W32yIyr.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:Martian Mono;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/martian-mono-latin-ext.DlL6xMw5.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:Mona Sans Fallback;src:local(Arial),local(Helvetica Neue),local(Helvetica);size-adjust:104.4%;ascent-override:104.4%;descent-override:30.7%;line-gap-override:0%}:root{--c-ink:#12110f;--c-graphite:#1c1b18;--c-ash:#2c2a26;--c-paper:#f4f2ee;--c-bone:#eae6df;--c-stone:#d6d1c7;--c-signal:#ff4a1c;--c-signal-strong:#c9300a;--c-mute-light:#5e5b55;--c-mute-dark:#a19d95;--c-success:#2f7a4f;--c-success-dark:#6fcf97;--font-sans:"Mona Sans", "Mona Sans Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Martian Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fs-mono:.6875rem;--fs-sm:.875rem;--fs-base:clamp(1rem, .96rem + .2vw, 1.125rem);--fs-lg:clamp(1.125rem, 1.02rem + .5vw, 1.375rem);--fs-xl:clamp(1.375rem, 1.15rem + 1vw, 1.875rem);--fs-2xl:clamp(1.75rem, 1.3rem + 2vw, 2.875rem);--fs-3xl:clamp(2.375rem, 1.5rem + 3.9vw, 5rem);--fs-display:clamp(2.875rem, 1rem + 8.6vw, 10.5rem);--lh-tight:.94;--lh-snug:1.12;--lh-body:1.55;--tracking-display:-.045em;--tracking-title:-.03em;--tracking-mono:.06em;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--s-10:8rem;--section-y:clamp(5.5rem, 3.5rem + 9vw, 12.5rem);--cols:4;--margin:clamp(1.25rem, .4rem + 3.6vw, 5rem);--gutter:clamp(.875rem, .5rem + 1.4vw, 2rem);--max:1680px;--header-h:4rem;--r-xs:4px;--r-s:8px;--r-m:14px;--r-l:22px;--r-xl:32px;--r-pill:999px;--hairline:1px;--shadow-1:0 1px 2px #12110f0f, 0 10px 30px -14px #12110f38;--shadow-2:0 2px 4px #12110f14, 0 28px 60px -26px #12110f61, 0 70px 120px -60px #12110f6b;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-write:cubic-bezier(.77, 0, .18, 1);--dur-1:.16s;--dur-2:.28s;--dur-3:.48s;--dur-4:.8s;--dur-5:1.2s;--z-header:50;--z-menu:60;--z-toast:70;--z-grid:90;--z-cursor:100}@media (width>=48rem){:root{--cols:8;--header-h:4.5rem}}@media (width>=64rem){:root{--cols:12;--header-h:5rem}}:root,[data-theme=light]{--bg:var(--c-paper);--bg-raised:var(--c-bone);--fg:var(--c-ink);--fg-mute:var(--c-mute-light);--line:#12110f1f;--line-strong:#12110f3d;--accent:var(--c-signal);--accent-text:var(--c-signal-strong);--focus:var(--c-signal-strong);--success:var(--c-success);color-scheme:light}[data-theme=dark]{--bg:var(--c-ink);--bg-raised:var(--c-graphite);--fg:var(--c-paper);--fg-mute:var(--c-mute-dark);--line:#f4f2ee1a;--line-strong:#f4f2ee38;--accent:var(--c-signal);--accent-text:var(--c-signal);--focus:var(--c-signal);--success:var(--c-success-dark);color-scheme:dark}*,:before,:after{box-sizing:border-box}*{margin:0}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--s-4));background:var(--c-ink)}@media (prefers-reduced-motion:no-preference){html:not(.lenis){scroll-behavior:smooth}}body{background:var(--bg);min-height:100svh;color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-body);font-kerning:normal;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-weight:400;font-stretch:100%;overflow-x:clip}img,picture,svg,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}p,h1,h2,h3,h4,li,dd{overflow-wrap:break-word}h1,h2,h3,h4{font-weight:600;line-height:var(--lh-snug);letter-spacing:var(--tracking-title);text-wrap:balance}p{text-wrap:pretty}ul[role=list],ol[role=list]{padding:0;list-style:none}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}:lang(de){hyphens:auto;hyphenate-limit-chars:10 4 4}::selection{background:var(--c-signal);color:var(--c-ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}:focus:not(:focus-visible){outline:none}.visually-hidden:not(:focus):not(:active){clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{top:var(--s-3);left:var(--s-3);z-index:calc(var(--z-cursor) + 1);padding:var(--s-3) var(--s-5);border-radius:var(--r-pill);background:var(--c-signal);color:var(--c-ink);transition:transform var(--dur-2) var(--ease-out);font-weight:600;text-decoration:none;position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{outline-color:var(--c-paper);transform:none}.container{width:100%;max-width:calc(var(--max) + 2 * var(--margin));padding-inline:var(--margin);margin-inline:auto}.grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);display:grid}.section{padding-block:var(--section-y);background:var(--bg);color:var(--fg);position:relative}.label{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--fg-mute);align-items:center;gap:.75em;font-weight:450;line-height:1.4;display:inline-flex}.label__index{color:var(--accent-text)}.title{font-size:var(--fs-3xl);letter-spacing:var(--tracking-display);font-weight:560;font-stretch:96%;line-height:1}.title em,.display em{letter-spacing:-.03em;font-style:normal;font-weight:300;font-stretch:122%}.lead{font-size:var(--fs-lg);color:var(--fg-mute);max-width:36em;line-height:1.45}.text-link{color:inherit;transition:background-size var(--dur-3) var(--ease-out), color var(--dur-2);background:linear-gradient(currentColor 0 0) 0 100%/100% 1px no-repeat;padding-bottom:.1em;text-decoration:none}@media (hover:hover){.text-link:hover{color:var(--accent-text);background-position:100% 100%;background-size:0% 1px}}.grain{isolation:isolate;position:relative}.grain:before{content:"";z-index:-1;pointer-events:none;opacity:.05;background:url(/noise.png) 0 0/96px 96px;position:absolute;inset:0}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transition:opacity var(--dur-4) var(--ease-out), transform var(--dur-5) var(--ease-out);transition-delay:calc(var(--d,0) * 1ms);transform:translateY(2rem)}.js [data-reveal=fade]{transform:none}.js [data-reveal=scale]{transform-origin:50% 100%;transform:scale(.94)}.js [data-reveal=line]{opacity:1;transform-origin:0;transform:scaleX(0)}.js [data-reveal].is-in{opacity:1;transform:none}.js [data-words] .rw__i{transition:transform var(--dur-5) var(--ease-out);transition-delay:calc(var(--i,0) * 38ms + var(--d,0) * 1ms);transform:translateY(110%)}.js [data-words].is-in .rw__i{transform:none}.js [data-strike]:after{transform:scaleX(0)}.js .is-in [data-strike]:after,.js [data-strike].is-in:after{transform:scaleX(1)}}.rw{vertical-align:top;margin-block:-.14em -.2em;padding-block:.14em .2em;display:inline-block;overflow:visible clip}.rw__i{display:inline-block}.grid-overlay{z-index:var(--z-grid);pointer-events:none;display:none;position:fixed;inset:0}.show-grid .grid-overlay{display:block}.grid-overlay .container,.grid-overlay .grid{height:100%}.grid-overlay span{background:#ff4a1c0f;box-shadow:inset 1px 0 #ff4a1c59,inset -1px 0 #ff4a1c59}.grid-overlay span:nth-child(n+5){display:none}@media (width>=48rem){.grid-overlay span:nth-child(n+5){display:block}.grid-overlay span:nth-child(n+9){display:none}}@media (width>=64rem){.grid-overlay span:nth-child(n+9){display:block}}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}::view-transition-old(root){animation:vt-sink .7s var(--ease-in-out) both}::view-transition-new(root){animation:vt-rise .7s var(--ease-in-out) both}::view-transition-group(site-header){animation-duration:.5s;animation-timing-function:var(--ease-out)}::view-transition-old(site-header),::view-transition-new(site-header){animation-duration:.3s}::view-transition-group(*.project-media){animation-duration:.8s;animation-timing-function:var(--ease-in-out)}@keyframes vt-sink{to{opacity:.25;transform:translateY(-3%)scale(.96)}}@keyframes vt-rise{0%{clip-path:inset(100% 0 0 round 2rem 2rem 0 0);transform:translateY(12%)}to{clip-path:inset(0);transform:none}}.wordmark.astro-hkf3h753{font-family:var(--font-sans);letter-spacing:-.055em;white-space:nowrap;padding-right:.06em;font-weight:680;font-stretch:104%;line-height:1;display:inline-block}.wordmark__caret.astro-hkf3h753{color:var(--c-signal)}@media (prefers-reduced-motion:no-preference){.wordmark--blink.astro-hkf3h753 .wordmark__caret.astro-hkf3h753{animation:1.1s step-end infinite caret-blink}}@keyframes caret-blink{50%{opacity:0}}
