@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&family=Fira+Code:wght@400;500&display=swap";:root{--clr-bg-primary:#050505;--clr-bg-secondary:#0f172a;--clr-bg-card:#ffffff08;--clr-accent:#10b981;--clr-accent-glow:#10b98133;--clr-text-primary:#f8fafc;--clr-text-secondary:#94a3b8;--clr-text-muted:#475569;--clr-border:#ffffff1a;--clr-border-hover:#10b98180;--clr-react:#61dafb;--clr-node:#68d391;--clr-mongo:#4db33d;--font-main:"Inter", sans-serif;--font-mono:"Fira Code", monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:2rem;--fs-3xl:2.5rem;--fs-4xl:3.5rem;--sp-xs:.25rem;--sp-sm:.5rem;--sp-md:1rem;--sp-lg:1.5rem;--sp-xl:2rem;--sp-2xl:3rem;--sp-3xl:5rem;--max-width:1100px;--navbar-height:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--transition:.2s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-main);background-color:var(--clr-bg-primary);background-image:linear-gradient(var(--clr-accent) 1px, transparent 1px), linear-gradient(90deg, var(--clr-accent) 1px, transparent 1px);background-blend-mode:overlay;color:var(--clr-text-primary);-webkit-font-smoothing:antialiased;background-size:50px 50px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{max-width:var(--max-width);padding:0 var(--sp-xl);margin:0 auto}.btn-primary,.btn-outline{padding:var(--sp-sm) var(--sp-lg);border-radius:var(--radius-sm);font-size:var(--fs-sm);transition:all var(--transition);text-align:center;font-weight:500;display:inline-block}.btn-primary{background:var(--clr-accent);color:var(--clr-bg-primary);border:1px solid var(--clr-accent)}.btn-primary:hover{background:#3ac06d;transform:translateY(-2px)}.btn-outline{border:1px solid var(--clr-text-secondary);color:var(--clr-text-primary)}.btn-outline:hover{border-color:var(--clr-accent);color:var(--clr-accent);transform:translateY(-2px)}@media (width<=768px){:root{--fs-4xl:2.5rem;--fs-3xl:2rem;--fs-xl:1.25rem;--sp-xl:1rem;--sp-3xl:3rem}.hero{text-align:center}.hero__badges{justify-content:center}.projects__grid{grid-template-columns:1fr}.footer{gap:var(--sp-md);text-align:center;flex-direction:column}.container{padding:0 1.5rem!important}}html{scrollbar-width:none}body{-ms-overflow-style:none}::-webkit-scrollbar{display:none}.navbar{z-index:200;height:var(--navbar-height);background:var(--clr-bg-primary);border-bottom:1px solid var(--clr-border);padding:0 var(--sp-xl);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar__logo{font-size:var(--fs-md);color:var(--clr-text-primary);letter-spacing:-.5px;font-weight:700}.navbar__logo span{color:var(--clr-accent)}.navbar__links{gap:var(--sp-lg);list-style:none;display:flex}.navbar__links a{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:1px;color:var(--clr-text-secondary);transition:color var(--transition)}.navbar__links a:hover{color:var(--clr-text-primary)}.navbar__links a.active{color:#fff;font-weight:600}.navbar__cta{font-size:var(--fs-xs);color:var(--clr-accent);border:1px solid var(--clr-accent);padding:var(--sp-xs) var(--sp-md);border-radius:var(--radius-sm);transition:all var(--transition)}.navbar__cta:hover{background:var(--clr-accent);color:#000}.navbar__hamburger{cursor:pointer;z-index:310;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.navbar__hamburger .bar{background:var(--clr-text-primary);transform-origin:50%;border-radius:2px;width:24px;height:2px;transition:transform .3s,opacity .3s,width .3s;display:block}.navbar__hamburger.open .bar:first-child{transform:translateY(7px)rotate(45deg)}.navbar__hamburger.open .bar:nth-child(2){opacity:0;transform:scaleX(0)}.navbar__hamburger.open .bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-backdrop{z-index:290;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#0009;transition:opacity .35s;display:none;position:fixed;inset:0}.mobile-backdrop.active{opacity:1}.mobile-drawer{z-index:300;border-left:1px solid var(--clr-border);width:270px;height:100dvh;padding:var(--sp-xl);background:#0a0a0a;flex-direction:column;transition:transform .35s cubic-bezier(.4,0,.2,1);display:none;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 32px #00000080}.mobile-drawer.active{transform:translate(0)}.mobile-drawer__top{margin-bottom:var(--sp-2xl);padding-bottom:var(--sp-lg);border-bottom:1px solid var(--clr-border);justify-content:space-between;align-items:center;display:flex}.mobile-drawer__logo{font-size:var(--fs-md);color:var(--clr-text-primary);letter-spacing:-.5px;font-weight:700}.mobile-drawer__logo span{color:var(--clr-accent)}.mobile-drawer__nav{flex-direction:column;flex:1;gap:2px;display:flex}.mobile-drawer__link{padding:14px var(--sp-md);border-radius:var(--radius-md);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:1.5px;color:var(--clr-text-secondary);align-items:center;font-weight:500;transition:background .2s,color .2s;display:flex}.mobile-drawer__link:hover{color:var(--clr-text-primary);background:#ffffff0d}.mobile-drawer__link.active{color:var(--clr-accent);background:#10b9811a}.mobile-drawer__cta{text-align:center;padding:13px var(--sp-md);border:1px solid var(--clr-accent);border-radius:var(--radius-md);font-size:var(--fs-sm);letter-spacing:1px;text-transform:uppercase;color:var(--clr-accent);margin-top:var(--sp-xl);font-weight:600;transition:background .2s,color .2s;display:block}.mobile-drawer__cta:hover{background:var(--clr-accent);color:#000}@media (width<=768px){.navbar__links,.desktop-only{display:none}.navbar__hamburger{display:flex}.mobile-backdrop{pointer-events:none;display:block}.mobile-backdrop.active{pointer-events:auto}.mobile-drawer{display:flex}}.hero{min-height:100vh;padding-top:var(--navbar-height);background-color:var(--clr-bg-primary);background-image:linear-gradient(#10b98126 1px,#0000 1px),linear-gradient(90deg,#10b98126 1px,#0000 1px);background-size:50px 50px;align-items:center;display:flex}.hero__content{max-width:600px}.hero__tag{font-size:var(--fs-xs);color:var(--clr-accent);letter-spacing:3px;text-transform:uppercase;margin-bottom:var(--sp-md)}.hero__title{font-size:var(--fs-4xl);letter-spacing:-2px;margin-bottom:var(--sp-md);font-weight:700;line-height:1.05}.hero__title span{color:var(--clr-accent)}.hero__sub{font-size:var(--fs-md);color:var(--clr-text-secondary);margin-bottom:var(--sp-xl);line-height:1.7}.hero__badges{gap:var(--sp-sm);flex-wrap:wrap;display:flex}.badge{font-size:var(--fs-xs);padding:var(--sp-xs) var(--sp-md);border-radius:var(--radius-full);border:1px solid}.badge--react{color:var(--clr-react);background:#61dafb0d;border-color:#61dafb33}.badge--node{color:var(--clr-node);background:#68d3910d;border-color:#68d39133}.badge--mongo{color:var(--clr-mongo);background:#4db33d0d;border-color:#4db33d33}.badge--express{color:var(--clr-text-secondary);background:#8888880d;border-color:#8883}.footer{padding:var(--sp-xl) 0;border-top:1px solid var(--clr-border);color:var(--clr-text-secondary);justify-content:space-between;align-items:center;display:flex}.footer__links{gap:var(--sp-lg);display:flex}.footer__links a{color:var(--clr-text-secondary);font-size:var(--fs-xl);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.footer__links a:hover{color:var(--clr-accent);filter:drop-shadow(0 5px 15px var(--clr-accent-glow));transform:translateY(-4px)scale(1.1)}@media (width<=768px){.footer{gap:var(--sp-md);text-align:center;flex-direction:column;margin:20px 0}}.about{padding:var(--sp-3xl) 0}.about__grid{gap:var(--sp-3xl);grid-template-columns:1fr 1fr;align-items:center;display:grid}.about__image{justify-content:center;align-items:center;display:flex}.about__content p{color:var(--clr-text-secondary);margin-bottom:var(--sp-md);font-size:var(--fs-md)}.about__stats{gap:var(--sp-xl);margin-top:var(--sp-xl);padding-top:var(--sp-xl);border-top:1px solid var(--clr-border);display:flex}.stat h3{color:var(--clr-text-primary);font-size:var(--fs-lg)}.stat span{color:var(--clr-accent);font-size:var(--fs-sm);font-weight:500}@media (width<=768px){.about__grid{gap:var(--sp-xl);text-align:center;grid-template-columns:1fr}.about__stats{justify-content:center}.image-placeholder:after{display:none}}.dev-illustration{border-radius:var(--radius-lg);position:relative;overflow:visible}.dev-svg{width:100%;height:auto;display:block}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.cursor-blink{animation:1s step-start infinite blink}@keyframes type-line{0%{width:0}60%{width:55px}85%{width:55px}to{width:0}}.type-line{animation:3s ease-in-out infinite type-line}@keyframes arm-left{0%,to{transform:translateY(0)}25%{transform:translateY(-3px)}50%{transform:translateY(1px)}75%{transform:translateY(-2px)}}@keyframes arm-right{0%,to{transform:translateY(0)}25%{transform:translateY(1px)}50%{transform:translateY(-3px)}75%{transform:translateY(2px)}}.arm-left{transform-origin:174px 197px;animation:.55s ease-in-out infinite arm-left}.arm-right{transform-origin:226px 197px;animation:.55s ease-in-out infinite arm-right}@keyframes float-1{0%,to{transform:translate(50px,60px)}50%{transform:translate(50px,50px)}}@keyframes float-2{0%,to{transform:translate(340px,55px)}50%{transform:translate(340px,64px)}}@keyframes float-3{0%,to{transform:translate(350px,155px)}50%{transform:translate(350px,145px)}}@keyframes float-4{0%,to{transform:translate(45px,160px)}50%{transform:translate(45px,170px)}}.float-1{animation:3.2s ease-in-out infinite float-1}.float-2{animation:2.8s ease-in-out .5s infinite float-2}.float-3{animation:3.5s ease-in-out 1s infinite float-3}.float-4{animation:2.9s ease-in-out .3s infinite float-4}@keyframes steam{0%{opacity:0;transform:translateY(0)scaleX(1)}50%{opacity:.7;transform:translateY(-6px)scaleX(1.2)}to{opacity:0;transform:translateY(-12px)scaleX(.8)}}.steam{animation:2s ease-out infinite steam}.steam-2{animation:2s ease-out .5s infinite steam}.steam-3{animation:2s ease-out 1s infinite steam}.education{padding:var(--sp-3xl) 0;overflow:hidden}.education__slider{gap:var(--sp-xl);scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:var(--sp-xl) calc(50% - 175px);scrollbar-width:none;display:flex;overflow-x:auto}.education__slider::-webkit-scrollbar{display:none}.education-card{scroll-snap-align:center;background:var(--clr-bg-card);min-width:350px;padding:var(--sp-xl);border-radius:var(--radius-lg);border:1px solid var(--clr-border);opacity:.35;pointer-events:none;flex-direction:column;flex-shrink:0;justify-content:space-between;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex;transform:scale(.85)}.education-card.focused{opacity:1;border-color:var(--clr-accent);pointer-events:auto;transform:scale(1);box-shadow:0 10px 30px #00000080}.education-card__header{margin-bottom:var(--sp-lg);justify-content:space-between;align-items:flex-start;display:flex}.education-card__icon{color:var(--clr-accent);background:var(--clr-bg-secondary);border-radius:var(--radius-md);justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;display:flex}.education-card__period{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--clr-text-muted)}.education-card__content h3{font-size:var(--fs-lg);margin-bottom:var(--sp-xs);color:var(--clr-text-primary)}.education-card__content h4{color:var(--clr-accent);margin-bottom:var(--sp-md);font-weight:500}.education-card__content p{font-size:var(--fs-sm);color:var(--clr-text-secondary);line-height:1.6}.education-card__tags{gap:var(--sp-xs);margin-top:var(--sp-lg);flex-wrap:wrap;display:flex}.edu-tag{font-size:var(--fs-xs);background:var(--clr-bg-secondary);border-radius:var(--radius-sm);color:var(--clr-text-muted);border:1px solid var(--clr-border);padding:4px 8px}.slider-dots{justify-content:center;align-items:center;gap:var(--sp-md);margin-top:var(--sp-lg);display:flex}.dot{background-color:var(--clr-border);width:10px;height:10px;transition:all var(--transition);cursor:pointer;border-radius:50%;padding:0}.dot:hover{background-color:var(--clr-text-secondary)}.dot.active{background-color:var(--clr-accent);transform:scale(1.4);box-shadow:0 0 10px #4ade804d}@media (width<=768px){.education__slider{padding:var(--sp-lg) 7.5vw;gap:var(--sp-md)}.education-card{min-width:85vw;max-width:350px;padding:var(--sp-lg)}.education-card__content p{font-size:.85rem}}.skills{padding:var(--sp-3xl) 0;overflow:hidden}.carousel-wrapper{width:100%;padding:var(--sp-md) 0;white-space:nowrap;cursor:grab;scrollbar-width:none;position:relative;overflow-x:auto}.carousel-wrapper::-webkit-scrollbar{display:none}.carousel-wrapper:active{cursor:grabbing}.carousel-track{gap:2rem;width:max-content;display:flex}.skill-card{background:var(--clr-bg-card);border:1px solid var(--clr-border);border-radius:var(--radius-lg);justify-content:center;align-items:center;gap:var(--sp-sm);-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;width:140px;height:130px;transition:all .3s;display:flex}@media (width<=768px){.skill-card{width:120px;height:110px}}.section-title{font-size:var(--fs-3xl);margin-bottom:var(--sp-2xl);text-align:center;letter-spacing:-1px;font-weight:700}.section-title span{color:var(--clr-accent)}.projects__grid{gap:var(--sp-xl);padding-bottom:var(--sp-3xl);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.project-card{background:var(--clr-bg-card);border:1px solid var(--clr-border);border-radius:var(--radius-lg);transition:border-color var(--transition);overflow:hidden}.project-card:hover{border-color:var(--clr-accent);box-shadow:0 10px 30px -15px #4ade801a}.project-card__img img{object-fit:cover;border-bottom:1px solid var(--clr-border);width:100%;height:100%;transition:transform var(--transition-slow), filter var(--transition);filter:brightness(.7)grayscale(.3)}.project-card:hover .project-card__img img{filter:brightness()grayscale(0);transform:scale(1.08)}.project-card__img{height:220px;position:relative;overflow:hidden}.project-card__content{padding:var(--sp-lg)}.project-card__content h3{font-size:var(--fs-xl);margin-bottom:var(--sp-sm);color:var(--clr-text-primary)}.project-card__content p{color:var(--clr-text-secondary);font-size:var(--fs-sm);margin-bottom:var(--sp-lg)}.project-card__tech{gap:var(--sp-xs);margin-bottom:var(--sp-lg);flex-wrap:wrap;display:flex}.project-card__tech span{font-size:var(--fs-xs);color:var(--clr-accent);background:var(--clr-accent-dim);border-radius:var(--radius-full);padding:4px 10px}.project-card__links{gap:var(--sp-sm);display:flex}.contact{padding:var(--sp-3xl) 0}.contact__wrapper{gap:var(--sp-2xl);background:var(--clr-bg-card);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--sp-2xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-template-columns:1fr 1.5fr;display:grid}.contact__info p{color:var(--clr-text-secondary);font-size:var(--fs-md);line-height:1.8}.contact__form{gap:var(--sp-md);flex-direction:column;display:flex}.form-group input,.form-group textarea{background:var(--clr-bg-primary);border:1px solid var(--clr-border);border-radius:var(--radius-sm);width:100%;padding:var(--sp-md);color:var(--clr-text-primary);font-family:inherit;font-size:var(--fs-sm);transition:all var(--transition)}.form-group input:focus,.form-group textarea:focus{border-color:var(--clr-accent);box-shadow:0 0 0 3px var(--clr-accent-glow);outline:none}.submit-btn{width:100%;font-size:var(--fs-md);padding:1rem;font-weight:700}.submit-btn.success{background-color:#059669;border-color:#059669}.status-msg{margin-top:var(--sp-md);text-align:center;font-weight:500;font-size:var(--fs-sm)}.success-msg{color:#10b981}.error-msg{color:#ef4444}.submit-btn:disabled{opacity:.7;cursor:not-allowed}@media (width<=768px){.contact__wrapper{padding:var(--sp-xl);grid-template-columns:1fr}}
