@font-face{font-family:Bitter;font-style:italic;font-weight:400;font-display:swap;src:url(../media/d3d5fb4439a63d5b-s.3h99ugq6yh82c.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Bitter;font-style:italic;font-weight:400;font-display:swap;src:url(../media/faad9e11dae22044-s.1x9mnigacpjgg.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Bitter;font-style:italic;font-weight:400;font-display:swap;src:url(../media/499a103449befb67-s.2ie_h9phtcdoh.woff2)format("woff2");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:Bitter;font-style:italic;font-weight:400;font-display:swap;src:url(../media/87a3359b804af5a4-s.43puk49crdeax.woff2)format("woff2");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:Bitter;font-style:italic;font-weight:400;font-display:swap;src:url(../media/78fffed6bd416327-s.p.40_gb6brh2k8s.woff2)format("woff2");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:Bitter;font-style:italic;font-weight:500;font-display:swap;src:url(../media/d3d5fb4439a63d5b-s.3h99ugq6yh82c.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Bitter;font-style:italic;font-weight:500;font-display:swap;src:url(../media/faad9e11dae22044-s.1x9mnigacpjgg.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Bitter;font-style:italic;font-weight:500;font-display:swap;src:url(../media/499a103449befb67-s.2ie_h9phtcdoh.woff2)format("woff2");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:Bitter;font-style:italic;font-weight:500;font-display:swap;src:url(../media/87a3359b804af5a4-s.43puk49crdeax.woff2)format("woff2");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:Bitter;font-style:italic;font-weight:500;font-display:swap;src:url(../media/78fffed6bd416327-s.p.40_gb6brh2k8s.woff2)format("woff2");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:Bitter;font-style:italic;font-weight:600;font-display:swap;src:url(../media/d3d5fb4439a63d5b-s.3h99ugq6yh82c.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Bitter;font-style:italic;font-weight:600;font-display:swap;src:url(../media/faad9e11dae22044-s.1x9mnigacpjgg.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Bitter;font-style:italic;font-weight:600;font-display:swap;src:url(../media/499a103449befb67-s.2ie_h9phtcdoh.woff2)format("woff2");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:Bitter;font-style:italic;font-weight:600;font-display:swap;src:url(../media/87a3359b804af5a4-s.43puk49crdeax.woff2)format("woff2");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:Bitter;font-style:italic;font-weight:600;font-display:swap;src:url(../media/78fffed6bd416327-s.p.40_gb6brh2k8s.woff2)format("woff2");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:Bitter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7a241265daddc572-s.10jvof8gz-_y5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Bitter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2a4bffee540098bb-s.3h_l9tbb0d7_p.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Bitter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e1515b7e0a765b6d-s.06y-_7nxbjdb1.woff2)format("woff2");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:Bitter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d77ad0cbd7090990-s.0zkocnxf4nsdf.woff2)format("woff2");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:Bitter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f26d6d8170e57a33-s.p.0y5x2yv5t_t3-.woff2)format("woff2");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:Bitter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7a241265daddc572-s.10jvof8gz-_y5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Bitter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2a4bffee540098bb-s.3h_l9tbb0d7_p.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Bitter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e1515b7e0a765b6d-s.06y-_7nxbjdb1.woff2)format("woff2");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:Bitter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d77ad0cbd7090990-s.0zkocnxf4nsdf.woff2)format("woff2");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:Bitter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/f26d6d8170e57a33-s.p.0y5x2yv5t_t3-.woff2)format("woff2");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:Bitter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7a241265daddc572-s.10jvof8gz-_y5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Bitter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2a4bffee540098bb-s.3h_l9tbb0d7_p.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Bitter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e1515b7e0a765b6d-s.06y-_7nxbjdb1.woff2)format("woff2");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:Bitter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d77ad0cbd7090990-s.0zkocnxf4nsdf.woff2)format("woff2");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:Bitter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f26d6d8170e57a33-s.p.0y5x2yv5t_t3-.woff2)format("woff2");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:Bitter Fallback;src:local(Times New Roman);ascent-override:81.69%;descent-override:23.15%;line-gap-override:0.0%;size-adjust:114.46%}.bitter_41bd3981-module__LabBXq__className{font-family:Bitter,Bitter Fallback}.bitter_41bd3981-module__LabBXq__variable{--font-bitter:"Bitter", "Bitter Fallback"}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.woff2)format("woff2");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:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.woff2)format("woff2");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:Hanken Grotesk Fallback;src:local(Arial);ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.0%;size-adjust:100.94%}.hanken_grotesk_db18501d-module__6OpjOa__className{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.hanken_grotesk_db18501d-module__6OpjOa__variable{--font-hanken:"Hanken Grotesk", "Hanken Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_40311a85-module__zaps7q__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_40311a85-module__zaps7q__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--paper:#f8fcf9;--paper-2:#eef5f0;--paper-3:#e4ece6;--card:#fcfffd;--ink:#1b1611;--ink-soft:#46403a;--ink-meta:#423c37;--hair:#1b16111f;--hair-soft:#1b161112;--pine:#1e7c50;--pine-tint:#dbeede;--accent:#006f3b;--accent-deep:color-mix(in oklab, var(--accent) 78%, #000);--accent-tint:color-mix(in oklab, var(--accent) 14%, var(--paper));--accent-pale:color-mix(in oklab, var(--accent) 42%, white);--svg-accent-bright:#bee2c9;--svg-accent-mid:#9ac3a7;--svg-accent-pale:#ddf1e1;--svg-warm-gray:#c9c7c3;--svg-block-light:#f3f2ef;--svg-block-mid:#d3d1cc;--serif:var(--font-bitter), Georgia, "Times New Roman", serif;--sans:"Hanken Grotesk", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--maxw:1240px;--gutter:clamp(1.25rem, 5vw, 5rem);--nav-h:4.75rem;--ease:cubic-bezier(.22, 1, .36, 1);--ease-soft:cubic-bezier(.4, 0, .2, 1);--z-sticky:100;--z-modal-backdrop:150;--z-modal:200;--z-skip:400}@supports (color:lab(0% 0 0)){:root{--paper:lab(98.6896% -1.85195 .948167);--paper-2:lab(95.8301% -2.73287 1.53121);--paper-3:lab(92.7383% -3.61264 2.11415);--card:lab(99.7064% -1.2342 .631857);--ink:lab(7.77997% 1.52797 3.91025);--ink-soft:lab(27.4962% 1.72421 4.68645);--ink-meta:lab(25.7512% 1.71609 4.25991);--hair:lab(7.77997% 1.52797 3.91025/.12);--hair-soft:lab(7.77997% 1.52797 3.91025/.07);--pine:lab(45.7623% -36.1257 15.8995);--pine-tint:lab(92.2815% -8.87334 5.65933);--accent:lab(40.6954% -39.9141 21.7594);--svg-accent-bright:lab(86.752% -15.5413 7.9671);--svg-accent-mid:lab(75.2826% -18.7057 9.59494);--svg-accent-pale:lab(93.4435% -9.04927 5.30394);--svg-warm-gray:lab(80.3044% .166655 2.28446);--svg-block-light:lab(95.3809% -.0106692 1.52529);--svg-block-mid:lab(83.7851% .278771 2.65746)}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.6;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit}:focus:not(:focus-visible){outline:none}:focus-visible{outline:3px solid var(--accent-deep);outline-offset:3px;border-radius:2px}section[id],[id].anchor{scroll-margin-top:calc(var(--nav-h) + 1.5rem)}.skip{background:var(--ink);color:var(--paper);z-index:var(--z-skip);transition:transform .2s var(--ease);border-radius:8px;padding:.7rem 1.1rem;font-weight:600;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip:focus{transform:translateY(0)}.wrap{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section{padding-block:clamp(4.5rem,10vw,9rem);position:relative}.kicker{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-deep);align-items:center;gap:.6rem;font-size:.78rem;font-weight:500;display:inline-flex}.kicker:before{content:"";background:var(--accent);width:1.75rem;height:1px;display:inline-block}.section-head{max-width:46rem;margin-bottom:clamp(2.5rem,5vw,4rem)}.section-head h2{font-family:var(--serif);letter-spacing:-.02em;text-wrap:balance;margin-top:1.1rem;font-size:clamp(2.1rem,1.4rem + 3.4vw,4rem);font-weight:400;line-height:1.04}.section-head h2 em{color:var(--accent-deep);font-style:italic}.section-head p{color:var(--ink-soft);max-width:38rem;margin-top:1.25rem;font-size:1.1rem}.site-header{z-index:var(--z-sticky);height:var(--nav-h);transition:background .35s var(--ease), box-shadow .35s var(--ease), backdrop-filter .35s;align-items:center;display:flex;position:fixed;inset-block-start:0;inset-inline:0}.site-header.scrolled{-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);box-shadow:0 1px 0 var(--hair-soft);background:#f8fcf9d1;background:lab(98.6896% -1.85195 .948167/.82)}.nav{justify-content:space-between;align-items:center;width:100%;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:.7rem;font-weight:700;text-decoration:none;display:flex}.brand .mark{background:var(--ink);width:2.1rem;height:2.1rem;color:var(--paper);font-family:var(--serif);border-radius:50%;place-items:center;font-size:1.05rem;font-weight:600;display:grid}.brand .mark .dot{color:var(--accent)}.nav-links{align-items:center;gap:.35rem;padding:0;list-style:none;display:flex}.nav-links a{color:var(--ink-soft);border-radius:999px;align-items:center;min-height:44px;padding:.55rem .85rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s,background .2s;display:inline-flex;position:relative}.nav-links a:hover{color:var(--ink);background:var(--paper-3)}.nav-links a.active{color:var(--ink)}.nav-links a.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:.32rem;left:.85rem;right:.85rem}.nav-tools{align-items:center;gap:.5rem;display:flex}.lang-toggle{border:1px solid var(--hair);background:var(--card);border-radius:999px;align-items:center;padding:3px;display:inline-flex}.lang-toggle button{cursor:pointer;font-family:var(--mono);letter-spacing:.05em;color:var(--ink-meta);background:0 0;border:0;border-radius:999px;min-width:44px;min-height:44px;padding:.32rem .62rem;font-size:.75rem;font-weight:600;transition:color .2s,background .2s}.lang-toggle button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.btn{cursor:pointer;min-height:44px;transition:transform .25s var(--ease), background .25s, color .25s, border-color .25s, box-shadow .25s;border:1px solid #0000;border-radius:999px;align-items:center;gap:.6rem;padding:.85rem 1.4rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--accent-deep);transform:translateY(-2px)}.btn-ghost{border-color:var(--hair);color:var(--ink);background:0 0}.btn-ghost:hover{border-color:var(--ink);background:var(--ink);color:var(--paper);transform:translateY(-2px)}.btn .arrow{transition:transform .3s var(--ease)}.btn:hover .arrow{transform:translate(3px,-3px)}.nav-burger{display:none}.hero{min-height:100svh;padding-top:var(--nav-h);align-items:center;display:flex;position:relative;overflow:hidden}.hero-grid{grid-template-columns:1.35fr .85fr;align-items:center;gap:clamp(2rem,5vw,5rem);width:100%;display:grid}.hero-eyebrow{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.8rem;display:flex}.status{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-soft);align-items:center;gap:.5rem;font-size:.78rem;display:inline-flex}.status .pulse{background:var(--pine);border-radius:50%;width:9px;height:9px;animation:2.4s infinite pulse;box-shadow:0 0 #24744d80;box-shadow:0 0 lab(43.3139% -32.7532 14.4197/.5)}@keyframes pulse{0%{box-shadow:0 0 #24744d73;box-shadow:0 0 lab(43.3139% -32.7532 14.4197/.45)}70%{box-shadow:0 0 0 9px #24744d00;box-shadow:0 0 0 9px lab(43.3139% -32.7532 14.4197/0)}to{box-shadow:0 0 #24744d00;box-shadow:0 0 lab(43.3139% -32.7532 14.4197/0)}}.hero h1{font-family:var(--serif);letter-spacing:-.025em;text-wrap:balance;font-size:clamp(2.7rem,1.2rem + 7vw,6rem);font-weight:400;line-height:.98}.hero h1 .line{display:block;overflow:hidden}.hero h1 .reveal-word{display:inline-block}.hero h1 em{color:var(--accent-deep);font-style:italic}.hero-role{font-family:var(--mono);text-transform:uppercase;letter-spacing:.15em;color:var(--accent-deep);margin-top:1.6rem;font-size:clamp(.8rem,.7rem + .4vw,1rem);font-weight:500}.hero-lede{color:var(--ink-soft);max-width:34rem;margin-top:1.5rem;font-size:1.18rem}.hero-cta{flex-wrap:wrap;gap:.9rem;margin-top:2.4rem;display:flex}.hero-portrait{position:relative}.portrait-frame{aspect-ratio:4/5;border-radius:220px 220px 18px 18px;position:relative;overflow:hidden;box-shadow:0 40px 80px -40px #1b161166;box-shadow:0 40px 80px -40px lab(7.77997% 1.52797 3.91025/.4)}.portrait-frame img{width:100%;height:100%;transition:filter .7s var(--ease), transform .9s var(--ease)}.portrait-frame:hover img{filter:grayscale(0)contrast()}.portrait-frame:after{content:"";pointer-events:none;background:color-mix(in oklab, var(--accent) 22%, transparent);mix-blend-mode:multiply;opacity:1;transition:opacity .7s var(--ease);position:absolute;inset:0}.portrait-frame:hover:after{opacity:0}.portrait-tag{background:oklch(from var(--card) l c h / .9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;justify-content:space-between;align-items:center;padding:.7rem 1rem;font-size:.85rem;display:flex;position:absolute;bottom:1rem;left:1rem;right:1rem;box-shadow:0 8px 24px -12px #1b161180;box-shadow:0 8px 24px -12px lab(7.77997% 1.52797 3.91025/.5)}.portrait-tag .yrs{font-family:var(--serif);font-size:1.4rem;line-height:1}.portrait-tag .yrs b{font-style:italic}.float-badge{background:var(--accent);width:6.5rem;height:6.5rem;color:var(--paper);text-align:center;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:50%;place-items:center;font-size:.66rem;font-weight:600;line-height:1.4;display:grid;position:absolute;top:-1.1rem;right:-1.1rem;box-shadow:0 16px 40px -16px #af5629b3;box-shadow:0 16px 40px -16px lab(47.4733% 34.973 42.347/.7)}.hero-scroll{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-meta);flex-direction:column;align-items:center;gap:.5rem;font-size:.68rem;display:flex;position:absolute;bottom:1.8rem;left:50%;transform:translate(-50%)}.hero-scroll .bar{background:var(--hair);width:1px;height:2.5rem;position:relative;overflow:hidden}.hero-scroll .bar:after{content:"";inset-inline:0;background:var(--accent);height:40%;animation:scrolldown 2s var(--ease-soft) infinite;position:absolute;top:0}@keyframes scrolldown{0%{transform:translateY(-100%)}to{transform:translateY(280%)}}.strip{border-block:1px solid var(--hair);background:var(--ink);color:var(--paper);overflow:hidden}.marquee{white-space:nowrap;gap:3rem;width:max-content;padding-block:1.1rem;animation:32s linear infinite marquee;display:flex}.strip:hover .marquee{animation-play-state:paused}.marquee span{font-family:var(--serif);align-items:center;gap:3rem;font-size:1.3rem;font-style:italic;display:inline-flex}.marquee span:after{content:"✦";color:var(--accent);font-size:.8rem;font-style:normal}@keyframes marquee{to{transform:translate(-50%)}}.about-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.about-lead{font-family:var(--serif);letter-spacing:-.01em;text-wrap:pretty;font-size:clamp(1.5rem,1.1rem + 1.8vw,2.3rem);line-height:1.28}.about-lead em{color:var(--accent-deep);font-style:italic}.about-body p{color:var(--ink-soft);margin-top:1.2rem}.about-meta{grid-template-columns:repeat(2,1fr);gap:1.5rem 2rem;margin-top:2.5rem;display:grid}.about-meta dt{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-meta);font-size:.72rem}.about-meta dd{margin-top:.3rem;font-weight:500}.stat-row{border-top:1px solid var(--hair);flex-wrap:wrap;gap:clamp(1.5rem,4vw,3.5rem);margin-top:3rem;padding-top:2rem;display:flex}.stat .n{font-family:var(--serif);font-size:clamp(2.2rem,1.5rem + 2.5vw,3.4rem);line-height:1}.stat .n em{color:var(--accent-deep);font-style:italic}.stat .l{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-meta);margin-top:.5rem;font-size:.72rem}.skills.section{background:var(--paper-2)}.skill-groups{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.skill-card{background:var(--card);border:1px solid var(--hair-soft);transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s;border-radius:18px;padding:clamp(1.5rem,3vw,2.2rem)}.skill-card:hover{border-color:var(--hair);transform:translateY(-4px);box-shadow:0 24px 50px -30px #1b161173;box-shadow:0 24px 50px -30px lab(7.77997% 1.52797 3.91025/.45)}.skill-card .num{font-family:var(--mono);color:var(--accent-deep);letter-spacing:.1em;font-size:.75rem}.skill-card h3{font-family:var(--serif);margin-top:.5rem;margin-bottom:1.1rem;font-size:1.5rem;font-weight:400}.tags{flex-wrap:wrap;gap:.5rem;display:flex}.tag{font-family:var(--mono);letter-spacing:.02em;background:var(--paper-2);border:1px solid var(--hair-soft);color:var(--ink-soft);border-radius:999px;align-items:center;min-height:24px;padding:.4rem .75rem;font-size:.78rem;transition:background .25s,color .25s,border-color .25s,transform .25s;display:inline-flex}.tag:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:translateY(-2px)}.svc-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.svc{border-top:2px solid var(--ink);padding-top:1.3rem;transition:border-color .3s}.svc:hover{border-color:var(--accent)}.svc .icn{background:var(--accent-tint);width:2.6rem;height:2.6rem;color:var(--accent-deep);border-radius:12px;place-items:center;margin-bottom:1rem;display:grid}.svc h3{font-family:var(--serif);margin-bottom:.5rem;font-size:1.35rem;font-weight:400}.svc p{color:var(--ink-soft);font-size:.97rem}.xp-list{border-top:1px solid var(--hair);gap:0;display:grid}.xp{border-bottom:1px solid var(--hair);transition:background .4s var(--ease);grid-template-columns:.3fr 1.4fr 1fr;align-items:start;gap:clamp(1rem,3vw,3rem);padding-block:clamp(1.8rem,3vw,2.6rem);display:grid;position:relative}.xp:hover{background:var(--paper-2)}.xp .yr{font-family:var(--mono);color:var(--accent-deep);letter-spacing:.04em;padding-top:.4rem;font-size:.85rem}.xp .role{font-family:var(--serif);font-size:clamp(1.4rem,1rem + 1.5vw,2.1rem);font-weight:400;line-height:1.1}.xp .org{color:var(--ink-soft);align-items:center;gap:.5rem;margin-top:.4rem;font-weight:500;display:flex}.xp .org .now{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--pine);color:var(--paper);border-radius:999px;padding:.2rem .5rem;font-size:.65rem}.xp .desc{color:var(--ink-soft);font-size:.98rem}.xp .desc ul{gap:.5rem;padding:0;list-style:none;display:grid}.xp .desc li{padding-left:1.2rem;position:relative}.xp .desc li:before{content:"→";color:var(--accent);position:absolute;left:0}.projects.section{background:var(--ink);color:var(--paper)}.projects .kicker{color:var(--accent-pale)}.projects .kicker:before{background:var(--accent-pale)}.projects .section-head h2{color:var(--paper)}.projects .section-head h2 em{color:var(--accent-pale)}.projects .section-head p{color:#f8fcf9a8;color:lab(98.6896% -1.85195 .948167/.66)}.proj-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.proj{color:var(--paper);transition:transform .45s var(--ease), border-color .45s, background .45s;background:#f8fcf90a;background:lab(98.6896% -1.85195 .948167/.04);border:1px solid #f8fcf91a;border:1px solid lab(98.6896% -1.85195 .948167/.1);border-radius:20px;flex-direction:column;grid-column:span 1;text-decoration:none;display:flex;overflow:hidden}.proj.feature{grid-column:span 2}.proj:hover{background:#f8fcf912;background:lab(98.6896% -1.85195 .948167/.07);border-color:#f8fcf94d;border-color:lab(98.6896% -1.85195 .948167/.3);transform:translateY(-6px)}.proj .shot{aspect-ratio:16/9;background:#322d27;background:lab(18.8011% 1.47805 4.39719);position:relative;overflow:hidden}.proj.feature .shot{aspect-ratio:21/9}.proj .shot img:not(.proj-img){width:100%;height:100%}.proj .meta{flex-direction:column;flex:1;gap:.6rem;padding:1.5rem clamp(1.3rem,2.5vw,2rem) 1.7rem;display:flex}.proj .meta .top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.proj .tagline{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-pale);font-size:.72rem}.proj h3{font-family:var(--serif);font-size:clamp(1.4rem,1.1rem + 1vw,1.95rem);font-weight:400;line-height:1.1}.proj p{color:#f8fcf9a8;color:lab(98.6896% -1.85195 .948167/.66);font-size:.97rem}.proj .go{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--paper);align-items:center;gap:.5rem;margin-top:auto;font-size:.78rem;display:inline-flex}.proj .go .arrow{transition:transform .3s var(--ease)}.proj:hover .go .arrow{transform:translate(3px,-3px)}.proj .stack{flex-wrap:wrap;gap:.4rem;display:flex}.proj .stack span{font-family:var(--mono);color:#f8fcf9cc;color:lab(98.6896% -1.85195 .948167/.8);border:1px solid #f8fcf92e;border:1px solid lab(98.6896% -1.85195 .948167/.18);border-radius:999px;padding:.25rem .55rem;font-size:.7rem}.proj .shot .figure{width:100%;height:100%;display:block;position:absolute;inset:0}.proj .shot .figure svg{width:100%;height:100%;transition:transform .55s var(--ease);display:block}.proj .shot{background:radial-gradient(120% 140% at 80% 0%, color-mix(in oklab, var(--accent) 26%, var(--ink)) 0%, var(--ink) 60%)}.proj .shot .figure{will-change:transform}.proj:hover .shot .figure svg{transform:scale(1.04)}.proj .shot .proj-img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .6s var(--ease);will-change:transform;position:absolute;inset:0}.proj:hover .shot .proj-img{transform:scale(1.05)}.proj{transform-style:preserve-3d;will-change:transform}.proj .meta,.proj .shot{transform:translateZ(0)}.proj.tilt{transition:transform .18s var(--ease-soft), border-color .45s, background .45s}.projects{isolation:isolate}.projects .spotlight{z-index:0;pointer-events:none;background:radial-gradient(380px circle at var(--mx,50%) var(--my,-20%), color-mix(in oklab, var(--accent) 30%, transparent), transparent 70%);opacity:0;transition:opacity .5s var(--ease);position:absolute;inset:0}.projects:hover .spotlight{opacity:1}.projects .wrap{z-index:1;position:relative}.hero-deco{pointer-events:none;z-index:-1;position:absolute;inset:0;overflow:hidden}.hero-deco span{will-change:transform;border-radius:50%;position:absolute}.hero-deco .b1{aspect-ratio:1;background:radial-gradient(circle at 50% 50%, color-mix(in oklab, var(--accent) 20%, transparent), transparent 62%);filter:blur(42px);width:clamp(14rem,26vw,26rem);top:4%;right:3%}.hero-deco .b2{aspect-ratio:1;background:radial-gradient(circle at 50% 50%, color-mix(in oklab, var(--pine) 17%, transparent), transparent 62%);filter:blur(42px);width:clamp(10rem,20vw,20rem);bottom:4%;left:2%}.hero-deco .ring{border:1px solid var(--hair);filter:none;color:#ececf3;background:0 0;border-radius:50%;width:22rem;height:22rem;top:18%;left:38%}@media (prefers-reduced-motion:reduce){.proj.tilt{transform:none!important}}body.calm-motion .proj.tilt,body.calm-motion .hero-deco span{transform:none!important}.edu-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.edu{background:var(--card);border:1px solid var(--hair-soft);transition:transform .4s var(--ease), box-shadow .4s;border-radius:16px;padding:clamp(1.4rem,3vw,2rem)}.edu:hover{transform:translateY(-4px);box-shadow:0 22px 46px -30px #1b161166;box-shadow:0 22px 46px -30px lab(7.77997% 1.52797 3.91025/.4)}.edu .yr{font-family:var(--mono);color:var(--accent-deep);letter-spacing:.06em;font-size:.78rem}.edu h3{font-family:var(--serif);margin:.6rem 0 .4rem;font-size:1.4rem;font-weight:400;line-height:1.15}.edu p{color:var(--ink-soft);font-size:.95rem}.lang-bars{gap:1rem;margin-top:1.5rem;display:grid}.langbar .lab{justify-content:space-between;margin-bottom:.4rem;font-size:.9rem;display:flex}.langbar .lab .lvl{font-family:var(--mono);color:var(--ink-meta);letter-spacing:.05em;font-size:.72rem}.langbar .track{background:var(--paper-3);border-radius:999px;height:6px;overflow:hidden}.langbar .fill{background:var(--accent);width:0;height:100%;transition:width 1.1s var(--ease);border-radius:999px}.interests{flex-wrap:wrap;gap:.7rem;margin-top:2.5rem;display:flex}.interests .chip{border:1px solid var(--hair);border-radius:999px;align-items:center;gap:.5rem;min-height:24px;padding:.55rem 1.1rem;font-size:.95rem;transition:background .25s,color .25s,transform .25s;display:inline-flex}.interests .chip:hover{background:var(--accent);color:var(--paper);border-color:var(--accent);transform:translateY(-2px)}.contact.section{background:var(--paper-2)}.contact-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.contact h2{font-family:var(--serif);letter-spacing:-.02em;text-wrap:balance;font-size:clamp(2.4rem,1.4rem + 4vw,4.6rem);font-weight:400;line-height:1.02}.contact h2 em{color:var(--accent-deep);font-style:italic}.contact-lede{color:var(--ink-soft);max-width:28rem;margin-top:1.4rem;font-size:1.1rem}.contact-cta{flex-wrap:wrap;gap:.9rem;margin-top:2rem;display:flex}.contact-list{border-top:1px solid var(--hair);gap:0;display:grid}.contact-list a{border-bottom:1px solid var(--hair);transition:padding .3s var(--ease), color .2s;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.15rem;text-decoration:none;display:flex}.contact-list a:hover{color:var(--accent-deep);padding-left:.6rem}.contact-list .k{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-meta);font-size:.72rem}.contact-list .v{font-family:var(--serif);font-size:1.15rem}.contact-list .arrow{color:var(--accent);transition:transform .3s var(--ease)}.contact-list a:hover .arrow{transform:translate(3px,-3px)}.site-footer{background:var(--ink);color:var(--paper);padding-block:clamp(3rem,6vw,5rem) 2rem}.footer-top{border-bottom:1px solid #f8fcf924;border-bottom:1px solid lab(98.6896% -1.85195 .948167/.14);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:2.5rem;display:flex}.footer-top .big{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(2rem,1.2rem + 4vw,4rem);line-height:1}.footer-top .big em{color:var(--accent-pale);font-style:italic}.socials{gap:.6rem;display:flex}.socials a{width:44px;height:44px;color:var(--paper);border:1px solid #f8fcf933;border:1px solid lab(98.6896% -1.85195 .948167/.2);border-radius:50%;place-items:center;transition:background .25s,color .25s,transform .25s,border-color .25s;display:grid}.socials a:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);transform:translateY(-3px)}.footer-bottom{color:#f8fcf999;color:lab(98.6896% -1.85195 .948167/.6);font-size:.85rem;font-family:var(--mono);letter-spacing:.03em;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.6rem;display:flex}.footer-bottom a{color:inherit;text-decoration:none}.footer-bottom a:hover{color:var(--paper)}[data-reveal][data-js-reveal]:not(.in){opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(28px)}[data-reveal].in{opacity:1;transform:none}[data-reveal][data-delay="1"]{transition-delay:80ms}[data-reveal][data-delay="2"]{transition-delay:.16s}[data-reveal][data-delay="3"]{transition-delay:.24s}[data-reveal][data-delay="4"]{transition-delay:.32s}.hero h1 .reveal-word{transition:transform .9s var(--ease);transform:translateY(110%)}.hero.ready h1 .reveal-word{transform:none}.hero h1 .reveal-word:nth-child(2){transition-delay:60ms}.hero h1 .reveal-word:nth-child(3){transition-delay:.12s}.hero h1 .reveal-word:nth-child(4){transition-delay:.18s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1!important;transform:none!important}.hero h1 .reveal-word{transform:none!important}.marquee{animation:none}}body.calm-motion .marquee,body.calm-motion .hero-scroll .bar:after,body.calm-motion .status .pulse{animation:none}body.calm-motion [data-reveal]{transition-duration:.45s;transform:translateY(12px)}body.calm-motion .float-badge{transform:none!important}@media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:2.5rem}.hero-portrait{order:-1;max-width:22rem;margin-inline:auto}.hero-deco{display:none}.float-badge{width:5rem;height:5rem;font-size:.58rem;top:-.6rem;right:-.6rem}.about-grid,.contact-grid,.skill-groups{grid-template-columns:1fr}.svc-grid{grid-template-columns:repeat(2,1fr)}.proj-grid{grid-template-columns:1fr}.proj.feature{grid-column:span 1}.edu-grid{grid-template-columns:1fr}.xp{grid-template-columns:.5fr 1.5fr}.xp .desc{grid-column:1/-1;padding-top:.5rem}}@media (max-width:1140px){.nav-links,.hero-scroll{display:none}.nav-burger{display:inline-grid}.svc-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.xp{grid-template-columns:1fr;gap:.5rem}.xp .yr{padding-top:0}}.mobile-menu{z-index:var(--z-modal);background:var(--paper);padding:var(--gutter);transition:transform .5s var(--ease);visibility:hidden;flex-direction:column;display:flex;position:fixed;inset:0;transform:translateY(-100%)}.mobile-menu.open{visibility:visible;transform:none}.mobile-menu .mm-top{justify-content:space-between;align-items:center;margin-bottom:3rem;display:flex}.mobile-menu nav{gap:.5rem;display:grid}.mobile-menu nav a{font-family:var(--serif);border-bottom:1px solid var(--hair);padding-block:.4rem;font-size:2rem;text-decoration:none}.icon-btn{border:1px solid var(--hair);background:var(--card);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;transition:background .2s,transform .2s;display:grid}.icon-btn:hover{background:var(--paper-3)}
