@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(../media/32687112bd2dd8db-s.0v2ipp7s07_p9.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:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(../media/28868e710e86be81-s.44ks8kcggj012.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:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.1ii7211jqpzi_.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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/32687112bd2dd8db-s.0v2ipp7s07_p9.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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/28868e710e86be81-s.44ks8kcggj012.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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.1ii7211jqpzi_.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.0v2ipp7s07_p9.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.44ks8kcggj012.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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.1ii7211jqpzi_.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/32687112bd2dd8db-s.0v2ipp7s07_p9.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/28868e710e86be81-s.44ks8kcggj012.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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.1ii7211jqpzi_.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/32687112bd2dd8db-s.0v2ipp7s07_p9.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28868e710e86be81-s.44ks8kcggj012.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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.1ii7211jqpzi_.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_a48faf8d-module__fhMpaG__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_a48faf8d-module__fhMpaG__variable{--font-space-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_b9fd54fb-module__iIpoyq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_b9fd54fb-module__iIpoyq__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--font-heading:var(--font-space-grotesk), "Space Grotesk", sans-serif;--font-body:var(--font-inter), "Inter", sans-serif;--bg-base:#08080c;--bg-surface:#0f0f15;--bg-card:#14141a;--bg-card-hover:#181820;--bg-overlay:#08080ceb;--accent-1:#935eed;--accent-2:#0df2f2;--accent-gradient:linear-gradient(135deg, var(--accent-1), var(--accent-2));--accent-gradient-reverse:linear-gradient(135deg, var(--accent-2), var(--accent-1));--glass-bg:#1a1a23b3;--glass-border:#9f8cd91f;--glass-blur:blur(20px);--text-primary:#f4f4f6;--text-secondary:#acacb9;--text-muted:#787887;--text-accent:var(--accent-1);--border-subtle:#8a7ab81a;--border-medium:#8a7ab833;--border-strong:#9f8cd959;--fs-xs:11px;--fs-sm:13px;--fs-base:15px;--fs-md:17px;--fs-lg:20px;--fs-xl:24px;--fs-2xl:30px;--fs-3xl:38px;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--navbar-h:68px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px #00000059;--shadow-lg:0 16px 48px #0006;--shadow-xl:0 32px 80px #00000080;--glow-accent:0 0 30px #935eed40;--glow-strong:0 0 60px #935eed59;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--transition-spring:.35s cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);scroll-behavior:smooth}body{background:var(--bg-base);color:var(--text-primary);background-image:radial-gradient(80% 60% at 20% 0,#290f572e 0%,#0000 60%),radial-gradient(60% 40% at 80% 100%,#0a5c5c1f 0%,#0000 55%);min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}li{list-style:none}button{cursor:pointer;font:inherit;background:0 0;border:none}img{max-width:100%;display:block}address{font-style:normal}::selection{background:var(--accent-1);color:var(--bg-base)}:focus-visible{outline:2px solid var(--accent-1);outline-offset:3px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--accent-1)}.site-wrapper{flex-direction:column;min-height:100vh;display:flex}.site-body{padding-top:var(--navbar-h);padding-inline:20px;flex-direction:column;flex:1;gap:24px;width:100%;max-width:1300px;margin-inline:auto;padding-bottom:60px;display:flex}.main-content{flex:1;min-width:0}article{animation:.4s both fadeSlideIn;display:none}article.active{display:block}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);border-radius:20px}.navbar-header{z-index:100;width:100%;position:fixed;top:0;left:0}.navbar{height:var(--navbar-h);background:var(--glass-bg);border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);justify-content:space-between;align-items:center;padding-inline:24px;display:flex}.navbar-brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-text{background:var(--accent-gradient);color:#fff;width:38px;height:38px;font-family:var(--font-heading);font-weight:var(--fw-bold);font-size:var(--fs-sm);letter-spacing:.5px;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-name{font-family:var(--font-heading);font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--text-primary);display:none}.navbar-list{align-items:center;gap:4px;display:none}.navbar-link{font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);transition:color var(--transition-base), background var(--transition-base);letter-spacing:.3px;text-transform:uppercase;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;display:inline-flex;position:relative}.navbar-link:hover{color:var(--text-primary);background:var(--border-subtle)}.navbar-link.active{color:var(--text-primary)}.nav-indicator{background:var(--accent-gradient);width:0;height:2px;transition:width var(--transition-spring);border-radius:2px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.navbar-link.active .nav-indicator{width:60%}.navbar-link:hover .nav-indicator{width:40%}.hamburger{width:36px;height:36px;transition:background var(--transition-base);border-radius:8px;flex-direction:column;justify-content:center;gap:5px;padding:4px;display:flex}.hamburger:hover{background:var(--border-subtle)}.hamburger span{background:var(--text-secondary);height:2px;transition:transform var(--transition-base), opacity var(--transition-base), width var(--transition-base);transform-origin:50%;border-radius:2px;display:block}.hamburger span:first-child{width:22px}.hamburger span:nth-child(2){width:16px}.hamburger span:nth-child(3){width:20px}.hamburger.open span:first-child{width:22px;transform:translateY(7px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){width:22px;transform:translateY(-7px)rotate(-45deg)}.mobile-menu{background:var(--bg-overlay);-webkit-backdrop-filter:blur(24px);z-index:90;opacity:0;pointer-events:none;transition:opacity var(--transition-slow);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mobile-menu.open{opacity:1;pointer-events:all}.mobile-nav-list{flex-direction:column;align-items:center;gap:8px;display:flex}.mobile-nav-link{font-family:var(--font-heading);font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-secondary);transition:color var(--transition-base), transform var(--transition-spring);letter-spacing:-.5px;border-radius:16px;padding:12px 40px;display:block}.mobile-nav-link:hover,.mobile-nav-link.active{color:#0000;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;transform:scale(1.05)}.profile-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-lg), var(--glow-accent);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:0;padding:28px 24px 24px;display:flex;position:relative;overflow:hidden}.profile-card:before{content:"";background:var(--accent-gradient);border-radius:24px 24px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.profile-card-mesh{pointer-events:none;opacity:.035;background-image:radial-gradient(circle at 20% 20%, var(--accent-1) 1px, transparent 1px), radial-gradient(circle at 80% 80%, var(--accent-2) 1px, transparent 1px), radial-gradient(circle at 60% 30%, var(--accent-1) .5px, transparent .5px);z-index:0;background-size:32px 32px,28px 28px,20px 20px;position:absolute;inset:0}.profile-card>:not(.profile-card-mesh){z-index:1;position:relative}.profile-avatar-wrap{margin-bottom:20px;position:relative}.avatar-glow-ring{background:var(--accent-gradient);width:110px;height:110px;transition:transform var(--transition-spring);border-radius:50%;padding:3px;animation:3s ease-in-out infinite ringPulse}.profile-avatar-wrap:hover .avatar-glow-ring{transform:scale(1.05)}@keyframes ringPulse{0%,to{box-shadow:0 0 #935eed66}50%{box-shadow:0 0 0 8px #935eed00}}.profile-avatar{object-fit:cover;border:3px solid var(--bg-card);border-radius:50%;width:100%;height:100%}.avatar-status{border:2px solid var(--bg-card);background:#26d968;border-radius:50%;width:14px;height:14px;animation:2s infinite statusPulse;position:absolute;bottom:6px;right:6px}@keyframes statusPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.profile-identity{margin-bottom:20px}.profile-name{font-family:var(--font-heading);font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text-primary);white-space:nowrap;margin-bottom:8px}.profile-title{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--accent-2);letter-spacing:.3px;background:#0df2f21a;border:1px solid #0df2f233;border-radius:100px;padding:4px 14px;display:inline-block}.profile-divider{background:var(--border-subtle);width:100%;height:1px;margin-block:20px}.profile-contacts{width:100%;max-height:0;transition:max-height .45s cubic-bezier(.4,0,.2,1);overflow:hidden}.profile-contacts.expanded{max-height:var(--contacts-height,400px)}.contacts-list{text-align:left;flex-direction:column;gap:16px;width:100%;margin-bottom:20px;display:flex}.contact-item{transition:transform var(--transition-base), opacity var(--transition-base);align-items:center;gap:14px;display:flex}.contact-item:hover{transform:translate(4px)}.contact-icon-box{width:38px;height:38px;color:var(--accent-1);transition:background var(--transition-base), border-color var(--transition-base), transform var(--transition-spring);background:#935eed14;border:1px solid #935eed26;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;display:flex}.contact-item:hover .contact-icon-box{background:#935eed24;border-color:#935eed4d;transform:scale(1.08)}.contact-label{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:2px}.contact-value,.contact-value a{font-size:var(--fs-sm);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:160px;transition:color var(--transition-base);display:block;overflow:hidden}.contact-value:hover,a.contact-value:hover{color:var(--accent-2)}.profile-toggle-btn{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--accent-1);transition:background var(--transition-base), border-color var(--transition-base), transform var(--transition-spring);background:#935eed0f;border:1px solid #935eed33;border-radius:100px;align-items:center;gap:6px;margin-top:-8px;margin-bottom:4px;padding:8px 16px;display:flex}.profile-toggle-btn:hover{background:#935eed1f;border-color:#935eed59;transform:scale(1.03)}.profile-toggle-btn ion-icon{transition:transform var(--transition-base)}.profile-toggle-btn:hover ion-icon{transform:translateY(1px)}.download-cv-btn{background:var(--accent-gradient);color:#fff;width:100%;font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:.3px;transition:opacity var(--transition-base), transform var(--transition-spring), box-shadow var(--transition-base);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;text-decoration:none;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #935eed40}.download-cv-btn:before{content:"";background:linear-gradient(105deg,#0000 40%,#ffffff26 45% 55%,#0000 60%);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.download-cv-btn:hover:before{transform:translate(100%)}.download-cv-btn:hover{opacity:.92;transform:translateY(-2px);box-shadow:0 8px 24px #935eed59}.download-cv-btn:active{transform:translateY(0)}.download-cv-btn ion-icon{font-size:16px}.social-list{justify-content:center;gap:12px;padding-top:4px;display:flex}.social-list li{animation:.4s both socialFadeIn;animation-delay:calc(var(--social-index,0) * 80ms)}@keyframes socialFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.social-link{border:1px solid var(--border-subtle);width:38px;height:38px;color:var(--text-muted);transition:color var(--transition-base), border-color var(--transition-base), background var(--transition-base), transform var(--transition-spring), box-shadow var(--transition-base);border-radius:10px;justify-content:center;align-items:center;font-size:18px;display:flex}.social-link:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0000004d}.social-link--linkedin:hover{color:#258cf4;background:#258cf41a;border-color:#258cf466;box-shadow:0 4px 14px #258cf433}.social-link--github:hover{color:var(--text-primary);background:#ffffff14;border-color:#e6e6e64d;box-shadow:0 4px 14px #ffffff1a}.social-link--instagram:hover{color:#f04299;background:#f042991a;border-color:#f0429966;box-shadow:0 4px 14px #f0429933}.article-header{margin-bottom:32px}.article-title{font-family:var(--font-heading);font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text-primary);flex-direction:column;gap:8px;display:inline-flex;position:relative}.article-title:after{content:"";background:var(--accent-gradient);border-radius:3px;width:40px;height:3px;display:block}.section-title{font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:24px}.about-text{color:var(--text-secondary);font-size:var(--fs-base);font-weight:var(--fw-regular);margin-bottom:48px;line-height:1.8}.about-text p+p{margin-top:16px}.tech-section{margin-bottom:48px}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:16px;display:grid}.tech-item{border:1px solid var(--border-subtle);background:var(--glass-bg);transition:border-color var(--transition-base), transform var(--transition-spring), background var(--transition-base), box-shadow var(--transition-base);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:16px 10px;text-decoration:none;display:flex}.tech-item:hover{border-color:var(--border-strong);background:var(--bg-card-hover);box-shadow:var(--shadow-md), var(--glow-accent);transform:translateY(-4px)}.tech-item img{object-fit:contain;filter:grayscale(.3);width:36px;height:36px;transition:filter var(--transition-base), transform var(--transition-base)}.tech-item:hover img{filter:grayscale(0);transform:scale(1.1)}.services-section{margin-bottom:48px}.service-grid{grid-template-columns:1fr;gap:16px;display:grid}.service-card{border:1px solid var(--border-subtle);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);transition:border-color var(--transition-base), transform var(--transition-spring), box-shadow var(--transition-base);border-radius:16px;align-items:flex-start;gap:18px;padding:24px;display:flex}.service-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md), var(--glow-accent);transform:translateY(-3px)}.service-icon{background:#935eed14;border:1px solid #935eed26;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.service-icon img{object-fit:contain;width:28px;height:28px}.service-body{flex:1}.service-name{font-family:var(--font-heading);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:6px}.service-desc{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.6}.filter-pills{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.filter-pill{border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);font-family:var(--font-heading);letter-spacing:.2px;cursor:pointer;transition:all var(--transition-base);background:0 0;border-radius:100px;padding:7px 18px}.filter-pill:hover{border-color:var(--border-medium);color:var(--text-primary)}.filter-pill.active{background:var(--accent-gradient);color:#fff;border-color:#0000;box-shadow:0 4px 16px #935eed4d}.projects-grid{grid-template-columns:1fr;gap:24px;display:grid}.project-card{border:1px solid var(--border-subtle);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);transition:border-color var(--transition-base), transform var(--transition-spring), box-shadow var(--transition-base);border-radius:18px;overflow:hidden}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg), var(--glow-accent);transform:translateY(-5px)}.project-card a{color:inherit;text-decoration:none;display:block}.project-img-wrap{aspect-ratio:16/9;width:100%;position:relative;overflow:hidden}.project-img-wrap img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.project-card:hover .project-img-wrap img{transform:scale(1.06)}.project-overlay{opacity:0;transition:opacity var(--transition-base);background:linear-gradient(#0000 40%,#08080cd9 100%);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project-card:hover .project-overlay{opacity:1}.project-overlay-icon{background:var(--accent-gradient);color:#fff;opacity:0;width:52px;height:52px;transition:transform var(--transition-spring), opacity var(--transition-base);border-radius:14px;justify-content:center;align-items:center;font-size:22px;display:flex;transform:scale(.7)}.project-card:hover .project-overlay-icon{opacity:1;transform:scale(1)}.project-info{padding:18px 20px 20px}.project-name{font-family:var(--font-heading);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:4px}.project-category{font-size:var(--fs-xs);color:var(--accent-2);text-transform:uppercase;letter-spacing:.8px;font-weight:var(--fw-medium)}.timeline-section{margin-bottom:48px}.timeline-header{align-items:center;gap:14px;margin-bottom:28px;display:flex}.timeline-icon{width:42px;height:42px;color:var(--accent-1);background:#935eed1a;border:1px solid #935eed33;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.timeline-section-title{font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-primary)}.timeline-list{padding-left:28px;position:relative}.timeline-list:before{content:"";background:linear-gradient(to bottom, var(--accent-1), transparent);opacity:.3;width:1px;height:calc(100% - 16px);position:absolute;top:8px;left:0}.timeline-item{margin-bottom:28px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-item:before{content:"";background:var(--accent-gradient);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;left:-32px;box-shadow:0 0 0 3px #935eed26}.timeline-item-title{font-family:var(--font-heading);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:6px;line-height:1.4}.timeline-date{font-size:var(--fs-xs);color:var(--accent-2);font-weight:var(--fw-medium);letter-spacing:.4px;margin-bottom:8px;display:inline-block}.timeline-text{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.7}.skills-section{margin-bottom:16px}.skills-card{border:1px solid var(--border-subtle);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border-radius:18px;padding:28px}.skill-item+.skill-item{margin-top:24px}.skill-label-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.skill-name{font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}.skill-pct{font-size:var(--fs-xs);color:var(--accent-2);font-weight:var(--fw-semibold)}.skill-bar-bg{background:var(--border-subtle);border-radius:10px;width:100%;height:6px;overflow:hidden}.skill-bar-fill{border-radius:inherit;background:var(--accent-gradient);height:100%;position:relative}.skill-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#9efafa66,#0000);animation:2.5s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.mapbox{border:1px solid var(--border-subtle);border-radius:18px;height:260px;margin-bottom:32px;overflow:hidden}.mapbox figure{height:100%}.mapbox iframe{filter:grayscale()invert(.92)hue-rotate(200deg);opacity:.7;border:none;width:100%;height:100%}.form-title{font-family:var(--font-heading);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:24px}.input-row{grid-template-columns:1fr;gap:16px;margin-bottom:16px;display:grid}.form-field{flex-direction:column;gap:8px;display:flex}.form-input{background:var(--bg-card);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);font-size:var(--fs-base);font-family:var(--font-body);transition:border-color var(--transition-base), box-shadow var(--transition-base);border-radius:12px;outline:none;padding:14px 18px}.form-input::placeholder{color:var(--text-muted);font-weight:var(--fw-regular)}.form-input:focus{border-color:var(--accent-1);box-shadow:0 0 0 3px #935eed1f}.form-input:focus:invalid{border-color:#e05252}textarea.form-input{resize:vertical;min-height:130px;margin-bottom:16px}.form-submit-btn{background:var(--accent-gradient);color:#fff;font-family:var(--font-heading);font-size:var(--fs-base);font-weight:var(--fw-semibold);letter-spacing:.3px;cursor:pointer;transition:opacity var(--transition-base), transform var(--transition-spring), box-shadow var(--transition-base);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px 32px;display:inline-flex;box-shadow:0 4px 20px #935eed4d}.form-submit-btn:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 8px 30px #935eed66}.form-submit-btn:active{transform:translateY(0)}.form-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-message{font-size:var(--fs-sm);color:var(--accent-2);background:#0df2f214;border:1px solid #0df2f233;border-radius:10px;margin-top:16px;padding:12px 18px}.blog-grid{grid-template-columns:1fr;gap:24px;display:grid}.blog-card{border:1px solid var(--border-subtle);background:var(--glass-bg);transition:border-color var(--transition-base), transform var(--transition-spring), box-shadow var(--transition-base);border-radius:18px;overflow:hidden}.blog-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md), var(--glow-accent);transform:translateY(-4px)}.blog-banner{aspect-ratio:16/9;width:100%;overflow:hidden}.blog-banner img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.blog-card:hover .blog-banner img{transform:scale(1.05)}.blog-content{padding:20px}.blog-meta{align-items:center;gap:8px;margin-bottom:10px;display:flex}.blog-category{font-size:var(--fs-xs);color:var(--accent-2);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.6px}.blog-dot{background:var(--text-muted);border-radius:50%;width:3px;height:3px;display:inline-block}.blog-date{font-size:var(--fs-xs);color:var(--text-muted)}.blog-title{font-family:var(--font-heading);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-primary);transition:color var(--transition-base);margin-bottom:8px;line-height:1.4}.blog-card:hover .blog-title{color:var(--accent-1)}.blog-excerpt{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.6}.blog-detail-page{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);border-radius:24px;padding:24px}.blog-detail-header{margin-bottom:28px}.blog-detail-header .back-btn{color:var(--accent-1);font-size:var(--fs-sm);font-family:var(--font-heading);font-weight:var(--fw-semibold);transition:transform var(--transition-base), color var(--transition-base);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:20px;display:inline-flex}.blog-detail-header .back-btn:hover{color:var(--accent-2);transform:translate(-4px)}.blog-detail-header .back-btn ion-icon{font-size:16px}.blog-detail-meta{align-items:center;gap:8px;margin-bottom:12px;display:flex}.blog-detail-title{font-family:var(--font-heading);font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:16px;line-height:1.3}.blog-github-link{color:var(--accent-1);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background var(--transition-base), color var(--transition-base), transform var(--transition-spring);background:#935eed14;border:1px solid #935eed33;border-radius:10px;align-items:center;gap:8px;padding:8px 16px;display:inline-flex}.blog-github-link:hover{color:var(--text-primary);background:#935eed26;transform:translateY(-2px)}.blog-github-link ion-icon{font-size:16px}.blog-detail-banner{aspect-ratio:21/9;border:1px solid var(--border-subtle);border-radius:16px;width:100%;margin-bottom:32px;overflow:hidden}.blog-detail-banner img{object-fit:cover;width:100%;height:100%}.blog-detail-content{color:var(--text-secondary);font-size:var(--fs-base);line-height:1.8}.blog-detail-content p{margin-bottom:20px}.blog-detail-content h2{font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin-top:36px;margin-bottom:16px}.blog-detail-content h3{font-family:var(--font-heading);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-primary);margin-top:28px;margin-bottom:12px}.blog-detail-content ul,.blog-detail-content ol{margin-bottom:20px;padding-left:20px}.blog-detail-content li{color:var(--text-secondary);margin-bottom:8px;list-style:outside}.blog-detail-content pre{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:24px;padding:16px;overflow-x:auto}.blog-detail-content code{color:var(--accent-2);font-family:monospace;font-size:14px}.blog-detail-content blockquote{border-left:3px solid var(--accent-1);background:#935eed0d;border-radius:0 12px 12px 0;margin-bottom:24px;padding:16px 20px;font-style:italic}.blog-detail-content table{border-collapse:separate;border-spacing:0;background:var(--glass-bg);border:1px solid var(--glass-border);width:100%;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:var(--glass-blur);border-radius:16px;margin-block:32px;overflow:hidden}.blog-detail-content th,.blog-detail-content td{text-align:left;border-bottom:1px solid var(--border-medium);font-size:var(--fs-base);color:var(--text-secondary);padding:16px 24px}.blog-detail-content th{font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent-2);text-transform:uppercase;letter-spacing:1px;background:#23232f99}.blog-detail-content tr:last-child td{border-bottom:none}.blog-detail-content tr:hover td{color:var(--text-primary);transition:background var(--transition-fast), color var(--transition-fast);background:#935eed14}.h2{font-family:var(--font-heading);font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text-primary)}.h3{font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-primary)}.h4{font-family:var(--font-heading);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-primary)}.h5{font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary)}@media (min-width:640px){.brand-name{display:block}.service-grid,.projects-grid,.blog-grid,.input-row{grid-template-columns:1fr 1fr}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@media (min-width:768px){.navbar-list{display:flex}.hamburger{display:none}.site-body{padding-top:calc(var(--navbar-h) + 32px);padding-inline:32px}}@media (min-width:1100px){.site-body{flex-direction:row;align-items:flex-start;gap:32px;padding-inline:40px}.profile-card{width:280px;top:calc(var(--navbar-h) + 32px);max-height:calc(100vh - var(--navbar-h) - 48px);flex-shrink:0;position:sticky;overflow-y:auto}.profile-contacts{overflow:visible;max-height:none!important}.profile-toggle-btn{display:none}.projects-grid{grid-template-columns:repeat(3,1fr)}.blog-grid,.service-grid{grid-template-columns:1fr 1fr}.mapbox{height:360px}.form-submit-btn{width:auto;margin-left:auto;display:flex}}.project-detail-page{padding:30px}.project-detail-header{margin-bottom:28px}.project-detail-header .back-btn{color:var(--accent-1);font-size:var(--fs-sm);font-family:var(--font-heading);font-weight:var(--fw-semibold);transition:transform var(--transition-base), color var(--transition-base);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:20px;text-decoration:none;display:inline-flex}.project-detail-header .back-btn:hover{color:var(--accent-2);transform:translate(-4px)}.project-detail-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.project-detail-title{font-family:var(--font-heading);font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary);margin:0}.project-detail-actions{align-items:center;gap:12px;display:flex}.project-action-link{font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary);background:var(--glass-bg);border:1px solid var(--border-medium);transition:all var(--transition-base);border-radius:24px;align-items:center;gap:8px;padding:8px 18px;text-decoration:none;display:inline-flex}.project-action-link:hover{border-color:var(--accent-1);color:#fff;transform:translateY(-2px)}.project-action-live{background:var(--accent-gradient);color:#fff;border-color:#0000;box-shadow:0 4px 16px #935eed4d}.project-action-live:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 6px 20px #935eed73}.project-tech-stack{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.project-tech-badge{background:var(--glass-bg);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--fs-sm);font-family:var(--font-heading);letter-spacing:.3px;border-radius:10px;padding:6px 14px}.project-walkthrough-list{flex-direction:column;gap:56px;margin-top:40px;display:flex}.project-walkthrough-card{grid-template-columns:1fr 1fr;align-items:center;gap:36px;display:grid}@media (max-width:860px){.project-walkthrough-card{grid-template-columns:1fr;gap:20px}}.project-walkthrough-img-wrap{cursor:zoom-in;border:1px solid var(--border-subtle);background:var(--glass-bg);transition:border-color var(--transition-base), transform var(--transition-spring), box-shadow var(--transition-base);border-radius:16px;position:relative;overflow:hidden;box-shadow:0 16px 36px #00000059}.project-walkthrough-img-wrap:hover{border-color:var(--accent-1);box-shadow:var(--shadow-lg), var(--glow-accent);transform:translateY(-4px)}.project-walkthrough-img-wrap img{width:100%;height:auto;transition:transform var(--transition-slow);border-radius:15px;display:block}.project-walkthrough-img-wrap:hover img{transform:scale(1.03)}.project-walkthrough-overlay{opacity:0;transition:opacity var(--transition-base);pointer-events:none;background:linear-gradient(#0000 40%,#08080cd9 100%);justify-content:flex-end;align-items:flex-end;padding:16px;display:flex;position:absolute;inset:0}.project-walkthrough-img-wrap:hover .project-walkthrough-overlay{opacity:1}.project-walkthrough-badge{background:var(--accent-gradient);color:#fff;font-size:var(--fs-xs);font-family:var(--font-heading);font-weight:var(--fw-semibold);letter-spacing:.5px;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;display:inline-flex;box-shadow:0 4px 14px #0006}.project-walkthrough-info{color:var(--text-secondary)}.project-walkthrough-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--fs-xl);margin-bottom:14px}.project-walkthrough-desc{line-height:1.7;font-size:var(--fs-base);color:var(--text-secondary)}.project-walkthrough-desc p{margin-bottom:12px}.project-walkthrough-desc p:last-child{margin-bottom:0}.image-modal-backdrop{z-index:999999;-webkit-backdrop-filter:blur(18px);background:#08080cf0;flex-direction:column;justify-content:space-between;align-items:center;padding:16px 24px;animation:.22s cubic-bezier(.16,1,.3,1) forwards modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.image-modal-header{border-bottom:1px solid var(--border-subtle);z-index:10;justify-content:space-between;align-items:center;width:100%;max-width:1400px;padding:8px 12px 16px;display:flex}.image-modal-info{align-items:center;gap:14px;min-width:0;display:flex}.image-modal-title{font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.image-modal-counter{font-size:var(--fs-xs);font-family:var(--font-heading);color:var(--accent-2);font-weight:var(--fw-medium);letter-spacing:.5px;background:#0df2f21f;border:1px solid #0df2f24d;border-radius:20px;padding:4px 12px}.image-modal-close-btn{background:var(--glass-bg);border:1px solid var(--border-medium);color:var(--text-primary);cursor:pointer;width:44px;height:44px;transition:background var(--transition-base), border-color var(--transition-base), transform var(--transition-spring), color var(--transition-base);box-shadow:var(--shadow-md);border-radius:50%;outline:none;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;display:flex}.image-modal-close-btn:hover{background:var(--accent-gradient);color:#fff;border-color:#0000;transform:scale(1.08)rotate(90deg)}.image-modal-content{flex:1;justify-content:center;align-items:center;width:100%;max-width:1400px;min-height:0;padding:16px 0;display:flex;position:relative}.image-modal-view{flex-direction:column;justify-content:center;align-items:center;max-width:100%;max-height:100%;display:flex;position:relative}.image-modal-img{object-fit:contain;width:auto;max-width:90vw;height:auto;max-height:calc(85vh - 90px);box-shadow:0 24px 60px #000000b3, 0 0 0 1px var(--border-medium);border-radius:12px;animation:.28s cubic-bezier(.16,1,.3,1) forwards modalImgZoom}@keyframes modalImgZoom{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.image-modal-caption{font-size:var(--fs-sm);color:var(--text-secondary);text-align:center;margin-top:10px}.image-modal-nav-btn{background:var(--glass-bg);border:1px solid var(--border-medium);color:var(--text-primary);cursor:pointer;width:48px;height:48px;transition:all var(--transition-base);z-index:20;box-shadow:var(--shadow-md);border-radius:50%;outline:none;justify-content:center;align-items:center;font-size:22px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.image-modal-nav-btn:hover{background:var(--accent-gradient);color:#fff;border-color:#0000;transform:translateY(-50%)scale(1.1)}.image-modal-prev{left:12px}.image-modal-next{right:12px}.image-modal-footer{text-align:center;padding-top:10px}.image-modal-hint{font-size:var(--fs-xs);color:var(--text-muted);letter-spacing:.3px}
