@font-face{font-family:Fraunces;font-style:italic;font-weight:300;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.2xm1k7t3a0pcd.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:300;font-display:swap;src:url(../media/b887d91685b8c137-s.330vchwb4izzb.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:300;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.16u3vygyjnhr0.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:400;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.2xm1k7t3a0pcd.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.330vchwb4izzb.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.16u3vygyjnhr0.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.2xm1k7t3a0pcd.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.330vchwb4izzb.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.16u3vygyjnhr0.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.2xm1k7t3a0pcd.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.330vchwb4izzb.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.16u3vygyjnhr0.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.2xm1k7t3a0pcd.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.330vchwb4izzb.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.16u3vygyjnhr0.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:300;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.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:300;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.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:300;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.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.2qo5md4hn_gum.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.1d9rlgtqyj_-l.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.32sris142tqlb.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.2qo5md4hn_gum.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.1d9rlgtqyj_-l.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.32sris142tqlb.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.2qo5md4hn_gum.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.1d9rlgtqyj_-l.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.32sris142tqlb.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.2qo5md4hn_gum.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.1d9rlgtqyj_-l.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.32sris142tqlb.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_2a1b4fe7-module__6V4h5a__className{font-family:Fraunces,Fraunces Fallback}.fraunces_2a1b4fe7-module__6V4h5a__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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.1y4-pdgsjb-pw.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.3lvt2whj97whp.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.2uwcyprjm3xu3.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.0k62hbripvv8p.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.3-6t-g6q0vh0a.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.2bn3s6zvc0dyp.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.0-dom-5bn10r2.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.1y4-pdgsjb-pw.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.3lvt2whj97whp.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.2uwcyprjm3xu3.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.0k62hbripvv8p.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.3-6t-g6q0vh0a.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.2bn3s6zvc0dyp.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.0-dom-5bn10r2.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.1y4-pdgsjb-pw.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.3lvt2whj97whp.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.2uwcyprjm3xu3.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.0k62hbripvv8p.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.3-6t-g6q0vh0a.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.2bn3s6zvc0dyp.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_13f2fea5-module__aWHQQa__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_13f2fea5-module__aWHQQa__variable{--font-inter:"Inter", "Inter 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 Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_31501988-module__E8CJwG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_31501988-module__E8CJwG__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#0a0a0b;--surface:#131315;--surface-2:#191a1c;--ink:#f2f1ed;--muted:#8c8b89;--muted-2:#5e5d5b;--accent:#5ee6c8;--accent-dim:#1f4f47;--line:#262628;--line-soft:#1c1c1e;--ease:cubic-bezier(.16, .84, .32, 1);--container:1180px}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-inter), sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5;overflow-x:hidden}::selection{background:var(--accent);color:#0a0a0b}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.serif{font-family:var(--font-fraunces), serif}.mono{font-family:var(--font-jetbrains-mono), monospace}.wrap{max-width:var(--container);margin:0 auto;padding:0 32px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px}#glow{pointer-events:none;z-index:1;background:radial-gradient(circle,#5ee6c80f,#0000 70%);border-radius:50%;width:480px;height:480px;transition:opacity .4s;position:fixed;top:-9999px;left:-9999px;transform:translate(-50%,-50%)}#grain{z-index:2;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#cursor{background:var(--accent);pointer-events:none;z-index:200;width:8px;height:8px;transition:width .25s var(--ease), height .25s var(--ease), opacity .25s;mix-blend-mode:difference;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}#cursor.ring{border:1px solid var(--accent);background:0 0;width:36px;height:36px}@media (max-width:900px){#cursor,#cursor.ring{display:none}}nav a.active{color:var(--accent)}nav a.active:after{background:var(--accent);width:100%}#loader{background:var(--bg);z-index:999;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}#loader .symbol{font-family:var(--font-jetbrains-mono), monospace;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;font-size:14px}#loader .bar{background:var(--line);width:160px;height:1px;position:relative;overflow:hidden}#loader .bar span{background:var(--accent);width:0%;position:absolute;top:0;bottom:0;left:0}#loader .pct{font-family:var(--font-jetbrains-mono), monospace;color:var(--muted);letter-spacing:.1em;font-size:11px}header{z-index:100;mix-blend-mode:difference;justify-content:space-between;align-items:center;padding:22px 32px;display:flex;position:fixed;top:0;left:0;right:0}.logo{font-family:var(--font-fraunces), serif;letter-spacing:.01em;font-size:18px;font-weight:500}.logo span{color:var(--accent)}nav ul{gap:34px;list-style:none;display:flex}nav a{font-size:12.5px;font-family:var(--font-jetbrains-mono), monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);padding-bottom:4px;position:relative}nav a:after{content:"";background:var(--ink);width:0;height:1px;transition:width .35s var(--ease);position:absolute;bottom:0;left:0}nav a:hover:after{width:100%}@media (max-width:760px){nav ul{display:none}}.hero{flex-direction:column;justify-content:center;min-height:100vh;padding-top:120px;padding-bottom:60px;display:flex;position:relative}.hero-grid{grid-template-columns:1.5fr 1fr;align-items:center;gap:60px;display:grid}.eyebrow{font-family:var(--font-jetbrains-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;margin-bottom:26px;font-size:12px;display:flex}.eyebrow .dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2.2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #5ee6c873}70%{box-shadow:0 0 0 7px #5ee6c800}to{box-shadow:0 0 #5ee6c800}}.hero h1{font-family:var(--font-fraunces), serif;letter-spacing:-.01em;font-size:clamp(38px,6vw,76px);font-weight:340;line-height:.98}.hero h1 em{color:var(--accent);font-style:italic;font-weight:300}.hero .line{overflow:hidden}.hero .line span{display:inline-block;transform:translateY(110%)}.hero-sub{max-width:480px;color:var(--muted);margin-top:28px;font-size:16.5px;line-height:1.65}.hero-sub strong{color:var(--ink);font-weight:500}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:40px;display:flex}.btn{font-family:var(--font-jetbrains-mono), monospace;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:border-color .3s var(--ease), color .3s var(--ease);background:0 0;align-items:center;gap:10px;padding:14px 26px;font-size:12.5px;display:inline-flex;position:relative}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.primary:hover{background:var(--accent);border-color:var(--accent);color:#0a0a0b}.btn:not(.primary):hover{border-color:var(--ink)}.btn .arrow{transition:transform .3s var(--ease)}.btn:hover .arrow{transform:translate(4px)}.status-panel{border:1px solid var(--line);background:var(--surface);flex-direction:column;gap:18px;padding:24px;display:flex}.status-row{font-family:var(--font-jetbrains-mono), monospace;justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.status-row .k{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}.status-row .v{color:var(--ink)}.status-row .v.accent{color:var(--accent)}.status-divider{background:var(--line);height:1px}.status-bigname{font-family:var(--font-fraunces), serif;font-size:26px;font-weight:400}.scroll-cue{font-family:var(--font-jetbrains-mono), monospace;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;font-size:11px;display:flex;position:absolute;bottom:28px;left:32px}.scroll-cue .stick{background:var(--line);width:1px;height:34px;position:relative;overflow:hidden}.scroll-cue .stick span{background:var(--accent);width:100%;height:100%;animation:scrollline 1.8s var(--ease) infinite;position:absolute;top:-100%;left:0}@keyframes scrollline{0%{top:-100%}50%{top:0}to{top:100%}}section{border-top:1px solid var(--line-soft);padding:140px 0;position:relative}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:64px;display:flex}.sec-label{font-family:var(--font-jetbrains-mono), monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:14px;font-size:12px;display:block}.sec-title{font-family:var(--font-fraunces), serif;clip-path:inset(0 100% 0 0);max-width:640px;font-size:clamp(30px,4vw,48px);font-weight:340;line-height:1.08}.sec-note{font-family:var(--font-jetbrains-mono), monospace;color:var(--muted);text-align:right;max-width:280px;font-size:12px;line-height:1.6}@media (max-width:760px){.sec-note{text-align:left}}.reveal{opacity:0;transform:translateY(28px)}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:80px;display:grid}.about-text p{color:var(--muted);max-width:480px;margin-bottom:22px;font-size:18px;line-height:1.75}.about-text p strong{color:var(--ink);font-weight:500}.stat-grid{border:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.stat{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 26px}.stat:nth-child(2n){border-right:none}.stat:nth-child(3),.stat:nth-child(4){border-bottom:none}.stat .n{font-family:var(--font-fraunces), serif;color:var(--ink);font-size:42px;font-weight:340}.stat .n span{color:var(--accent)}.stat .l{font-family:var(--font-jetbrains-mono), monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-top:8px;font-size:11px}.skill-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.skill-tile{background:var(--surface);align-items:center;gap:16px;padding:28px 24px;transition:background .3s;display:flex}.skill-tile:hover{background:var(--surface-2)}.skill-tile img{opacity:.55;width:26px;height:26px;transition:opacity .35s var(--ease), transform .35s var(--ease);filter:brightness(0)invert()}.skill-tile:hover img{opacity:1;transform:scale(1.12)rotate(-4deg)}.skill-tile .txt{flex-direction:column;gap:6px;display:flex}.skill-tile .lbl{font-family:var(--font-jetbrains-mono), monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.skill-tile .name{font-family:var(--font-fraunces), serif;font-size:20px}@media (max-width:900px){.skill-grid{grid-template-columns:repeat(2,1fr)}}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:60px;padding:26px 0;position:relative;overflow:hidden}.marquee:before,.marquee:after{content:"";z-index:2;pointer-events:none;width:80px;position:absolute;top:0;bottom:0}.marquee:before{background:linear-gradient(90deg, var(--bg), transparent);left:0}.marquee:after{background:linear-gradient(-90deg, var(--bg), transparent);right:0}.marquee-track{gap:64px;width:max-content;animation:28s linear infinite scrollx;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-item{flex-shrink:0;align-items:center;gap:12px;display:flex}.marquee-item img{opacity:.5;filter:brightness(0)invert();width:22px;height:22px;transition:opacity .3s}.marquee-item:hover img{opacity:1}.marquee-item span{font-family:var(--font-jetbrains-mono), monospace;color:var(--muted);letter-spacing:.03em;font-size:13px;transition:color .3s}.marquee-item:hover span{color:var(--ink)}@keyframes scrollx{0%{transform:translate(0)}to{transform:translate(-50%)}}.pathway{padding-left:40px;position:relative}.pathway:before{content:"";background:var(--line);width:1px;position:absolute;top:8px;bottom:8px;left:0}.path-step{padding-bottom:64px;position:relative}.path-step:last-child{padding-bottom:0}.path-step:before{content:"";background:var(--bg);border:1px solid var(--muted-2);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;left:-40px}.path-step.active:before{background:var(--accent);border-color:var(--accent)}.path-meta{flex-wrap:wrap;align-items:baseline;gap:18px;margin-bottom:10px;display:flex}.path-meta .y{font-family:var(--font-jetbrains-mono), monospace;color:var(--accent);letter-spacing:.05em;font-size:12px}.path-step h3{font-family:var(--font-fraunces), serif;font-size:25px;font-weight:400}.path-step p{color:var(--muted);max-width:560px;margin-top:10px;font-size:15.5px;line-height:1.7}.path-tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.tag{font-family:var(--font-jetbrains-mono), monospace;border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:5px 10px;font-size:10.5px}.proj{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);transition:all .4s var(--ease);background:#13131533;border-radius:16px;grid-template-columns:1fr 1.3fr;gap:48px;margin-bottom:28px;padding:48px;display:grid}.proj:hover{background:#1313158c;border-color:#5ee6c840;box-shadow:0 20px 48px #00000059,0 0 30px #5ee6c805}.proj-num{font-family:var(--font-jetbrains-mono), monospace;color:var(--muted-2);letter-spacing:.03em;margin-bottom:18px;font-size:13px}.proj h3{font-family:var(--font-fraunces), serif;transition:color .4s var(--ease);margin-bottom:14px;font-size:32px;font-weight:380}.proj:hover h3{color:var(--accent)}.proj p{color:var(--muted);max-width:440px;margin-bottom:22px;font-size:15px;line-height:1.7}.proj-links{gap:16px;display:flex}.proj-links a{font-family:var(--font-jetbrains-mono), monospace;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--line);transition:all .3s var(--ease);background:#ffffff05;border-radius:6px;align-items:center;gap:6px;padding:8px 18px;font-size:11.5px;display:inline-flex}.proj-links a:hover{border-color:var(--accent);color:var(--accent);background:#5ee6c808;transform:translateY(-1px);box-shadow:0 0 12px #5ee6c81a}.proj-visual{border:1px solid var(--line);background:var(--surface-2);clip-path:inset(0 0 100%);min-height:240px;transition:transform .4s var(--ease), border-color .4s var(--ease);border-radius:12px;justify-content:center;align-items:center;padding:24px;display:flex;position:relative;overflow:hidden}.proj:hover .proj-visual{border-color:#5ee6c833}.stack-badges{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.badge{font-family:var(--font-jetbrains-mono), monospace;border:1px solid var(--line);color:var(--muted);align-items:center;gap:7px;padding:7px 12px;font-size:11px;transition:border-color .3s,color .3s;display:inline-flex}.badge img{opacity:.6;filter:brightness(0)invert();width:13px;height:13px;transition:opacity .3s}.proj:hover .badge img{opacity:1}.proj:hover .badge{border-color:var(--accent-dim);color:var(--ink)}@media (max-width:860px){.proj{grid-template-columns:1fr;padding:32px}}.contact-grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:70px;display:grid}.contact-grid h2{font-family:var(--font-fraunces), serif;margin-bottom:24px;font-size:clamp(34px,5vw,58px);font-weight:340;line-height:1.08}.contact-grid h2 em{color:var(--accent);font-style:italic;font-weight:300}.contact-grid>div:first-child p{color:var(--muted);max-width:420px;margin-bottom:30px;font-size:16px;line-height:1.7}.copy-email{font-family:var(--font-jetbrains-mono), monospace;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;border-left:none;border-right:none;align-items:center;gap:14px;width:100%;padding:14px 0;font-size:15px;display:inline-flex}.copy-email .ic{color:var(--accent);letter-spacing:.05em;text-transform:uppercase;margin-left:auto;font-size:11px}.social-row{gap:22px;margin-top:30px;display:flex}.social-row a{font-family:var(--font-jetbrains-mono), monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-bottom:4px;font-size:12px;position:relative}.social-row a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .3s var(--ease);position:absolute;bottom:0;left:0}.social-row a:hover{color:var(--ink)}.social-row a:hover:after{width:100%}.field{margin-bottom:22px}.field label{font-family:var(--font-jetbrains-mono), monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px;font-size:11px;display:block}.field input,.field textarea{border:none;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font-family:var(--font-inter), sans-serif;background:0 0;padding:10px 0;font-size:16px;transition:border-color .3s}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:none}.field textarea{resize:none;height:80px}.submit-row{align-items:center;gap:16px;margin-top:6px;display:flex}.send-success{font-family:var(--font-jetbrains-mono), monospace;color:var(--accent);opacity:0;font-size:12px;transition:opacity .4s}.send-success.show{opacity:1}footer{border-top:1px solid var(--line-soft);padding:50px 0 36px}.foot-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.foot-row .l{font-family:var(--font-jetbrains-mono), monospace;color:var(--muted-2);letter-spacing:.05em;font-size:11px}.back-top{font-family:var(--font-jetbrains-mono), monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;cursor:pointer;font-size:11px}.back-top:hover{color:var(--accent)}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.about-grid,.contact-grid{grid-template-columns:1fr;gap:50px}.sec-head{flex-direction:column;align-items:flex-start}.skill-grid{grid-template-columns:repeat(2,1fr)}}.reversed-email{direction:rtl;unicode-bidi:bidi-override}.project-tags{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.tag-badge{font-family:var(--font-jetbrains-mono), monospace;border:1px solid var(--line);color:var(--muted);background:var(--surface);text-transform:uppercase;letter-spacing:.03em;border-radius:100px;padding:5px 12px;font-size:10.5px;transition:border-color .3s,color .3s}.proj:hover .tag-badge{border-color:var(--accent-dim);color:var(--ink)}.mockup-browser{border:1px solid var(--line);background:var(--bg);width:100%;max-width:320px;transition:transform .4s var(--ease);border-radius:8px;overflow:hidden;box-shadow:0 12px 24px #00000040}.proj:hover .mockup-browser{border-color:var(--accent-dim);transform:translateY(-4px)scale(1.02)}.mockup-header{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:8px 12px;display:flex}.mockup-header .dot{border-radius:50%;width:6px;height:6px;display:inline-block}.dot-red{background:#ff5f56}.dot-yellow{background:#ffbd2e}.dot-green{background:#27c93f}.mockup-title{font-family:var(--font-jetbrains-mono), monospace;color:var(--muted);letter-spacing:.05em;margin-left:auto;font-size:9px}.mockup-body{background:var(--bg);flex-direction:column;justify-content:center;height:120px;padding:16px;display:flex;position:relative}.dashboard-mockup{gap:12px}.mockup-stat-row{justify-content:space-between;display:flex}.mockup-stat{flex-direction:column;display:flex}.mockup-stat .lbl{color:var(--muted);text-transform:uppercase;font-size:8px;font-family:var(--font-jetbrains-mono), monospace}.mockup-stat .val{color:var(--ink);font-size:14px;font-weight:600}.mockup-stat .trend-down{color:var(--accent);transition:all .4s var(--ease)}.proj:hover .trend-down{text-shadow:0 0 8px var(--accent);transform:translateY(1px)}.mockup-chart{align-items:flex-end;height:40px;display:flex}.chart-svg{width:100%;height:100%}.chart-svg path{stroke-dasharray:100;stroke-dashoffset:100px;transition:stroke-dashoffset 1.4s var(--ease)}.proj:hover .chart-svg path{stroke-dashoffset:0}.store-mockup{gap:12px}.store-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.store-logo{font-size:10px;font-weight:600;font-family:var(--font-fraunces), serif}.cart-badge{font-size:9px;font-family:var(--font-jetbrains-mono), monospace;background:var(--surface-2);border:1px solid var(--line);transition:all .4s var(--ease);border-radius:4px;padding:2px 6px}.proj:hover .cart-badge{background:var(--accent);color:#0a0a0b;border-color:var(--accent);transform:scale(1.05);box-shadow:0 0 10px #5ee6c84d}.store-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.book-card{border:1px solid var(--line);background:var(--surface);transition:all .4s var(--ease);border-radius:4px;flex-direction:column;gap:4px;padding:6px;display:flex}.proj:hover .book-card{border-color:#5ee6c840;transform:translateY(-2px);box-shadow:0 4px 10px #0003}.book-card .book-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:8px;font-weight:500;overflow:hidden}.book-card .book-btn{font-size:7px;font-family:var(--font-jetbrains-mono), monospace;background:var(--accent-dim);color:var(--ink);text-align:center;transition:all .3s var(--ease);border-radius:2px;padding:2px}.proj:hover .book-card .book-btn{background:var(--accent);color:#0a0a0b}.chat-mockup{justify-content:flex-start;gap:10px;overflow:hidden}.chat-msg{border-radius:6px;max-width:80%;padding:6px 10px;font-size:8px;line-height:1.3}.chat-msg.user{background:var(--surface);color:var(--ink);border-bottom-right-radius:1px;align-self:flex-end}.chat-msg.ai{background:var(--accent-dim);color:var(--ink);border-bottom-left-radius:1px;justify-content:center;align-self:flex-start;align-items:center;width:100px;height:44px;display:flex}.ai-nodes{width:80px;height:30px;position:relative}.node{background:var(--accent);width:6px;height:6px;transition:all .4s var(--ease);border-radius:50%;position:absolute}.proj:hover .node{box-shadow:0 0 10px var(--accent);transform:scale(1.3)}.node-root{top:12px;left:10px}.node-child1{top:4px;left:50px}.node-child2{top:20px;left:50px}.node-line{transform-origin:0;height:1px;transition:all .4s var(--ease);background:#5ee6c866;position:absolute}.proj:hover .node-line{background:var(--accent)}.node-line.l1{width:35px;top:15px;left:16px;transform:rotate(-11deg)}.node-line.l2{width:35px;top:15px;left:16px;transform:rotate(11deg)}#progress{background:var(--accent);z-index:150;width:0%;height:2px;transition:width .1s linear;position:fixed;top:0;left:0}.creds-grid{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);background:#13131533;border-radius:16px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.creds-col{border-right:1px solid var(--line);padding:40px 32px}.creds-col:last-child{border-right:none}.creds-col h4{font-family:var(--font-jetbrains-mono), monospace;text-transform:uppercase;color:var(--muted-2);letter-spacing:.08em;align-items:center;gap:12px;margin-bottom:24px;font-size:11.5px;display:flex}.creds-col h4:after{content:"";background:var(--line-soft);flex:1;height:1px}.creds-item{transition:all .3s var(--ease);background:#ffffff03;border:1px solid #ffffff05;border-radius:8px;align-items:flex-start;gap:16px;margin-bottom:12px;padding:14px 18px;display:flex;position:relative}.creds-item:last-child{margin-bottom:0}.creds-item:before{content:"";background:var(--accent);opacity:0;width:2px;height:70%;transition:opacity .3s var(--ease);position:absolute;top:15%;left:0}.creds-item:hover{background:#ffffff08;border-color:#5ee6c826;transform:translate(6px);box-shadow:0 4px 12px #00000026}.creds-item:hover:before{opacity:1}.creds-icon-wrapper{width:36px;height:36px;color:var(--accent);transition:all .3s var(--ease);background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.creds-item:hover .creds-icon-wrapper{color:var(--accent);background:#5ee6c81a;border-color:#5ee6c840;transform:scale(1.05)rotate(-4deg);box-shadow:0 0 10px #5ee6c826}.creds-icon-wrapper img.brand-icon{object-fit:contain;width:auto;max-width:20px;height:auto;max-height:20px;transition:filter .3s var(--ease)}.creds-info{flex:1}.creds-item .ct{font-family:var(--font-fraunces), serif;transition:color .3s var(--ease);font-size:17px;line-height:1.3}.creds-item:hover .ct{color:var(--accent)}.creds-item .cs{font-family:var(--font-jetbrains-mono), monospace;color:var(--muted);margin-top:6px;font-size:11px;display:block}.cyber-animation-wrapper{justify-content:center;align-items:center;height:200px;margin-bottom:24px;display:flex;position:relative;overflow:hidden}.cyber-animation{filter:drop-shadow(0 0 15px #5ee6c826);width:180px;height:180px;position:relative}.cyber-svg{width:100%;height:100%}.ring{stroke:var(--accent);stroke-width:1px;fill:none;opacity:.15;transform-origin:50%}.ring-1{animation:4s linear infinite pulseRing}.ring-2{animation:3s linear infinite pulseRing}.ring-3{animation:2s linear infinite pulseRing}@keyframes pulseRing{0%{opacity:.35;transform:scale(.85)}50%{opacity:.15}to{opacity:0;transform:scale(1.15)}}.core-rotation{transform-origin:50%;animation:15s linear infinite rotateCore}@keyframes rotateCore{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.poly{fill:#5ee6c803;stroke-width:1px;transform-origin:50%}.poly-1{stroke:var(--accent);stroke-dasharray:4 4;animation:10s linear infinite spinCW}.poly-2{stroke:#7000ff;stroke-width:.8px;animation:12s linear infinite spinCCW}@keyframes spinCW{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinCCW{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.core-line{stroke:#ffffff14;stroke-width:.6px}.core-node{fill:var(--accent);filter:drop-shadow(0 0 8px var(--accent));animation:2s ease-in-out infinite breath}@keyframes breath{0%,to{r:6px;filter:drop-shadow(0 0 6px var(--accent))}50%{r:9px;filter:drop-shadow(0 0 12px var(--accent))}}.scan-line{stroke:var(--accent);stroke-width:.8px;opacity:.35;transform-origin:50%;animation:3.5s ease-in-out infinite sweep}@keyframes sweep{0%,to{opacity:.05;transform:translateY(-55px)}50%{opacity:.4;transform:translateY(55px)}}@media (max-width:900px){.creds-grid{grid-template-columns:1fr}.creds-col{border-right:none;border-bottom:1px solid var(--line)}.creds-col:last-child{border-bottom:none}}.resume-link{font-family:var(--font-jetbrains-mono), monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;margin-top:22px;padding-bottom:4px;font-size:12px;transition:color .3s,border-color .3s;display:inline-flex}.resume-link:hover{color:var(--accent);border-color:var(--accent)}.resume-link svg{width:13px;height:13px;transition:transform .3s var(--ease)}.resume-link:hover svg{transform:translateY(2px)}.proj-visual:after{content:"";opacity:0;transition:opacity .5s var(--ease);background:radial-gradient(circle,#5ee6c814,#0000 70%);position:absolute;inset:0}.proj:hover .proj-visual:after{opacity:1}.filter-bar{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:40px;display:flex}.filter-btn{border:1px solid var(--line);color:var(--muted);font-family:var(--font-jetbrains-mono), monospace;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .3s var(--ease);background:#ffffff05;border-radius:100px;padding:8px 18px;font-size:11.5px}.filter-btn.active{background:var(--accent);color:#0a0a0b;border-color:var(--accent);box-shadow:0 0 15px #5ee6c840}.filter-btn:hover:not(.active){color:var(--ink);border-color:var(--muted-2);background:#ffffff0d}.skill-tile{cursor:pointer;position:relative;border-radius:10px!important}.skill-tile .icon-container{flex-shrink:0;width:26px;height:26px;position:relative}.skill-tile .icon-white{opacity:.55;transition:opacity .3s;position:absolute;inset:0}.skill-tile .icon-color{opacity:0;transition:opacity .35s var(--ease), transform .35s var(--ease);position:absolute;inset:0}.skill-tile:hover,.skill-tile.touch-active{border-color:var(--hover-color)!important;box-shadow:0 12px 30px -10px var(--hover-color)!important;color:var(--hover-color)!important}.skill-tile:hover .icon-white,.skill-tile.touch-active .icon-white{opacity:0!important}.skill-tile:hover .icon-color,.skill-tile.touch-active .icon-color{transform:scale(1.15)rotate(-4deg);opacity:1!important}.skill-tile.no-match{filter:blur(1.5px)grayscale(.7)}.timeline-progress-bar{background:linear-gradient(to bottom, var(--accent), #7000ff);transform-origin:top;z-index:1;width:2px;box-shadow:0 0 8px var(--accent);position:absolute;top:8px;bottom:8px;left:0;transform:scaleY(0)}.path-step:before{transition:all .4s var(--ease)}.path-step.illuminated:before{box-shadow:0 0 12px var(--accent);transform:scale(1.25);background:var(--accent)!important;border-color:var(--accent)!important}.path-step h3{transition:color .4s var(--ease)}.path-step.illuminated h3{color:var(--accent)}.glass-card{-webkit-backdrop-filter:blur(16px)!important;transition:border-color .4s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease), transform .4s var(--ease)!important;background:#13131573!important;border:1px solid #ffffff0d!important;box-shadow:0 16px 36px #00000040!important}.glass-card:hover{background:#1313158c!important;border-color:#5ee6c838!important;box-shadow:0 20px 48px #00000059,0 0 30px #5ee6c805!important}.skill-tile{border-radius:12px;overflow:hidden}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important;animation-delay:0s!important}#glow,#cursor{display:none!important}.timeline-progress-bar{background:var(--accent)!important;box-shadow:none!important;transform:scaleY(1)!important}.skill-tile.no-match{filter:none!important;opacity:.5!important}}
