@import url(https://fonts.googleapis.com/css2?family=Syne:wght@600;700;800&family=Manrope:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap);:root{--bg:#070b10;--bg2:#0d141c;--bg3:#15202c;--card:#111c26cc;--card-hover:#1c2e3c9e;--card-border:#7494aa38;--card-border-hover:#c4b5fd85;--cyan:#c4b5fd;--cyan-dim:#c4b5fd29;--cyan-glow:#c4b5fd42;--amber:#38bdf8;--amber-dim:#38bdf829;--green:#10b981;--purple:#a78bfa;--text:#e2e8f0;--text2:#9ba7bc;--text3:#6f8099;--mono:"IBM Plex Mono",monospace;--sans:"Manrope",sans-serif;--display:"Syne",sans-serif;--radius:14px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background:radial-gradient(circle at 14% 12%,#c4b5fd1c,#0000 30%),radial-gradient(circle at 82% 10%,#38bdf817,#0000 34%),linear-gradient(180deg,#070b10,#0d141c 60%,#070b10);color:var(--text);font-family:var(--sans);letter-spacing:.01em;line-height:1.78;overflow-x:hidden}body:before{background-image:linear-gradient(#7ba1bb0d 1px,#0000 0),linear-gradient(90deg,#7ba1bb0a 1px,#0000 0);background-size:52px 52px;content:"";inset:0;pointer-events:none;position:fixed;z-index:0}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--cyan-glow);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--cyan)}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%}.section-wrapper{padding:clamp(4.8rem,8vw,6.8rem) 6%;position:relative;z-index:1}.section-label{color:var(--cyan);font-family:var(--mono);font-size:.68rem;letter-spacing:.22em;margin-bottom:1rem;text-transform:uppercase}.section-label:before{content:"// "}.section-title{font-family:var(--display);font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin-bottom:.75rem;max-width:12ch}.section-title em{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,var(--cyan),var(--amber));-webkit-background-clip:text;background-clip:text;font-style:normal}.section-subtitle{color:var(--text2);font-size:clamp(.94rem,1.8vw,1.02rem);line-height:1.9;margin-bottom:clamp(2.4rem,4.5vw,3.5rem);max-width:62ch}.btn-primary{align-items:center;background:var(--cyan);border:none;border-radius:8px;color:var(--bg);cursor:pointer;display:inline-flex;font-family:var(--mono);font-size:.74rem;font-weight:700;gap:.5rem;letter-spacing:.08em;padding:.8rem 2rem;text-decoration:none;text-transform:uppercase;transition:all .25s}.btn-primary:hover{background:#22a9e0;box-shadow:0 8px 25px var(--cyan-glow);transform:translateY(-2px)}.btn-outline{align-items:center;background:#0000;border:1px solid var(--card-border);border-radius:8px;color:var(--text);cursor:pointer;display:inline-flex;font-family:var(--mono);font-size:.74rem;font-weight:500;gap:.5rem;letter-spacing:.08em;padding:.8rem 2rem;text-decoration:none;text-transform:uppercase;transition:all .25s}.btn-outline:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px)}.tag{background:var(--cyan-dim);border:1px solid #00d4ff33;border-radius:6px;color:var(--cyan);font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;padding:.28rem .7rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:translateY(0)}.navbar{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#090d179e;border-bottom:1px solid #94a3b81a;display:flex;height:66px;justify-content:space-between;left:0;padding:0 6%;position:fixed;right:0;top:0;transition:all .3s;z-index:200}.navbar.scrolled{background:#090d17eb;border-bottom-color:var(--card-border)}.nav-logo{color:var(--cyan);flex-shrink:0;font-family:var(--display);font-size:1.06rem;font-weight:700;letter-spacing:.03em;text-decoration:none}.nav-logo span{color:var(--text3)}.nav-links{display:flex;gap:1.75rem;list-style:none}.nav-links a{color:var(--text2);font-family:var(--mono);font-size:.69rem;font-weight:400;letter-spacing:.1em;padding-bottom:2px;position:relative;text-decoration:none;text-transform:uppercase;transition:color .2s}.nav-links a:after{background:var(--cyan);bottom:-3px;content:"";height:1px;left:0;position:absolute;transition:width .3s;width:0}.nav-links a.active,.nav-links a:hover{color:var(--cyan)}.nav-links a.active:after,.nav-links a:hover:after{width:100%}.nav-cta{border:1px solid var(--cyan);border-radius:999px;color:var(--cyan);flex-shrink:0;font-family:var(--mono);font-size:.66rem;font-weight:500;letter-spacing:.08em;padding:.5rem 1.15rem;text-decoration:none;text-transform:uppercase;transition:all .25s}.nav-cta:hover{background:var(--cyan);color:var(--bg)}.nav-burger{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;justify-content:center;padding:4px}.nav-burger span{background:var(--text2);border-radius:2px;display:block;height:2px;transition:all .3s;width:22px}.nav-burger.open span:first-child{transform:translateY(7px) rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0}.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:768px){.nav-links{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#090d17f7;border-bottom:1px solid var(--card-border);flex-direction:column;gap:0;left:0;opacity:0;padding:1.5rem 6%;pointer-events:none;position:fixed;right:0;top:64px;transform:translateY(-110%);transition:all .35s cubic-bezier(.4,0,.2,1)}.nav-links.open{opacity:1;pointer-events:all;transform:translateY(0)}.nav-links li{border-bottom:1px solid var(--card-border);padding:.8rem 0}.nav-links li:last-child{border-bottom:none}.nav-cta{display:none}.nav-burger{display:flex}}.hero{display:flex;flex-direction:column;isolation:isolate;justify-content:center;min-height:100vh;overflow:hidden;padding:108px 6% 86px;position:relative;z-index:1}.hero-canvas-wrap{inset:0;opacity:.95;position:absolute;z-index:0}.hero-canvas-wrap canvas{height:100%!important;width:100%!important}.hero-content{max-width:840px;position:relative;z-index:2}.hero-blob{background:radial-gradient(circle,#00d4ff12 0,#0000 70%);border-radius:50%;height:600px;pointer-events:none;position:absolute;right:-8%;top:5%;transition:transform .15s ease-out;width:600px;z-index:1}.hero-blob--amber{background:radial-gradient(circle,#f59e0b0d 0,#0000 70%);bottom:5%;height:400px;left:-5%;right:auto;top:auto;transition:none;width:400px}.hero-tag{animation:fadeUp .6s .3s forwards;color:var(--cyan);font-family:var(--mono);font-size:.66rem;letter-spacing:.24em;margin-bottom:1.3rem;opacity:0;text-transform:uppercase}.hero-tag:before{content:"// "}.hero-name{animation:fadeUp .6s .5s forwards;font-family:var(--display);font-size:clamp(3rem,9vw,7.5rem);font-weight:700;letter-spacing:-.025em;line-height:.97;margin-bottom:.55rem;opacity:0}.hero-name__gradient{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,var(--cyan) 0,var(--amber) 100%);-webkit-background-clip:text;background-clip:text;display:block}.hero-role{animation:fadeUp .6s .7s forwards;color:var(--text2);font-family:var(--mono);font-size:clamp(.9rem,2vw,1.04rem);margin-bottom:1.8rem;min-height:2rem;opacity:0}.hero-role .Typewriter__cursor{color:var(--cyan)}.hero-bio{animation:fadeUp .6s .9s forwards;color:var(--text2);font-size:clamp(.95rem,1.5vw,1.04rem);line-height:1.92;margin-bottom:2.25rem;max-width:63ch;opacity:0}.hero-bio strong{color:var(--cyan);font-weight:500}.hero-ctas{animation:fadeUp .6s 1.1s forwards;gap:.85rem}.hero-ctas,.hero-stats{display:flex;flex-wrap:wrap;opacity:0}.hero-stats{animation:fadeUp .6s 1.3s forwards;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-top:1px solid var(--card-border);gap:2.5rem;margin-top:3.7rem;padding-top:2.2rem}.stat{display:flex;flex-direction:column}.stat__num{color:var(--cyan);font-family:var(--mono);font-size:1.62rem;font-weight:700;line-height:1}.stat__label{color:var(--text3);font-size:.66rem;letter-spacing:.14em;margin-top:.35rem;text-transform:uppercase}@media (max-width:640px){.hero{padding:88px 4% 62px}.hero-canvas-wrap{opacity:.75}.hero-content{max-width:100%}.hero-stats{gap:2rem}.stat__num{font-size:1.4rem}}.about{background:var(--bg2)}.about__grid{grid-gap:clamp(2rem,4vw,4rem);align-items:start;display:grid;gap:clamp(2rem,4vw,4rem);grid-template-columns:300px 1fr}.about__card{background:linear-gradient(165deg,#141b2aeb,#0e1421db);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:0 18px 38px #02061080;padding:2rem;position:-webkit-sticky;position:sticky;top:80px}.about__avatar{align-items:center;background:linear-gradient(135deg,var(--cyan),var(--amber));border-radius:50%;color:var(--bg);display:flex;font-family:var(--mono);font-size:1.3rem;font-weight:700;height:76px;justify-content:center;margin-bottom:1.2rem;width:76px}.about__name{color:var(--text);font-family:var(--display);font-size:1.28rem;font-weight:700;margin-bottom:.25rem}.about__role{color:var(--cyan);font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;margin-bottom:1.4rem}.about__meta{display:flex;flex-direction:column;gap:.55rem;list-style:none}.about__meta li{align-items:center;color:var(--text2);display:flex;font-size:.8rem;gap:.55rem}.meta-icon{color:var(--cyan);flex-shrink:0;font-size:.65rem}.about__divider{border:none;border-top:1px solid var(--card-border);margin:1.5rem 0}.about__socials{display:flex;flex-wrap:wrap;gap:.5rem}.social-chip{border:1px solid var(--card-border);border-radius:999px;color:var(--text2);font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;padding:.35rem .85rem;text-decoration:none;transition:all .2s}.social-chip:hover{background:var(--cyan-dim);border-color:var(--cyan);color:var(--cyan)}.about__bio{color:var(--text2);font-size:clamp(.93rem,1.5vw,1rem);line-height:1.95;margin-bottom:2.2rem;max-width:65ch}.about__bio strong{color:var(--text);font-weight:600}.about__highlights{display:flex;flex-direction:column;gap:.9rem}.highlight{align-items:flex-start;background:linear-gradient(130deg,#151e2deb,#0f141fe0);border:1px solid var(--card-border);border-left:3px solid #38bdf8a6;border-radius:12px;display:flex;gap:1rem;padding:1.05rem 1.2rem;transition:all .2s}.highlight:hover{background:linear-gradient(130deg,#1a263af0,#121b29e6);border-color:#38bdf86b;transform:translateX(3px)}.highlight__num{color:var(--cyan);flex-shrink:0;font-family:var(--mono);font-size:1.36rem;font-weight:700;line-height:1;min-width:3.5rem}.highlight__text{color:var(--text2);font-size:.82rem;line-height:1.7}.highlight__text strong{color:var(--text);display:block;font-weight:600;margin-bottom:.15rem}@media (max-width:900px){.about__grid{gap:2.5rem;grid-template-columns:1fr}.about__card{position:static}}.experience{background:var(--bg)}.exp__timeline{display:flex;flex-direction:column;gap:2rem;max-width:900px}.exp__card{background:linear-gradient(160deg,#141c2aeb,#0e141fdb);border:1px solid var(--card-border);border-left:3px solid #0000;border-radius:var(--radius);box-shadow:0 14px 28px #02061059;padding:1.9rem 2.2rem;transition:all .3s}.exp__card:hover{background:linear-gradient(160deg,#182334f5,#101825eb);border-left-color:#38bdf8c2;transform:translateX(3px)}.exp__badge{align-items:center;background:var(--amber-dim);border:1px solid #f59e0b40;border-radius:4px;color:var(--amber);display:inline-flex;font-family:var(--mono);font-size:.67rem;font-weight:500;gap:.45rem;letter-spacing:.1em;margin-bottom:1rem;padding:.28rem .75rem;text-transform:uppercase}.exp__badge-dot{animation:pulse 2s infinite;background:var(--amber);border-radius:50%;flex-shrink:0;height:6px;width:6px}.exp__header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.2rem}.exp__title{color:var(--text);font-family:var(--display);font-size:1.08rem;font-weight:600;line-height:1.25;margin-bottom:.3rem}.exp__company{color:var(--cyan);font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;margin-bottom:.15rem;text-transform:uppercase}.exp__location{color:var(--text3);font-size:.78rem}.exp__date{background:#0d131ed9;border:1px solid var(--card-border);border-radius:4px;color:var(--text3);flex-shrink:0;font-family:var(--mono);font-size:.7rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;padding:.35rem .85rem;white-space:nowrap}.exp__points{display:flex;flex-direction:column;gap:.65rem;list-style:none;margin-bottom:1.5rem}.exp__points li{color:var(--text2);font-size:.86rem;line-height:1.8;padding-left:1.3rem;position:relative}.exp__points li:before{color:var(--cyan);content:"→";font-family:var(--mono);font-size:.78rem;left:0;position:absolute;top:.15rem}.tag-row{display:flex;flex-wrap:wrap;gap:.45rem}@media (max-width:640px){.exp__card{padding:1.5rem}}.projects{background:var(--bg2)}.projects__grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.project-card{background:linear-gradient(155deg,#141c2cf0,#0e141ee0);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:0 16px 34px #02061066;display:flex;flex-direction:column;overflow:hidden;transition:all .3s}.project-card:hover{border-color:#38bdf866;box-shadow:0 24px 44px #0206108c;transform:translateY(-5px)}.project-card__top{align-items:center;display:flex;font-family:var(--mono);justify-content:space-between;padding:.9rem 1.25rem .2rem}.project-card__kind{background:#0b101aa6;border:1px solid var(--card-border);border-radius:999px;color:var(--text3);font-size:.62rem;letter-spacing:.16em;padding:.25rem .6rem;text-transform:uppercase}.project-card__num{color:var(--cyan);font-size:.66rem;font-weight:600;letter-spacing:.14em}.project-card__body{display:flex;flex:1 1;flex-direction:column;padding:1.15rem 1.25rem}.project-card__title{color:var(--text);font-family:var(--display);font-size:1.03rem;font-weight:600;line-height:1.25;margin-bottom:.7rem}.project-card__desc{color:var(--text2);flex:1 1;font-size:.8rem;line-height:1.8;margin-bottom:1rem}.project-card__stack{display:flex;flex-wrap:wrap;gap:.4rem}.stack-tag{background:#38bdf821;border:1px solid #38bdf845;border-radius:999px;color:#8cd9ff;font-family:var(--mono);font-size:.62rem;letter-spacing:.03em;padding:.22rem .6rem}.project-card__footer{background:#0b101a94;border-top:1px solid var(--card-border);display:flex;justify-content:flex-end;padding:.8rem 1.25rem}.project-card__link{align-items:center;color:var(--cyan);display:flex;font-family:var(--mono);font-size:.72rem;font-weight:500;gap:.3rem;letter-spacing:.04em;text-decoration:none;transition:gap .2s}.project-card__link:hover .arrow{margin-left:4px}.project-card__link .arrow{transition:margin-left .2s}@media (max-width:640px){.projects__grid{grid-template-columns:1fr}}.skills{background:var(--bg)}.skills__grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(255px,1fr))}.skill-cat{background:linear-gradient(150deg,#131b29eb,#0e141fe0);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:0 12px 24px #02061059;padding:1.5rem;transition:all .25s}.skill-cat:hover{background:linear-gradient(150deg,#182335f2,#101825e6);border-color:#38bdf857}.skill-cat__header{align-items:center;display:flex;gap:.6rem;margin-bottom:1.2rem}.skill-cat__dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.skill-cat__title{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.skill-cat__chips{display:flex;flex-wrap:wrap;gap:.5rem}.skill-chip{border:1px solid;border-radius:20px;cursor:default;font-family:var(--sans);font-size:.78rem;padding:.3rem .8rem;transition:all .2s}.skill-chip:hover{opacity:.85;transform:translateY(-1px)}.certifications{background:var(--bg2)}.cert__list{display:flex;flex-direction:column;gap:1rem;max-width:800px}.cert__item{align-items:flex-start;background:linear-gradient(160deg,#141c2aeb,#0e141fe0);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 12px 26px #02061059;display:flex;gap:1.2rem;padding:1.2rem 1.5rem;transition:all .2s}.cert__item:hover{background:linear-gradient(160deg,#182233f2,#101825e6);border-color:#38bdf857;transform:translateX(3px)}.cert__icon{align-items:center;background:var(--amber-dim);border:1px solid #f59e0b33;border-radius:8px;display:flex;flex-shrink:0;font-size:1rem;height:38px;justify-content:center;width:38px}.cert__text{color:var(--text2);font-size:.87rem;line-height:1.65}.cert__text strong{color:var(--text);display:block;font-weight:600;margin-bottom:.2rem}.contact{background:var(--bg);border-top:1px solid var(--card-border);padding:clamp(4.8rem,8vw,6.5rem) 6%;position:relative;text-align:center;z-index:1}.contact__inner{margin:0 auto;max-width:600px}.contact__pre{color:var(--text3);font-family:var(--mono);font-size:.66rem;letter-spacing:.22em;margin-bottom:1rem;text-transform:uppercase}.contact__heading{font-family:var(--display);font-size:clamp(2rem,5vw,3.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.04;margin-bottom:1.1rem}.contact__heading em{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,var(--cyan),var(--amber));-webkit-background-clip:text;background-clip:text;font-style:normal}.contact__sub{color:var(--text2);font-size:clamp(.92rem,1.7vw,1rem);line-height:1.88;margin-bottom:2.2rem}.contact__links{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-bottom:3rem}.contact__link{align-items:center;border:1px solid var(--card-border);border-radius:999px;color:var(--text2);display:flex;font-family:var(--mono);font-size:.73rem;font-weight:500;gap:.4rem;letter-spacing:.08em;padding:.6rem 1.3rem;text-decoration:none;text-transform:uppercase;transition:all .2s}.contact__link:hover{background:var(--cyan-dim);border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px)}.contact__quote{background:linear-gradient(150deg,#121a28f0,#0e141fe0);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 14px 28px #02061059;font-size:.82rem;font-style:italic;margin-bottom:2rem;padding:1.2rem}.contact__footer,.contact__quote{color:var(--text3);font-family:var(--mono)}.contact__footer{border-top:1px solid var(--card-border);font-size:.7rem;letter-spacing:.04em;padding-top:2rem}.contact__name{color:var(--cyan)}
/*# sourceMappingURL=main.b5a9f24e.css.map*/