@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.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.0m6w47a4e5dy9.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.11u06r12fd6v_.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.0wxq9webf.ew4.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.067x_6k0k23tk.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.16ipb6fqu393i.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.0q-301v4kxxnr.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.0bjc5tiuqdqro.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.0m6w47a4e5dy9.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.11u06r12fd6v_.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.0wxq9webf.ew4.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.067x_6k0k23tk.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.16ipb6fqu393i.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.0q-301v4kxxnr.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.0bjc5tiuqdqro.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.0m6w47a4e5dy9.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.11u06r12fd6v_.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.0wxq9webf.ew4.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.067x_6k0k23tk.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.16ipb6fqu393i.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.0q-301v4kxxnr.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:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.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:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.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:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.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:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.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:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.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:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.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:800;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.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:800;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.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:800;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.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:800;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.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:800;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.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:800;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.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_2fda9e2d-module__4t-kPG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_2fda9e2d-module__4t-kPG__variable{--font-sans-fallback:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_9331482c-module__ZawDcW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_9331482c-module__ZawDcW__variable{--font-mono-fallback:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--ease-in-out-sine:cubic-bezier(.37, 0, .63, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-elastic:cubic-bezier(.68, -.55, .265, 1.55);--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.5s;--duration-slower:.8s;--duration-slowest:1.2s;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3.5rem;--text-6xl:4.5rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-glow:0 0 40px #2563eb33;--shadow-glow-lg:0 0 60px #2563eb4d;--shadow-inner:inset 0 2px 4px #0000000d;--z-dropdown:100;--z-sticky:200;--z-modal:300;--z-popover:400;--z-tooltip:500;--z-cursor:9999;--bg-primary:#fafbfc;--bg-secondary:#f0f4f8;--bg-tertiary:#e2e8f0;--bg-elevated:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-inverted:#fff;--accent-primary:#2563eb;--accent-secondary:#3b82f6;--accent-tertiary:#60a5fa;--accent-purple:#8b5cf6;--accent-green:#10b981;--accent-orange:#f59e0b;--accent-pink:#ec4899;--accent-glow:#2563eb33;--accent-glow-strong:#2563eb66;--success:#10b981;--success-bg:#10b9811a;--warning:#f59e0b;--warning-bg:#f59e0b1a;--error:#ef4444;--error-bg:#ef44441a;--info:#3b82f6;--info-bg:#3b82f61a;--border-subtle:#e2e8f0;--border-default:#cbd5e1;--border-strong:#94a3b8;--gradient-hero:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-blue:linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);--gradient-purple:linear-gradient(135deg, #7c3aed 0%, #8b5cf6 100%);--gradient-green:linear-gradient(135deg, #059669 0%, #10b981 100%);--gradient-sunset:linear-gradient(135deg, #f59e0b 0%, #ef4444 50%, #ec4899 100%);--gradient-mesh:radial-gradient(at 40% 20%, #2563eb26 0px, transparent 50%), radial-gradient(at 80% 0%, #8b5cf61a 0px, transparent 50%), radial-gradient(at 0% 50%, #10b98114 0px, transparent 50%), radial-gradient(at 80% 50%, #f59e0b14 0px, transparent 50%), radial-gradient(at 0% 100%, #ec48991a 0px, transparent 50%)}[data-theme=dark],:root[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-elevated:#1e293b;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-inverted:#0f172a;--accent-primary:#60a5fa;--accent-secondary:#3b82f6;--accent-tertiary:#2563eb;--accent-purple:#a78bfa;--accent-green:#34d399;--accent-orange:#fbbf24;--accent-pink:#f472b6;--accent-glow:#60a5fa40;--accent-glow-strong:#60a5fa73;--success:#34d399;--success-bg:#34d39926;--warning:#fbbf24;--warning-bg:#fbbf2426;--error:#f87171;--error-bg:#f8717126;--info:#60a5fa;--info-bg:#60a5fa26;--border-subtle:#1e293b;--border-default:#334155;--border-strong:#475569;--gradient-hero:linear-gradient(135deg, #60a5fa 0%, #a78bfa 100%);--gradient-blue:linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);--gradient-purple:linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);--gradient-green:linear-gradient(135deg, #34d399 0%, #10b981 100%);--gradient-sunset:linear-gradient(135deg, #fbbf24 0%, #f87171 50%, #f472b6 100%);--gradient-mesh:radial-gradient(at 40% 20%, #60a5fa33 0px, transparent 50%), radial-gradient(at 80% 0%, #a78bfa26 0px, transparent 50%), radial-gradient(at 0% 50%, #34d3991a 0px, transparent 50%), radial-gradient(at 80% 50%, #fbbf241a 0px, transparent 50%), radial-gradient(at 0% 100%, #f472b626 0px, transparent 50%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{min-height:100%;font-family:var(--font-sans-fallback,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto), sans-serif;font-size:var(--text-base);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background-color var(--duration-slow) var(--ease-out-quint), color var(--duration-slow) var(--ease-out-quint);line-height:1.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-20px)rotate(2deg)}66%{transform:translateY(-10px)rotate(-1deg)}}@keyframes float-slow{0%,to{transform:translateY(0)translate(0)}50%{transform:translateY(-30px)translate(10px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--accent-glow), 0 0 40px var(--accent-glow)}50%{box-shadow:0 0 40px var(--accent-glow-strong), 0 0 80px var(--accent-glow-strong)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes morph{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}}@keyframes wave{0%{transform:translate(0)translateZ(0)scaleY(1)}50%{transform:translate(-25%)translateZ(0)scaleY(.55)}to{transform:translate(-50%)translateZ(0)scaleY(1)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes count-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-wheel{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(12px)}}@keyframes tech-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out-expo) forwards}.animate-fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out-expo) forwards}.animate-fade-in-down{animation:fadeInDown var(--duration-slow) var(--ease-out-expo) forwards}.animate-fade-in-left{animation:fadeInLeft var(--duration-slow) var(--ease-out-expo) forwards}.animate-fade-in-right{animation:fadeInRight var(--duration-slow) var(--ease-out-expo) forwards}.animate-scale-in{animation:scaleIn var(--duration-slow) var(--ease-spring) forwards}.animate-float{animation:6s ease-in-out infinite float}.animate-float-slow{animation:8s ease-in-out infinite float-slow}.animate-pulse{animation:3s ease-in-out infinite pulse}.animate-glow{animation:2s ease-in-out infinite glow}.animate-rotate{animation:20s linear infinite rotate}.animate-morph{animation:8s ease-in-out infinite morph}.animate-gradient{background-size:200% 200%;animation:8s infinite gradient-shift}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.scroll-reveal{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-expo), transform var(--duration-slow) var(--ease-out-expo);transform:translateY(30px)}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;color:var(--text-primary);font-weight:700;line-height:1.2}h1{font-size:var(--text-5xl);letter-spacing:-.03em;font-weight:800;line-height:1.1}h2{font-size:var(--text-4xl);margin-top:var(--space-12);margin-bottom:var(--space-4);font-weight:700}h3{font-size:var(--text-3xl);margin-top:var(--space-8);margin-bottom:var(--space-3);font-weight:600}h4{font-size:var(--text-2xl);margin-top:var(--space-6);margin-bottom:var(--space-2);font-weight:600}p{margin-bottom:var(--space-4);color:var(--text-secondary)}p:last-child{margin-bottom:0}a{color:var(--accent-primary);transition:all var(--duration-fast) var(--ease-out-expo);text-decoration:none}a:hover{color:var(--accent-secondary)}a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;border-radius:var(--radius-sm)}.gradient-text{background:var(--gradient-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.site-shell{flex-direction:column;min-height:100vh;display:flex;position:relative}.container{width:100%;max-width:var(--container-xl);padding:0 var(--space-6);margin:0 auto}@media (min-width:768px){.container{padding:0 var(--space-8)}}@media (min-width:1024px){.container{padding:0 var(--space-12)}}.skip-link{top:-100%;left:var(--space-4);z-index:1000;padding:var(--space-3) var(--space-4);background:var(--accent-primary);color:var(--text-inverted);font-weight:600;font-size:var(--text-sm);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);transition:top var(--duration-fast) var(--ease-out-expo);position:absolute}.skip-link:focus{top:var(--space-4)}.site-header{z-index:var(--z-sticky);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);transition:all var(--duration-normal);background:#fafbfcb3;position:sticky;top:0}[data-theme=dark] .site-header{background:#0f172ab3}.site-header__inner{max-width:var(--container-xl);padding:var(--space-4) var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 auto;display:flex}@media (min-width:768px){.site-header__inner{padding:var(--space-4) var(--space-8)}}.site-logo{color:inherit;transition:transform var(--duration-fast) var(--ease-out-expo);flex-direction:column;text-decoration:none;display:flex}.site-logo:hover{transform:scale(1.02)}.site-logo__mark{font-size:var(--text-xl);letter-spacing:-.03em;background:var(--gradient-blue);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800;line-height:1.2}.site-logo__tag{font-size:var(--text-xs);color:var(--text-tertiary);letter-spacing:.15em;text-transform:uppercase;font-weight:500}.site-nav{display:none}@media (min-width:1024px){.site-nav{display:block}.site-nav ul{align-items:center;gap:var(--space-1);list-style:none;display:flex}.site-nav a{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-lg);transition:all var(--duration-fast) var(--ease-out-expo);font-weight:500;display:block}.site-nav a:hover{color:var(--text-primary);background:var(--bg-tertiary)}.site-nav a[aria-current=page]{color:var(--accent-primary);background:var(--accent-glow)}}.mobile-menu-toggle{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;width:40px;height:40px;color:var(--text-primary);transition:all var(--duration-fast);justify-content:center;align-items:center;padding:0;display:flex}.mobile-menu-toggle:hover{background:var(--bg-tertiary);border-color:var(--border-default)}@media (min-width:1024px){.mobile-menu-toggle{display:none}}.mobile-nav{display:none}.mobile-nav.is-open{display:block}.mobile-nav ul{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.mobile-nav a{padding:var(--space-4);font-size:var(--text-xl);color:var(--text-primary);border-radius:var(--radius-xl);transition:all var(--duration-fast);font-weight:600;display:block}.mobile-nav a:hover{background:var(--bg-secondary)}.mobile-nav__close{top:var(--space-4);right:var(--space-6);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;width:48px;height:48px;color:var(--text-primary);transition:all var(--duration-fast);justify-content:center;align-items:center;display:flex;position:absolute}.mobile-nav__close:hover{background:var(--bg-tertiary)}.theme-toggle{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);transition:all var(--duration-fast) var(--ease-out-expo);justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-default);transform:rotate(15deg)}.hero{min-height:90vh;padding:var(--space-20) var(--space-6);background:var(--gradient-mesh);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}@media (min-width:768px){.hero{padding:var(--space-24) var(--space-8)}}.hero__content{z-index:10;max-width:var(--container-lg);text-align:center;position:relative}.hero__eyebrow{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--accent-glow);color:var(--accent-primary);font-size:var(--text-sm);border-radius:var(--radius-full);margin-bottom:var(--space-6);animation:fadeInDown var(--duration-slower) var(--ease-out-expo) forwards;border:1px solid #2563eb33;font-weight:600;display:inline-flex}.hero__title{letter-spacing:-.04em;margin-bottom:var(--space-6);animation:fadeInUp var(--duration-slower) var(--ease-out-expo) .1s forwards;opacity:0;font-size:clamp(2.5rem,6vw,5rem);font-weight:800;line-height:1.05}.hero__subtitle{color:var(--text-secondary);max-width:700px;margin:0 auto var(--space-10);animation:fadeInUp var(--duration-slower) var(--ease-out-expo) .2s forwards;opacity:0;font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.7}.hero__actions{justify-content:center;align-items:center;gap:var(--space-4);animation:fadeInUp var(--duration-slower) var(--ease-out-expo) .3s forwards;opacity:0;flex-wrap:wrap;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:inherit;font-size:var(--text-sm);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo);border:none;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";transition:transform var(--duration-slow);background:linear-gradient(90deg,#0000,#fff3,#0000);position:absolute;inset:0;transform:translate(-100%)}.btn:hover:before{transform:translate(100%)}.btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.btn:active{transform:scale(.96)}.btn--primary{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#3b82f6 100%);box-shadow:0 4px 14px #2563eb66}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb80}.btn--secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-default)}.btn--secondary:hover{background:var(--bg-secondary);border-color:var(--border-strong);transform:translateY(-2px)}.btn--ghost{color:var(--accent-primary);background:0 0;border:1px solid #0000}.btn--ghost:hover{background:var(--accent-glow);border-color:var(--accent-primary)}.btn--outline{color:var(--text-primary);border:2px solid var(--border-default);background:0 0}.btn--outline:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-glow)}.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.btn--sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);padding:var(--space-8);transition:all var(--duration-normal) var(--ease-out-expo);position:relative;overflow:hidden}.card:before{content:"";background:var(--gradient-mesh);opacity:0;transition:opacity var(--duration-normal);pointer-events:none;position:absolute;inset:0}.card:hover{border-color:var(--border-default);box-shadow:var(--shadow-lg), var(--shadow-glow);transform:translateY(-4px)scale(1.01)}.card:hover:before{opacity:.5}.card--glass{-webkit-backdrop-filter:blur(20px);background:#ffffffb3;border-color:#ffffff4d}[data-theme=dark] .card--glass{background:#1e293bb3;border-color:#ffffff1a}.card--gradient{background:linear-gradient(135deg, var(--bg-elevated) 0%, var(--bg-secondary) 100%);border:none}.card--interactive{cursor:pointer}.card--interactive:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-glow-lg)}.card__image{object-fit:cover;border-radius:var(--radius-xl);width:100%;height:200px;margin-bottom:var(--space-6)}.card__overlay{padding:var(--space-6);opacity:0;transition:opacity var(--duration-normal);background:linear-gradient(#0000 0%,#000000b3 100%);align-items:flex-end;display:flex;position:absolute;inset:0}.card:hover .card__overlay{opacity:1}.card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.card__title{font-size:var(--text-xl);color:var(--text-primary);margin:0;font-weight:700}.card__description{font-size:var(--text-base);color:var(--text-secondary);margin:0;line-height:1.6}.card__footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);display:flex}.grid-2{gap:var(--space-6);display:grid}@media (min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}}.grid-3{gap:var(--space-6);display:grid}@media (min-width:768px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}.grid-4{gap:var(--space-6);display:grid}@media (min-width:640px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}.grid-masonry{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-auto-rows:masonry;display:grid}.features-grid{gap:var(--space-4);margin-top:var(--space-12);grid-template-columns:1fr;display:grid}@media (min-width:640px){.features-grid{gap:var(--space-6);grid-template-columns:repeat(2,1fr)}}.feature-card{align-items:flex-start;gap:var(--space-4);padding:var(--space-6);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease-out-expo);display:flex}@media (max-width:640px){.feature-card{text-align:center;padding:var(--space-5);flex-direction:column;align-items:center}}.feature-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-color);transform:translateY(-4px)}.feature-icon{background:var(--gradient-blue);border-radius:var(--radius-xl);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:0 8px 30px #2563eb4d}@media (max-width:640px){.feature-icon{width:48px;height:48px}}.feature-content h4{font-size:var(--text-lg);margin-bottom:var(--space-3);color:var(--text-primary);font-weight:700}.feature-content p{color:var(--text-secondary);line-height:1.7;font-size:var(--text-base);margin:0}.responsive-stats{grid-template-columns:repeat(2,1fr)}@media (min-width:768px){.responsive-stats{grid-template-columns:repeat(4,1fr)!important;gap:2rem!important;padding:2rem!important}.responsive-stats>div>div:first-child{font-size:2.5rem!important}}@media (max-width:640px){.responsive-stats{gap:.75rem!important;padding:1rem!important}.responsive-stats>div{padding:.5rem}.responsive-stats>div>div:first-child{font-size:1.5rem!important}.responsive-stats>div>div:last-child{font-size:.75rem!important}}.service-row{gap:var(--space-6);align-items:center;display:grid}@media (min-width:768px){.service-row--normal{grid-template-columns:1fr 1.2fr}.service-row--reversed{grid-template-columns:1.2fr 1fr}.service-row--normal .service-content{order:1}.service-row--normal .service-image,.service-row--reversed .service-content{order:2}.service-row--reversed .service-image{order:1}}@media (max-width:767px){.service-row{grid-template-columns:1fr}.service-content{order:2}.service-image{order:1;border-radius:1rem!important;height:250px!important}}@media (min-width:1024px){.service-image{border-radius:2rem!important;height:400px!important}}.contact-form-row{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (min-width:640px){.contact-form-row{grid-template-columns:repeat(2,1fr)}}.process-step--normal{grid-template-columns:1fr 1.2fr}.process-step--reversed{grid-template-columns:1.2fr 1fr}.process-step--normal .step-content{order:1}.process-step--normal .step-image,.process-step--reversed .step-content{order:2}.process-step--reversed .step-image{order:1}@media (max-width:1024px){.process-step{grid-template-columns:1fr!important;gap:2rem!important}.process-step .step-content,.process-step .step-image{order:unset!important}.process-step .step-image{height:300px!important}}@media (max-width:768px){.process-step .step-image{border-radius:16px!important;height:250px!important}.process-step .step-number{font-size:3rem!important}.process-step h2{font-size:1.75rem!important}.progress-indicator{padding-bottom:.5rem;overflow-x:auto}.progress-indicator>div{flex-wrap:nowrap;min-width:max-content}.progress-indicator button{padding:.375rem .75rem!important;font-size:.75rem!important}.progress-indicator button span:last-child{display:none!important}.principles-grid{grid-template-columns:1fr!important}}@media (max-width:480px){.principles-grid{grid-template-columns:1fr!important}}@media (max-width:1024px){.contact-grid{grid-template-columns:1fr!important}.contact-info-cards{order:2}.contact-form-section{order:1}}@media (max-width:640px){.contact-info-cards,.contact-form-row,.contact-topic-grid{grid-template-columns:1fr!important}.contact-form-section h2{font-size:1.5rem!important}}.project-main-grid{grid-template-columns:1fr 380px}@media (max-width:768px){.site-header__inner{flex-wrap:wrap}.desktop-only{display:none!important}.mobile-menu-button{display:flex!important}.dashboard-mobile-nav{background:var(--bg-secondary);border-top:1px solid var(--border-subtle);flex-direction:column;width:100%;margin-top:1rem;padding:1rem;display:flex}.dashboard-mobile-nav a{border-radius:var(--radius-lg);padding:.75rem 1rem}}@media (min-width:769px){.mobile-menu-button,.dashboard-mobile-nav{display:none!important}}.project-hero-wrapper{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:20px;align-items:center;gap:2rem;margin-bottom:2rem;padding:2rem 2.5rem;display:flex}.project-hero-content{flex:1;order:1;min-width:0}.project-hero-progress{flex-direction:column;flex-shrink:0;order:2;align-items:center;gap:.5rem;display:flex}.project-hero-progress-text{color:var(--text-secondary);font-size:.75rem;font-weight:600}.project-hero-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 .75rem;font-size:1.75rem;font-weight:700;line-height:1.2}.project-hero-phase{margin-bottom:1rem}.project-hero-description{color:var(--text-secondary);max-width:600px;margin:0 0 1rem;font-size:1rem;line-height:1.6}.project-hero-meta{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:1.5rem;font-size:.8125rem;display:flex}.project-hero-date{align-items:center;gap:.375rem;display:flex}@media (max-width:1024px){.project-hero-wrapper{flex-direction:column;align-items:stretch;gap:1.5rem;padding:1.5rem}.project-hero-progress{border-bottom:1px solid var(--border-subtle);flex-direction:row;order:1;justify-content:center;align-items:center;gap:1rem;padding-bottom:1rem}.project-hero-content{order:2}.project-hero-title{text-align:center;font-size:1.5rem}.project-hero-phase{justify-content:center;display:flex}.project-hero-description{text-align:center;max-width:100%}.project-hero-meta{justify-content:center}}@media (max-width:768px){.project-hero-wrapper{border-radius:16px;gap:1.25rem;margin-bottom:1.5rem;padding:1.25rem}.project-hero-progress{gap:.75rem;padding-bottom:.875rem}.project-hero-progress svg{width:70px;height:70px}.project-hero-progress-text{font-size:.875rem}.project-hero-title{margin-bottom:.625rem;font-size:1.375rem}.project-hero-phase{margin-bottom:.875rem}.project-hero-description{margin-bottom:.875rem;font-size:.9375rem;line-height:1.5}.project-hero-meta{gap:1rem;font-size:.75rem}.project-stats-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:480px){.project-hero-wrapper{border-radius:12px;gap:1rem;padding:1rem}.project-hero-progress{gap:.5rem;padding-bottom:.75rem}.project-hero-progress svg{width:60px;height:60px}.project-hero-progress-text{font-size:.75rem}.project-hero-title{margin-bottom:.5rem;font-size:1.25rem}.project-hero-phase{margin-bottom:.75rem}.project-hero-description{margin-bottom:.75rem;font-size:.875rem}.project-hero-meta{gap:.75rem;font-size:.6875rem}.project-stats-grid{grid-template-columns:1fr!important}}@media (max-width:640px){.phase-indicator{flex-wrap:wrap;justify-content:center;gap:.5rem .75rem}.phase-step{gap:.375rem}.phase-circle{width:24px;height:24px}.phase-circle--current{width:28px;height:28px}.phase-dot{width:6px;height:6px}.phase-label{letter-spacing:.03em;font-size:.5625rem}.phase-connector{width:12px;margin-top:-8px}}@media (max-width:400px){.phase-indicator{gap:.375rem .5rem}.phase-circle{width:22px;height:22px}.phase-circle--current{width:26px;height:26px}.phase-connector{width:8px}.phase-label{font-size:.5rem}}@media (max-width:768px){.portal-table{white-space:nowrap;display:block;overflow-x:auto}.portal-table th,.portal-table td{padding:.75rem;font-size:.875rem}}.whatsapp-bubble-container{z-index:9999;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;position:fixed}.whatsapp-bubble-container:active{cursor:grabbing}.whatsapp-bubble-container.dragging{transition:none!important}.whatsapp-bubble-container:not(.dragging){transition:all .3s}@media (max-width:768px){.whatsapp-bubble-container{max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)}}.badge{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-full);transition:all var(--duration-fast);font-weight:600;display:inline-flex}.badge--default{background:var(--bg-tertiary);color:var(--text-secondary)}.badge--accent{background:var(--accent-glow);color:var(--accent-primary);border:1px solid #2563eb33}.badge--success{background:var(--success-bg);color:var(--success)}.badge--warning{background:var(--warning-bg);color:var(--warning)}.badge--error{background:var(--error-bg);color:var(--error)}.form{max-width:600px}.form__group{margin-bottom:var(--space-5)}.form__label{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--space-2);font-weight:600;display:block}.form__input,.form__select,.form__textarea{width:100%;padding:var(--space-4);font-family:inherit;font-size:var(--text-base);color:var(--text-primary);background:var(--bg-elevated);border:2px solid var(--border-subtle);border-radius:var(--radius-xl);transition:all var(--duration-fast) var(--ease-out-expo)}.form__input:focus,.form__select:focus,.form__textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-glow);outline:none}.form__input::placeholder,.form__textarea::placeholder{color:var(--text-tertiary)}.form__textarea{resize:vertical;min-height:150px}.form__hint{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:var(--space-2)}.form__error{font-size:var(--text-sm);color:var(--error);margin-top:var(--space-2)}.section{padding:var(--space-24) 0;position:relative;overflow:hidden}.section--hero{padding:var(--space-32) 0;align-items:center;min-height:100vh;display:flex}.section__header{max-width:var(--container-md);margin:0 auto var(--space-16);text-align:center}.section__eyebrow{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--accent-primary);text-transform:uppercase;letter-spacing:.15em;margin-bottom:var(--space-4);font-weight:700;display:inline-flex}.section__title{font-size:var(--text-4xl);margin-bottom:var(--space-4);letter-spacing:-.02em;font-weight:800}.section__description{font-size:var(--text-lg);color:var(--text-secondary);max-width:600px;margin:0 auto}.divider{background:linear-gradient(90deg, transparent, var(--border-default), transparent);height:1px;margin:var(--space-16) 0;border:none}.divider--gradient{background:var(--gradient-blue);height:2px}.site-footer{background:var(--bg-secondary);border-top:1px solid var(--border-subtle);margin-top:auto;position:relative}.site-footer:before{content:"";background:var(--gradient-blue);height:1px;position:absolute;top:0;left:0;right:0}.site-footer__inner{max-width:var(--container-xl);padding:var(--space-20) var(--space-6);margin:0 auto}@media (min-width:768px){.site-footer__inner{padding:var(--space-20) var(--space-8)}}.site-footer__grid{gap:var(--space-12);margin-bottom:var(--space-16);display:grid}@media (min-width:640px){.site-footer__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.site-footer__grid{grid-template-columns:2fr repeat(3,1fr)}}.site-footer__brand{max-width:300px}.site-footer__logo{font-size:var(--text-2xl);background:var(--gradient-blue);-webkit-text-fill-color:transparent;margin-bottom:var(--space-3);-webkit-background-clip:text;background-clip:text;font-weight:800;display:inline-block}.site-footer__tagline{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-6);line-height:1.6}.site-footer__section-title{font-size:var(--text-sm);color:var(--text-primary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-6);font-weight:700}.site-footer__links{gap:var(--space-3);flex-direction:column;list-style:none;display:flex}.site-footer__links a{font-size:var(--text-base);color:var(--text-secondary);transition:all var(--duration-fast);align-items:center;gap:var(--space-2);display:inline-flex}.site-footer__links a:hover{color:var(--accent-primary);transform:translate(4px)}.site-footer__bottom{justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-8);border-top:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.site-footer__copyright{font-size:var(--text-sm);color:var(--text-tertiary)}@media (max-width:639px){.site-footer__inner{padding:var(--space-12) var(--space-4)}.site-footer__grid{gap:var(--space-8);margin-bottom:var(--space-10);grid-template-columns:1fr}.site-footer__brand{text-align:center;max-width:100%}.site-footer__brand>div{align-items:center!important}.site-footer__logo{font-size:var(--text-xl);margin-bottom:var(--space-2)}.site-footer__tagline{font-size:var(--text-sm);margin-bottom:var(--space-4)}.site-footer__section-title{cursor:pointer;padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:0;display:flex}.footer-expand-icon{background:var(--bg-tertiary);border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .3s;display:flex}.site-footer__links{gap:var(--space-2)}.site-footer__links a{font-size:var(--text-sm);padding:var(--space-2) 0}.site-footer__bottom{text-align:center;gap:var(--space-4);padding-top:var(--space-6);flex-direction:column}.site-footer__bottom>div{justify-content:center}}@media (min-width:640px) and (max-width:1023px){.site-footer__grid{gap:var(--space-8);grid-template-columns:repeat(2,1fr)}.site-footer__brand{text-align:center;max-width:100%;margin-bottom:var(--space-4);grid-column:1/-1}.site-footer__brand>div{justify-content:center}}.project-hero-grid{grid-template-columns:1fr auto}@media (max-width:1024px){.project-hero-grid{grid-template-columns:1fr!important;gap:1.5rem!important;padding:1.5rem!important}.project-hero-progress{justify-content:center;display:flex;order:-1!important}.project-hero-title{font-size:1.5rem!important}}@media (max-width:768px){.project-hero-grid{border-radius:16px!important;gap:1.25rem!important;padding:1.25rem!important}.project-hero-title{font-size:1.375rem!important;line-height:1.3!important}.project-hero-description{max-width:100%!important;font-size:.9375rem!important;line-height:1.5!important}.project-hero-meta{gap:1rem!important;font-size:.75rem!important}.project-hero-date{font-size:.75rem!important}.project-hero-progress svg{width:70px!important;height:70px!important}.project-hero-progress-text{font-size:.6875rem!important}}@media (max-width:480px){.project-hero-grid{border-radius:12px!important;margin-bottom:1.5rem!important;padding:1rem!important}.project-hero-title{font-size:1.25rem!important}.project-hero-description{margin-bottom:.75rem!important;font-size:.875rem!important}.project-hero-progress svg{width:60px!important;height:60px!important}}@media (max-width:640px){.phase-indicator{flex-wrap:wrap!important;gap:.5rem .75rem!important}.phase-step{gap:.375rem!important}.phase-circle{width:24px!important;height:24px!important}.phase-circle--current{width:28px!important;height:28px!important}.phase-dot{width:6px!important;height:6px!important}.phase-label{letter-spacing:.03em!important;font-size:.5625rem!important}.phase-connector{width:12px!important;margin-top:-8px!important}}@media (max-width:400px){.phase-indicator{gap:.375rem .5rem!important}.phase-circle{width:22px!important;height:22px!important}.phase-circle--current{width:26px!important;height:26px!important}.phase-connector{width:8px!important}.phase-label{font-size:.5rem!important}}@media (max-width:768px){.project-stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:.75rem!important}.project-stats-grid>div{padding:.75rem!important}.project-stats-grid [style*="width: 44px"]{width:36px!important;height:36px!important}.project-stats-grid p[style*="fontSize: 1.5rem"]{font-size:1.25rem!important}}@media (max-width:480px){.project-stats-grid{grid-template-columns:1fr!important}}@media (max-width:1024px){.project-main-grid{grid-template-columns:1fr!important;gap:1.5rem!important}}@media (max-width:640px){[style*="position: absolute"][style*="left: 20px"]{left:16px!important}[style*="display: flex"][style*="gap: 1rem"][style*="padding: 1rem 1.25rem"]{gap:.75rem!important;padding:.875rem!important}[style*="width: 40px"][style*="height: 40px"][style*="borderRadius: 10px"]{width:36px!important;height:36px!important}[style*="fontWeight: 600"][style*="fontSize: 0.9375rem"]{font-size:.875rem!important}[style*="textTransform: uppercase"][style*="letterSpacing: 0.05em"]{padding:.2rem .5rem!important;font-size:.625rem!important}[style*="textTransform: uppercase"][style*="letterSpacing: 0.08em"]{font-size:.625rem!important}[style*="display: flex"][style*="gap: 0.875rem"][style*="padding: 1rem"][style*="borderRadius: 12px"]{gap:.75rem!important;padding:.875rem!important}[style*="width: 32px"][style*="height: 32px"][style*="borderRadius: 8px"]{width:28px!important;height:28px!important}[style*="fontSize: 0.875rem"][style*="lineHeight: 1.55"]{font-size:.8125rem!important}[style*="display: flex"][style*="alignItems: center"][style*="gap: 1rem"][style*="padding: 1rem 1.25rem"]{gap:.75rem!important;padding:.875rem!important}[style*="width: 48px"][style*="height: 48px"][style*="borderRadius: 10px"]{width:40px!important;height:40px!important}[style*="position: absolute"][style*="bottom: -4px"]{padding:.1rem .25rem!important;font-size:.5rem!important}[style*="fontWeight: 600"][style*="fontSize: 0.875rem"]{font-size:.8125rem!important}.project-hero-grid svg[width="90"]{width:70px!important;height:70px!important}.project-hero-grid [style*="fontSize: 1.25rem"]{font-size:1rem!important}[style*="padding: 3rem 2rem"][style*="textAlign: center"]{padding:2rem 1.5rem!important}[style*="padding: 2.5rem 2rem"][style*="textAlign: center"]{padding:1.5rem!important}[style*="width: 64px"][style*="height: 64px"][style*="borderRadius: 16px"]{border-radius:12px!important;width:48px!important;height:48px!important}[style*="width: 56px"][style*="height: 56px"][style*="borderRadius: 14px"]{border-radius:11px!important;width:44px!important;height:44px!important}[style*="display: flex"][style*="alignItems: center"][style*="justifyContent: space-between"][style*="marginBottom: 1.25rem"]{flex-wrap:wrap;gap:.5rem!important;margin-bottom:1rem!important}h2[style*="fontSize: 1.125rem"]{font-size:1rem!important}[style*="width: 36px"][style*="height: 36px"][style*="borderRadius: 10px"]{width:32px!important;height:32px!important}}@media (max-width:768px){main[id=main-content][style*="padding: 2rem"]{padding:1rem!important}}.portal-mobile-menu-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998;opacity:0;visibility:hidden;background:#00000080;transition:all .3s;position:fixed;inset:0}.portal-mobile-menu-overlay.open{opacity:1;visibility:visible}.portal-mobile-menu{background:var(--bg-primary);z-index:999;flex-direction:column;width:85%;max-width:320px;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-10px 0 40px #0003}.portal-mobile-menu.open{transform:translate(0)}.portal-mobile-menu__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.portal-mobile-menu__title{font-size:var(--text-lg);color:var(--text-primary);font-weight:700}.portal-mobile-menu__close{border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border-subtle);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.portal-mobile-menu__close:hover{background:var(--bg-elevated);color:var(--text-primary);transform:rotate(90deg)}.portal-mobile-menu__user{padding:var(--space-5);background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-elevated) 100%);border-bottom:1px solid var(--border-subtle)}.portal-mobile-menu__user-info{align-items:center;gap:var(--space-3);display:flex}.portal-mobile-menu__avatar{border-radius:var(--radius-xl);background:var(--accent-glow);width:48px;height:48px;color:var(--accent-primary);font-size:var(--text-xl);justify-content:center;align-items:center;display:flex}.portal-mobile-menu__user-details{flex:1;min-width:0}.portal-mobile-menu__user-email{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.portal-mobile-menu__user-role{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:capitalize;margin-top:var(--space-1)}.portal-mobile-menu__nav{padding:var(--space-4);flex:1;overflow-y:auto}.portal-mobile-menu__section-title{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:var(--space-4) 0 var(--space-3);padding-left:var(--space-3);font-weight:600}.portal-mobile-menu__nav-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);color:var(--text-secondary);font-size:var(--text-base);margin-bottom:var(--space-1);font-weight:500;text-decoration:none;transition:all .2s;display:flex}.portal-mobile-menu__nav-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.portal-mobile-menu__nav-item.active{background:var(--accent-glow);color:var(--accent-primary)}.portal-mobile-menu__nav-icon{border-radius:var(--radius-lg);background:var(--bg-secondary);justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.portal-mobile-menu__nav-item:hover .portal-mobile-menu__nav-icon,.portal-mobile-menu__nav-item.active .portal-mobile-menu__nav-icon{background:var(--bg-elevated);transform:scale(1.05)}.portal-mobile-menu__footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);gap:var(--space-3);display:flex}.portal-mobile-menu__footer-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);font-size:var(--text-sm);cursor:pointer;flex:1;font-weight:600;transition:all .2s;display:flex}.portal-mobile-menu__footer-btn--primary{background:var(--accent-primary);color:#fff;border:none}.portal-mobile-menu__footer-btn--primary:hover{background:var(--accent-secondary);transform:translateY(-2px)}.portal-mobile-menu__footer-btn--secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-subtle)}.portal-mobile-menu__footer-btn--secondary:hover{background:var(--bg-elevated);color:var(--text-primary)}.portal-bottom-nav{background:var(--bg-primary);border-top:1px solid var(--border-subtle);padding:var(--space-2) var(--space-4) calc(var(--space-2) + env(safe-area-inset-bottom));z-index:100;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.portal-bottom-nav__item{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1);color:var(--text-tertiary);font-size:var(--text-xs);border-radius:var(--radius-lg);flex-direction:column;flex:1;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.portal-bottom-nav__item:before{content:"";background:var(--accent-glow);border-radius:var(--radius-lg);z-index:-1;width:40px;height:40px;transition:transform .3s;position:absolute;top:0;left:50%;transform:translate(-50%)scale(0)}.portal-bottom-nav__item:hover,.portal-bottom-nav__item.active{color:var(--accent-primary)}.portal-bottom-nav__item.active:before{transform:translate(-50%)scale(1)}.portal-bottom-nav__icon{width:24px;height:24px;transition:transform .2s}.portal-bottom-nav__item:hover .portal-bottom-nav__icon,.portal-bottom-nav__item.active .portal-bottom-nav__icon{transform:translateY(-2px)}.portal-fab{bottom:calc(var(--space-20) + env(safe-area-inset-bottom));right:var(--space-4);background:var(--gradient-blue);color:#fff;cursor:pointer;z-index:99;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .3s;display:flex;position:fixed;box-shadow:0 4px 14px #2563eb66}.portal-fab:hover{transform:scale(1.1)rotate(90deg);box-shadow:0 6px 20px #2563eb80}.portal-fab:active{transform:scale(.95)}@media (max-width:1023px){.site-header .desktop-only{display:none!important}.site-header .mobile-menu-button{display:flex!important}}@media (min-width:1024px){.portal-mobile-menu,.portal-mobile-menu-overlay,.portal-bottom-nav,.portal-fab{display:none!important}.site-header .desktop-only{display:flex!important}.site-header .mobile-only{display:none!important}}@media (max-width:1023px){.site-header .desktop-only{display:none!important}.site-header .mobile-only{display:flex!important}.site-header .mobile-only[href="/portal/profile"]{background:var(--accent-glow);border-radius:var(--radius-lg);width:40px;height:40px;color:var(--accent-primary);border:1px solid var(--border-subtle);justify-content:center;align-items:center;text-decoration:none;transition:all .2s}.site-header .mobile-only[href="/portal/profile"]:hover{background:var(--bg-elevated);transform:scale(1.05)}}.desktop-only{display:none}@media (min-width:1024px){.desktop-only{display:flex}}.mobile-only{display:flex}@media (min-width:1024px){.mobile-only{display:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-gradient{background:var(--gradient-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass{-webkit-backdrop-filter:blur(20px);background:#fff9;border:1px solid #ffffff4d}[data-theme=dark] .glass{background:#0f172a99;border-color:#ffffff1a}.gradient-border{background:var(--bg-elevated);border-radius:var(--radius-2xl);position:relative}.gradient-border:before{content:"";border-radius:calc(var(--radius-2xl) + 2px);background:var(--gradient-hero);z-index:-1;opacity:0;transition:opacity var(--duration-normal);position:absolute;inset:-2px}.gradient-border:hover:before{opacity:1}.shine{position:relative;overflow:hidden}.shine:after{content:"";width:200%;height:200%;transition:transform var(--duration-slow);background:linear-gradient(90deg,#0000 0%,#ffffff1a 50%,#0000 100%);position:absolute;top:-50%;left:-50%;transform:rotate(30deg)translate(-100%)}.shine:hover:after{transform:rotate(30deg)translate(100%)}.hover-lift{transition:transform var(--duration-fast) var(--ease-out-expo), box-shadow var(--duration-fast) var(--ease-out-expo)}.hover-lift:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)}.img-overlay{border-radius:var(--radius-2xl);position:relative;overflow:hidden}.img-overlay img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-out-expo)}.img-overlay:hover img{transform:scale(1.05)}.img-overlay:after{content:"";opacity:0;transition:opacity var(--duration-normal);background:linear-gradient(#0000 0%,#0006 100%);position:absolute;inset:0}.img-overlay:hover:after{opacity:1}
