@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(../media/79e9e0e3b9220e46-s.0~gr2nv~zu_tq.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:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(../media/e62850744c7f266e-s.075bt8bdso9.6.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:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(../media/9433d1a810498265-s.p.0h26ys03~gfbk.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:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(../media/79e9e0e3b9220e46-s.0~gr2nv~zu_tq.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:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(../media/e62850744c7f266e-s.075bt8bdso9.6.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:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(../media/9433d1a810498265-s.p.0h26ys03~gfbk.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:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/150f724d70372c02-s.0ibo8nq1_5r8c.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:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/750c737482d9de2f-s.0.oe-uv1--sd5.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:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.16whm0euli40m.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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/150f724d70372c02-s.0ibo8nq1_5r8c.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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/750c737482d9de2f-s.0.oe-uv1--sd5.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:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.16whm0euli40m.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:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_bca5d167-module__Jl1EFG__className{font-family:Newsreader,Newsreader Fallback}.newsreader_bca5d167-module__Jl1EFG__variable{--font-newsreader:"Newsreader", "Newsreader Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.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:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_20bf868a-module__A-CEiG__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_20bf868a-module__A-CEiG__variable{--font-plex-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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.10hk62x1-0d9n.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.0bmyfaahigzds.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.0-0ft90hthv3~.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.16fk0g~ypa53a.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.0f97p8c3305p~.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.0h-nw9_c8d~-_.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.10hk62x1-0d9n.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.0bmyfaahigzds.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.0-0ft90hthv3~.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.16fk0g~ypa53a.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.0f97p8c3305p~.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.0h-nw9_c8d~-_.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.10hk62x1-0d9n.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.0bmyfaahigzds.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.0-0ft90hthv3~.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.16fk0g~ypa53a.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.0f97p8c3305p~.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_f1dc038f-module__F-YPqq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_f1dc038f-module__F-YPqq__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#faf8f4;--bg-elev:#f2efe8;--bg-card:#fff;--ink:#14110c;--ink-2:#3b362c;--ink-3:#6e6657;--ink-4:#a39885;--rule:#e0dac9;--rule-soft:#ece6d7;--accent:#029e72;--accent-soft:#cdeede;--warn:#c77f3e;--serif:var(--font-newsreader), "Source Serif Pro", Georgia, serif;--sans:var(--font-plex-sans), system-ui, -apple-system, sans-serif;--mono:var(--font-jetbrains-mono), "IBM Plex Mono", ui-monospace, monospace;--gutter:32px;--maxw:1200px;--row-h:64px}@supports (color:lab(0% 0 0)){:root{--accent:lab(57.6413% -44.7782 12.6622);--accent-soft:lab(91.2579% -13.2331 3.82878);--warn:lab(60.0994% 24.6111 46.2201)}}[data-theme=dark]{--bg:#0e0e10;--bg-elev:#16171a;--bg-card:#1b1d20;--ink:#f4f1ea;--ink-2:#c9c3b5;--ink-3:#8a8474;--ink-4:#555044;--rule:#2a2c30;--rule-soft:#1f2125;--accent:#1bd79e;--accent-soft:#0b3c2b;--warn:#f4a25c}@supports (color:lab(0% 0 0)){[data-theme=dark]{--accent:lab(76.5993% -55.0412 15.5759);--accent-soft:lab(21.916% -20.5406 5.82906);--warn:lab(74.0027% 26.297 48.9969)}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "cv11";margin:0;padding:0;font-size:15px;line-height:1.55;transition:background .3s,color .3s}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}.wrap{max-width:var(--maxw);padding:0 var(--gutter);margin:0 auto}.rule{background:var(--rule);border:0;height:1px;margin:0}.rule-soft{background:var(--rule-soft);border:0;height:1px;margin:0}.section{border-top:1px solid var(--rule);padding:96px 0;position:relative}.section-head{grid-template-columns:200px 1fr;align-items:baseline;gap:48px;margin-bottom:48px;display:grid}.section-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);align-items:center;gap:8px;font-size:11px;display:flex}.section-tag:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.section-title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:0 0 12px;font-size:44px;font-style:italic;font-weight:400;line-height:1.05}.section-sub{color:var(--ink-3);max-width:56ch;margin:0;font-size:15px}.topbar{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--rule);position:sticky;top:0}.topbar-inner{max-width:var(--maxw);padding:0 var(--gutter);justify-content:space-between;align-items:center;gap:24px;height:60px;margin:0 auto;display:flex}.brand{font-family:var(--mono);align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.brand-mark{background:var(--ink);width:24px;height:24px;color:var(--bg);font-family:var(--serif);border-radius:4px;place-items:center;font-size:14px;font-style:italic;font-weight:500;display:grid}.brand-slash{color:var(--ink-4)}.brand-tail{color:var(--ink-3)}.nav{align-items:center;gap:4px;display:flex}.nav a{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;border-radius:4px;padding:6px 10px;font-size:12px;transition:color .15s,background .15s}.nav a:hover{color:var(--ink);background:var(--bg-elev)}.nav a.active{color:var(--ink)}.nav-num{color:var(--ink-4);margin-right:6px}.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-actions:before{content:"";background:var(--rule);width:1px;height:18px;margin-right:2px}.kbd-btn{height:30px;font-family:var(--mono);color:var(--ink-3);background:var(--bg-elev);border:1px solid var(--rule);cursor:pointer;white-space:nowrap;border-radius:7px;flex-shrink:0;align-items:center;gap:8px;padding:0 12px;font-size:11px;transition:all .15s;display:flex}.kbd-btn:hover{border-color:var(--ink-4);color:var(--ink)}.kbd{font-family:var(--mono);background:var(--bg-card);border:1px solid var(--rule);color:var(--ink-3);border-radius:3px;padding:2px 5px;font-size:10px;line-height:1}.theme-btn{border:1px solid var(--rule);background:var(--bg-elev);cursor:pointer;width:30px;height:30px;color:var(--ink-3);border-radius:7px;place-items:center;transition:all .15s;display:grid}.theme-btn:hover{color:var(--ink);border-color:var(--ink-4)}.hero{padding:80px 0 96px;position:relative;overflow:hidden}.hero-grid{background-image:linear-gradient(to right, var(--rule-soft) 1px, transparent 1px), linear-gradient(to bottom, var(--rule-soft) 1px, transparent 1px);pointer-events:none;opacity:.7;background-position:-1px -1px;background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 30% 40%,#000 30%,#0000 80%);mask-image:radial-gradient(70% 60% at 30% 40%,#000 30%,#0000 80%)}.hero-inner{grid-template-columns:1fr 380px;align-items:start;gap:64px;display:grid;position:relative}.hero-eyebrow{font-family:var(--mono);color:var(--ink-3);letter-spacing:.04em;align-items:center;gap:12px;margin-bottom:28px;font-size:12px;display:flex}.status-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;position:relative}.status-dot:after{content:"";background:var(--accent);opacity:.4;border-radius:50%;animation:2.4s ease-in-out infinite pulse;position:absolute;inset:-3px}@keyframes pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:0;transform:scale(1.6)}}.hero h1{font-family:var(--serif);letter-spacing:-.025em;color:var(--ink);margin:0 0 28px;font-size:clamp(44px,6.4vw,76px);font-weight:400;line-height:1.06}.hero h1 em{color:var(--ink-2);font-style:italic}.hero h1 .accent{color:var(--accent);font-style:italic}.hero-sub{color:var(--ink-2);max-width:60ch;margin:0 0 32px;font-size:17px;line-height:1.55}.typed-line{font-family:var(--mono);color:var(--ink-2);align-items:center;gap:10px;min-height:22px;margin:0 0 40px;font-size:14px;display:flex}.typed-prompt{color:var(--accent);font-weight:600}.cursor{background:var(--ink);vertical-align:middle;width:8px;height:16px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-meta{flex-wrap:wrap;gap:24px;max-width:100%;display:flex}.hero-meta-item{flex-direction:column;gap:4px;min-width:0;display:flex}.hero-meta-item .v{overflow-wrap:anywhere}.hero-meta-item .k{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);font-size:10px}.hero-meta-item .v{color:var(--ink-2);font-size:13px;font-family:var(--mono)}.code-card{border:1px solid var(--rule);background:var(--bg-card);font-family:var(--mono);box-shadow:0 1px 0 var(--rule-soft), 0 8px 24px -16px #0000001f;border-radius:10px;font-size:12px;overflow:hidden}.code-card-head{border-bottom:1px solid var(--rule);background:var(--bg-elev);color:var(--ink-3);align-items:center;gap:10px;padding:10px 12px;font-size:11px;display:flex}.code-card-dots{gap:5px;display:flex}.code-card-dots i{background:var(--rule);border-radius:50%;width:9px;height:9px}.code-card-body{color:var(--ink-2);flex-direction:column;gap:6px;padding:14px 16px;font-size:11.5px;line-height:1.7;display:flex}.code-line{white-space:nowrap;gap:12px;min-height:1.5em;display:flex}.code-line>span:last-child{text-overflow:ellipsis;overflow:hidden}.code-num{color:var(--ink-4);-webkit-user-select:none;user-select:none;text-align:right;flex-shrink:0;width:18px}.tk-key{color:#9076f3;color:lab(56.8429% 32.5688 -60.4127)}.tk-fn{color:#009fc1;color:lab(60.1051% -34.1444 -37.2289)}.tk-str{color:#029e72;color:lab(57.6413% -44.7782 12.6622)}.tk-num{color:#cf7b26;color:lab(59.9767% 29.467 56.9883)}.tk-com{color:var(--ink-4);font-style:italic}.tk-pun{color:var(--ink-3)}[data-theme=dark] .tk-key{color:#b7a7ff;color:lab(72.4358% 26.3132 -54.1271)}[data-theme=dark] .tk-fn{color:#25d2fc;color:lab(77.4934% -31.9071 -32.9812)}[data-theme=dark] .tk-num{color:#ffaf67;color:lab(78.5997% 28.4264 53.0582)}.case-list{flex-direction:column;display:flex}.case{border-top:1px solid var(--rule);cursor:pointer;grid-template-columns:60px 1fr 180px 36px;align-items:start;gap:32px;padding:32px 0;transition:padding .3s,background .3s;display:grid;position:relative}.case:last-child{border-bottom:1px solid var(--rule)}.case:before{content:"";background:var(--accent);border-radius:2px;width:0;transition:width .3s;position:absolute;top:0;bottom:0;left:-12px}.case:hover:before{width:3px}.case-num{font-family:var(--mono);color:var(--ink-4);padding-top:6px;font-size:12px}.case-body h3{font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);margin:0 0 8px;font-size:32px;font-weight:400;line-height:1.1}.case-role{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin-bottom:14px;font-size:11px}.case-impact{color:var(--ink-2);max-width:62ch;margin:0 0 18px;font-size:15.5px;line-height:1.55}.case-stack{flex-wrap:wrap;gap:6px;display:flex}.tag{font-family:var(--mono);border:1px solid var(--rule);color:var(--ink-3);background:var(--bg-elev);letter-spacing:.02em;border-radius:999px;padding:3px 8px;font-size:10.5px}.tag.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.case-meta{font-family:var(--mono);color:var(--ink-3);flex-direction:column;gap:12px;font-size:11px;display:flex}.case-meta .row{border-bottom:1px dashed var(--rule);justify-content:space-between;padding-bottom:6px;display:flex}.case-meta .row .v{color:var(--ink)}.case-arrow{width:28px;height:28px;font-family:var(--mono);color:var(--ink-4);border:1px solid var(--rule);background:var(--bg);border-radius:6px;justify-self:end;place-items:center;margin-top:6px;font-size:13px;line-height:1;transition:all .25s;display:grid;position:relative}.case:hover .case-arrow{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.case-detail{grid-column:2/5;grid-template-rows:0fr;transition:grid-template-rows .4s;display:grid}.case.open .case-detail{grid-template-rows:1fr}.case-detail-inner{overflow:hidden}.case-detail-content{border-top:1px dashed var(--rule);color:var(--ink-2);grid-template-columns:1fr 1fr;gap:32px;margin-top:16px;padding-top:24px;font-size:14px;line-height:1.65;display:grid}.case-detail-content h4{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin:0 0 10px;font-size:11px;font-weight:500}.case-detail-content ul{margin:0;padding:0;list-style:none}.case-detail-content li{border-bottom:1px dashed var(--rule-soft);gap:12px;padding:6px 0;display:flex}.case-detail-content li:before{content:"→";color:var(--ink-4);font-family:var(--mono)}.filter-bar{font-family:var(--mono);flex-wrap:wrap;gap:6px;margin-bottom:28px;font-size:11px;display:flex}.filter-bar button{appearance:none;border:1px solid var(--rule);background:var(--bg-elev);color:var(--ink-3);cursor:pointer;font:inherit;letter-spacing:.02em;border-radius:999px;padding:5px 12px;transition:all .15s}.filter-bar button:hover{color:var(--ink);border-color:var(--ink-4)}.filter-bar button.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.filter-count{color:var(--ink-4);align-self:center;margin-left:auto}.repos{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.repo{border:1px solid var(--rule);background:var(--bg-card);border-radius:10px;flex-direction:column;gap:10px;padding:18px 20px;transition:all .2s;display:flex;position:relative;overflow:hidden}.repo:hover{border-color:var(--ink-4);transform:translateY(-2px);box-shadow:0 12px 32px -16px #0000002e}.repo-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.repo-name{font-family:var(--mono);color:var(--ink);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.repo-name .scope{color:var(--ink-4)}.repo-vis{font-family:var(--mono);text-transform:uppercase;border:1px solid var(--rule);color:var(--ink-3);letter-spacing:.08em;border-radius:999px;padding:2px 7px;font-size:10px}.repo-desc{color:var(--ink-2);min-height:38px;margin:0;font-size:13px;line-height:1.5}.repo-foot{font-family:var(--mono);color:var(--ink-3);align-items:center;gap:16px;margin-top:auto;padding-top:6px;font-size:11px;display:flex}.repo-lang{align-items:center;gap:6px;display:flex}.repo-lang i{border-radius:50%;width:9px;height:9px;display:inline-block}.repo-stat{align-items:center;gap:4px;display:flex}.repo-stat svg{width:11px;height:11px}.skills{border-top:1px solid var(--rule);border-left:1px solid var(--rule);grid-template-columns:repeat(4,1fr);gap:0;display:grid}.skill-col{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-width:0;padding:24px}.skill-list li>span:first-child{overflow-wrap:anywhere;min-width:0}.skill-level{flex-shrink:0}.skill-col h4{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);align-items:center;gap:8px;margin:0 0 16px;font-size:11px;font-weight:500;display:flex}.skill-col h4 .num{color:var(--ink-4);font-weight:400}.skill-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skill-list li{font-family:var(--mono);color:var(--ink-2);border-bottom:1px dashed var(--rule-soft);justify-content:space-between;align-items:center;padding:4px 0;font-size:12.5px;display:flex}.skill-level{gap:2px;display:flex}.skill-level i{background:var(--rule);border-radius:1px;width:14px;height:4px}.skill-level i.on{background:var(--accent)}.timeline{padding-left:0;position:relative}.exp{border-top:1px solid var(--rule);grid-template-columns:200px 1fr;align-items:start;gap:48px;padding:28px 0;display:grid}.exp:last-child{border-bottom:1px solid var(--rule)}.exp-when{font-family:var(--mono);color:var(--ink-3);flex-direction:column;gap:4px;font-size:12px;display:flex}.exp-when .role-tag{color:var(--ink-4);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;font-size:10px}.exp-body h3{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);margin:0 0 4px;font-size:24px;font-weight:400;line-height:1.2}.exp-co{font-family:var(--mono);color:var(--ink-3);margin-bottom:12px;font-size:12px}.exp-points{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.exp-points li{color:var(--ink-2);padding-left:18px;font-size:14.5px;line-height:1.55;position:relative}.exp-points li:before{content:"";background:var(--ink-4);width:8px;height:1px;position:absolute;top:9px;left:0}.terminal{border:1px solid var(--rule);background:var(--bg-card);font-family:var(--mono);border-radius:10px;flex-direction:column;height:480px;font-size:13px;display:flex;overflow:hidden}.term-head{background:var(--bg-elev);border-bottom:1px solid var(--rule);color:var(--ink-3);align-items:center;gap:10px;padding:10px 14px;font-size:11px;display:flex}.term-head .dots{gap:5px;display:flex}.term-head .dots i{background:var(--rule);border-radius:50%;width:10px;height:10px}.term-head .dots i.r{background:#fa6863;background:lab(63.4204% 56.5783 32.9929)}.term-head .dots i.y{background:#f7b83d;background:lab(79.1609% 15.493 67.4391)}.term-head .dots i.g{background:#68c36d;background:lab(71.674% -42.0441 34.533)}.term-title{color:var(--ink-3);margin:0 auto;font-size:11px}.term-body{color:var(--ink-2);flex:1;padding:16px;line-height:1.55;overflow-y:auto}.term-line{white-space:pre-wrap}.term-line.in{color:var(--ink)}.term-prompt{color:var(--accent);font-weight:600}.term-user{color:#9076f3;color:lab(56.8429% 32.5688 -60.4127)}.term-host{color:#009fc1;color:lab(60.1051% -34.1444 -37.2289)}.term-input-row{border-top:1px solid var(--rule);align-items:center;gap:8px;padding:10px 16px;display:flex}.term-input-row input{color:var(--ink);font:inherit;caret-color:var(--accent);background:0 0;border:0;outline:0;flex:1}.term-help{color:var(--ink-4);border-top:1px dashed var(--rule);padding:10px 16px;font-size:11px}.contact{grid-template-columns:1fr 1fr;align-items:start;gap:64px;display:grid}.contact-pitch{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:0 0 24px;font-size:48px;font-weight:400;line-height:1.05}.contact-pitch em{color:var(--ink-2);font-style:italic}.contact-pitch .accent{color:var(--accent);font-style:italic}.contact-sub{color:var(--ink-2);max-width:50ch;margin:0 0 32px;font-size:16px;line-height:1.55}.contact-list{border-top:1px solid var(--rule);flex-direction:column;display:flex}.contact-row{border-bottom:1px solid var(--rule);font-family:var(--mono);color:var(--ink);grid-template-columns:100px 1fr auto;align-items:center;gap:24px;padding:18px 0;font-size:13px;transition:padding .2s;display:grid}.contact-row:hover{padding-left:8px}.contact-row .k{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-size:11px}.contact-row .arrow{color:var(--ink-4);transition:transform .2s,color .2s}.contact-row:hover .arrow{color:var(--accent);transform:translate(4px)}.cmdp-overlay{background:color-mix(in srgb, var(--bg) 50%, transparent);-webkit-backdrop-filter:blur(8px);z-index:100;place-items:start center;padding-top:18vh;animation:.15s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.cmdp{background:var(--bg-card);border:1px solid var(--rule);width:min(560px,100vw - 32px);font-family:var(--mono);border-radius:12px;font-size:13px;animation:.2s cubic-bezier(.2,.7,.3,1.2) cmdpop;overflow:hidden;box-shadow:0 32px 64px -16px #0000004d}@keyframes cmdpop{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.cmdp-head{border-bottom:1px solid var(--rule);align-items:center;gap:10px;padding:14px 16px;display:flex}.cmdp-head input{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:14px}.cmdp-head .icon{color:var(--ink-3);font-family:var(--serif);font-style:italic}.cmdp-list{max-height:400px;padding:6px;overflow-y:auto}.cmdp-section{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);padding:10px 12px 6px;font-size:10px}.cmdp-item{cursor:pointer;color:var(--ink-2);border-radius:6px;align-items:center;gap:12px;padding:9px 12px;display:flex}.cmdp-item:hover,.cmdp-item.sel{background:var(--bg-elev);color:var(--ink)}.cmdp-item .ico{width:18px;height:18px;color:var(--ink-3);place-items:center;display:grid}.cmdp-item .lbl{flex:1}.cmdp-item .hint{color:var(--ink-4);font-size:11px}.cmdp-empty{text-align:center;color:var(--ink-3);padding:32px 16px;font-size:12px}.footer{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:32px 0 48px;font-size:11px;display:flex}.footer .meta-line{flex-wrap:wrap;gap:16px;display:flex}.footer .meta-line span{color:var(--ink-4)}@media (max-width:900px){.hero-inner{grid-template-columns:1fr;gap:32px}.section-head{grid-template-columns:1fr;gap:8px;margin-bottom:32px}.case{grid-template-columns:40px 1fr 36px;gap:16px}.case-meta{display:none}.case-detail{grid-column:2/4}.skills{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr;gap:32px}.repos{grid-template-columns:1fr}.exp{grid-template-columns:1fr;gap:8px}.nav{display:none}}@media (min-width:901px) and (max-width:1100px){.topbar-inner{gap:16px}.nav{gap:0}.nav a{padding:6px 8px;font-size:11.5px}.nav-num{margin-right:4px}.kbd-btn .jump-label{display:none}}@media (max-width:600px){:root{--gutter:20px}.section{padding:64px 0}.topbar-inner{gap:12px;height:56px}.topbar-actions{gap:8px}.topbar-actions:before,.kbd-btn .kbd{display:none}.kbd-btn{padding:0 10px}.hero{padding:56px 0 64px}.hero h1{font-size:clamp(36px,9vw,56px)}.hero-sub{font-size:15px}.case-detail-content{grid-template-columns:1fr;gap:20px}.case-impact{font-size:14.5px}.case-body h3{font-size:26px}.skills{grid-template-columns:1fr}.skill-list li{font-size:12px}.contact-pitch{font-size:32px;line-height:1.1}.contact-row{grid-template-columns:80px 1fr auto;gap:12px;font-size:12px}.contact-row span:nth-child(2){overflow-wrap:anywhere;min-width:0}.section-title{font-size:32px}.terminal{height:380px;font-size:12px}.footer{flex-direction:column;align-items:flex-start}}@media (max-width:380px){.brand span:not(.brand-mark){display:none}.case{grid-template-columns:32px 1fr 28px;gap:12px}.filter-bar .filter-count{display:none}}
