@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.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}:root{--bg:#faf9f6;--surface:#f3f1ec;--text:#1c1c1e;--muted:#5f5f66;--border:#e7e4de;--accent:#2f5d8a;--accent-ink:#264d74;--radius:8px;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s6:48px;--s8:64px;--s12:96px;--s16:128px;--wrap:1120px;--gutter:clamp(20px, 5vw, 40px);--sans:"Geist Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:72px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{background:var(--bg);color:var(--text);font:400 1.0625rem/1.65 var(--sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}img,video,picture{max-width:100%;height:auto;display:block}h1,h2,h3{letter-spacing:-.03em;text-wrap:balance;margin:0;font-weight:600;line-height:1.1}h1{letter-spacing:-.04em;font-size:clamp(2.25rem,5.4vw,3.9rem);line-height:1.04}h2{font-size:clamp(1.75rem,3.6vw,2.5rem)}h3{letter-spacing:-.02em;font-size:1.375rem;line-height:1.2}p{text-wrap:pretty;max-width:68ch;margin:0}a{color:var(--accent-ink);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.wrap{width:min(100% - 2 * var(--gutter), var(--wrap));margin-inline:auto}.section{padding-block:var(--s8)}.eyebrow{font:500 .75rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.vh{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--s2);z-index:20;background:var(--text);color:var(--bg);border-radius:var(--radius);padding:8px 16px;position:absolute;top:-64px}.skip:focus{top:var(--s1)}.btn{border-radius:var(--radius);border:1px solid var(--border);min-height:44px;color:var(--text);background:0 0;align-items:center;padding:0 20px;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--surface);border-color:#d6d2c9;text-decoration:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}@media (width>=900px){.section{padding-block:var(--s16)}}.bar[data-astro-cid-nen7h5rs]{z-index:10;border-bottom:1px solid var(--border);background:#faf9f6f0;position:sticky;top:0}.row[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:var(--s2);min-height:56px;display:flex}.name[data-astro-cid-nen7h5rs]{white-space:nowrap;letter-spacing:-.02em;color:var(--text);font-weight:600;text-decoration:none}nav[data-astro-cid-nen7h5rs]{gap:clamp(12px,3vw,28px);font-size:.9375rem;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--muted);padding-block:8px;text-decoration:none}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--text)}@media (width<=420px){nav[data-astro-cid-nen7h5rs]{gap:10px;font-size:.875rem}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{padding-inline:2px}.name[data-astro-cid-nen7h5rs]{font-size:.9375rem}}@media (width<=359px){nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{padding-inline:0}nav[data-astro-cid-nen7h5rs]{gap:8px;font-size:.8125rem}.name[data-astro-cid-nen7h5rs]{font-size:.875rem}}.hero[data-astro-cid-ge2uvauf]{padding-block:var(--s8) var(--s6)}h1[data-astro-cid-ge2uvauf]{max-width:18ch;margin-top:var(--s3)}.lead[data-astro-cid-ge2uvauf]{margin-top:var(--s4);color:#3a3a3f;max-width:62ch;font-size:1.1875rem}.cta[data-astro-cid-ge2uvauf]{margin-top:var(--s4);flex-wrap:wrap;gap:12px;display:flex}.cred[data-astro-cid-ge2uvauf]{margin:var(--s6) 0 0;color:var(--muted);flex-wrap:wrap;gap:4px 0;padding:0;font-size:.875rem;list-style:none;display:flex}.cred[data-astro-cid-ge2uvauf] li[data-astro-cid-ge2uvauf]+li[data-astro-cid-ge2uvauf]:before{content:"·";margin-inline:12px}@media (width<=599px){.cred[data-astro-cid-ge2uvauf]{flex-direction:column}.cred[data-astro-cid-ge2uvauf] li[data-astro-cid-ge2uvauf]+li[data-astro-cid-ge2uvauf]:before{content:none}}@media (width>=900px){.hero[data-astro-cid-ge2uvauf]{padding-block:var(--s12) var(--s8)}h1[data-astro-cid-ge2uvauf]{max-width:16ch}}.media[data-astro-cid-j6u6ogab]{margin:0}.frame[data-astro-cid-j6u6ogab]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.frame[data-astro-cid-j6u6ogab] img,video[data-astro-cid-j6u6ogab]{width:100%;height:auto}video[data-astro-cid-j6u6ogab]{background:var(--surface)}figcaption[data-astro-cid-j6u6ogab]{margin-top:var(--s1);color:var(--muted);font-size:.875rem;line-height:1.5}.project[data-astro-cid-zwix3as3]+.project[data-astro-cid-zwix3as3]{margin-top:var(--s8)}.project[data-astro-cid-zwix3as3]+.project[data-astro-cid-zwix3as3] .head[data-astro-cid-zwix3as3]{border-top:1px solid var(--border);padding-top:var(--s8)}h3[data-astro-cid-zwix3as3]{letter-spacing:-.035em;margin-top:var(--s1);font-size:clamp(1.75rem,3.6vw,2.5rem)}.meta[data-astro-cid-zwix3as3]{margin:var(--s2) 0 0;color:var(--muted);flex-wrap:wrap;padding:0;font-size:.9375rem;list-style:none;display:flex}.meta[data-astro-cid-zwix3as3] li[data-astro-cid-zwix3as3]+li[data-astro-cid-zwix3as3]:before{content:"·";margin-inline:10px}.intro[data-astro-cid-zwix3as3]{margin-top:var(--s3)}.links[data-astro-cid-zwix3as3]{margin-top:var(--s2);gap:var(--s3);font-weight:500;display:flex}.hero[data-astro-cid-zwix3as3]{margin-top:var(--s6)}.features[data-astro-cid-zwix3as3]{margin-top:var(--s8);gap:var(--s8);display:grid}.feature[data-astro-cid-zwix3as3]{gap:var(--s3);align-items:start;display:grid}h4[data-astro-cid-zwix3as3]{letter-spacing:-.02em;margin:0 0 var(--s1);font-size:1.25rem;font-weight:600;line-height:1.2}.text[data-astro-cid-zwix3as3] p[data-astro-cid-zwix3as3]{font-size:1rem}.detail[data-astro-cid-zwix3as3]{margin-top:var(--s1);font:.75rem/1.4 var(--mono);color:var(--muted)}.also[data-astro-cid-zwix3as3]{margin-top:var(--s8);padding-top:var(--s3);border-top:1px solid var(--border);color:var(--muted);max-width:none;font-size:.9375rem}.also[data-astro-cid-zwix3as3] strong[data-astro-cid-zwix3as3]{color:var(--text);font-weight:600}@media (width<=599px){.meta[data-astro-cid-zwix3as3]{flex-direction:column}.meta[data-astro-cid-zwix3as3] li[data-astro-cid-zwix3as3]+li[data-astro-cid-zwix3as3]:before{content:none}}@media (width>=900px){.project[data-astro-cid-zwix3as3]+.project[data-astro-cid-zwix3as3]{margin-top:var(--s12)}.feature[data-astro-cid-zwix3as3]{gap:var(--s6);grid-template-columns:4fr 8fr}.text[data-astro-cid-zwix3as3]{padding-top:var(--s1)}.features[data-astro-cid-zwix3as3]{gap:var(--s12)}}.gallery-wrap[data-astro-cid-ll2x6ujy]{margin-top:var(--s6)}.gallery[data-astro-cid-ll2x6ujy]{padding:0 0 var(--s2);gap:var(--s2);scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--border) transparent;margin:0;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);list-style:none;display:flex;overflow-x:auto}li[data-astro-cid-ll2x6ujy]{scroll-snap-align:start;flex:0 0 62%;max-width:260px}figure[data-astro-cid-ll2x6ujy]{margin:0}figure[data-astro-cid-ll2x6ujy] img{border:1px solid var(--border);background:var(--surface);border-radius:12px;width:100%;height:auto}figcaption[data-astro-cid-ll2x6ujy]{margin-top:var(--s1);color:var(--muted);font-size:.8125rem;line-height:1.45}.note[data-astro-cid-ll2x6ujy]{margin-top:var(--s2);color:var(--muted);font-size:.875rem}@media (width>=900px){.gallery[data-astro-cid-ll2x6ujy]{gap:var(--s2);grid-template-columns:repeat(6,1fr);margin-inline:0;padding-inline:0;display:grid;overflow:visible}li[data-astro-cid-ll2x6ujy]{max-width:none}.swipe[data-astro-cid-ll2x6ujy]{display:none}}.panel[data-astro-cid-4razh2vy]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s4) var(--s3)}h3[data-astro-cid-4razh2vy]{margin-top:var(--s1);font-size:1.5rem}.intro[data-astro-cid-4razh2vy]{margin-top:var(--s2);color:#3a3a3f}.metrics[data-astro-cid-4razh2vy]{margin:var(--s4) 0 0;gap:var(--s3);display:grid}dt[data-astro-cid-4razh2vy]{letter-spacing:-.035em;color:var(--accent-ink);font-size:clamp(1.75rem,4vw,2.25rem);font-weight:600;line-height:1.1}dd[data-astro-cid-4razh2vy]{color:var(--muted);max-width:36ch;margin:4px 0 0;font-size:.9375rem}.items[data-astro-cid-4razh2vy]{padding:var(--s3) 0 0;margin:var(--s4) 0 0;border-top:1px solid var(--border);gap:var(--s3);list-style:none;display:grid}.items[data-astro-cid-4razh2vy] li[data-astro-cid-4razh2vy]{gap:4px;font-size:.9375rem;line-height:1.55;display:grid}.items[data-astro-cid-4razh2vy] strong[data-astro-cid-4razh2vy]{font-weight:600}.items[data-astro-cid-4razh2vy] span[data-astro-cid-4razh2vy]{color:var(--muted)}@media (width>=900px){.panel[data-astro-cid-4razh2vy]{padding:var(--s6)}.metrics[data-astro-cid-4razh2vy]{grid-template-columns:repeat(2,1fr)}.items[data-astro-cid-4razh2vy]{gap:var(--s4);grid-template-columns:repeat(4,1fr)}}.grid[data-astro-cid-oxgmilyn]{gap:var(--s3);border-top:1px solid var(--border);padding-top:var(--s6);display:grid}.body[data-astro-cid-oxgmilyn]{gap:var(--s2);display:grid}dl[data-astro-cid-oxgmilyn]{margin:var(--s3) 0 0;gap:var(--s2);display:grid}dd[data-astro-cid-oxgmilyn]{margin:4px 0 0}@media (width>=900px){.grid[data-astro-cid-oxgmilyn]{gap:var(--s6);grid-template-columns:4fr 8fr}}.contact[data-astro-cid-he3spzz3]{padding-block:var(--s8) var(--s12);border-top:1px solid var(--border)}.lead[data-astro-cid-he3spzz3]{margin-top:var(--s3)}.mail[data-astro-cid-he3spzz3]{margin-top:var(--s3);letter-spacing:-.03em;overflow-wrap:anywhere;font-size:clamp(1.25rem,4.6vw,2rem);font-weight:500;display:inline-block}.cta[data-astro-cid-he3spzz3]{margin-top:var(--s4);flex-wrap:wrap;gap:12px;display:flex}.foot[data-astro-cid-lcdefpme]{padding-block:var(--s3) var(--s4);border-top:1px solid var(--border);color:var(--muted);font-size:.8125rem}.work[data-astro-cid-lcdefpme]{padding-top:var(--s8);padding-bottom:0}.projects[data-astro-cid-lcdefpme]{margin-top:var(--s6)}.impact[data-astro-cid-lcdefpme]{margin-top:var(--s8)}@media (width>=900px){.impact[data-astro-cid-lcdefpme]{margin-top:var(--s12)}}
