.ThemeToggle_toggle__b7_D3{position:relative;width:3.4rem;height:1.9rem;border-radius:var(--radius-pill);background:var(--border-strong);padding:.2rem;display:flex;align-items:center;flex-shrink:0}.ThemeToggle_knob__u5L0N{width:1.5rem;height:1.5rem;border-radius:50%;background:var(--ink);font-size:.65rem;display:flex;align-items:center;justify-content:center;color:var(--bg)}.LogoBadge_wrap__XCW4H{display:inline-block;perspective:700px;flex-shrink:0}.LogoBadge_badge__Ru_NN{position:relative;width:2.5rem;height:2.5rem;transform-style:preserve-3d;cursor:pointer}.LogoBadge_face__SzwF_{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;border:1.5px solid var(--border-strong);background:var(--bg-raised)}.LogoBadge_avatarCrop__EJd8O{width:155%;height:155%;margin-top:-18%}.LogoBadge_avatarCrop__EJd8O svg{width:100%;height:100%;display:block}.LogoBadge_back__4Y6B2{transform:rotateY(180deg);background:var(--ink);color:var(--bg)}.LogoBadge_back__4Y6B2,.LogoBadge_staticMark__BjL5a{font-family:var(--font-display);font-weight:700;font-size:.9rem}.LogoBadge_staticMark__BjL5a{display:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;border:1.5px solid var(--border-strong);background:var(--bg-raised);color:var(--ink)}[data-theme=dark] .LogoBadge_badge__Ru_NN{display:none}[data-theme=dark] .LogoBadge_staticMark__BjL5a{display:flex}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .LogoBadge_badge__Ru_NN{display:none}:root:not([data-theme=light]) .LogoBadge_staticMark__BjL5a{display:flex}}.Nav_nav__p4HHw{position:fixed;top:0;left:0;right:0;z-index:90;height:4.5rem;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.Nav_right__QT__A{display:flex;align-items:center;gap:var(--space-6)}.Nav_links__kLn51{display:flex;align-items:center;gap:var(--space-1);position:relative}@media(max-width:720px){.Nav_links__kLn51{display:none}}.Nav_link__NzIXl{position:relative;font-size:var(--fs-small);font-weight:500;color:var(--ink-muted);padding:.5rem .9rem;border-radius:var(--radius-pill);transition:color var(--dur-fast) var(--ease-standard)}.Nav_link__NzIXl:focus-visible,.Nav_link__NzIXl:hover{color:var(--ink)}.Nav_pill__LJtMU{position:absolute;inset:0;background:var(--border);border-radius:var(--radius-pill);z-index:-1}@media(max-width:720px){.Nav_desktopOnly__InvrX{display:none}}.Nav_resume__BfzKL{font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--accent-ink);background:var(--accent);border-radius:var(--radius-pill);padding:.5rem 1rem;white-space:nowrap}@media(max-width:380px){.Nav_resume__BfzKL{display:none}}.Nav_menuBtn__b2H70{display:none;align-items:center;justify-content:center;color:var(--ink)}@media(max-width:720px){.Nav_menuBtn__b2H70{display:flex}}.Nav_mobileMenu__Hx2EY{position:fixed;z-index:95;top:4.5rem;left:0;right:0;bottom:0;background:var(--bg);padding:var(--space-8) var(--gutter);display:flex;flex-direction:column;justify-content:space-between}.Nav_mobileMenu__Hx2EY ul{display:flex;flex-direction:column;gap:var(--space-2)}.Nav_mobileMenu__Hx2EY a{display:block;font-family:var(--font-display);font-size:2rem;font-weight:600;padding-block:var(--space-3);border-bottom:1px solid var(--border)}.Nav_mobileFooter__44wsp{display:flex;justify-content:center;padding-bottom:var(--space-16)}:root{--bg:#fafafa;--bg-raised:#fff;--bg-inverse:#111;--ink:#111;--ink-muted:hsla(0,0%,7%,.64);--ink-faint:hsla(0,0%,7%,.4);--ink-inverse:#fafafa;--accent:#ff5a36;--accent-ink:#fff;--border:hsla(0,0%,7%,.1);--border-strong:hsla(0,0%,7%,.2);--shadow-color:17,17,17;--font-display:var(--font-bricolage),system-ui,sans-serif;--font-body:var(--font-outfit),-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:var(--font-jetbrains),"SFMono-Regular",Menlo,monospace;--fs-display:clamp(2.75rem,2rem + 4vw,6rem);--fs-h1:clamp(2rem,1.5rem + 2vw,3.5rem);--fs-h2:clamp(1.5rem,1.25rem + 1vw,2.25rem);--fs-h3:clamp(1.15rem,1.05rem + 0.4vw,1.5rem);--fs-body-lg:clamp(1.1rem,1.03rem + 0.3vw,1.375rem);--fs-body:1rem;--fs-small:0.9rem;--fs-meta:0.8rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--space-32:8rem;--radius-card:20px;--radius-pill:999px;--radius-input:10px;--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-standard:cubic-bezier(0.4,0,0.2,1);--dur-fast:150ms;--dur-base:300ms;--dur-slow:600ms;--container-max:1280px;--container-narrow:46rem;--gutter:clamp(1.25rem,4vw,3rem);color-scheme:light}:root[data-theme=dark]{--bg:#0b0b0c;--bg-raised:#151517;--bg-inverse:#fafafa;--ink:#f5f5f3;--ink-muted:hsla(60,9%,96%,.66);--ink-faint:hsla(60,9%,96%,.42);--ink-inverse:#111;--accent:#ff6a45;--accent-ink:#111;--border:hsla(60,9%,96%,.12);--border-strong:hsla(60,9%,96%,.24);--shadow-color:0,0,0;color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.05;letter-spacing:-.02em}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}ul{list-style:none}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:var(--container-narrow)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@font-face{font-family:__Bricolage_Grotesque_cfa735;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__Bricolage_Grotesque_cfa735;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__Bricolage_Grotesque_cfa735;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__Bricolage_Grotesque_cfa735;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__Bricolage_Grotesque_cfa735;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__Bricolage_Grotesque_cfa735;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__Bricolage_Grotesque_cfa735;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__Bricolage_Grotesque_cfa735;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__Bricolage_Grotesque_cfa735;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__Bricolage_Grotesque_cfa735;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__Bricolage_Grotesque_cfa735;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__Bricolage_Grotesque_cfa735;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}.__className_cfa735{font-family:__Bricolage_Grotesque_cfa735;font-style:normal}.__variable_cfa735{--font-bricolage:"__Bricolage_Grotesque_cfa735"}@font-face{font-family:__Outfit_7fd790;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__Outfit_7fd790;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__Outfit_7fd790;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__Outfit_7fd790;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__Outfit_7fd790;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__Outfit_7fd790;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__Outfit_7fd790;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__Outfit_7fd790;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__Outfit_Fallback_7fd790;src:local("Arial");ascent-override:100.55%;descent-override:26.14%;line-gap-override:0.00%;size-adjust:99.45%}.__className_7fd790{font-family:__Outfit_7fd790,__Outfit_Fallback_7fd790;font-style:normal}.__variable_7fd790{--font-outfit:"__Outfit_7fd790","__Outfit_Fallback_7fd790"}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:U+0370-0377,U+037a-037f,U+0384-038a,U+038c,U+038e-03a1,U+03a3-03ff}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:U+0460-052f,U+1c80-1c8a,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:U+0301,U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:U+0370-0377,U+037a-037f,U+0384-038a,U+038c,U+038e-03a1,U+03a3-03ff}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1ea0-1ef9,U+20ab}@font-face{font-family:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:U+0100-02ba,U+02bd-02c5,U+02c7-02cc,U+02ce-02d7,U+02dd-02ff,U+0304,U+0308,U+0329,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:__JetBrains_Mono_6d24ac;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+0304,U+0308,U+0329,U+2000-206f,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_6d24ac;src:local("Arial");ascent-override:75.04%;descent-override:22.07%;line-gap-override:0.00%;size-adjust:135.93%}.__className_6d24ac{font-family:__JetBrains_Mono_6d24ac,__JetBrains_Mono_Fallback_6d24ac;font-style:normal}.__variable_6d24ac{--font-jetbrains:"__JetBrains_Mono_6d24ac","__JetBrains_Mono_Fallback_6d24ac"}