@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.0ekd.j2hc~_w0.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:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.0rqws-.h91di~.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:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.179.vsfvxa6t5.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:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.0ekd.j2hc~_w0.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:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.0rqws-.h91di~.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:Bricolage Grotesque;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.179.vsfvxa6t5.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.0ekd.j2hc~_w0.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.0rqws-.h91di~.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:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.179.vsfvxa6t5.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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.0ekd.j2hc~_w0.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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.0rqws-.h91di~.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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.179.vsfvxa6t5.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:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_cd3dfae0-module__VEsh5a__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_cd3dfae0-module__VEsh5a__variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:DM Sans;font-style:italic;font-weight:300;font-display:swap;src:url(../media/7334b8b05e61def8-s.0nshu_qvp5nsr.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:DM Sans;font-style:italic;font-weight:300;font-display:swap;src:url(../media/5e50e46ec4da0455-s.p.14_f372x7nluw.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:DM Sans;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7334b8b05e61def8-s.0nshu_qvp5nsr.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:DM Sans;font-style:italic;font-weight:400;font-display:swap;src:url(../media/5e50e46ec4da0455-s.p.14_f372x7nluw.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:DM Sans;font-style:italic;font-weight:500;font-display:swap;src:url(../media/7334b8b05e61def8-s.0nshu_qvp5nsr.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:DM Sans;font-style:italic;font-weight:500;font-display:swap;src:url(../media/5e50e46ec4da0455-s.p.14_f372x7nluw.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:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.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:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_d2105ea9-module__pe-FJq__className{font-family:DM Sans,DM Sans Fallback}.dm_sans_d2105ea9-module__pe-FJq__variable{--font-dmsans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.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:300;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.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:300;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..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:300;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.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:300;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.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:300;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.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:400;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.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/cc545e633e20c56d-s.0dza.stei.9v7.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/71b036adf157cdcf-s.03nf~dfjdkf~..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/89b21bb081cb7469-s.0gfhww.tctz1o.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/3fe682a82f50d426-s.09q3q1i5159bl.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/70bc3e132a0a741e-s.p.1409xf.ylxg8g.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/13bf9871fe164e7f-s.0s19wthhh_6~m.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/cc545e633e20c56d-s.0dza.stei.9v7.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/71b036adf157cdcf-s.03nf~dfjdkf~..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/89b21bb081cb7469-s.0gfhww.tctz1o.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/3fe682a82f50d426-s.09q3q1i5159bl.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/70bc3e132a0a741e-s.p.1409xf.ylxg8g.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_22a5a3f-module__rQksyG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_22a5a3f-module__rQksyG__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--white:#fff;--bg:#f5f5f7;--bg2:#ebebed;--surface:#fff;--border:#e2e2e6;--border-2:#c8c8ce;--text:#0a0a0b;--text-2:#4b4b56;--text-3:#9898a6;--accent:#ff3d00;--accent-h:#e63600;--accent-bg:#fff1ee;--accent-border:#ff3d0033;--navy:#12122a;--display:var(--font-bricolage), sans-serif;--body:var(--font-dmsans), sans-serif;--mono:var(--font-mono), monospace;--shadow-sm:0 1px 3px #00000012, 0 1px 2px #0000000d;--shadow-md:0 4px 16px #00000014, 0 2px 6px #0000000d;--shadow-lg:0 12px 40px #0000001a, 0 4px 12px #0000000f;--shadow-hover:0 20px 60px #00000021, 0 8px 20px #00000012;--radius:10px;--ease:cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}::selection{background:var(--accent);color:#fff}html{scroll-behavior:smooth;background:#09090e;height:100%}body{background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:18px;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}nav{z-index:500;-webkit-backdrop-filter:blur(20px);height:60px;transition:border-color .3s var(--ease), background .3s;background:#f5f5f7d9;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}nav.scrolled{border-color:var(--border);box-shadow:var(--shadow-sm);background:#ffffffeb}.nav-wordmark{font-family:var(--display);color:var(--text);letter-spacing:-.02em;font-size:17px;font-weight:700;text-decoration:none}.nav-wordmark em{color:var(--accent);font-style:normal}.nav-center{gap:8px;list-style:none;display:flex}.nav-center a{font-family:var(--mono);letter-spacing:.04em;color:var(--text-2);border-radius:20px;padding:6px 14px;font-size:11px;font-weight:400;text-decoration:none;transition:background .2s,color .2s}.nav-center a:hover,.nav-center a.active{background:var(--accent);color:var(--white)}.nav-right{align-items:center;gap:12px;display:flex}.nav-github{font-family:var(--mono);color:var(--text-2);border:1px solid var(--border);border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:11px;font-weight:400;text-decoration:none;transition:border-color .2s,color .2s;display:flex}.nav-github:hover{border-color:var(--text-2);color:var(--text)}.nav-github svg{width:13px;height:13px}.brand-icon{fill:currentColor;width:32px;height:32px;transition:transform .2s var(--ease)}.brand-icon.github{color:#181717!important}.brand-icon.linkedin{color:#0077b5!important}.contact-section .brand-icon.github,.chat-drawer .brand-icon.github{color:#fff}.contact-link-item:hover .brand-icon{transform:scale(1.15)}.nav-cta{font-family:var(--body);color:#fff;background:var(--accent);border-radius:20px;padding:8px 20px;font-size:13px;font-weight:500;text-decoration:none;transition:background .2s,transform .2s}.nav-cta:hover{background:var(--accent-h);transform:translateY(-1px)}.hamburger{cursor:pointer;background:0 0;border:none;padding:4px;display:none}.hamburger span{background:var(--text-2);border-radius:2px;width:20px;height:1.5px;margin:5px 0;transition:all .3s;display:block}.hero{flex-direction:column;min-height:100vh;padding-top:60px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";opacity:.5;pointer-events:none;background-image:radial-gradient(circle,#d1d1d8 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg));pointer-events:none;height:200px;position:absolute;bottom:0;left:0;right:0}.hero-inner{z-index:1;flex-direction:column;flex:1;justify-content:center;width:100%;max-width:1280px;margin:0 auto;padding:0 24px 40px;display:flex;position:relative}.hero-badge{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:20px;align-items:center;gap:8px;width:fit-content;margin-bottom:36px;padding:7px 16px;display:inline-flex}.badge-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;animation:2.5s infinite pulse;box-shadow:0 0 0 3px #22c55e33}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #22c55e33}50%{box-shadow:0 0 0 6px #22c55e0f}}.badge-text{font-family:var(--mono);color:var(--text-2);letter-spacing:.04em;font-size:11px;font-weight:400}.hero-headline{font-family:var(--display);letter-spacing:-.035em;color:var(--text);margin-bottom:32px;font-size:clamp(54px,8.5vw,118px);font-weight:800;line-height:.92}.hero-headline .accent{color:var(--accent)}.hero-headline .outline{-webkit-text-stroke:2px var(--text);color:#0000}.hero-sub-row{grid-template-columns:1fr auto;align-items:flex-end;gap:40px;margin-bottom:56px;display:grid}.hero-desc{color:var(--text-2);max-width:540px;font-size:16px;font-weight:400;line-height:1.75}.hero-desc strong{color:var(--text);font-weight:600}.hero-ctas{flex-shrink:0;gap:12px;display:flex}.btn-primary{background:var(--accent);color:#fff;font-family:var(--body);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 14px #ff3d004d}.btn-primary:hover{background:var(--accent-h);transform:translateY(-2px);box-shadow:0 8px 24px #ff3d0059}.btn-primary svg{width:15px;height:15px}.btn-outline{background:var(--surface);color:var(--text);font-family:var(--body);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s;display:inline-flex}.btn-outline:hover{border-color:var(--text-2);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-outline svg{width:15px;height:15px}.hero-stats{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.h-stat{background:var(--surface);padding:24px 28px;transition:background .2s}.h-stat:hover{background:var(--bg)}.h-stat-n{font-family:var(--display);color:var(--text);letter-spacing:-.04em;font-size:40px;font-weight:800;line-height:1}.h-stat-n span{color:var(--accent);font-size:26px}.h-stat-l{font-family:var(--mono);color:var(--text-3);letter-spacing:.05em;margin-top:6px;font-size:10px;line-height:1.5}.section{padding:96px 0}.section-alt{background:var(--white)}.container{max-width:1280px;margin:0 auto;padding:0 24px}.section-label{align-items:center;gap:10px;margin-bottom:20px;display:inline-flex}.section-label-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.section-label-text{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:500}.section-title{font-family:var(--display);letter-spacing:-.03em;color:var(--text);margin-bottom:56px;font-size:clamp(36px,5vw,60px);font-weight:800;line-height:1}.section-title span{color:var(--accent)}.exp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s;padding:40px;position:relative;overflow:hidden}.exp-card:hover{box-shadow:var(--shadow-hover);border-color:var(--accent);transform:translateY(-6px)}.exp-card:before{content:"";background:var(--accent);transform-origin:0;height:3px;transition:transform .4s var(--ease);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.exp-card:hover:before{transform:scaleX(1)}.exp-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;display:flex}.exp-company{font-family:var(--display);letter-spacing:-.025em;color:var(--text);margin-bottom:10px;font-size:26px;font-weight:700}.exp-promo-tag{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:10px;font-weight:500;display:inline-flex}.exp-role{font-family:var(--mono);color:var(--accent);letter-spacing:.04em;margin-bottom:4px;font-size:12px;font-weight:500}.exp-period{font-family:var(--mono);color:var(--text-3);letter-spacing:.04em;font-size:11px}.exp-date,.exp-location{font-family:var(--mono);color:var(--text-3);letter-spacing:.04em;font-size:11px;display:none}.exp-divider{background:var(--border);height:1px;margin-bottom:32px}.exp-bullets{grid-template-columns:1fr 1fr;gap:16px 48px;display:grid}.exp-bullet{align-items:flex-start;gap:12px;display:flex}.exp-demo-list{background:var(--bg);border:1px solid var(--border);border-radius:18px;margin-top:28px;padding:24px}.exp-demo-title{font-family:var(--display);color:var(--text);margin-bottom:14px;font-size:16px;font-weight:700}.exp-demo-links{flex-wrap:wrap;gap:12px;display:flex}.exp-demo-links a{background:var(--accent-bg);color:var(--accent);font-family:var(--mono);border:1px solid #ff3d0026;border-radius:999px;justify-content:center;align-items:center;padding:10px 16px;font-size:12px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.exp-demo-links a:hover{background:#ff3d001a;transform:translateY(-1px)}.bullet-icon{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;display:flex}.bullet-icon:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;display:block}.bullet-text{color:var(--text-2);font-size:14px;line-height:1.7}.bullet-text strong{color:var(--text);font-weight:600}.plist{flex-direction:column;gap:16px;display:flex}.pc{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color .2s,box-shadow .2s;overflow:hidden}.pc:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.pscan{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;gap:12px;padding:28px 32px;display:flex}.pst{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ptr{flex-wrap:wrap;flex-grow:1;align-items:center;gap:10px;display:flex}.ptitle{font-family:var(--display);letter-spacing:-.02em;color:var(--text);font-size:20px;font-weight:700}.badge{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:100px;padding:3px 9px;font-size:10px;font-weight:500}.bg{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border)}.bgy{background:var(--bg2);color:var(--text-2);border:1px solid var(--border)}.etog{font-family:var(--mono);color:var(--text-2);transition:transform .3s var(--ease);flex-shrink:0;margin-top:3px;font-size:20px;line-height:1}.etog.open{color:var(--accent);transform:rotate(45deg)}.pexp{max-height:0;transition:max-height .45s var(--ease);overflow:hidden}.pexp.open{max-height:2500px}.poc{font-family:var(--mono);color:var(--text-2);letter-spacing:.01em;font-size:13px}.poc:before{content:"→ ";color:var(--accent)}.pstack{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--bg2);color:var(--text-2);font-family:var(--mono);letter-spacing:.02em;border-radius:4px;padding:3px 8px;font-size:11px}.tp{background:var(--accent-bg);color:var(--accent);font-family:var(--mono);letter-spacing:.02em;border-radius:4px;padding:3px 8px;font-size:11px}.pexi{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:24px;padding:24px 32px 32px;display:grid}.ebl{font-family:var(--mono);letter-spacing:.08em;color:var(--text-3);text-transform:uppercase;margin-bottom:8px;font-size:10px}.ebt{color:var(--text);font-size:14px;line-height:1.65}.edec,.e-problem,.e-solution,.e-decision,.e-result{border-left:3px solid #0000;border-radius:0 8px 8px 0;padding:16px}.e-problem{background:#dc26260d;border-left-color:#dc2626}.e-problem .ebl{color:#dc2626}.e-solution{background:#16a34a0d;border-left-color:#16a34a}.e-solution .ebl{color:#16a34a}.e-decision,.edec{background:#2563eb0d;border-left-color:#2563eb}.e-decision .ebl,.edec .ebl{color:#2563eb}.e-result{background:#d977060d;border-left-color:#d97706}.e-result .ebl{color:#d97706}.erl{font-family:var(--mono);color:var(--accent);letter-spacing:.03em;border-bottom:1px solid;align-items:center;gap:4px;margin-top:12px;padding-bottom:1px;font-size:11px;text-decoration:none;transition:opacity .2s;display:inline-flex}.erl:hover{opacity:.7}.skills-outer{grid-template-columns:280px 1fr;align-items:start;gap:40px;display:grid}.skills-sidebar{position:sticky;top:80px}.skills-sidebar-title{font-family:var(--display);letter-spacing:-.02em;color:var(--text);margin-bottom:8px;font-size:18px;font-weight:700}.skills-sidebar-sub{color:var(--text-2);margin-bottom:28px;font-size:14px;line-height:1.6}.skills-sidebar-stat{border-bottom:1px solid var(--border);align-items:center;gap:20px;padding:20px 0;display:flex}.skills-sidebar-stat:first-of-type{border-top:1px solid var(--border);margin-top:24px}.sss-n{font-family:var(--display);color:var(--accent);letter-spacing:-.03em;min-width:65px;font-size:32px;font-weight:800;line-height:1}.sss-l{font-family:var(--mono);color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;font-size:10px;line-height:1.4}.skills-groups{flex-direction:column;gap:24px;display:flex}.skill-group{background:var(--surface);border-radius:var(--radius);border:1px solid #4b4b561f;padding:32px;transition:box-shadow .25s,border-color .25s;box-shadow:0 10px 30px #0b0b0f0d}.skill-group:hover{border-color:#4b4b562e;box-shadow:0 14px 40px #0b0b0f14}.skill-group-name{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text);align-items:center;gap:10px;margin-bottom:18px;font-size:11px;font-weight:700;display:flex}.skill-group-name:after{content:"";background:#4b4b562e;flex:1;height:1px}.skill-chips{flex-wrap:wrap;gap:12px;display:flex}.skill-chip{font-family:var(--mono);color:var(--text);letter-spacing:.02em;cursor:default;background:#f2f2f7;border:1px solid #4b4b561f;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:500;line-height:1.6;transition:background .2s,border-color .2s,color .2s,transform .2s}.skill-chip:hover{color:var(--accent);background:#ff3d0014;border-color:#ff3d002e;transform:translateY(-1px)}.research-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);grid-template-columns:1fr 380px;display:grid;overflow:hidden}.live-demo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}.live-demo-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:20px;flex-direction:column;justify-content:space-between;min-height:320px;padding:0;display:flex;overflow:hidden}.live-demo-image{background:var(--bg2);width:100%;min-height:180px;overflow:hidden}.live-demo-image img{object-fit:cover;object-position:center center;width:100%;height:100%;display:block}.badge-card .live-demo-image img{object-fit:contain;background:#fff;padding:8px}.badge-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px;display:grid}.badge-card{min-height:auto!important;max-height:none!important}.badge-card .live-demo-image{height:160px!important;min-height:160px!important}.badge-card .live-demo-title{font-size:15px!important;line-height:1.3!important}.badge-card .live-demo-copy{margin-bottom:8px!important;font-size:12px!important}.badge-card .demo-link{padding:8px 12px!important;font-size:11px!important}@media (max-width:900px){.badge-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.badge-grid{grid-template-columns:1fr}}.live-demo-content{flex-direction:column;flex:auto;gap:12px;padding:24px;display:flex}.live-demo-title{font-family:var(--display);color:var(--text);margin-bottom:0;font-size:20px;font-weight:700}.live-demo-copy{color:var(--text-2);flex:1;margin:0 0 20px;font-size:14px;line-height:1.8}.research-body{padding:48px}.research-award{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border-radius:20px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 14px;font-size:10px;font-weight:500;display:inline-flex}.research-title{font-family:var(--display);letter-spacing:-.025em;color:var(--text);margin-bottom:20px;font-size:26px;font-weight:700;line-height:1.25}.research-desc{color:var(--text-2);margin-bottom:32px;font-size:14px;line-height:1.8}.research-links{flex-wrap:wrap;gap:14px;display:flex}.research-link{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;border-radius:7px;align-items:center;gap:7px;padding:9px 18px;font-size:11px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.research-link.primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px #ff3d0040}.research-link.primary:hover{background:var(--accent-h);transform:translateY(-2px);box-shadow:0 6px 20px #ff3d004d}.research-link.ghost{border:1px solid var(--border);color:var(--text-2);background:var(--surface)}.research-link.ghost:hover{border-color:var(--text-2);color:var(--text);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.research-link svg{width:13px;height:13px}.research-metrics{background:var(--navy);flex-direction:column;justify-content:space-between;padding:48px 36px;display:flex}.research-metrics-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#ffffff4d;margin-bottom:32px;font-size:10px;font-weight:400}.metrics-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.metric-val{font-family:var(--display);color:#fff;letter-spacing:-.04em;font-size:40px;font-weight:800;line-height:1}.metric-val span{color:var(--accent);font-size:26px}.metric-lbl{font-family:var(--mono);color:#ffffff59;letter-spacing:.08em;text-transform:uppercase;margin-top:8px;font-size:10px}.research-venue-block{font-family:var(--mono);color:#fff6;border-top:1px solid #ffffff1a;padding-top:24px;font-size:11px;line-height:1.7}.research-venue-block a{color:var(--accent);text-decoration:none}.research-venue-block a:hover{text-decoration:underline}.ai-bento-grid{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center;align-items:stretch;gap:24px;max-width:1400px;margin-top:24px;margin-left:auto;margin-right:auto;display:grid}.bento-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:20px;flex-direction:column;justify-content:space-between;width:100%;max-width:420px;height:100%;min-height:360px;max-height:460px;padding:0;display:flex;overflow:hidden}.bento-card-image{background:var(--bg2);width:100%;height:220px;overflow:hidden}.bento-card-image img{object-fit:cover;object-position:center center;width:100%;height:100%;display:block}.bento-card-content{flex-direction:column;flex:auto;gap:10px;padding:20px;display:flex}.bento-card-lg{grid-column:1/-1;min-height:380px}.bento-card-header{font-family:var(--display);letter-spacing:-.02em;color:var(--text);margin:0;font-size:22px;font-weight:700}.bento-card-copy{color:var(--text-2);margin:0;font-size:15px;line-height:1.75}.bento-card-links{margin-top:auto;padding:0 20px 20px}.demo-link{background:var(--accent);color:#fff;width:100%;font-family:var(--mono);border-radius:12px;justify-content:center;align-items:center;padding:12px 18px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.demo-link:hover{background:var(--accent-h)}.ai-note{color:var(--text-3);margin-top:18px;font-size:14px;line-height:1.7}.about-grid{grid-template-columns:1fr 1fr;gap:32px;display:grid}.about-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:40px}.about-card.main{grid-column:span 2}.about-main-grid{grid-template-columns:1fr 320px;gap:48px;display:grid}.about-copy p{color:var(--text-2);margin-bottom:18px;font-size:15px;line-height:1.85}.about-copy p:last-child{margin-bottom:0}.about-copy strong{color:var(--text);font-weight:600}.about-sidebar{flex-direction:column;gap:20px;display:flex}.about-meta-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:10px;font-weight:500}.about-meta-value{color:var(--text-2);font-size:14px;line-height:1.5}.about-meta-value strong{color:var(--text);font-weight:600;display:block}.about-meta-value a{color:var(--accent);text-decoration:none}.about-meta-value a:hover{text-decoration:underline}.about-meta-divider{background:var(--border);height:1px}.mini-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:24px}.mini-card-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:12px;font-size:10px;font-weight:500}.mini-card-val{font-family:var(--display);color:var(--text);letter-spacing:-.03em;margin-bottom:4px;font-size:28px;font-weight:800;line-height:1}.mini-card-desc{color:var(--text-2);font-size:13px}.contact-section{background:var(--navy);padding:100px 0}.contact-inner{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1280px;margin:0 auto;padding:0 24px;display:grid}.contact-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;font-size:11px;font-weight:400}.contact-heading{font-family:var(--display);letter-spacing:-.035em;color:#fff;margin-bottom:24px;font-size:clamp(44px,6vw,80px);font-weight:800;line-height:.95}.contact-heading em{color:var(--accent);font-style:normal}.contact-sub{color:#ffffff73;font-size:15px;font-weight:400;line-height:1.7}.contact-actions{flex-direction:column;gap:14px;display:flex}.contact-email-btn{background:var(--accent);color:#fff;border-radius:10px;align-items:center;gap:12px;padding:18px 28px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;display:flex;box-shadow:0 6px 24px #ff3d0066}.contact-email-btn:hover{background:var(--accent-h);transform:translateY(-3px);box-shadow:0 12px 36px #ff3d0073}.contact-email-btn svg{width:18px;height:18px}.contact-links-row{background:#ffffff0d;border:1px solid #ffffff12;border-radius:10px;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.contact-link-item{background:#ffffff08;align-items:center;gap:10px;padding:16px 20px;text-decoration:none;transition:background .2s;display:flex}.contact-link-item:hover{background:#ffffff12}.contact-link-item svg{width:15px;height:15px;color:var(--accent)}.contact-link-label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#ffffff73;font-size:11px;font-weight:400;transition:color .2s}.contact-link-item:hover .contact-link-label{color:#fffc}footer{background:#09090e;border-top:none;justify-content:space-between;align-items:center;width:100%;padding:24px;display:flex}.footer-l,.footer-r{font-family:var(--mono);color:#ffffffb8;font-size:12px;font-weight:500;line-height:1.6}.footer-l span{color:#ff6a16}.reveal{opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease);transform:translateY(12px)}.reveal.visible{opacity:1;transform:none}.d1{transition-delay:80ms}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}.chat-widget-container{z-index:700;pointer-events:none;align-items:flex-end;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.chat-trigger-avatar{object-fit:cover;background:#000;border-radius:50%;width:100%;height:100%;transition:transform .2s}.chat-trigger:hover .chat-trigger-avatar{transform:scale(1.05)}.chat-header-avatar{border:1px solid var(--accent-border);object-fit:cover;background:#000;border-radius:50%;width:24px;height:24px;box-shadow:0 0 6px #ff3d0040}.chat-message-container{gap:8px;width:100%;margin-bottom:4px;display:flex}.chat-message-container.user{justify-content:flex-end}.chat-message-container.assistant{justify-content:flex-start;align-items:flex-start}.chat-avatar{object-fit:cover;border:1px solid var(--accent-border);background:#000;border-radius:50%;flex-shrink:0;width:28px;height:28px;box-shadow:0 0 8px #ff3d0026}.chat-tooltip{background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-md);opacity:0;pointer-events:auto;border-radius:8px;margin-bottom:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:opacity .3s;display:flex}.chat-tooltip.visible{opacity:1}.chat-trigger{background-color:var(--accent);color:#fff;width:52px;height:52px;box-shadow:var(--shadow-lg);cursor:pointer;pointer-events:auto;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background-color .2s,transform .2s;display:flex}.chat-trigger:hover{background-color:var(--accent-h);transform:translateY(-1px)scale(1.02)}.chat-drawer{background:var(--surface);border:1px solid var(--border);z-index:650;border-top-left-radius:16px;border-top-right-radius:16px;flex-direction:column;width:100%;height:82dvh;transition:transform .2s ease-out;display:flex;position:fixed;bottom:0;right:0;transform:translateY(120%);box-shadow:0 8px 32px #0000001f}.chat-drawer.open{transform:translateY(0)}@media (min-width:768px){.chat-drawer{border-radius:12px;width:360px;height:480px;bottom:90px;right:24px}}.chat-header{border-bottom:1px solid var(--border);background:var(--surface);border-top-left-radius:12px;border-top-right-radius:12px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.chat-header-title{color:var(--text);font-size:14px;font-weight:500}.chat-close-btn{cursor:pointer;color:var(--text-3);background:0 0;border:none;justify-content:center;align-items:center;transition:color .2s;display:flex}.chat-close-btn:hover{color:var(--text)}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:16px;font-size:14px;display:flex;overflow-y:auto}.chat-message{word-wrap:break-word;border-radius:16px;max-width:85%;padding:10px 14px;line-height:1.6}.chat-message.user{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-message.assistant{background:var(--bg);color:var(--text);border-bottom-left-radius:4px;align-self:flex-start}.chat-suggestions{flex-direction:column;gap:8px;margin-top:auto;display:flex}.chat-chip{text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:10px 14px;font-size:13px;transition:border-color .2s,background-color .2s;box-shadow:0 2px 4px #00000005}.chat-chip:hover{border-color:var(--accent);background-color:var(--accent-bg)}.chat-form{border-top:1px solid var(--border);background:var(--surface);border-bottom-right-radius:12px;border-bottom-left-radius:12px;gap:8px;padding:12px;display:flex}.chat-input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;outline:none;flex:1;padding:8px 12px;font-size:14px;transition:border-color .2s}.chat-input:focus{border-color:var(--accent)}.chat-input::placeholder{color:var(--text-3)}.chat-send-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;transition:background-color .2s,opacity .2s;display:flex}.chat-send-btn:hover:not(:disabled){background-color:var(--accent-h)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.loading-dots:after{content:".";animation:1.5s steps(4,end) infinite dots}@keyframes dots{0%,20%{color:#0000;text-shadow:.25em 0 #0000,.5em 0 #0000}40%{color:var(--text);text-shadow:.25em 0 #0000,.5em 0 #0000}60%{text-shadow:.25em 0 0 var(--text), .5em 0 0 #0000}80%,to{text-shadow:.25em 0 0 var(--text), .5em 0 0 var(--text)}}@media (max-width:1100px){.research-card{grid-template-columns:1fr}.live-demo-grid,.ai-bento-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-outer{grid-template-columns:1fr}.skills-sidebar{margin-bottom:40px;display:block;position:static}.skills-sidebar-title,.skills-sidebar-sub{display:none}.proj-card.wide .proj-inner{grid-template-columns:1fr}}@media (max-width:900px){.live-demo-grid,.ai-bento-grid{grid-template-columns:1fr;gap:18px}.hero-sub-row{grid-template-columns:1fr;gap:24px}.hero-ctas{flex-direction:row}.projects-grid{grid-template-columns:1fr}.proj-card.wide{grid-column:span 1}.about-main-grid,.about-grid{grid-template-columns:1fr}.about-card.main{grid-column:span 1}.contact-inner{grid-template-columns:1fr;gap:48px}.exp-bullets{grid-template-columns:1fr}.live-demo-grid{grid-template-columns:1fr;gap:20px}.live-demo-card{min-height:auto}.live-demo-image{min-height:160px}}@media (max-width:768px){.exp-period,.desktop-only{display:none}.mobile-only{display:block}.exp-header{flex-direction:column;align-items:stretch;gap:12px}.exp-header>div:last-child{text-align:right;width:100%}.exp-promo-tag{letter-spacing:.06em;max-width:100%;padding:4px 10px;font-size:9px}.exp-period,.exp-date,.exp-location{text-align:right}.exp-date{margin-top:4px}.exp-location{margin-top:2px}.exp-company{white-space:nowrap;text-overflow:ellipsis;font-size:22px;overflow:hidden}.exp-role{font-family:var(--display);letter-spacing:.08em;color:var(--accent);margin-bottom:6px;font-size:14px;font-weight:700}nav{padding:0 16px}.nav-center,.nav-github{display:none}.hamburger{display:block}.hero-inner{padding:40px 16px 32px}.container{padding:0 16px}.section{padding:64px 0}.hero-stats{border-radius:12px!important;grid-template-columns:repeat(4,1fr)!important;gap:1px!important}.h-stat{text-align:center!important;padding:12px 6px!important}.h-stat-n{margin-bottom:2px!important;font-size:20px!important}.h-stat-n span{font-size:13px!important}.h-stat-l{letter-spacing:.02em!important;margin-top:4px!important;font-size:8px!important;line-height:1.25!important}.h-stat-l br{display:none!important}.exp-card{padding:24px}.research-body{padding:28px}.research-metrics{padding:28px 24px}.contact-inner{padding:0 16px}.contact-links-row{grid-template-columns:1fr}footer{text-align:center;flex-direction:column;gap:6px;padding:16px}.skills-sidebar{display:block}.pscan{padding:24px 20px}.pst{flex-direction:column;align-items:flex-start;gap:16px;position:relative}.ptr{flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding-right:40px;display:flex}.ptitle{width:100%;margin-bottom:4px;font-size:19px;line-height:1.3}.badge{padding:2px 8px;font-size:9px}.etog{margin-top:0;position:absolute;top:0;right:0}.pst>div:last-child{align-items:center;gap:10px;width:100%;display:flex}.pexi{grid-template-columns:1fr;padding:24px 20px}.skills-outer{grid-template-columns:1fr}.skills-sidebar{margin-bottom:32px;display:block;position:relative;top:0}.exploring-group{padding:20px}}.pvp{font-family:var(--display);color:var(--accent);border:1px solid var(--accent-border);background:var(--accent-bg);transition:all .2s var(--ease);white-space:nowrap;border-radius:20px;align-items:center;gap:6px;margin-left:auto;padding:5px 12px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}@media (max-width:600px){.pvp{margin-left:0;padding:4px 10px;font-size:11px}}.pvp:hover{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.exploring-group{background:linear-gradient(135deg,#ff3d0014 0%,#ffffff08 100%);border:1px solid #ff3d0026;border-radius:20px;margin-top:40px;padding:30px;position:relative;overflow:hidden}.exploring-group:before{content:"";pointer-events:none;opacity:.5;background:radial-gradient(circle,#ff3d001a 0%,#0000 70%);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.exploring-title{font-family:var(--display);text-transform:uppercase;letter-spacing:.15em;color:var(--accent);align-items:center;gap:10px;margin-bottom:20px;font-size:14px;font-weight:800;display:flex}.exploring-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent);border-radius:50%;animation:2s infinite pulse-glow}@keyframes pulse-glow{0%{opacity:.8;transform:scale(1)}50%{opacity:1;box-shadow:0 0 20px var(--accent);transform:scale(1.4)}to{opacity:.8;transform:scale(1)}}.exploring-chips{flex-wrap:wrap;gap:12px;display:flex}.exploring-chip{font-family:var(--mono);color:var(--text);transition:all .3s var(--ease);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ff3d001f;border:1px solid #ff3d0033;border-radius:50px;padding:10px 20px;font-size:13px;font-weight:600}.exploring-chip:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-3px)scale(1.05);box-shadow:0 10px 20px #ff3d0033}html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}.container,.section,.hero-inner,.projects-grid,.exp-card,.research-card,.research-body,.research-metrics,.skills-outer,.skills-groups,.skills-controls,.skill-group,.detail-panel,.about-grid,.about-card,.about-main-grid,.live-demo-grid,.ai-bento-grid,.contact-inner,footer{box-sizing:border-box!important;max-width:100%!important}.pipeline-flow-diagram{grid-template-columns:1fr auto 1fr auto 1fr;display:grid!important}.pipeline-arrow{text-align:center;transition:transform .25s var(--ease);justify-content:center;align-items:center;font-size:20px;font-weight:700;line-height:1;display:flex}@media (max-width:768px){.container{padding:0 16px!important}.filter-tabs,.project-stack-chips,.skills-sidebar,.metrics-grid{-webkit-mask-image:linear-gradient(90deg,#000 0% 85%,#0000 100%)!important;mask-image:linear-gradient(90deg,#000 0% 85%,#0000 100%)!important}.metrics-grid{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;scroll-snap-type:x mandatory!important;flex-flow:row!important;justify-content:flex-start!important;gap:16px!important;width:100%!important;padding:16px 12px!important;display:flex!important;overflow-x:auto!important}.metrics-grid::-webkit-scrollbar{display:none!important}.metrics-grid>div{scroll-snap-align:start!important;text-align:center!important;flex:none!important;width:110px!important}.pipeline-flow-diagram{grid-template-columns:1fr!important;gap:16px!important}.pipeline-arrow{margin:6px 0!important;transform:rotate(90deg)!important}.exp-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.exp-header>div:last-child{text-align:left!important;align-items:flex-start!important;width:100%!important}.exp-period,.exp-date,.exp-location{text-align:left!important}.pexi{border:none!important;grid-template-columns:1fr!important;width:100%!important;padding:0!important}.pipeline-bullets{grid-template-columns:1fr!important}.exp-card{padding:24px 20px!important}.research-card{grid-template-columns:1fr!important}.research-body{padding:24px 20px!important}.research-metrics{padding:28px 20px!important}.skills-outer{box-sizing:border-box!important;grid-template-columns:1fr!important;gap:24px!important;width:100%!important;min-width:0!important;max-width:100%!important}.skills-groups{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.skills-sidebar{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;box-sizing:border-box!important;flex-flow:row!important;gap:12px!important;width:100%!important;margin-bottom:24px!important;padding:4px 0!important;display:flex!important;overflow-x:auto!important}.skills-sidebar::-webkit-scrollbar{display:none!important}.skills-sidebar-stat{border:1px solid var(--border)!important;box-sizing:border-box!important;background:#ffffff05!important;border-radius:10px!important;flex:none!important;align-items:center!important;gap:16px!important;width:250px!important;margin-top:0!important;padding:14px 16px!important;display:flex!important}.skills-sidebar-stat:first-of-type{border-top:1px solid var(--border)!important;margin-top:0!important}.sss-n{min-width:50px!important;font-size:26px!important}.sss-l{font-size:11px!important;line-height:1.35!important}.skills-controls{gap:16px!important;padding:16px 12px!important}.search-wrapper{width:100%!important;min-width:100%!important}.filter-tabs{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;flex-wrap:nowrap!important;gap:8px!important;width:100%!important;padding-bottom:6px!important;display:flex!important;overflow-x:auto!important}.filter-tabs::-webkit-scrollbar{display:none!important}.filter-tab{text-align:center!important;flex:none!important;padding:8px 14px!important;font-size:11px!important}.project-stack-chips{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;flex-wrap:nowrap!important;width:100%!important;padding-bottom:8px!important;overflow-x:auto!important}.project-stack-chips::-webkit-scrollbar{display:none!important}.project-stack-chips span{flex:none!important}.skill-group{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:20px 16px!important;overflow:hidden!important}.skill-chips{-webkit-overflow-scrolling:touch!important;scrollbar-width:thin!important;scrollbar-color:#ff3d0099 #ffffff08!important;flex-wrap:nowrap!important;gap:8px!important;width:100%!important;padding-bottom:12px!important;padding-right:24px!important;display:flex!important;overflow-x:auto!important}.skill-chips::-webkit-scrollbar{height:5px!important;display:block!important}.skill-chips::-webkit-scrollbar-track{background:#ffffff08!important;border-radius:10px!important}.skill-chips::-webkit-scrollbar-thumb{background:#ff3d0099!important;border-radius:10px!important}.skill-chip-interactive{flex:none!important;padding:8px 12px!important;font-size:11.5px!important}.detail-panel{padding:20px 16px!important}}@media (max-width:480px){.container{padding:0 12px!important}.hero-inner{padding:32px 12px 24px!important}.hero-stats{border:1px solid var(--border)!important;background:#ffffff03!important;border-radius:12px!important;grid-template-columns:repeat(2,1fr)!important;gap:16px 12px!important;padding:16px!important}.h-stat{text-align:center!important;padding:4px!important}.h-stat-n{font-size:22px!important}.h-stat-n span{font-size:13px!important}.h-stat-l{letter-spacing:.02em!important;margin-top:4px!important;font-size:10.5px!important;line-height:1.35!important}.h-stat-l br{display:block!important}.metrics-grid{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;scroll-snap-type:x mandatory!important;flex-flow:row!important;justify-content:flex-start!important;gap:16px!important;width:100%!important;padding:16px 12px!important;display:flex!important;overflow-x:auto!important}.metrics-grid::-webkit-scrollbar{display:none!important}.metrics-grid>div{scroll-snap-align:start!important;text-align:center!important;flex:none!important;width:110px!important}.live-demo-grid,.ai-bento-grid{grid-template-columns:1fr!important;gap:16px!important}.hero-headline{font-size:clamp(30px,9vw,42px)!important}.exp-card{padding:20px 14px!important}.skill-group{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:16px 12px!important;overflow:hidden!important}.skill-chip-interactive{padding:6px 10px!important;font-size:11px!important}.detail-panel{padding:16px 12px!important}}
