@font-face{font-family:inter;src:url(../media/inter_latin_wght_normal-s.p.0rpdhg_4ubdtf.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.inter_a56de3-module__1QMNHG__className{font-family:inter,inter Fallback}.inter_a56de3-module__1QMNHG__variable{--font-inter:"inter", "inter Fallback"}
@font-face{font-family:grotesk;src:url(../media/space_grotesk_latin_wght_normal-s.p.0oxh562_148qc.woff2)format("woff2");font-display:swap;font-weight:300 700}@font-face{font-family:grotesk Fallback;src:local(Arial);ascent-override:88.78%;descent-override:26.34%;line-gap-override:0.0%;size-adjust:110.84%}.grotesk_1b8f3700-module__-tJGdW__className{font-family:grotesk,grotesk Fallback}.grotesk_1b8f3700-module__-tJGdW__variable{--font-grotesk:"grotesk", "grotesk Fallback"}
@font-face{font-family:plexMono;src:url(../media/ibm_plex_mono_latin_400_normal-s.p.19gbeb610ur4n.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:plexMono;src:url(../media/ibm_plex_mono_latin_500_normal-s.p.25_05y-blbp24.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:plexMono Fallback;src:local(Arial);ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.0%;size-adjust:131.49%}.plexmono_da3f5de7-module__pS1Krq__className{font-family:plexMono,plexMono Fallback}.plexmono_da3f5de7-module__pS1Krq__variable{--font-plex-mono:"plexMono", "plexMono Fallback"}
:root{--paper:#f3eee4;--paper-2:#e9e2d4;--card:#fbf8f2;--ink:#14213d;--muted:#4d5670;--line:#d6ccb9;--signal:#e4572e;--signal-text:#b23a17;--focus:#1d4ed8;--font-display:var(--font-grotesk), system-ui, sans-serif;--font-body:var(--font-inter), system-ui, sans-serif;--font-mono:var(--font-plex-mono), ui-monospace, monospace;--gutter:16px;--max:1120px;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#0f1626;--paper-2:#16203a;--card:#141d33;--ink:#ece6da;--muted:#a9b0c2;--line:#2a3654;--signal:#ff7a50;--signal-text:#ff9470;--focus:#93b4ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@media (min-width:720px){:root{--gutter:32px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0;line-height:1.12}p{text-wrap:pretty;margin:0}a{color:inherit}img,svg{max-width:100%;display:block}ul,ol{margin:0;padding:0}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:calc(var(--max) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.mono{font-family:var(--font-mono);font-feature-settings:"zero" 1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{left:var(--gutter);z-index:100;background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:10px 16px;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:12px}@media (min-width:1000px){body:before{content:"";z-index:200;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}}html.lenis,html.lenis body{height:auto}.lenis.lenis-stopped{overflow:hidden}.chapter{flex-direction:column;justify-content:center;min-height:100svh;display:flex}[data-motion=on] [data-reveal]{opacity:0;transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--delay,0) * 90ms);transform:translateY(28px)}[data-motion=on] [data-reveal][data-inview]{opacity:1;transform:none}.split .w,.split-load .w{vertical-align:top;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:hidden}.split .w>span,.split-load .w>span{display:inline-block}[data-motion=on] .split[data-reveal]{opacity:1;transform:none}[data-motion=on] .split[data-reveal] .w>span{transition:transform .9s cubic-bezier(.2,.75,.15,1);transition-delay:calc(var(--i) * 45ms);transform:translateY(105%)}[data-motion=on] .split[data-reveal][data-inview] .w>span{transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.split-load .w>span{animation:1s cubic-bezier(.2,.75,.15,1) both rise;animation-delay:calc(.15s + var(--i) * 55ms)}@keyframes rise{0%{transform:translateY(105%)}}.fade-load{animation:.9s cubic-bezier(.2,.7,.2,1) both fade-up;animation-delay:calc(.5s + var(--delay,0) * .1s)}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}}::view-transition-group(.project-morph){animation-duration:.55s;animation-timing-function:cubic-bezier(.2,.75,.15,1)}::view-transition-old(root){animation-duration:.35s}::view-transition-new(root){animation-duration:.35s}
