@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:400;src:url(/static/media/manrope-cyrillic-ext-400-normal.dd6629a5ac96b1b9496b.woff2) format("woff2"),url(/static/media/manrope-cyrillic-ext-400-normal.d706d6c43b0214bfb650.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:400;src:url(/static/media/manrope-cyrillic-400-normal.67d2f5cd27a74c066bb7.woff2) format("woff2"),url(/static/media/manrope-cyrillic-400-normal.803cbd0e719151df3d8f.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:400;src:url(/static/media/manrope-greek-400-normal.91c29e2e99de39ffd2db.woff2) format("woff2"),url(/static/media/manrope-greek-400-normal.94e36a3348e01178daa1.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:400;src:url(/static/media/manrope-vietnamese-400-normal.07b7f29f8b0fb89c929a.woff2) format("woff2"),url(/static/media/manrope-vietnamese-400-normal.96dac2f6286e1a04f9b9.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:400;src:url(/static/media/manrope-latin-ext-400-normal.a05ad2a2eb9002767f90.woff2) format("woff2"),url(/static/media/manrope-latin-ext-400-normal.5519f7a0fd74c0aa3aac.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Manrope;font-style:normal;font-weight:400;src:url(/static/media/manrope-latin-400-normal.84d41d78bb782fb0f969.woff2) format("woff2"),url(/static/media/manrope-latin-400-normal.0d1ad757ee42bab20614.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:500;src:url(/static/media/manrope-cyrillic-ext-500-normal.c803169a005534ccd3ce.woff2) format("woff2"),url(/static/media/manrope-cyrillic-ext-500-normal.7de3a9dc24887eb97e02.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:500;src:url(/static/media/manrope-cyrillic-500-normal.8bc39612bab147b548a0.woff2) format("woff2"),url(/static/media/manrope-cyrillic-500-normal.d9a670e709ce916c1b2f.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:500;src:url(/static/media/manrope-greek-500-normal.3ca2b78cc08d41506266.woff2) format("woff2"),url(/static/media/manrope-greek-500-normal.f712727ba6c6af22d46b.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:500;src:url(/static/media/manrope-vietnamese-500-normal.9d5e4c2f4b8f26f4504e.woff2) format("woff2"),url(/static/media/manrope-vietnamese-500-normal.c9bee1b7182072d8d1de.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:500;src:url(/static/media/manrope-latin-ext-500-normal.7e0789a3289d22727ab3.woff2) format("woff2"),url(/static/media/manrope-latin-ext-500-normal.cb08765add2357d17048.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Manrope;font-style:normal;font-weight:500;src:url(/static/media/manrope-latin-500-normal.c7736fa36f1acc702e19.woff2) format("woff2"),url(/static/media/manrope-latin-500-normal.d6d9a6ff354d8f532ed3.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:600;src:url(/static/media/manrope-cyrillic-ext-600-normal.089722617bc2a1516cec.woff2) format("woff2"),url(/static/media/manrope-cyrillic-ext-600-normal.4bbf09a9b13d319bf5fd.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:600;src:url(/static/media/manrope-cyrillic-600-normal.fc7005426b89f1e8a5a0.woff2) format("woff2"),url(/static/media/manrope-cyrillic-600-normal.09ed6ca36d257b1a4881.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:600;src:url(/static/media/manrope-greek-600-normal.728f66dc2faf2d2a642d.woff2) format("woff2"),url(/static/media/manrope-greek-600-normal.5fc8a48033a208313724.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:600;src:url(/static/media/manrope-vietnamese-600-normal.7b668eb50143b685afd7.woff2) format("woff2"),url(/static/media/manrope-vietnamese-600-normal.a240bc5d3e2b56b8dd99.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:600;src:url(/static/media/manrope-latin-ext-600-normal.908f435aaf9ae938320e.woff2) format("woff2"),url(/static/media/manrope-latin-ext-600-normal.16b78ad10143191b033d.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Manrope;font-style:normal;font-weight:600;src:url(/static/media/manrope-latin-600-normal.af1782c892c03046369d.woff2) format("woff2"),url(/static/media/manrope-latin-600-normal.2b64d70a40d9de82bb19.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:700;src:url(/static/media/manrope-cyrillic-ext-700-normal.4ee2708831b279ef20f1.woff2) format("woff2"),url(/static/media/manrope-cyrillic-ext-700-normal.b2b2b1d8ddf951e3ba37.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:700;src:url(/static/media/manrope-cyrillic-700-normal.682e60cb17fbaab47031.woff2) format("woff2"),url(/static/media/manrope-cyrillic-700-normal.b3861ca8cfacc88c54ff.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:700;src:url(/static/media/manrope-greek-700-normal.8b5144f5aa9ba2f87b92.woff2) format("woff2"),url(/static/media/manrope-greek-700-normal.f68cae99ba31ccd12a09.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:700;src:url(/static/media/manrope-vietnamese-700-normal.5d5f32888990c62b5471.woff2) format("woff2"),url(/static/media/manrope-vietnamese-700-normal.1d5cbbeae3c8b8b0b3fa.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:700;src:url(/static/media/manrope-latin-ext-700-normal.7559db14fbd483e845ce.woff2) format("woff2"),url(/static/media/manrope-latin-ext-700-normal.d75558844f2c31e07286.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Manrope;font-style:normal;font-weight:700;src:url(/static/media/manrope-latin-700-normal.bee86ea645ea6bd5d499.woff2) format("woff2"),url(/static/media/manrope-latin-700-normal.86549a2403b1726731ce.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:800;src:url(/static/media/manrope-cyrillic-ext-800-normal.fa6c2a853a401d0b7323.woff2) format("woff2"),url(/static/media/manrope-cyrillic-ext-800-normal.653a86fb0dde04c5d67b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:800;src:url(/static/media/manrope-cyrillic-800-normal.bf391c5f5929ee7dae46.woff2) format("woff2"),url(/static/media/manrope-cyrillic-800-normal.adff08dfb58b366929a1.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:800;src:url(/static/media/manrope-greek-800-normal.e855627ebd5f299a0696.woff2) format("woff2"),url(/static/media/manrope-greek-800-normal.92555cde25344c2a33c9.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:800;src:url(/static/media/manrope-vietnamese-800-normal.255fcd44c960fc685414.woff2) format("woff2"),url(/static/media/manrope-vietnamese-800-normal.2c4dc9e45dd0af517673.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Manrope;font-style:normal;font-weight:800;src:url(/static/media/manrope-latin-ext-800-normal.c4e14ceb7de4b7e6a2ac.woff2) format("woff2"),url(/static/media/manrope-latin-ext-800-normal.bf48bc6f90ffbc28de47.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Manrope;font-style:normal;font-weight:800;src:url(/static/media/manrope-latin-800-normal.dfaa3215b31de9a0e360.woff2) format("woff2"),url(/static/media/manrope-latin-800-normal.a522549d0f2dd5ec2b48.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root,[data-theme=light]{--primary-color:#0f0f0f;--secondary-color:#4a4a55;--tertiary-color:#8e8e9a;--quaternary-color:#e8e8ed;--accent-color:#0ea5e9;--accent-hover:#0284c7;--bg-color:#fafafa;--card-bg:#fff;--border-color:#e4e4e9;--link-color:#0ea5e9;--nav-bg:#ffffffbf;--nav-border:#0000000f;--nav-scrolled:#fffffff2;--tag-bg:#f0f0f5;--tag-color:#3f3f50;--tag-border:#e0e0e8;--input-bg:#fff;--shadow-sm:0 2px 12px #0000000f;--shadow-md:0 8px 32px #00000014;--shadow-lg:0 16px 48px #0000001a;--primary-font:"Manrope",sans-serif;--secondary-font:"Manrope",sans-serif;--nav-height:64px}[data-theme=dark]{--primary-color:#f5f5f7;--secondary-color:#b0b0be;--tertiary-color:#6e6e80;--quaternary-color:#28282e;--accent-color:#38bdf8;--accent-hover:#0ea5e9;--bg-color:#0c0c0f;--card-bg:#1c1c22;--border-color:#26262c;--link-color:#38bdf8;--nav-bg:#0c0c0fd1;--nav-border:#ffffff12;--nav-scrolled:#0c0c0ff7;--tag-bg:#1e1e24;--tag-color:#c0c0cc;--tag-border:#2e2e36;--input-bg:#16161a;--shadow-sm:0 2px 12px #00000059;--shadow-md:0 8px 32px #00000073;--shadow-lg:0 16px 48px #0009}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-color);color:var(--primary-color);overflow-x:hidden}body,h1,h2,h3,h4,h5,h6{font-family:Manrope,sans-serif}h1,h2,h3,h4,h5,h6{font-weight:700}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.nav-container{display:flex;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;top:20px;z-index:1000}.navbar{align-items:center;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:var(--nav-bg);border:1px solid var(--nav-border);border-radius:50px;box-shadow:0 8px 32px #0000002e,0 0 0 1px #ffffff0a;display:flex;gap:4px;height:52px;opacity:0;padding:6px 6px 6px 16px;pointer-events:all;transition:box-shadow .3s ease,background .3s ease}.navbar-scrolled{background:var(--nav-scrolled);box-shadow:0 12px 40px #00000047,0 0 0 1px #ffffff0f}.nav-logo{align-items:center;display:flex;flex-shrink:0;gap:7px;padding-right:4px;text-decoration:none}.nav-logo-dot{animation:pulse-dot 2s ease-in-out infinite;background:var(--accent-color);border-radius:50%;box-shadow:0 0 8px var(--accent-color);height:8px;width:8px}.nav-logo-text{color:var(--primary-color);font-family:var(--secondary-font);font-size:15px;font-weight:700;letter-spacing:-.3px}.nav-divider{background:var(--border-color);flex-shrink:0;height:22px;margin:0 6px;width:1px}.nav-links-wrap{align-items:center;display:flex;position:relative}.nav-pill{background:var(--tag-bg);border:1px solid var(--border-color);border-radius:30px;height:32px;left:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:none;z-index:0}.nav-list{align-items:center;display:flex;gap:0;list-style:none;margin:0;padding:0;position:relative;z-index:1}.nav-item a{border-radius:30px;color:var(--secondary-color);display:block;font-size:13px;font-weight:500;letter-spacing:.1px;padding:6px 14px;position:relative;text-decoration:none;transition:color .2s ease;white-space:nowrap}.nav-item a:hover,.nav-item.active a{color:var(--primary-color)}.nav-item.active a{font-weight:600}.nav-theme-toggle{align-items:center;background:var(--tag-bg);border:1px solid var(--border-color);border-radius:50%;color:var(--secondary-color);cursor:pointer;display:flex;flex-shrink:0;font-size:13px;height:36px;justify-content:center;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease;width:36px}.nav-theme-toggle:hover{background:#38bdf814;border-color:var(--accent-color);color:var(--accent-color);transform:rotate(20deg)}@media (max-width:768px){.navbar{gap:2px;height:46px;padding:4px 6px 4px 12px}.nav-logo-text{font-size:13px}.nav-divider{margin:0 4px}.nav-item a{font-size:11px;padding:5px 9px}.nav-theme-toggle{font-size:12px;height:32px;width:32px}}@media (max-width:600px){.nav-container{left:8px;right:8px;top:12px}.navbar{height:44px;padding:4px 4px 4px 10px}.nav-divider:first-of-type,.nav-logo-text{display:none}.nav-item a{font-size:10px;padding:5px 7px}.nav-pill{height:28px}}@media (max-width:380px){.nav-item a{font-size:9px;padding:4px 6px}.nav-divider{margin:0 2px}}.footer{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;padding:32px 0 40px}.footer-left{display:flex;flex-direction:column;gap:4px}.footer-name{color:var(--primary-color);font-family:var(--secondary-font);font-size:16px;font-weight:700;letter-spacing:-.3px}.footer-tagline{color:var(--tertiary-color);font-size:12px;font-weight:400}.footer-nav{display:flex;gap:24px;list-style:none;margin:0;padding:0}.footer-nav a{color:var(--secondary-color);font-size:13px;font-weight:500;text-decoration:none;transition:color .2s ease}.footer-nav a:hover{color:var(--accent-color)}.footer-copy{color:var(--tertiary-color);font-size:12px}@media (max-width:600px){.footer{align-items:flex-start;flex-direction:column;gap:20px;padding:28px 0 36px}.footer-nav{gap:16px}.footer-copy{align-self:flex-start}}.works-body{display:flex;flex-direction:column;gap:0}.work{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;gap:16px;padding:16px 0;position:relative}.work:last-child{border-bottom:none}.work-image{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;flex-shrink:0;height:38px;object-fit:cover;width:38px}.work-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.work-title{color:var(--primary-color);font-size:14px;font-weight:700}.work-subtitle{color:var(--secondary-color);font-size:12px;font-weight:400}.work-duration{color:var(--tertiary-color);flex-shrink:0;font-size:11px;font-weight:500;padding-top:2px;white-space:nowrap}@media (max-width:600px){.work{gap:12px;padding:12px 0}.work-image{height:32px;width:32px}.work-title{font-size:13px}.work-subtitle{font-size:11px}.work-duration{font-size:10px}}.project{background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;display:flex;flex-direction:column;-webkit-mask-image:-webkit-radial-gradient(#fff,#000);overflow:hidden;position:relative;transform:translateZ(0);transition:box-shadow .25s ease,background .3s ease,border-color .3s ease;will-change:transform}.project:hover{box-shadow:var(--shadow-lg)}.project-image-wrap{background:var(--quaternary-color);border-radius:0;cursor:pointer;display:flex;flex-shrink:0;gap:3px;height:220px;overflow:hidden;position:relative;width:100%}.project-image{display:block;height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.project-image-secondary{flex-shrink:0;width:50%}.project-image-wrap:has(.project-image-secondary) .project-image:first-child{width:50%}.project:hover .project-image{transform:scale(1.05)}.project-category-tag{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#141416b8;font-size:10px;font-weight:700;letter-spacing:.6px;padding:4px 11px;right:12px;text-transform:uppercase;top:12px}.project-category-tag,.project-image-zoom-hint{border-radius:20px;color:#fff;position:absolute;z-index:2}.project-image-zoom-hint{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;bottom:10px;display:flex;font-size:11px;font-weight:600;gap:5px;left:10px;opacity:0;padding:4px 10px;transition:opacity .2s ease}.project-image-wrap:hover .project-image-zoom-hint{opacity:1}.project-body{display:flex;flex-direction:column;gap:12px;padding:20px}.project-logos{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.project-logo{background:#fff;border:1px solid var(--border-color);border-radius:7px;cursor:pointer;height:30px;object-fit:contain;padding:3px;transition:transform .2s ease,box-shadow .2s ease;width:30px}.project-logo:hover{box-shadow:0 8px 24px #00000040;position:relative;transform:scale(2);z-index:10}.project-title{color:var(--primary-color);font-family:var(--secondary-font);font-size:16px;font-weight:700;letter-spacing:-.3px;line-height:1.35}.project-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--secondary-color);display:-webkit-box;font-size:13px;line-height:1.65;overflow:hidden}.project-description-expanded{-webkit-line-clamp:unset;display:block;overflow:visible}.project-read-more{background:none;border:none;color:var(--accent-color);cursor:pointer;font-family:var(--primary-font);font-size:12px;font-weight:600;margin-top:-4px;padding:0;text-align:left;transition:color .2s ease}.project-read-more:hover{color:var(--accent-hover);text-decoration:underline}.project-tags{display:flex;flex-wrap:wrap;gap:5px}.project-tag{background:var(--tag-bg);border:1px solid var(--tag-border);border-radius:20px;color:var(--tag-color);font-size:10px;font-weight:600;letter-spacing:.2px;padding:3px 9px}.project-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.project-link-btn{align-items:center;border-radius:9px;display:inline-flex;font-family:var(--primary-font);font-size:12px;font-weight:600;gap:6px;justify-content:center;padding:9px 13px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.project-link-primary{background:var(--primary-color);color:var(--bg-color)}.project-link-primary:hover{background:var(--accent-color);color:#fff}.project-link-ios{background:var(--tag-bg);border:1px solid var(--border-color);color:var(--primary-color)}.project-link-ios:hover{background:#111;border-color:#111;color:#fff}.project-link-android{background:var(--tag-bg);border:1px solid var(--border-color);color:var(--primary-color)}.project-link-android:hover{background:#3ddc84;border-color:#3ddc84;color:#fff}.lightbox-overlay{align-items:center;animation:lb-fade .2s ease;background:#000000eb;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}.lightbox-close{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:background .2s ease;width:40px}.lightbox-close:hover{background:#fff3}.lightbox-content{align-items:center;display:flex;flex-direction:column;gap:16px;max-height:90vh;max-width:90vw}.lightbox-img{border-radius:12px;box-shadow:0 24px 60px #0009;max-height:75vh;max-width:100%;object-fit:contain}.lightbox-thumbs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.lightbox-thumb{border:2px solid #0000;border-radius:8px;cursor:pointer;height:64px;object-fit:cover;opacity:.6;transition:all .2s ease;width:64px}.lightbox-thumb:hover{opacity:1}.lightbox-thumb-active{border-color:var(--accent-color);opacity:1}@media (max-width:600px){.project-image-wrap{height:180px}.project-body{gap:10px;padding:14px}.project-title{font-size:14px}.project-description{font-size:12px}.project-link-btn{font-size:11px;padding:8px 10px}.project-logo{height:26px;width:26px}.project-logo:hover{transform:scale(1.6)}}.projects-filter-bar{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0 30px}.filter-btn{align-items:center;background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:30px;color:var(--secondary-color);cursor:pointer;display:inline-flex;font-family:var(--primary-font);font-size:13px;font-weight:600;gap:7px;padding:8px 18px;transition:all .2s ease}.filter-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.filter-btn-active{background:var(--primary-color);border-color:var(--primary-color);color:var(--bg-color)}.filter-btn-active:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.filter-count{background:#80808026;border-radius:20px;color:inherit;font-size:11px;font-weight:700;min-width:20px;padding:1px 7px;text-align:center}.filter-btn:not(.filter-btn-active) .filter-count{background:var(--tag-bg);color:var(--tertiary-color)}.all-projects-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);padding-bottom:30px}@media (max-width:1024px){.all-projects-container{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.all-projects-container{gap:16px;grid-template-columns:1fr}.projects-filter-bar{gap:6px;padding-bottom:20px}.filter-btn{font-size:11px;padding:6px 12px}}.hero-bg{--mx:50%;--my:50%;height:100vh;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100vw;z-index:0}.hero-grid{background-image:radial-gradient(circle,#ffffff12 1px,#0000 0);background-size:36px 36px;inset:0;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 40%,#0000 100%);-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 40%,#0000 100%);position:absolute}.hero-mouse-glow{background:radial-gradient(circle,#38bdf814 0,#0000 70%);height:600px;left:var(--mx);pointer-events:none;top:var(--my);transform:translate(-50%,-50%);transition:left .15s ease,top .15s ease;width:600px}.hero-mouse-glow,.orb{border-radius:50%;position:absolute}.orb{animation:orbFloat 12s ease-in-out infinite;filter:blur(100px);opacity:.55}.orb-1{animation-duration:14s;background:radial-gradient(circle,#38bdf8,#6366f1);filter:blur(120px);height:700px;left:-350px;opacity:.15;top:-300px;width:700px}.orb-2{animation-delay:-4s;animation-duration:10s;background:radial-gradient(circle,#818cf8,#a855f7);height:380px;opacity:.15;right:-120px;top:0;width:380px}.orb-3{animation-delay:-8s;animation-duration:16s;background:radial-gradient(circle,#10b981,#38bdf8);bottom:-80px;height:300px;left:20%;opacity:.12;width:300px}.orb-4{animation-delay:-2s;animation-duration:11s;background:radial-gradient(circle,#f59e0b,#ef4444);bottom:5%;height:240px;opacity:.1;right:25%;width:240px}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-40px) scale(1.05)}66%{transform:translate(-20px,30px) scale(.95)}}.hero-particle{animation:particleDrift calc(8s + var(--i)*.7s) ease-in-out infinite;animation-delay:calc(var(--i)*-.5s);border-radius:50%;height:3px;position:absolute;width:3px}.hero-particle:nth-child(odd){background:#38bdf8}.hero-particle:nth-child(3n){background:#a855f7;height:4px;width:4px}.hero-particle:nth-child(4n){background:#10b981}.hero-particle:nth-child(5n){background:#ec4899;height:2px;width:2px}.hero-particle:nth-child(6n){background:#f59e0b}.hero-particle:first-child{left:5%;top:20%}.hero-particle:nth-child(2){left:12%;top:70%}.hero-particle:nth-child(3){left:20%;top:40%}.hero-particle:nth-child(4){left:28%;top:85%}.hero-particle:nth-child(5){left:35%;top:15%}.hero-particle:nth-child(6){left:42%;top:55%}.hero-particle:nth-child(7){left:50%;top:30%}.hero-particle:nth-child(8){left:58%;top:75%}.hero-particle:nth-child(9){left:65%;top:10%}.hero-particle:nth-child(10){left:72%;top:50%}.hero-particle:nth-child(11){left:78%;top:25%}.hero-particle:nth-child(12){left:84%;top:65%}.hero-particle:nth-child(13){left:90%;top:40%}.hero-particle:nth-child(14){left:95%;top:80%}.hero-particle:nth-child(15){left:18%;top:90%}.hero-particle:nth-child(16){left:55%;top:90%}.hero-particle:nth-child(17){left:75%;top:88%}.hero-particle:nth-child(18){left:40%;top:5%}@keyframes particleDrift{0%,to{opacity:.6;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-28px) scale(1.3)}}.hero{align-items:center;display:flex;gap:60px;justify-content:space-between;padding-bottom:80px;padding-top:140px}.hero-left{flex:1 1;gap:0}.hero-left,.hero-right{display:flex;flex-direction:column;position:relative;z-index:1}.hero-right{align-items:center;flex-shrink:0;gap:20px}.hero-badge{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#1e1e24cc;border:1px solid var(--border-color);border-radius:30px;color:var(--accent-color);display:inline-flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.2px;margin-bottom:24px;padding:6px 14px;width:-moz-fit-content;width:fit-content}.hero-badge-dot{animation:pulse-dot 2s ease-in-out infinite;background:var(--accent-color);border-radius:50%;height:7px;width:7px}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.hero-title{font-size:58px!important;letter-spacing:-2px!important;line-height:1.05!important;margin-bottom:24px;width:100%!important}.hero-title-accent{color:var(--accent-color)}.hero-subtitle{font-size:15px!important;line-height:1.8!important;margin-bottom:32px;margin-top:0!important;width:90%!important}.hero-socials{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.social-btn{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:10px;color:var(--primary-color);display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:10px 20px;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.social-btn:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff;transform:translateY(-2px)}.social-btn-outline{background:#0000;border:1.5px solid var(--border-color);color:var(--primary-color)}.social-btn-outline:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.hero-cert-pill{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#1c1c22d9;border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);display:inline-flex;gap:10px;padding:10px 16px;width:-moz-fit-content;width:fit-content}.hero-cert-pill img{border-radius:4px;height:28px;object-fit:contain;width:28px}.hero-cert-pill span{color:var(--secondary-color);font-size:12px;font-weight:600}.hero-image-frame{height:340px;position:relative;width:340px}.hero-image{border:2px solid var(--border-color);border-radius:28px;box-shadow:0 24px 60px #00000059;height:100%;object-fit:cover;position:relative;width:100%;z-index:1}.hero-image-glow{background:linear-gradient(135deg,var(--accent-color) 0,#a855f7 50%,#0000 70%);border-radius:34px;filter:blur(24px);inset:-8px;opacity:.2;position:absolute;z-index:0}.hero-stats{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-md);gap:0;padding:16px 24px;width:100%}.hero-stat,.hero-stats{align-items:center;display:flex}.hero-stat{flex:1 1;flex-direction:column;gap:2px}.hero-stat-num{color:var(--primary-color);font-family:var(--secondary-font);font-size:22px;font-weight:700;letter-spacing:-.5px}.hero-stat-label{color:var(--tertiary-color);font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.hero-stat-divider{background:var(--border-color);height:36px;width:1px}.marquee-wrap{border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);margin-bottom:0;mask-image:linear-gradient(90deg,#0000,#000 10%,#000 90%,#0000);-webkit-mask-image:linear-gradient(90deg,#0000,#000 10%,#000 90%,#0000);overflow:hidden;padding:20px 0}.marquee-track{display:flex;gap:0;width:max-content;will-change:transform}.marquee-item{align-items:center;color:var(--secondary-color);display:inline-flex;font-size:13px;font-weight:600;gap:8px;letter-spacing:.3px;padding:0 28px;transition:color .2s ease;white-space:nowrap}.marquee-item:hover{color:var(--accent-color)}.marquee-dot{background:var(--accent-color);border-radius:50%;flex-shrink:0;height:5px;opacity:.6;width:5px}.section-block{border-top:1px solid var(--border-color);padding:60px 0}.section-label{color:var(--tertiary-color);font-family:var(--secondary-font);font-size:11px;font-weight:700;letter-spacing:2px;margin-bottom:32px;text-transform:uppercase}.section-link{color:var(--accent-color);display:inline-block;font-size:14px;font-weight:600;margin-top:24px;text-decoration:none;transition:gap .2s ease}.section-link:hover{text-decoration:underline}.certs-grid{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px}@media (max-width:1024px){.hero{flex-direction:column-reverse;gap:32px;padding-top:100px}.hero-right{align-items:center;width:100%}.hero-image-frame{height:260px;width:260px}.hero-title{font-size:44px!important}.hero-subtitle{width:100%!important}}@media (max-width:768px){.hero{gap:28px;padding-bottom:40px;padding-top:90px}.hero-title{font-size:36px!important;letter-spacing:-1.5px!important}.hero-subtitle{font-size:14px!important;margin-bottom:24px}.hero-image-frame{height:220px;width:220px}.hero-socials{gap:8px;margin-bottom:20px}.social-btn{font-size:12px;padding:9px 14px}.hero-stats{padding:12px 16px}.hero-stat-num{font-size:18px}.hero-cert-pill{padding:8px 12px}.hero-cert-pill span{font-size:11px}.section-block{padding:40px 0}.marquee-item{font-size:12px;padding:0 18px}.certs-grid{justify-content:center}}@media (max-width:480px){.hero{gap:24px;padding-top:80px}.hero-title{font-size:28px!important;letter-spacing:-1px!important}.hero-subtitle{font-size:13px!important;line-height:1.7!important}.hero-image-frame{height:180px;width:180px}.hero-badge{font-size:11px;padding:5px 12px}.social-btn{font-size:11px;gap:6px;padding:8px 12px}.hero-stats{padding:10px 12px}.hero-stat-num{font-size:16px}.hero-stat-label{font-size:9px}.section-block{padding:32px 0}.certs-grid{gap:12px}}.logo{border-radius:50%;display:block;margin:0;padding:0}.email-wrapper,.social{display:flex;padding-bottom:20px}.email-wrapper a,.social a{text-decoration:none}.social-icon{font-size:15px}.social-icon,.social-text{color:var(--secondary-color)}.social-text{font-size:14px;font-weight:600;margin-top:-20px;padding-left:30px}.email:before{border-top:3px solid var(--border-color);content:"";display:block;margin-top:20px}.email-wrapper,.email:before{padding-top:20px}.about-logo-container{display:flex;justify-content:left;padding-top:25px}.about-logo{border:1px solid #fff;border-radius:50%;box-shadow:0 4px 10px #00000040;display:flex;position:fixed;top:4vh}.about-container{display:flex;flex-direction:column;height:100%;margin:0;padding-top:120px}.about-main{display:flex}.about-right-side{flex-basis:900px}.about-title{width:100%!important}.about-subtitle{width:80%!important}.about-left-side{display:flex;flex-basis:300px;flex-direction:column}.about-image-container{width:370px}.about-image-wrapper{border-radius:10%;display:inline-block;overflow:hidden;transform:rotate(3deg);width:100%}.about-image-wrapper img{display:block;width:100%}.about-socials{padding-bottom:50px;padding-top:50px}.about-socials-mobile{display:none}@media (max-width:1024px){.about-logo{z-index:100}.about-main{flex-direction:column}.about-subtitle{padding-top:20px!important}.about-left-side{flex-basis:100%;order:1}.about-right-side{flex-basis:100%;order:2}.about-image-container{padding-bottom:40px}.about-socials{display:none}.about-socials-mobile{display:flex;padding-top:30px}}@media (max-width:600px){.about-container{padding-top:60px}.about-image-container{width:80%}}.projects-container{padding-bottom:60px;padding-top:130px}.page-section-label{color:var(--tertiary-color);font-size:11px;font-weight:700;letter-spacing:2px;margin-bottom:16px;text-transform:uppercase}.projects-title{width:100%!important}.projects-subtitle{margin-bottom:0;width:70%!important}.projects-list{margin-top:48px}@media (max-width:768px){.projects-container{padding-top:100px}.projects-subtitle{width:100%!important}}.contact-logo-container{display:flex;justify-content:left;padding-top:25px}.contact-logo{border:1px solid #fff;border-radius:50%;box-shadow:0 4px 10px #00000040;display:flex;position:fixed;top:4vh}.contact-subtitle{width:100%!important}.contact-container{display:flex;flex-direction:column;justify-content:space-around;margin-top:120px}.socials-container{display:flex;flex-direction:column;margin-top:80px}.contact-socials{align-items:center;display:flex;justify-content:flex-start}.not-found{height:100vh;overflow:hidden}.notfound-logo-container{display:flex;justify-content:left;padding-top:25px}.notfound-logo{border:1px solid #fff;border-radius:50%;box-shadow:0 4px 10px #00000040;display:flex;position:fixed;top:4vh;z-index:999}.notfound-container{display:flex;flex-direction:column;height:100%;margin:0;padding-top:120px}.notfound-message{align-items:center;display:flex;flex-direction:column;justify-content:center;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}.notfound-title{color:var(--primary-color);font-family:var(--secondary-font);font-size:80px;font-weight:700;padding-top:15px}.not-found-message{color:var(--secondary-color);font-size:2rem;margin:2rem 0;text-align:center}.not-found-link{background-color:var(--link-color);border-radius:50px;color:#fff;font-size:1.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease-in-out}.not-found-link:hover{background-color:#fff;box-shadow:2px 2px 8px #0000004d;color:var(--link-color)}@media (max-width:500px){.notfound-message{left:auto;position:absolute;top:auto;transform:none;width:100%}.notfound-title{font-size:50px}.not-found-message{font-size:15px;margin-left:-5px;margin-right:32px;margin-top:10px;width:100%}.not-found-link{font-size:15px;padding:15px}}.certifications-container{margin:0 auto;max-width:1200px;padding:60px 20px 0}.certifications-header{margin-bottom:50px;padding-top:20px;text-align:center}.certifications-title{color:var(--primary-color);font-size:36px;font-weight:700;margin-bottom:16px;position:relative}.certifications-title:after{background:linear-gradient(90deg,var(--primary-color),var(--link-color));border-radius:2px;bottom:-8px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.certifications-subtitle{color:var(--secondary-color);font-size:18px;line-height:1.6;margin:0 auto;max-width:600px}.certifications-badges-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-md);margin:60px 0;padding:40px 0}.certifications-badges-title{color:var(--primary-color);font-size:24px;font-weight:600;margin-bottom:30px;text-align:center}.certifications-badges{align-items:flex-start;display:flex;flex-wrap:wrap;gap:30px;justify-content:center}.badge-wrapper{background:var(--bg-color);border:1px solid var(--border-color);border-radius:15px;box-shadow:var(--shadow-sm);padding:20px;transition:transform .3s ease,box-shadow .3s ease}.badge-wrapper:hover{box-shadow:0 15px 35px #00000026;transform:translateY(-10px)}.certifications-links-section{margin:60px 0}.certifications-links-title{color:var(--primary-color);font-size:24px;font-weight:600;margin-bottom:30px;text-align:center}.certifications-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:30px}.certification-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:15px;box-shadow:var(--shadow-sm);padding:25px;transition:transform .3s ease,box-shadow .3s ease}.certification-card:hover{box-shadow:0 10px 25px #00000026;transform:translateY(-5px)}.certification-card h3{color:var(--primary-color);font-size:18px;font-weight:600;line-height:1.4;margin-bottom:10px}.certification-card p{color:var(--secondary-color);font-size:14px;line-height:1.5;margin-bottom:15px}.certification-card .cert-link{align-items:center;color:var(--link-color);display:inline-flex;font-weight:500;gap:5px;text-decoration:none;transition:color .3s ease}.certification-card .cert-link:hover{color:var(--primary-color);text-decoration:underline}.cert-provider{background:var(--tag-bg);border:1px solid var(--tag-border);border-radius:20px;color:var(--tag-color);display:inline-block;font-size:12px;font-weight:600;margin-bottom:15px;padding:4px 12px}@media (max-width:768px){.certifications-title{font-size:28px}.certifications-badges{gap:20px}.certifications-badges-section{margin:40px 0;padding:30px 15px}.badge-wrapper{padding:15px}.certifications-grid{gap:15px;grid-template-columns:1fr}}@media (max-width:480px){.certifications-container{padding:0 15px}.certifications-title{font-size:24px}.certifications-subtitle{font-size:16px}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:var(--quaternary-color);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--tertiary-color)}.page-content{background:var(--bg-color);min-height:100vh;position:relative;transition:background .3s ease,color .3s ease}.content-wrapper{margin:0 auto;max-width:1100px;padding:0 40px;position:relative;z-index:1}.title{color:var(--primary-color);font-family:var(--secondary-font);font-size:52px;font-weight:700;letter-spacing:-1.5px;line-height:1.1;width:70%}.subtitle{color:var(--secondary-color);font-size:16px;font-weight:400;line-height:1.75;margin-top:20px;padding-top:10px;width:70%}.page-footer{border-top:1px solid var(--border-color);margin-top:80px}@media (max-width:1200px){.content-wrapper{max-width:960px}}@media (max-width:1024px){.content-wrapper{max-width:100%;padding:0 32px}.title{font-size:42px}}@media (max-width:768px){.content-wrapper{padding:0 20px}.title{font-size:34px;letter-spacing:-1px;width:100%}.subtitle{font-size:15px;width:100%}}@media (max-width:480px){.content-wrapper{padding:0 16px}.title{font-size:28px}.subtitle{font-size:14px}}
/*# sourceMappingURL=main.4ee50239.css.map*/