@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--bg:#050810;--bg-soft:#0a101f;--surface:#0f172a99;--surface-solid:#0f172a;--border:#94a3b824;--border-strong:#22d3ee73;--text:#e2e8f0;--text-muted:#94a3b8;--accent:#22d3ee;--accent-2:#3b82f6;--accent-3:#a78bfa;--gradient:linear-gradient(120deg, #22d3ee, #3b82f6, #a78bfa);--radius:16px;--font-sans:var(--font-geist-sans), system-ui, -apple-system, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, SFMono-Regular, monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--text);background:var(--bg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}body:before{content:"";z-index:-3;background:radial-gradient(900px 500px at 15% -10%, #3b82f61f, transparent 60%), radial-gradient(800px 500px at 90% 10%, #a78bfa1a, transparent 60%), radial-gradient(700px 600px at 50% 110%, #22d3ee14, transparent 60%), var(--bg);position:fixed;inset:0}body:after{content:"";z-index:-2;pointer-events:none;background-image:linear-gradient(#94a3b80d 1px,#0000 1px),linear-gradient(90deg,#94a3b80d 1px,#0000 1px);background-size:56px 56px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(90% 70% at 50% 0,#000 40%,#0000 100%);mask-image:radial-gradient(90% 70% at 50% 0,#000 40%,#0000 100%)}a{color:inherit;text-decoration:none}button{font-family:inherit}::selection{color:#fff;background:#22d3ee59}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(#164e63,#1e3a8a);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#155e75}.container{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}.navbar{z-index:100;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#050810b8;transition:background .3s,border-color .3s;position:sticky;top:0}.navbar.scrolled{border-bottom-color:var(--border-strong);background:#050810e6}.nav-inner{justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.brand{letter-spacing:-.02em;color:var(--text);align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.brand-mark{background:var(--gradient);color:#050810;width:34px;height:34px;font-family:var(--font-mono);border-radius:10px;place-items:center;font-size:14px;font-weight:700;animation:3s ease-in-out infinite pulse-glow;display:grid;box-shadow:0 0 18px #22d3ee73}.brand .brand-dot{color:var(--accent)}.nav-links{align-items:center;gap:6px;list-style:none;display:flex}.nav-link{color:var(--text-muted);border-radius:10px;padding:8px 16px;font-size:15px;font-weight:500;transition:color .2s,background .2s;display:block;position:relative}.nav-link:hover{color:var(--text);background:#22d3ee14}.nav-link.active{color:var(--accent)}.nav-link.active:after{content:"";background:var(--gradient);border-radius:2px;height:2px;position:absolute;bottom:3px;left:16px;right:16px;box-shadow:0 0 10px #22d3eeb3}.nav-cta{background:var(--gradient);color:#050810;border-radius:999px;padding:8px 18px;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 0 20px #22d3ee40}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 0 30px #22d3ee80}.nav-burger{border:1px solid var(--border);width:42px;height:42px;color:var(--text);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;display:none}.nav-mobile{flex-direction:column;gap:4px;padding:10px 0 16px;list-style:none;display:none}.nav-mobile.open{animation:.25s fade-slide-down;display:flex}@media (max-width:768px){.nav-links{display:none}.nav-burger{display:flex}.nav-mobile{display:none}.nav-mobile.open{display:flex}.nav-mobile .nav-link{padding:12px 14px;font-size:16px}}.hero{text-align:center;flex-direction:column;align-items:center;gap:24px;padding:72px 0 24px;display:flex;position:relative}.hero-badge{border:1px solid var(--border-strong);color:var(--accent);letter-spacing:.04em;background:#22d3ee12;border-radius:999px;align-items:center;gap:8px;padding:7px 16px;font-size:13px;font-weight:600;display:inline-flex}.hero-badge .dot{background:#34d399;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite blink;box-shadow:0 0 10px #34d399}.avatar-wrap{position:relative}.avatar-ring{background:conic-gradient(from 0deg, transparent 0%, var(--accent) 15%, transparent 30%, transparent 50%, var(--accent-2) 65%, transparent 80%);filter:blur(1px);border-radius:50%;animation:6s linear infinite spin-slow;position:absolute;inset:-10px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 2px))}.avatar-ring-2{border:1px dashed #94a3b840;border-radius:50%;animation:18s linear infinite reverse spin-slow;position:absolute;inset:-22px}.avatar-glow{filter:blur(20px);z-index:-1;background:radial-gradient(circle,#22d3ee38,#0000 70%);border-radius:50%;animation:4s ease-in-out infinite pulse-glow;position:absolute;inset:-30px}.hero h1{letter-spacing:-.03em;background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:800;line-height:1.08}.hero .role-line{font-family:var(--font-mono);color:var(--text-muted);min-height:1.8em;font-size:clamp(1rem,2.4vw,1.35rem)}.hero .role-line .caret{width:.6em;color:var(--accent);margin-left:2px;animation:1s step-end infinite blink;display:inline-block}.hero p.lead{max-width:640px;color:var(--text-muted);font-size:clamp(1rem,2vw,1.1rem);line-height:1.75}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:13px 30px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .25s,background .25s,color .25s;display:inline-flex}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--gradient);color:#050810;background-size:180% 180%;animation:6s infinite gradient-shift;box-shadow:0 6px 24px #22d3ee59}.btn-primary:hover{box-shadow:0 10px 34px #22d3ee8c}.btn-ghost{color:var(--accent);border-color:var(--border-strong);background:0 0}.btn-ghost:hover{background:#22d3ee1a;box-shadow:0 6px 24px #22d3ee33}.socials{justify-content:center;gap:14px;margin-top:8px;display:flex}.social-link{width:46px;height:46px;color:var(--text-muted);border:1px solid var(--border);background:var(--surface);border-radius:12px;place-items:center;transition:color .25s,transform .25s,border-color .25s,box-shadow .25s;display:grid}.social-link:hover{color:var(--accent);border-color:var(--border-strong);transform:translateY(-4px);box-shadow:0 8px 24px #22d3ee40}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;max-width:860px;margin:16px auto 0;display:grid}.stat-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;min-width:0;padding:20px 12px;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--gradient);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.stat-value{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;font-family:var(--font-mono);background:var(--gradient);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text}.stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);overflow-wrap:break-word;margin-top:4px;font-size:12px;font-weight:600;line-height:1.4}@media (max-width:900px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}.section{padding:72px 0}.section-head{text-align:center;margin-bottom:44px}.section-eyebrow{font-family:var(--font-mono);color:var(--accent);letter-spacing:.18em;text-transform:uppercase;font-size:13px}.section-head h2{letter-spacing:-.02em;margin-top:10px;font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:800}.section-head .underline{background:var(--gradient);border-radius:4px;width:64px;height:4px;margin:16px auto 0;box-shadow:0 0 16px #22d3ee99}.card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.card:hover{border-color:var(--border-strong);box-shadow:0 14px 40px #02081799,0 0 24px #22d3ee1f}.card:after{content:"";border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), #22d3ee1a, transparent 45%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.card:hover:after{opacity:1}.card-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:26px 24px 6px;display:flex}.card-title{letter-spacing:-.01em;color:var(--text);font-size:19px;font-weight:700;line-height:1.35}.card-title .accent{color:var(--accent)}.tag{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border-strong);color:var(--accent);white-space:nowrap;background:#22d3ee14;border-radius:999px;padding:3px 12px;font-size:11px;font-weight:700;display:inline-block}.tag.purple{color:#c4b5fd;background:#a78bfa1a;border-color:#a78bfa80}.tag.green{color:#6ee7b7;background:#34d3991a;border-color:#34d39980}.tech-line{font-family:var(--font-mono);color:var(--accent-2);font-size:13px;font-weight:500}.card-body{padding:12px 24px 26px}.card-body ul{flex-direction:column;gap:8px;margin-left:18px;display:flex}.card-body li{color:var(--text-muted);font-size:14.5px;line-height:1.6}.card-link{color:var(--accent);align-items:center;gap:6px;margin-top:18px;font-size:14px;font-weight:600;transition:gap .2s;display:inline-flex}.card-link:hover{gap:10px}.marquee-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#0a101f99;width:100%;padding:18px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.marquee{gap:48px;width:max-content;animation:30s linear infinite marquee;display:flex}.marquee-wrap:hover .marquee{animation-play-state:paused}.marquee-item{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;align-items:center;gap:10px;font-size:14.5px;display:inline-flex}.marquee-item:before{content:"▹";color:var(--accent);font-size:12px}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.reveal.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.timeline{max-width:780px;margin:0 auto;padding-left:34px;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-2), var(--accent-3), transparent);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:10px}.timeline-item{margin-bottom:22px;padding:22px 24px;position:relative}.timeline-item:before{content:"";background:var(--bg);border:3px solid var(--accent);border-radius:50%;width:14px;height:14px;position:absolute;top:30px;left:-30px;box-shadow:0 0 14px #22d3eeb3}.timeline-item h4{font-size:17px;font-weight:700}.timeline-item .when{font-family:var(--font-mono);color:var(--accent);margin-top:2px;font-size:12.5px}.timeline-item p,.timeline-item ul{color:var(--text-muted);margin-top:10px;font-size:14.5px;line-height:1.7}.timeline-item ul{margin-left:18px}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;width:100%;display:grid}.skill-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);padding:24px}.skill-card h4{align-items:center;gap:10px;margin-bottom:18px;font-size:15px;font-weight:700;display:flex}.skill-card h4 .icon{border:1px solid var(--border-strong);width:34px;height:34px;color:var(--accent);background:#22d3ee1f;border-radius:10px;place-items:center;font-size:16px;display:grid}.skill-row{margin-bottom:14px}.skill-row .meta{color:var(--text-muted);justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.skill-row .meta b{color:var(--text);font-weight:600}.skill-bar{background:#94a3b824;border-radius:6px;height:7px;overflow:hidden}.skill-fill{background:var(--gradient);border-radius:6px;width:0;height:100%;transition:width 1.2s cubic-bezier(.22,1,.36,1);box-shadow:0 0 12px #22d3ee80}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);color:var(--text-muted);background:#0f172ab3;border-radius:999px;padding:5px 13px;font-size:12.5px;font-weight:600;transition:color .2s,border-color .2s,transform .2s}.chip:hover{color:var(--accent);border-color:var(--border-strong);transform:translateY(-2px)}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px;max-width:960px;margin:0 auto;display:grid}.contact-card{text-align:center;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);flex-direction:column;align-items:center;gap:8px;padding:28px 22px;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex}.contact-card:hover{border-color:var(--border-strong);transform:translateY(-6px);box-shadow:0 14px 36px #02081799,0 0 22px #22d3ee26}.contact-card .cicon{border:1px solid var(--border-strong);width:56px;height:56px;color:var(--accent);background:#22d3ee1a;border-radius:16px;place-items:center;margin-bottom:8px;transition:box-shadow .25s;display:grid}.contact-card:hover .cicon{box-shadow:0 0 24px #22d3ee66}.contact-card h4{letter-spacing:.05em;text-transform:uppercase;color:var(--text);font-size:15px;font-weight:700}.contact-card .cval{color:var(--text-muted);word-break:break-word;font-size:14px;line-height:1.5}.contact-card a.cval:hover{color:var(--accent)}.footer{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);margin-top:48px;padding:36px 0;font-size:14px}.footer .code{font-family:var(--font-mono);color:var(--accent)}.footer .heart{color:#f472b6}.terminal{border:1px solid var(--border);text-align:left;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040810d9;border-radius:14px;width:100%;max-width:560px;overflow:hidden;box-shadow:0 24px 60px #00000080}.terminal-bar{border-bottom:1px solid var(--border);background:#0f172a80;align-items:center;gap:8px;padding:12px 16px;display:flex}.terminal-bar .t-dot{border-radius:50%;width:11px;height:11px}.t-dot.red{background:#f87171}.t-dot.yellow{background:#fbbf24}.t-dot.green{background:#34d399}.terminal-bar .t-title{font-family:var(--font-mono);color:var(--text-muted);margin-left:8px;font-size:12.5px}.terminal-body{font-family:var(--font-mono);color:#a5f3fc;padding:20px 18px;font-size:13.5px;line-height:1.9;overflow-x:auto}.terminal-body .c-comment{color:#475569}.terminal-body .c-key{color:#c4b5fd}.terminal-body .c-str{color:#6ee7b7}.terminal-body .c-ok{color:#34d399}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 14px #22d3ee59}50%{box-shadow:0 0 28px #22d3eea6}}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes fade-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.float-slow{animation:7s ease-in-out infinite float}.gradient-text{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-muted{color:var(--text-muted)}.mono{font-family:var(--font-mono)}.h-100,.reveal.h-100{height:100%}.hr-glow{background:linear-gradient(90deg, transparent, var(--border-strong), transparent);border:none;height:1px;margin:40px 0}@media (max-width:640px){.container{padding:0 18px}.section{padding:52px 0}.hero{padding-top:48px}.hero-ctas .btn{justify-content:center;width:100%}.stat-card{padding:16px 8px}.stat-value{font-size:1.45rem}.stat-label{letter-spacing:.05em;font-size:10.5px}.card-top{padding:22px 18px 4px}.card-body{padding:10px 18px 22px}.terminal-body{padding:16px 14px;font-size:12px}}@media (max-width:360px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{border-radius:12px;padding:13px 6px}.stat-value{font-size:1.25rem}.stat-label{letter-spacing:.03em;font-size:9.5px}.social-link{width:42px;height:42px}.hero-ctas .btn{padding:12px 22px;font-size:14px}}
