@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8298327da6d5bcce-s.132ro2ak-rvxq.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:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0f~sf101j6mzi.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2b402d8aebffd579-s.0dskwooysu3cf.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:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a88409fdd7dc121c-s.0ir_pxtv760h..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:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.0fzkl03jw-sdz.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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8298327da6d5bcce-s.132ro2ak-rvxq.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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0f~sf101j6mzi.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2b402d8aebffd579-s.0dskwooysu3cf.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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a88409fdd7dc121c-s.0ir_pxtv760h..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:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.0fzkl03jw-sdz.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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8298327da6d5bcce-s.132ro2ak-rvxq.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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0f~sf101j6mzi.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2b402d8aebffd579-s.0dskwooysu3cf.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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a88409fdd7dc121c-s.0ir_pxtv760h..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:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.0fzkl03jw-sdz.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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8298327da6d5bcce-s.132ro2ak-rvxq.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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0f~sf101j6mzi.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2b402d8aebffd579-s.0dskwooysu3cf.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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a88409fdd7dc121c-s.0ir_pxtv760h..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:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.0fzkl03jw-sdz.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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/8298327da6d5bcce-s.132ro2ak-rvxq.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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0f~sf101j6mzi.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/2b402d8aebffd579-s.0dskwooysu3cf.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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/a88409fdd7dc121c-s.0ir_pxtv760h..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:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.0fzkl03jw-sdz.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:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(../media/8298327da6d5bcce-s.132ro2ak-rvxq.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:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0f~sf101j6mzi.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(../media/2b402d8aebffd579-s.0dskwooysu3cf.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:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(../media/a88409fdd7dc121c-s.0ir_pxtv760h..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:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.0fzkl03jw-sdz.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:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}.montserrat_3c811959-module__0maH3q__className{font-family:Montserrat,Montserrat Fallback;font-style:normal}.montserrat_3c811959-module__0maH3q__variable{--font-sans:"Montserrat", "Montserrat Fallback"}
@font-face{font-family:Karla;font-style:normal;font-weight:400;font-display:swap;src:url(../media/94ef70390c90d702-s.0dc7cz6n-9-i-.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:Karla;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f287e533ed04f2e6-s.p.0t20vcyusyjhl.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:Karla;font-style:normal;font-weight:500;font-display:swap;src:url(../media/94ef70390c90d702-s.0dc7cz6n-9-i-.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:Karla;font-style:normal;font-weight:500;font-display:swap;src:url(../media/f287e533ed04f2e6-s.p.0t20vcyusyjhl.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:Karla;font-style:normal;font-weight:600;font-display:swap;src:url(../media/94ef70390c90d702-s.0dc7cz6n-9-i-.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:Karla;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f287e533ed04f2e6-s.p.0t20vcyusyjhl.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:Karla;font-style:normal;font-weight:700;font-display:swap;src:url(../media/94ef70390c90d702-s.0dc7cz6n-9-i-.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:Karla;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f287e533ed04f2e6-s.p.0t20vcyusyjhl.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:Karla Fallback;src:local(Arial);ascent-override:89.55%;descent-override:24.61%;line-gap-override:0.0%;size-adjust:102.4%}.karla_217f819f-module__rM2E6q__className{font-family:Karla,Karla Fallback;font-style:normal}.karla_217f819f-module__rM2E6q__variable{--font-body:"Karla", "Karla 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_ab19dc28-module__5mpQDW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_ab19dc28-module__5mpQDW__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root,[data-theme=light]{--font-sans:"Montserrat", sans-serif;--font-body:"Karla", sans-serif;--font-mono:"JetBrains Mono", monospace;--bg:#f8f8f8;--text-primary:#2d2d2d;--text-secondary:#5e5e5e;--text-muted:#8e8e8e;--accent:#4961dc;--accent-hover:#354ab3;--accent-light:#ebf0ff;--accent-web:#0891b2;--accent-ai:#7c3aed;--accent-sec:#059669;--card-bg:#fff;--card-border:#0000000f;--card-shadow:0 10px 30px #0000000a;--border:#00000014;--nav-bg:#f8f8f8f7;--dot-grid:radial-gradient(#00000004 1px, transparent 1px);--dot-grid-size:28px 28px;--title-color:#6d83f2;--hero-tagline-color:#555;--btn-outline-border:#4961dc;--btn-outline-text:#4961dc;--timeline-line-color:#0000001a;--timeline-dot-border:var(--bg);--blue-gradient:linear-gradient(134deg, #6a98f0 0%, #4961dc 99%);--cert-gradient:linear-gradient(134deg, #6a98f0 0%, #4961dc 99%);--contact-gradient:linear-gradient(134deg, #6a98f0 0%, #4961dc 99%);--container-max-width:1100px;--transition-speed:.3s;--radius-sm:6px;--radius-md:12px;--radius-lg:24px}[data-theme=dark]{--bg:#05050a;--text-primary:#f0f0ff;--text-secondary:#a8a8c8;--text-muted:#6e6e9a;--accent:#6d83f2;--accent-hover:#8b9dff;--accent-light:#1a1a28;--accent-web:#06b6d4;--accent-ai:#a855f7;--accent-sec:#10b981;--card-bg:#13131f;--card-border:#ffffff12;--card-shadow:0 10px 30px #0003;--border:#ffffff14;--nav-bg:#05050af7;--dot-grid:radial-gradient(#ffffff02 1px, transparent 1px);--title-color:#6d83f2;--hero-tagline-color:#a8a8c8;--btn-outline-border:#6d83f2;--btn-outline-text:#6d83f2;--timeline-line-color:#ffffff1a}body,.header,.footer,.btn,.social-link,.skill-row-card,.cert-card,.project-card-small,.proj-feat-card,.sandbox-card,.web-glass-card,.sec-terminal,.form-input,.back-to-top{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--bg);scroll-padding-top:80px}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text-primary);background-image:var(--dot-grid);background-size:var(--dot-grid-size);transition:background-color var(--transition-speed), color var(--transition-speed);line-height:1.6;overflow-x:hidden}body:before{content:"";z-index:9999;opacity:.018;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100vw;height:100vh;position:fixed;inset:0}img{max-width:100%;height:auto;display:block}a{color:var(--accent);transition:color var(--transition-speed);text-decoration:none}a:hover{color:var(--accent-hover)}ul[role=list]{list-style:none}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-sm);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--accent);color:#fff}.container{width:90%;max-width:var(--container-max-width);margin:0 auto}.section{padding:4rem 0;position:relative}.section-title-centered{font-family:var(--font-sans);color:var(--title-color);text-align:center;letter-spacing:-.03em;margin-bottom:24px;font-size:2.6rem;font-weight:700}.section-title-centered.white-title{color:#fff}.btn{font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-speed) ease;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:var(--accent-hover);color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #4961dc4d}.btn-outline{border-color:var(--btn-outline-border);color:var(--btn-outline-text);background-color:#0000}.btn-outline:hover{background-color:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #4961dc33}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);background:0 0}.btn-ghost:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.btn-sm{padding:8px 16px;font-size:.8rem}.btn-full{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none!important;transform:none!important}.header{z-index:1000;background:0 0;width:100%;max-width:100%;padding:10px 0;transition:all .4s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:50%;transform:translate(-50%)}.header.scrolled{background:var(--nav-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-md);width:calc(100% - 30px);max-width:1200px;padding:0 20px;top:15px;box-shadow:0 10px 30px #0000000a}.nav{justify-content:space-between;align-items:center;width:90%;max-width:1200px;height:70px;margin:0 auto;transition:height .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.header.scrolled .nav{height:56px}.nav-logo{font-family:var(--font-sans);letter-spacing:-.03em;color:var(--text-primary);align-items:center;font-size:1.3rem;font-weight:800;display:flex}.logo-accent{color:var(--accent)}.nav-menu-wrap{align-items:center;gap:20px;display:flex}.nav-links{align-items:center;gap:8px;display:flex}.nav-item{list-style:none}.nav-link{font-family:var(--font-sans);letter-spacing:-.01em;color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:.82rem;font-weight:600;transition:all .25s}.nav-link:hover{color:var(--text-primary);background:#00000008}[data-theme=dark] .nav-link:hover{background:#ffffff0a}.nav-link.active{background:var(--accent-light);color:var(--accent)!important}.nav-right{align-items:center;gap:16px;display:flex}.theme-toggle{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:background-color .2s,transform .3s;display:flex}.theme-toggle:hover{background-color:var(--border);transform:rotate(15deg)}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon,[data-theme=dark] .theme-toggle .icon-sun{display:block}[data-theme=dark] .theme-toggle .icon-moon{display:none}.hamburger{cursor:pointer;z-index:1100;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:24px;height:18px;display:none}.hamburger span{background-color:var(--text-primary);width:100%;height:2px;transition:all .3s}.hamburger.open span:first-child{transform:translateY(8px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.hero{align-items:center;min-height:100vh;padding-top:120px;padding-bottom:80px;display:flex;position:relative}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:50px;width:100%;display:grid}.hero-left-col{flex-direction:column;display:flex}.hero-right-col{justify-content:center;width:100%;display:flex}.hero-badge{background:var(--card-bg);border:1px solid var(--card-border);font-family:var(--font-sans);color:var(--text-secondary);box-shadow:var(--card-shadow);border-radius:30px;align-items:center;gap:8px;width:fit-content;margin-bottom:24px;padding:6px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.badge-dot{background-color:var(--accent);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}.hero-title{font-family:var(--font-sans);letter-spacing:-.04em;color:var(--text-primary);margin-bottom:16px;font-size:3.2rem;font-weight:900;line-height:1.1}.hero-greeting{letter-spacing:0;color:var(--text-secondary);margin-bottom:4px;font-size:1.3rem;font-weight:500;display:block}.hero-name{color:#000;display:block}[data-theme=dark] .hero-name{color:#fff}.hero-tagline{font-family:var(--font-sans);letter-spacing:.18em;color:var(--hero-tagline-color);opacity:.7;margin-bottom:20px;font-size:.75rem;font-weight:700}.hero-bio{color:var(--text-secondary);margin-bottom:28px;font-size:.95rem;line-height:1.65}.hero-cta{flex-wrap:wrap;gap:16px;margin-bottom:36px;display:flex}.social-links{align-items:center;gap:16px;display:flex}.social-link{background:var(--card-bg);border:1px solid var(--card-border);width:42px;height:42px;color:var(--text-secondary);box-shadow:var(--card-shadow);transition:all var(--transition-speed) ease;border-radius:50%;justify-content:center;align-items:center;display:flex}.social-link:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #4961dc1f}.scroll-indicator{z-index:2;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.scroll-line{background:var(--border);width:1px;height:50px;position:relative;overflow:hidden}.scroll-line:after{content:"";background:var(--accent);width:100%;height:20px;animation:2s ease-in-out infinite scrollDown;position:absolute;top:0;left:0}.grid-lines{width:100%;height:100%;max-width:var(--container-max-width);pointer-events:none;z-index:-1;justify-content:space-between;margin:0 auto;padding:0 15px;display:flex;position:fixed;inset:0}.grid-line{background:var(--border);opacity:.25;width:1px;height:100%}[data-theme=dark] .grid-line{opacity:.15}.aurora-glows{z-index:-2;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.aurora-blob{filter:blur(120px);opacity:.15;border-radius:50%;position:absolute}[data-theme=light] .aurora-blob{opacity:.06}.aurora-web{background:var(--accent-web);width:40vw;height:40vw;animation:25s ease-in-out infinite alternate rotateBlob1;top:-10vw;left:-10vw}.aurora-ai{background:var(--accent-ai);width:45vw;height:45vw;animation:30s ease-in-out infinite alternate rotateBlob2;top:15vh;right:-10vw}.aurora-sec{background:var(--accent-sec);width:35vw;height:35vw;animation:22s ease-in-out infinite alternate rotateBlob3;bottom:-5vw;left:15vw}@keyframes rotateBlob1{0%{transform:translate(0)scale(1)rotate(0)}50%{transform:translate(8vw,6vh)scale(1.1)rotate(180deg)}to{transform:translate(0)scale(1)rotate(360deg)}}@keyframes rotateBlob2{0%{transform:translate(0)scale(1.1)rotate(0)}50%{transform:translate(-6vw,10vh)scale(.9)rotate(-180deg)}to{transform:translate(0)scale(1.1)rotate(-360deg)}}@keyframes rotateBlob3{0%{transform:translate(0)scale(1)rotate(0)}50%{transform:translate(5vw,-6vh)scale(1.15)rotate(90deg)}to{transform:translate(0)scale(1)rotate(180deg)}}.sandbox-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);width:100%;max-width:460px;box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(16px);z-index:5;flex-direction:column;transition:transform .3s,border-color .3s;display:flex;overflow:hidden}.sandbox-card:hover{border-color:#6d83f24d;transform:translateY(-5px)}.sandbox-header{border-bottom:1px solid var(--border);background:#0000000d;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}[data-theme=dark] .sandbox-header{background:#ffffff05}.sandbox-tabs{gap:4px;display:flex}.sandbox-tab{border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:.78rem;font-weight:500;transition:all .2s}.sandbox-tab:hover{color:var(--text-primary);background:#00000008}[data-theme=dark] .sandbox-tab:hover{background:#ffffff0a}.sandbox-tab.active{color:var(--accent);background:var(--accent-light);font-weight:600}.sandbox-actions{gap:6px;display:flex}.sandbox-actions .dot{border-radius:50%;width:8px;height:8px}.sandbox-actions .dot.red{background:#ff5f56}.sandbox-actions .dot.yellow{background:#ffbd2e}.sandbox-actions .dot.green{background:#27c93f}.sandbox-panels{flex-grow:1;position:relative}.sandbox-panel{animation:.4s forwards fadeIn;display:none}.sandbox-panel.active{display:block}.code-view{border-bottom:1px solid var(--border);font-family:var(--font-mono);text-align:left;background:#00000005;padding:20px;font-size:.78rem;line-height:1.5;overflow-x:auto}[data-theme=dark] .code-view{background:#0003}.token.keyword{color:#f43f5e;font-weight:600}.token.string{color:var(--accent-sec)}.token.function{color:var(--accent)}.token.type{color:var(--accent-web)}.token.number{color:#f59e0b}.token.boolean{color:#f59e0b;font-weight:700}.token.prompt{color:var(--text-muted)}.token.method{color:var(--accent-ai)}.sandbox-preview{justify-content:center;align-items:center;min-height:200px;padding:24px;display:flex;position:relative;overflow:hidden}.preview-web{background:radial-gradient(circle at 100% 0,#06b6d40f,#0000)}.preview-web-canvas{justify-content:center;align-items:center;width:100%;height:140px;display:flex;position:relative}.web-glass-card{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-md);z-index:2;background:#ffffff73;border:1px solid #fff6;width:200px;padding:16px;transition:all .3s;position:relative;box-shadow:0 8px 30px #0000000f}[data-theme=dark] .web-glass-card{background:#ffffff0d;border:1px solid #ffffff1a;box-shadow:0 8px 30px #0000004d}.web-glass-card:hover{border-color:#fff3;transform:translateY(-4px)scale(1.02)}.glass-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.glass-dot{background:var(--accent-web);width:6px;height:6px;box-shadow:0 0 6px var(--accent-web);border-radius:50%}.glass-title{font-family:var(--font-sans);color:var(--text-secondary);font-size:.72rem;font-weight:700}.glass-chart{border-bottom:1px solid var(--border);align-items:flex-end;gap:10px;height:44px;margin-bottom:10px;padding-bottom:4px;display:flex}.chart-bar{background:linear-gradient(to top, var(--accent-web) 20%, #06b6d44d 100%);border-radius:3px 3px 0 0;flex-grow:1;width:14px;height:0;animation:1s ease-out forwards growBar}@keyframes growBar{to{height:var(--val)}}.glass-desc{font-family:var(--font-sans);color:var(--text-muted);font-size:.65rem;font-weight:600}.web-circle{filter:blur(1px);border-radius:50%;position:absolute}.circle-1{background:#06b6d41f;width:90px;height:90px;animation:5s ease-in-out infinite alternate floatWeb;top:10px;left:30px}.circle-2{background:#a855f71a;width:110px;height:110px;animation:6s ease-in-out infinite alternate floatWeb2;bottom:0;right:20px}@keyframes floatWeb{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-15px)rotate(15deg)}}@keyframes floatWeb2{0%{transform:translateY(0)scale(1)}to{transform:translateY(12px)scale(1.08)}}.preview-ai{background:radial-gradient(circle at 0 100%,#a855f70f,#0000)}.ai-neural-net{width:100%;max-width:320px;height:140px;position:relative}.neural-svg{width:100%;height:100%}.neural-svg circle{fill:var(--card-bg);stroke:var(--border);stroke-width:1.5px;transition:all .3s}.neural-svg circle.node-input{stroke:var(--accent-web)}.neural-svg circle.node-hidden,.neural-svg circle.node-hidden-2{stroke:var(--accent-ai)}.neural-svg circle.node-output{stroke:var(--accent-sec);fill:var(--accent-sec)}.neural-svg path{transition:stroke .3s,stroke-width .3s}.ai-stats{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-family:var(--font-mono);color:#fff;text-align:left;background:#0009;border:1px solid #ffffff1a;border-radius:6px;flex-direction:column;gap:2px;padding:6px 12px;font-size:.68rem;display:flex;position:absolute;bottom:0;right:0}.preview-sec{background:radial-gradient(circle,#10b9810f,#0000)}.sec-terminal{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-mono);text-align:left;background:#06060a;flex-direction:column;gap:4px;padding:16px;font-size:.72rem;line-height:1.5;display:flex;box-shadow:inset 0 2px 10px #000c}.sec-term-line{color:var(--text-secondary)}.sec-term-line.text-info{color:var(--accent-web)}.sec-term-line.text-success{color:var(--accent-sec)}.sec-term-line.text-warning{color:#f59e0b}.sec-term-line.text-danger{color:#ef4444}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.section{border-bottom:1px solid var(--border);padding:4rem 0;position:relative}.contact-section{border-bottom:none}.about-layout-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:50px;display:grid}.about-left-side{text-align:left;color:var(--text-primary);flex-direction:column;align-items:flex-start;display:flex}.photo-wrapper{border-radius:var(--radius-lg);background:#ffffff1a;border:4px solid #ffffffd9;margin-bottom:24px;transition:transform .3s;position:relative;overflow:hidden;box-shadow:0 15px 40px #00000040}.photo-wrapper:hover{transform:translateY(-4px)scale(1.02)}.about-photo{object-fit:cover;object-position:top;width:200px;height:200px;display:block}.about-p-main{color:var(--text-secondary);max-width:480px;font-size:1.05rem;line-height:1.8}.about-p-main strong{color:var(--text-primary);font-weight:700}.about-strengths-grid{flex-direction:column;gap:24px;width:100%;display:flex}.strength-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(8px);color:var(--text-primary);text-align:left;align-items:flex-start;gap:20px;padding:24px 30px;transition:all .3s;display:flex}.strength-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 8px 25px #00000014}.strength-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.strength-icon.web-color{color:#22d3ee;background:#06b6d433}.strength-icon.ai-color{color:#c084fc;background:#a855f733}.strength-icon.sec-color{color:#34d399;background:#10b98133}.strength-title{font-family:var(--font-sans);color:var(--text-primary);margin-bottom:8px;font-size:1.2rem;font-weight:700}.strength-desc{color:var(--text-secondary);font-size:.92rem;line-height:1.5}.white-title{margin-bottom:50px;color:#fff!important}.skills-section{padding:100px 0;position:relative}.skills-rows-container{z-index:2;flex-direction:column;gap:16px;max-width:1000px;margin:0 auto;display:flex;position:relative}.skill-row-card{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:14px;justify-content:space-between;align-items:center;gap:24px;padding:22px 32px;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.skill-row-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff0d 50%,#0000);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}[data-theme=dark] .skill-row-card:before{background:linear-gradient(90deg,#0000,#ffffff05 50%,#0000)}.skill-row-card:hover:before{transform:translate(100%)}.skill-row-card.tint-cyan:hover{border-color:var(--accent-web);transform:translateY(-2px);box-shadow:0 8px 30px #06b6d414}.skill-row-card.tint-purple:hover{border-color:var(--accent-ai);transform:translateY(-2px);box-shadow:0 8px 30px #a855f714}.skill-row-card.tint-blue:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 30px #4961dc14}.skill-row-card.tint-emerald:hover{border-color:var(--accent-sec);transform:translateY(-2px);box-shadow:0 8px 30px #10b98114}.skill-row-card.tint-indigo:hover{border-color:#818cf8;transform:translateY(-2px);box-shadow:0 8px 30px #818cf814}.skill-row-card.tint-violet:hover{border-color:#a78bfa;transform:translateY(-2px);box-shadow:0 8px 30px #a78bfa14}.skill-row-left{flex-shrink:0;align-items:center;gap:20px;min-width:180px;display:flex}.skill-row-icon-wrap{border:1px solid var(--card-border);background:var(--bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:all .3s;display:flex}.tint-cyan .skill-row-icon-wrap{color:var(--accent-web)}.tint-purple .skill-row-icon-wrap{color:var(--accent-ai)}.tint-blue .skill-row-icon-wrap{color:var(--accent)}.tint-emerald .skill-row-icon-wrap{color:var(--accent-sec)}.tint-indigo .skill-row-icon-wrap{color:#818cf8}.tint-violet .skill-row-icon-wrap{color:#a78bfa}.skill-row-card:hover .skill-row-icon-wrap{background:var(--accent-light);transform:scale(1.05)}.skill-row-category{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:.72rem;font-weight:500;transition:color .3s}.skill-row-card:hover .skill-row-category{color:var(--text-secondary)}.skill-row-title{font-family:var(--font-sans);color:var(--text-primary);text-align:left;flex-grow:1;margin:0;font-size:1.15rem;font-weight:700}.skill-row-right{justify-content:flex-end;align-items:center;gap:24px;display:flex}.skill-row-tags{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.skill-row-pill{font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);white-space:nowrap;text-transform:lowercase;border-radius:30px;padding:4px 12px;font-size:.72rem;transition:all .3s}@media (max-width:768px){.skill-row-pill{padding:2px 8px;font-size:.65rem}}.skill-row-card:hover .skill-row-pill{color:var(--text-primary);border-color:var(--text-muted)}.tint-cyan:hover .skill-row-pill{border-color:#06b6d466}.tint-purple:hover .skill-row-pill{border-color:#a855f766}.tint-blue:hover .skill-row-pill{border-color:#4961dc66}.tint-emerald:hover .skill-row-pill{border-color:#10b98166}.tint-indigo:hover .skill-row-pill{border-color:#818cf866}.tint-violet:hover .skill-row-pill{border-color:#a78bfa66}.skill-row-arrow{color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;transition:all .3s;display:flex}.skill-row-card:hover .skill-row-arrow{color:var(--text-primary);transform:translate(4px)}@media (max-width:900px){.skill-row-card{flex-direction:column;align-items:flex-start;gap:12px;padding:20px 24px}.skill-row-left{width:100%;min-width:auto}.skill-row-title{width:100%;font-size:1.05rem}.skill-row-right{justify-content:space-between;gap:12px;width:100%}.skill-row-tags{justify-content:flex-start;width:auto}}.certs-section{padding:100px 0;position:relative}.resume-section{padding:80px 0;position:relative}.resume-grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:60px;display:grid}.resume-col{flex-direction:column;gap:24px;display:flex}.resume-col-title{font-family:var(--font-sans);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;font-size:1.8rem;font-weight:800;position:relative}.resume-col-title:after{content:"";background:var(--accent);border-radius:2px;width:40px;height:3px;position:absolute;bottom:-8px;left:0}.resume-list{border-left:2px solid var(--border);flex-direction:column;gap:24px;margin-top:15px;margin-left:4px;padding-left:24px;display:flex;position:relative}.resume-item{transition:all .3s;position:relative}.resume-item:before{content:"";background:var(--bg);border:2.5px solid var(--accent);z-index:3;border-radius:50%;width:10px;height:10px;transition:all .3s;position:absolute;top:8px;left:-30px}.resume-item:hover:before{background:var(--accent);box-shadow:0 0 10px var(--accent);transform:scale(1.2)}.resume-item-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:4px;display:flex}.resume-item-role{font-family:var(--font-sans);color:var(--text-primary);font-size:1.1rem;font-weight:700}.resume-item-date{color:var(--text-muted);font-size:.8rem;font-weight:500}.resume-item-org{color:var(--accent);margin-bottom:8px;font-size:.9rem;font-weight:600}.resume-item-desc{color:var(--text-secondary);font-size:.88rem;line-height:1.6}.coursework-box{flex-direction:column;gap:6px;margin-top:14px;display:flex}.coursework-label{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.coursework-tags{flex-wrap:wrap;gap:6px;display:flex}.coursework-tags span{font-family:var(--font-mono);color:var(--text-secondary);background:var(--card-bg);border:1px solid var(--card-border);text-transform:lowercase;border-radius:4px;padding:3px 8px;font-size:.72rem;transition:all .2s}.resume-item:hover .coursework-tags span{border-color:var(--accent);color:var(--text-primary)}.ctf-section-title{font-family:var(--font-sans);color:var(--text-primary);align-items:center;gap:8px;margin-bottom:16px;font-size:1.25rem;font-weight:700;display:flex}.ctf-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--card-shadow);flex-direction:column;gap:8px;padding:20px 24px;transition:all .3s;display:flex}.ctf-card:hover{border-color:#de1f26;transform:translateY(-2px);box-shadow:0 8px 25px #de1f260d}.ctf-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ctf-platform{color:var(--text-primary);font-size:1.05rem;font-weight:700}.ctf-link-btn{font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:.75rem;transition:all .2s}.ctf-link-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.ctf-rank-text{color:var(--text-secondary);font-size:.88rem}.ctf-rank-text strong{color:#de1f26}.ctf-desc{color:var(--text-muted);font-size:.85rem;line-height:1.5}@media (max-width:992px){.resume-grid{grid-template-columns:1fr;gap:50px}}.proj-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:40px;display:flex}.proj-section-head .section-title-centered{text-align:left;margin-bottom:0}.proj-nav-controls{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:40px;align-items:center;gap:16px;padding:8px 16px;display:flex}.proj-nav-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background-color .2s;display:flex}.proj-nav-btn:hover{background-color:var(--border)}.proj-counter{font-family:var(--font-sans);color:var(--text-secondary);text-align:center;min-width:48px;font-size:.9rem;font-weight:700}.proj-counter-sep{opacity:.4;margin:0 2px}.proj-featured-wrap,.skills-featured-wrap,.certs-featured-wrap{min-height:auto;margin-bottom:50px;position:relative}.proj-feat-card,.skill-feat-card,.cert-feat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--card-shadow);transition:transform .3s,box-shadow .3s;overflow:hidden}.proj-feat-card:hover,.skill-feat-card:hover,.cert-feat-card:hover{box-shadow:0 15px 40px #0000000f}.proj-feat-inner,.skill-feat-inner,.cert-feat-inner{grid-template-columns:1fr 1.2fr;display:grid}.proj-feat-visual,.skill-feat-visual,.cert-feat-visual{justify-content:center;align-items:center;min-height:320px;padding:30px;display:flex;position:relative;overflow:hidden}.skill-feat-visual{border-right:1px solid var(--border);background:linear-gradient(135deg,#10b9811f 0%,#7c3aed14 100%)}.cert-feat-visual{border-right:1px solid var(--border);background:linear-gradient(135deg,#4961dc14 0%,#6d83f20a 100%)}.cert-visual-badge{filter:drop-shadow(0 10px 25px #00000026);justify-content:center;align-items:center;width:180px;height:180px;display:flex}.cert-badge-svg{width:100%;height:100%}.terminal-mock{background:#0e0f16;border:1px solid #ffffff0f;border-radius:8px;width:100%;max-width:420px;overflow:hidden;box-shadow:0 15px 35px #0006}.terminal-bar{background:#171822;border-bottom:1px solid #ffffff0a;gap:8px;padding:10px 14px;display:flex}.terminal-bar .dot{border-radius:50%;width:10px;height:10px}.terminal-bar .dot.red{background:#ff5f56}.terminal-bar .dot.yellow{background:#ffbd2e}.terminal-bar .dot.green{background:#27c93f}.terminal-body{font-family:var(--font-mono);color:#a8a8c8;padding:20px;font-size:.85rem}.terminal-body p{margin-bottom:8px}.term-prompt{color:#6d83f2;margin-right:8px}.term-output{color:#10b981}.term-cursor{color:#6d83f2;animation:1s step-end infinite blink;display:inline-block}.proj-feat-icon{opacity:.9;filter:drop-shadow(0 8px 16px #0000001a);transform:scale(1.5)}.project-info,.skill-info,.cert-info{flex-direction:column;justify-content:center;padding:30px 35px;display:flex}.project-left-details{border-right:1px solid var(--border);flex-direction:column;justify-content:center;padding:24px 30px;display:flex}.project-right-details{flex-direction:column;justify-content:center;padding:24px 30px;display:flex}.project-details-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:12px;font-size:.95rem;font-weight:800}.project-tag-featured,.skill-tag-featured,.cert-tag-featured{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:.72rem;font-weight:700;display:inline-block}.project-name,.skill-name,.cert-name{font-family:var(--font-sans);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:10px;font-size:1.6rem;font-weight:800}.project-desc,.skill-desc,.cert-desc{color:var(--text-secondary);margin-bottom:16px;font-size:.94rem;line-height:1.5}.project-desc{min-height:60px}@media (max-width:992px){.project-desc{min-height:auto}}.project-features,.skill-features,.cert-features{margin-bottom:16px;list-style:none}.project-features li,.skill-features li,.cert-features li{color:var(--text-secondary);margin-bottom:6px;padding-left:20px;font-size:.88rem;position:relative}.project-features li:before,.skill-features li:before,.cert-features li:before{content:"✓";color:#10b981;font-weight:700;position:absolute;left:0}.project-stack,.skill-stack{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.stack-chip{font-family:var(--font-mono);background:var(--bg);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;font-size:.75rem;font-weight:500}.project-cta,.cert-cta{gap:16px;display:flex}.skills-small-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:30px;margin-top:30px;display:grid}.small-projects-row,.small-skills-row,.small-certs-row{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px;display:grid}.project-card-small{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--card-shadow);transition:all var(--transition-speed) ease;flex-direction:column;padding:24px;display:flex}.project-card-small:hover{border-color:var(--card-color);transform:translateY(-3px);box-shadow:0 12px 30px #0000000d}.project-small-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.project-small-icon{border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.project-small-links{gap:12px;display:flex}.project-small-links a{opacity:.6;transition:opacity .2s,transform .2s}.project-small-links a:hover{opacity:1;transform:scale(1.15)}.project-small-name{font-family:var(--font-sans);color:var(--text-primary);margin-bottom:12px;font-size:1.15rem;font-weight:700}.project-small-desc{color:var(--text-secondary);flex-grow:1;margin-bottom:20px;font-size:.88rem;line-height:1.5}.project-card-small .project-stack{margin-bottom:0}.proj-dots{justify-content:center;gap:10px;margin-bottom:30px;display:flex}.proj-dot{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:10px;height:10px;transition:all .3s}.proj-dot.active{background:var(--accent);border-radius:10px;width:24px}.projects-footer{text-align:center}.proj-feat-card.proj-anim-in,.skill-feat-card.proj-anim-in,.cert-feat-card.proj-anim-in{opacity:0;transform:scale(.98)}.proj-feat-card.proj-anim-active,.skill-feat-card.proj-anim-active,.cert-feat-card.proj-anim-active{opacity:1;transition:all .4s cubic-bezier(.16,1,.3,1);transform:scale(1)}.proj-feat-card.proj-anim-out-left,.skill-feat-card.proj-anim-out-left,.cert-feat-card.proj-anim-out-left{opacity:0;pointer-events:none;width:100%;transition:all .3s;position:absolute;top:0;left:0;transform:translate(-50px)}.proj-feat-card.proj-anim-out-right,.skill-feat-card.proj-anim-out-right,.cert-feat-card.proj-anim-out-right{opacity:0;pointer-events:none;width:100%;transition:all .3s;position:absolute;top:0;left:0;transform:translate(50px)}.contact-section{position:relative}.contact-card-box{background:var(--contact-gradient);border-radius:var(--radius-lg);color:#fff;padding:60px;box-shadow:0 20px 50px #4961dc40}.contact-grid{grid-template-columns:1fr 1.2fr;gap:60px;display:grid}.contact-info{flex-direction:column;justify-content:center;display:flex}.contact-subhead{font-family:var(--font-sans);letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:800}.contact-body{color:#ffffffd9;margin-bottom:35px;font-size:1.05rem;line-height:1.7}.contact-items{flex-direction:column;gap:20px;display:flex}.contact-item{color:#fff;font-family:var(--font-sans);align-items:center;gap:16px;font-size:.95rem;font-weight:600;transition:transform .2s;display:flex}.contact-item:hover{color:#ebf0ff;transform:translate(5px)}.contact-item-icon{background:#ffffff26;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .2s;display:flex}.contact-item:hover .contact-item-icon{background:#ffffff40}.contact-form-wrap{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;padding:40px}.contact-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{font-family:var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:#ffffffe6;font-size:.85rem;font-weight:600}.form-input{border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);color:#fff;background:#ffffff1a;border:1px solid #fff3;padding:12px 16px;font-size:.95rem;transition:all .3s}.form-input::placeholder{color:#ffffff8c}.form-input:focus{background:#ffffff26;border-color:#fff;outline:none;box-shadow:0 0 0 4px #ffffff1a}.form-textarea{resize:vertical;min-height:120px}.form-success{color:#d1fae5;border-radius:var(--radius-sm);text-align:center;background:#10b98133;border:1px solid #10b9814d;padding:12px;font-size:.9rem;font-weight:600}.contact-card-box .btn-primary{color:#4961dc;background-color:#fff;border:1px solid #fff;font-weight:700}.contact-card-box .btn-primary:hover{color:#354ab3;background-color:#ffffffeb;transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.footer{border-top:1px solid var(--border);padding:48px 0 32px}.footer-inner{text-align:center;flex-direction:column;align-items:center;gap:20px;display:flex}.footer-links{align-items:center;gap:20px;display:flex}.footer-links a{color:var(--text-muted);align-items:center;transition:color .2s;display:flex}.footer-links a:hover{color:var(--text-primary)}.footer-copy{color:var(--text-secondary);font-size:1.1rem}.footer-admin{font-weight:600;color:var(--text-secondary)!important}.footer-admin:hover{color:var(--accent)!important}.footer-tech{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);opacity:.6}.back-to-top{background:var(--card-bg);border:1px solid var(--card-border);width:44px;height:44px;color:var(--text-primary);box-shadow:var(--card-shadow);opacity:0;visibility:hidden;z-index:999;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;bottom:30px;right:30px;transform:translateY(10px)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-3px);box-shadow:0 6px 15px #4961dc26}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.25,1,.5,1),transform .8s cubic-bezier(.25,1,.5,1);transform:translateY(20px)}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #4961dc80}70%{transform:scale(1);box-shadow:0 0 0 8px #4961dc00}to{transform:scale(.95);box-shadow:0 0 #4961dc00}}@keyframes scrollDown{0%{opacity:0;top:-20px}50%{opacity:1;top:20px}to{opacity:0;top:60px}}@keyframes blink{50%{opacity:0}}@media (max-width:992px){.hero-shape{display:none}.hero{text-align:center;min-height:auto;padding-top:120px;padding-bottom:60px}.hero-content-only{max-width:100%;margin:0 auto}.hero-title{font-size:2.8rem}.hero-cta,.social-links{justify-content:center}.proj-feat-inner,.skill-feat-inner,.cert-feat-inner{grid-template-columns:1fr}.proj-feat-visual,.skill-feat-visual,.cert-feat-visual{border-bottom:1px solid var(--border);min-height:auto;padding:30px 20px;border-right:none!important}.project-left-details{border-bottom:1px solid var(--border);padding:20px;border-right:none!important}.project-right-details{padding:20px}.small-projects-row,.small-skills-row,.small-certs-row{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-info{text-align:center}.contact-items{align-items:center}.about-layout-grid{grid-template-columns:1fr;gap:40px}}@media (max-width:768px){.section{padding:80px 0}.section-title-centered{margin-bottom:35px;font-size:1.8rem}.hamburger{display:flex}.nav-links{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);opacity:0;visibility:hidden;z-index:999;flex-direction:column;align-items:stretch;gap:6px;width:auto;height:auto;padding:16px;transition:all .3s cubic-bezier(.16,1,.3,1);position:absolute;top:calc(100% + 8px);left:0;right:0;transform:translateY(-8px);box-shadow:0 10px 30px #00000014}.nav-links.open{opacity:1;visibility:visible;transform:translateY(0)}.nav-link{text-align:center;width:100%;padding:10px 16px;font-size:.88rem;font-weight:600;display:block}.about-layout-grid{text-align:center;grid-template-columns:1fr;gap:30px}.about-left-side{text-align:center;align-items:center}.about-photo{width:180px;height:180px}.timeline-line{left:10px}.timeline-item{padding-left:40px}.timeline-dot{left:1px}.small-projects-row,.small-skills-row,.small-certs-row{grid-template-columns:1fr}.contact-card-box{padding:40px 20px}.contact-form-wrap{padding:24px 16px}}@media (max-width:480px){.hero-title{font-size:2.2rem}.hero-greeting{font-size:1.1rem}.project-name{font-size:1.5rem}.project-info{padding:25px 20px}}
