@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-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:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_246ccd{font-family:Geist,Geist Fallback;font-style:normal}.__variable_246ccd{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-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:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_c29908{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_c29908{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}:root{--font-sans:var(--font-geist-sans),ui-sans-serif,system-ui,sans-serif;--font-mono:var(--font-geist-mono),ui-monospace,SFMono-Regular,monospace;--fs-body:17px;--lh-body:1.6;--measure:34em;--measure-wide:780px;--bg:#FAFAF8;--bg-surface:#F2F1ED;--text:#16161A;--text-heading:#0A0A0B;--text-muted:#4A4A52;--accent:#C4410E;--accent-flat:#FF4D00;--rule-strong:#8A8A93;--rule-hairline:#C7C7C2;--radius:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--motion-fast:120ms;--ease:cubic-bezier(0.2,0,0,1);--chrome-close:#FF5F56;--chrome-minimize:#FFBD2E;--chrome-maximize:#27CA3F;color-scheme:light}:root[data-theme=dark]{--bg:#16161A;--bg-surface:#1C1C21;--text:#E8E6E3;--text-heading:#F5F4F2;--text-muted:#A8A6A2;--accent:#FF4D00;--accent-flat:#FF4D00;--rule-strong:#64646E;--rule-hairline:#3A3A42;color-scheme:dark}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--fs-h1:44px;--lh-h1:1.10;--fw-h1:600;--ls-h1:-0.025em;--fs-h2:30px;--lh-h2:1.20;--fw-h2:600;--ls-h2:-0.02em;--fs-h3:21px;--lh-h3:1.30;--fw-h3:600;--ls-h3:-0.01em;--fs-h4:17px;--lh-h4:1.40;--fw-h4:600;--ls-h4:-0.005em;--fw-body:400;--ls-body:0;--fs-lead:19px;--lh-lead:1.55;--fw-lead:400;--ls-lead:-0.005em;--fs-section-number:13px;--lh-section-number:1.2;--fw-section-number:500;--ls-section-number:0.08em;--fs-eyebrow:12px;--lh-eyebrow:1.3;--fw-eyebrow:500;--ls-eyebrow:0.08em;--fs-table-header:12px;--lh-table-header:1.3;--fw-table-header:500;--ls-table-header:0.08em;--fs-table-cell:15px;--lh-table-cell:1.45;--fw-table-cell:400;--fs-numeric-cell:15px;--lh-numeric-cell:1.45;--fw-numeric-cell:400;--ls-numeric-cell:0;--fs-code:14.5px;--lh-code:inherit;--fw-code:400;--ls-code:0;--fs-meta:13px;--lh-meta:1.4;--fw-meta:400;--ls-meta:0.04em}@media(max-width:479px){:root{--fs-h1:32px;--lh-h1:1.15;--fs-h2:24px;--lh-h2:1.25;--fs-h3:19px;--lh-h3:1.3;--fs-table-cell:14px;--fs-numeric-cell:14px;--fs-section-number:12px;--ls-section-number:0.04em;--fs-eyebrow:12px;--ls-eyebrow:0.04em;--fs-table-header:12px;--ls-table-header:0.04em}}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:var(--font-mono)}*{box-sizing:border-box}.grid{display:grid}.grid-item{display:flex;flex-direction:column;height:100%;width:100%}.projects-grid{grid-gap:2rem}@media(max-width:767px){.projects-grid{grid-gap:1.5rem}}@media(max-width:480px){.projects-grid{grid-gap:1rem}}.projects-content{overflow:hidden}#root,body,html{height:100%;margin:0}body{margin:0;padding:0;min-width:320px;overflow-x:hidden;line-height:var(--lh-body)}button>span{font-family:var(--font-mono)}.App{display:flex;flex-direction:column;height:100%}