@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_adfe035c-module__UZ6-Oa__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_adfe035c-module__UZ6-Oa__variable{--font-body:"Inter", "Inter Fallback"}
@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.14adbkwhbql9r.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:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(../media/b887d91685b8c137-s.3vw1idf69ly-m.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:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.1kjlm4q41a8i_.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:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.14adbkwhbql9r.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:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/b887d91685b8c137-s.3vw1idf69ly-m.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:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.1kjlm4q41a8i_.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:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.14adbkwhbql9r.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:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(../media/b887d91685b8c137-s.3vw1idf69ly-m.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:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.1kjlm4q41a8i_.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:Fraunces;font-style:italic;font-weight:700;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.14adbkwhbql9r.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:Fraunces;font-style:italic;font-weight:700;font-display:swap;src:url(../media/b887d91685b8c137-s.3vw1idf69ly-m.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:Fraunces;font-style:italic;font-weight:700;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.1kjlm4q41a8i_.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:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.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:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.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:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.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:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.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:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.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:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_ef7e6d57-module__ifloPa__className{font-family:Fraunces,Fraunces Fallback}.fraunces_ef7e6d57-module__ifloPa__variable{--font-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.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 Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.1dgcou5jor5q_.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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.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 Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.28xcb7557rbh2.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 Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_d0393027-module__Cz1kRa__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_d0393027-module__Cz1kRa__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--ink:#0a1420;--ink2:#0f1d2e;--panel:#101f35;--paper:#e9ecf2;--slate:#8b96a8;--brass:#c9a227;--brasslight:#e4c34f;--teal:#2dd4bf;--rule:#22324a;--red:#e4626f;--on-brass:#0a1420;--http-get:#7aa2f7;--http-ok:#9ece6a;--code-key:#7aa2f7;--code-str:#9ece6a;--code-num:#ff9e64;--code-punct:#c3cbe0;--code-muted:#8b96b8;--rule-a:#22324ab3;--card:#101f3599;--grid:#e9ecf20a;--shadow:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--ink:#fff;--ink2:#f4f6f9;--panel:#fff;--paper:#0f1a2b;--slate:#5a6577;--brass:#c79a12;--brasslight:#9a7300;--teal:#0a8f80;--rule:#e1e6ee;--red:#d64553;--rule-a:#e6eaf0;--card:#fff;--grid:#0f1a2b0b;--shadow:#0f1a2b29;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{background:var(--ink);color:var(--paper);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--brass);color:var(--on-brass)}.wrap{max-width:1024px;margin:0 auto;padding:0 24px}a{color:inherit;text-decoration:none}.nav{z-index:50;border-bottom:1px solid var(--rule-a);background:var(--ink);-webkit-backdrop-filter:blur(10px);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.brand{font-family:var(--font-mono);color:var(--slate);align-items:center;gap:10px;font-size:13px;display:flex}.brand-name{color:var(--paper)}.brand-sub{display:none}.dots{gap:6px;display:flex}.dot{border-radius:50%;width:10px;height:10px}.dot-red{background:#e4626fb3}.dot-brass{background:#c9a227b3}.dot-teal{background:#2dd4bfb3}.nav-links{font-family:var(--font-mono);align-items:center;gap:24px;font-size:13px;display:flex}.nav-links>a:not(.resume-btn){color:var(--slate);transition:color .2s;display:none}@media (hover:hover){.nav-links>a:not(.resume-btn):hover{color:var(--brasslight)}}.resume-btn{color:var(--brasslight);background:#c9a2271a;border:1px solid #c9a22766;border-radius:3px;padding:6px 12px;transition:background .2s}@media (hover:hover){.resume-btn:hover{background:#c9a22733}}@media (min-width:640px){.brand-sub,.nav-links>a:not(.resume-btn){display:inline}}.hero{border-bottom:1px solid var(--rule-a);padding:32px 0 56px;position:relative;overflow:hidden}@media (min-width:1024px){.hero{padding:40px 0 64px}}.grid-fade{pointer-events:none;background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,#0000 100%);mask-image:radial-gradient(80% 60% at 50% 0,#000 40%,#0000 100%)}.hero-inner{grid-template-columns:minmax(0,1fr);align-items:start;gap:56px;display:grid;position:relative}.hero-left{min-width:0}@media (min-width:1024px){.hero-stats,.hero-chips,.cta-row{width:100%;max-width:464px}.hero-chips{justify-content:space-between}.hero-inner{align-items:stretch}.hero-left{flex-direction:column;justify-content:space-between;display:flex}.hero-right{display:flex}.console{flex-direction:column;flex:1;display:flex}.console-code{flex:1}}@media (max-width:639px){.hero-inner{gap:32px}}@media (min-width:1024px){.hero-inner{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}.eyebrow{font-family:var(--font-mono);color:var(--teal);margin:0;font-size:13px}.muted{color:var(--slate)}.teal{color:var(--teal)}.brasslight{color:var(--brasslight)}.name{font-family:var(--font-display);color:var(--paper);margin:18px 0 0;font-size:42px;font-weight:600;line-height:1.05}.summary{max-width:520px;color:var(--slate);margin:22px 0 0;font-size:15px;line-height:1.7}.cta-row{flex-direction:column;align-items:stretch;gap:12px;width:fit-content;max-width:100%;margin-top:30px;display:flex}.cta-row .btn-primary,.pp-actions .btn-primary{background:color-mix(in srgb, var(--brass) 12%, transparent);border:1px solid color-mix(in srgb, var(--brass) 45%, transparent);color:var(--brasslight);font-family:var(--font-mono);border-radius:3px;padding:10px 20px;font-size:13px;font-weight:500;transition:background .2s,border-color .2s,color .2s}@media (hover:hover){.btn-primary:hover{background:color-mix(in srgb, var(--brass) 22%, transparent);border-color:var(--brass)}}.cta-row .btn-primary{text-align:center}.cta-links{flex-wrap:nowrap;gap:12px;display:flex}.cta-links .btn-outline{white-space:nowrap;flex:1 1 0;justify-content:center;min-width:0}.hero-left{container-type:inline-size}@container (max-width:440px){.lk-handle{display:none}}.btn-outline{border:1px solid var(--rule);color:var(--paper);font-family:var(--font-mono);isolation:isolate;border-radius:3px;padding:10px 20px;font-size:13px;transition:opacity .2s;position:relative}.btn-outline:before{content:"";border-radius:inherit;opacity:0;pointer-events:none;border:1px solid #2dd4bf99;transition:opacity .2s;position:absolute;inset:-1px}@media (hover:hover){.btn-outline:hover{color:var(--teal)}.btn-outline:hover:before{opacity:1}}.hero-right{width:100%;min-width:0}.console{box-sizing:border-box;border:1px solid var(--rule);background:var(--panel);width:100%;max-width:100%;box-shadow:0 30px 80px -20px var(--shadow);border-radius:6px;overflow:hidden}.console-bar{border-bottom:1px solid var(--rule);background:var(--ink2);align-items:center;gap:8px;padding:10px 16px;display:flex}.console-label{font-family:var(--font-mono);color:var(--slate);margin-left:8px;font-size:11px}.console-photo-row{align-items:center;gap:16px;padding:20px 20px 0;display:flex}.photo{object-fit:cover;border:2px solid #c9a22780;border-radius:50%;width:64px;height:64px}.console-meta{font-family:var(--font-mono);color:var(--slate);font-size:12px}.console-meta .loc{color:var(--paper)}.loc-from{color:var(--code-muted)}.loc-arrow{color:var(--code-num)}.loc-to{color:var(--paper)}.console-code{font-family:var(--font-mono);color:var(--code-punct);white-space:pre;max-width:100%;margin:0;padding:20px;font-size:12.5px;line-height:1.7;overflow-x:auto}.console{container-type:inline-size}.console-code{font-size:clamp(10.5px,3.5461cqw - 1.48936px,15px)}.brk-val:before{content:" "}.brk-in:before,.brk-out:before{content:""}@media (max-width:399px){.console-photo-row{padding:16px 16px 0}.console-code{padding:12px;font-size:clamp(10.5px,4.23729cqw - 1.1017px,15px)}.brk-val:before,.brk-in:before{content:"\a " "    "}.brk-out:before{content:"\a " "  "}}.console-code .key{color:var(--code-key)}.console-code .val{color:var(--code-str)}.console-code .num{color:var(--code-num)}.cursor{background:var(--teal);width:7px;height:14px;animation:1s step-end infinite blink;display:inline-block;transform:translateY(2px)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.section{border-bottom:1px solid var(--rule-a);padding:80px 0}.h2{font-family:var(--font-display);color:var(--paper);margin:8px 0 0;font-size:30px;font-weight:600}@media (min-width:640px){.h2{font-size:34px}}.about-copy{max-width:640px;color:var(--slate);flex-direction:column;gap:20px;margin-top:32px;font-size:15.5px;line-height:1.75;display:flex}.about-copy .hl{color:var(--paper)}.hl-link{color:var(--paper);border-bottom:1px solid #c9a22766;transition:color .2s,border-color .2s}@media (hover:hover){.hl-link:hover{color:var(--brasslight);border-color:var(--brasslight)}}.project-grid{grid-template-columns:1fr;gap:24px;margin-top:48px;display:grid}@media (min-width:640px){.project-grid{grid-template-columns:1fr 1fr}}.project-card{border:1px solid var(--rule);background:var(--card);cursor:pointer;border-radius:6px;flex-direction:column;padding:24px;transition:border-color .2s;display:flex;position:relative}@media (hover:hover){.project-card:hover{border-color:#c9a22766}}.project-name{font-family:var(--font-display);color:var(--paper);margin:0;font-size:20px;font-weight:600}.project-name-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.project-link{font-family:var(--font-mono);color:var(--teal);white-space:nowrap;font-size:11.5px;transition:color .2s}@media (hover:hover){.project-link:hover{color:var(--brasslight)}}.project-tagline{font-family:var(--font-display);color:var(--brasslight);margin:4px 0 0;font-style:italic}.project-desc{color:var(--slate);flex:1;margin:16px 0 0;font-size:14.5px;line-height:1.6}.project-role{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--teal);margin:20px 0 0;font-size:11px}.timeline{border-top:1px solid var(--rule-a);border-bottom:1px solid var(--rule-a);margin-top:48px}.timeline-row{border-bottom:1px solid var(--rule-a);flex-direction:column;gap:12px;padding:28px 0;display:flex}.timeline-row:last-child{border-bottom:none}@media (min-width:640px){.timeline-row{flex-direction:row;gap:32px}.timeline-when{flex-shrink:0;width:176px}}.timeline-period{font-family:var(--font-mono);color:var(--brasslight);margin:0;font-size:12px}.timeline-loc{font-family:var(--font-mono);color:var(--slate);margin:4px 0 0;font-size:11px}.timeline-body{flex:1}.timeline-title{font-family:var(--font-display);color:var(--paper);margin:0;font-size:19px;font-weight:600}@media (min-width:640px){.timeline-title{font-size:21px}}.timeline-company{color:var(--teal);margin:4px 0 0;font-size:14.5px}.timeline-summary{max-width:560px;color:var(--slate);margin:12px 0 0;font-size:14.5px;line-height:1.6}.tag-row{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.tag{border:1px solid var(--rule);font-family:var(--font-mono);color:var(--slate);background:var(--card);border-radius:3px;padding:4px 10px;font-size:11px;transition:border-color .2s,color .2s}@media (hover:hover){.tag:hover{color:var(--paper);border-color:#2dd4bf66}}.skill-grid{grid-template-columns:1fr;gap:36px 32px;margin-top:48px;display:grid}@media (min-width:640px){.skill-grid{grid-template-columns:1fr 1fr}}.skill-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--brasslight);margin:0 0 12px;font-size:11px}.edu-list{border-top:1px solid var(--rule-a);border-bottom:1px solid var(--rule-a);margin-top:48px}.edu-row{border-bottom:1px solid var(--rule-a);flex-direction:column;gap:4px;padding:20px 0;display:flex}.edu-row:last-child{border-bottom:none}@media (min-width:640px){.edu-row{flex-direction:row;justify-content:space-between;align-items:baseline;gap:24px}}.edu-degree{font-family:var(--font-display);color:var(--paper);margin:0;font-size:18px}.edu-school{color:var(--slate);margin:4px 0 0;font-size:14px}.dim{color:#8b96a8d9}.edu-period{white-space:nowrap;font-family:var(--font-mono);color:var(--brasslight);margin:0;font-size:12px}.contact-copy{max-width:520px;color:var(--slate);margin:20px 0 0;font-size:15px;line-height:1.7}.contact-grid{grid-template-columns:1fr;gap:16px;margin-top:40px;display:grid}@media (min-width:640px){.contact-grid{grid-template-columns:repeat(3,1fr)}}.contact-grid-single{max-width:320px}.contact-grid-duo{max-width:660px}@media (min-width:640px){.contact-grid-single{grid-template-columns:1fr}.contact-grid-duo{grid-template-columns:1fr 1fr}}.contact-card{border:1px solid var(--rule);background:var(--card);border-radius:6px;padding:20px;transition:border-color .2s;display:block}@media (hover:hover){.contact-card:hover{border-color:#c9a22780}.contact-card:hover .contact-value{color:var(--brasslight)}}.contact-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--slate);margin:0;font-size:11px}.contact-value{color:var(--paper);text-overflow:ellipsis;white-space:nowrap;margin:8px 0 0;font-size:14.5px;transition:color .2s;overflow:hidden}.status-line{font-family:var(--font-mono);color:var(--slate);align-items:center;gap:10px;margin-top:40px;font-size:12px;display:flex}.status-dot{background:var(--teal);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #2dd4bf26}.footer{border-top:1px solid var(--rule-a);padding:32px 0}.footer-inner{font-family:var(--font-mono);color:var(--slate);text-align:center;flex-direction:column;align-items:center;gap:12px;font-size:12px;display:flex}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important}}.name-typed{display:inline-block;position:relative}.name-text{clip-path:inset(0 100% 0 0);animation:1s steps(10,end) .3s forwards name-type;display:inline-block}@keyframes name-type{to{clip-path:inset(0)}}.name-caret{background:var(--brasslight);width:3px;height:.85em;animation:1s steps(10,end) .3s forwards name-caret-move,.9s step-end 1.3s infinite tw-blink,10ms step-end 1.6s forwards tw-gone;position:absolute;top:.08em;left:0}@keyframes name-caret-move{to{left:100%}}@keyframes tw-blink{50%{opacity:0}}@keyframes tw-gone{to{opacity:0;width:0}}.name-role{color:var(--brasslight);margin-top:10px;font-size:21px;font-style:italic;font-weight:400;line-height:1.3;display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.name-text{clip-path:none;animation:none}.name-caret{display:none}}.theme-toggle{border:1px solid var(--rule);width:34px;height:34px;color:var(--slate);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:inline-flex}@media (hover:hover){.theme-toggle:hover{color:var(--paper);border-color:var(--brass)}}.theme-toggle svg{width:18px;height:18px}.theme-toggle .i-sun{display:block}.theme-toggle .i-moon,:root[data-theme=light] .theme-toggle .i-sun{display:none}:root[data-theme=light] .theme-toggle .i-moon{display:block}.reveal.reveal{opacity:0;transition:opacity .3s ease-in,transform .3s ease-in,translate .25s,box-shadow .25s,border-color .2s;transform:translateY(18px)}.reveal.reveal.reveal-in{opacity:1;transition:opacity .45s ease-out var(--reveal-delay,0s), transform .45s ease-out var(--reveal-delay,0s), translate .25s ease, box-shadow .25s ease, border-color .2s;transform:none}.project-card,.contact-card{transition:border-color .2s,translate .25s,box-shadow .25s}@media (hover:hover){.project-card:hover,.contact-card:hover{box-shadow:0 14px 30px -14px var(--shadow);translate:0 -4px}}.tag{transition:border-color .2s,color .2s,translate .2s}@media (hover:hover){.tag:hover{translate:0 -2px}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.project-card:hover,.contact-card:hover,.tag:hover{translate:none}}.hero-left>*,.hero-right,#about .eyebrow,#about .h2,#about .about-copy>p{animation:load-in .7s ease-out var(--load-delay,0s) backwards}.hero-left>.summary,.hero-right{animation-name:load-slide}.hero-left>:first-child{--load-delay:0s}.hero-left>:nth-child(2){--load-delay:90ms}.hero-left>:nth-child(3){--load-delay:.18s}.hero-left>:nth-child(4){--load-delay:.27s}.hero-left>:nth-child(5){--load-delay:.36s}.hero-left>:nth-child(6){--load-delay:.45s}.hero-left>:nth-child(7){--load-delay:.54s}.hero-right{--load-delay:.2s}#about .eyebrow{--load-delay:.45s}#about .h2{--load-delay:.52s}#about .about-copy>p:first-child{--load-delay:.6s}#about .about-copy>p:nth-child(2){--load-delay:.68s}#about .about-copy>p:nth-child(3){--load-delay:.76s}@keyframes load-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes load-slide{0%{transform:translateY(22px)}to{transform:none}}@media (prefers-reduced-motion:reduce){.hero-left>*,.hero-right,#about .eyebrow,#about .h2,#about .about-copy>p{animation:none}}.btn-outline{align-items:center;gap:10px;display:inline-flex}.link-icon{flex-shrink:0;width:16px;height:16px}.contact-label{align-items:center;gap:8px;display:flex}.contact-label .link-icon{width:14px;height:14px}.http-line{border:1px solid var(--rule);background:var(--card);white-space:nowrap;border-radius:.65em;flex-wrap:nowrap;align-items:center;gap:.75em;width:fit-content;max-width:100%;padding:.45em .8em .45em .45em;font-size:min(13px,3.92157cqw);line-height:1;display:flex}.http-method,.http-status{letter-spacing:.04em;border-radius:.4em;align-items:center;gap:.55em;padding:.42em .72em;font-size:.92em;font-weight:600;display:inline-flex}.http-method{color:var(--http-get);background:color-mix(in srgb, var(--http-get) 15%, transparent)}.http-path{color:var(--paper)}.http-status{color:var(--http-ok);background:color-mix(in srgb, var(--http-ok) 14%, transparent)}.http-status-dot{width:.5em;height:.5em;box-shadow:0 0 0 .25em color-mix(in srgb, var(--http-ok) 22%, transparent);background:currentColor;border-radius:50%}.hero-stats{border-top:1px solid var(--rule-a);grid-template-columns:1.3fr 1fr 1fr;gap:0;margin:26px 0 0;padding:18px 0 0;list-style:none;display:grid}.hero-stats li{flex-direction:column;gap:6px;min-width:0;padding:0 16px;display:flex}.hero-stats li:first-child{padding-left:0}.hero-stats li+li{border-left:1px solid var(--rule-a)}.hero-stat-num{font-family:var(--font-display);color:var(--paper);font-size:30px;font-weight:600;line-height:1}.hero-stat-label{font-family:var(--font-mono);letter-spacing:.04em;color:var(--slate);white-space:nowrap;font-size:11px}.hero-chips{margin-top:20px}@media (max-width:639px){.hero-stats{margin-top:22px;padding-top:16px}.hero-stats li{padding:0 10px}.hero-stats li:first-child{padding-left:0}.hero-stat-num{font-size:26px}.hero-stat-label{font-size:10.5px;line-height:1.35}.hero-chips{flex-wrap:wrap;justify-content:space-between;gap:8px 6px;height:26px;margin-top:18px;overflow:hidden}.http-line{justify-content:space-between;width:100%}.hero-chips .tag{white-space:nowrap;padding:4px 9px;font-size:11px;line-height:16px}}.project-name-link{color:inherit}@media (hover:hover){.project-name-link:hover{color:var(--brasslight);text-underline-offset:4px;text-decoration:underline}}.pp{min-height:60vh;padding:56px 0 72px}.pp-title{font-family:var(--font-display);color:var(--paper);margin:18px 0 0;font-size:clamp(30px,6vw,44px);font-weight:600;line-height:1.1}.pp-tagline{font-family:var(--font-display);color:var(--brasslight);margin:12px 0 0;font-size:20px;font-style:italic}.pp .project-role{margin-top:14px}.pp-desc{max-width:680px;color:var(--slate);margin:22px 0 0;font-size:16px;line-height:1.75}.pp-h2{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin:36px 0 0;font-size:12px;font-weight:500}.pp-list{gap:10px;max-width:680px;margin:14px 0 0;padding:0;list-style:none;display:grid}.pp-list li{color:var(--paper);padding-left:22px;font-size:15px;line-height:1.6;position:relative}.pp-list li:before{content:"▸";color:var(--brass);position:absolute;left:0}.pp-tags{margin-top:14px}.pp-actions{flex-wrap:wrap;gap:12px;margin-top:44px;display:flex}.pp-actions .btn-outline,.pp-actions .btn-primary{align-items:center;display:inline-flex}.project-name-link:after{content:"";z-index:1;border-radius:6px;position:absolute;inset:0}.project-name-link:focus-visible{outline:none}.project-name-link:focus-visible:after{outline:2px solid var(--brass);outline-offset:2px}.project-link{z-index:2;position:relative}.section:not(.pp) .eyebrow{font-size:12px}.section:not(.pp) .eyebrow .teal{color:var(--slate);opacity:.85}.pp-partners{flex-wrap:wrap;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.pp-partners a{border:1px solid var(--rule);background:var(--card);font-family:var(--font-mono);color:var(--paper);border-radius:4px;padding:6px 12px;font-size:13px;transition:border-color .2s,color .2s;display:inline-block}@media (hover:hover){.pp-partners a:hover{color:var(--teal);border-color:#2dd4bf99}}.pp-partner-plain{border:1px solid var(--rule);font-family:var(--font-mono);color:var(--slate);border-radius:4px;padding:6px 12px;font-size:13px;display:inline-block}.summary,.about-copy p,.project-desc,.timeline-summary,.contact-copy,.pp-desc{text-align:justify;text-justify:inter-word;-webkit-hyphens:none;hyphens:none;overflow-wrap:break-word;text-wrap:pretty}.about-copy{gap:18px}.about-copy p{margin:0}.nb{white-space:nowrap}.name-typed.tw-reset .name-text{clip-path:inset(0 100% 0 0);animation:none}.name-typed.tw-reset .name-caret{opacity:0;animation:none}@media (max-width:767px){.hero-stats,.hero-chips,.cta-row .btn-primary{display:none}.cta-row{width:100%;margin-top:26px}}.about-copy{max-width:none}.to-top{right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;border:1px solid color-mix(in srgb, var(--paper) 22%, transparent);background:color-mix(in srgb, var(--ink) 25%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);width:44px;height:44px;color:var(--paper);cursor:pointer;opacity:0;visibility:hidden;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:opacity .25s,transform .25s,visibility .25s,border-color .2s,color .2s;display:inline-flex;position:fixed;transform:translateY(10px)}.to-top-show{opacity:.55;visibility:visible;transform:none}@media (hover:hover){.to-top-show:hover{opacity:1;background:color-mix(in srgb, var(--ink) 70%, transparent)}}.to-top-show:focus-visible{opacity:1;background:color-mix(in srgb, var(--ink) 70%, transparent)}@media (hover:hover){.to-top:hover{border-color:var(--brass);color:var(--brasslight)}}.to-top:focus-visible{outline:2px solid var(--brass);outline-offset:3px}@media (max-width:639px){.to-top{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.to-top{transition:none}}@media print{.to-top{display:none}}
