
.Navbar-module___rHu7W__navContainer{background:var(--nav-bg);-webkit-backdrop-filter:blur(15px);z-index:1000;border:1px solid #ffffff1a;border-radius:50px;justify-content:space-between;align-items:center;width:90%;max-width:1100px;height:70px;padding:0 35px;transition:height .3s ease-out,top .3s ease-out,background-color .3s,box-shadow .3s;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000000d}.Navbar-module___rHu7W__navScrolled{height:55px;top:10px}.Navbar-module___rHu7W__logo{letter-spacing:-1px;color:var(--text-main);align-items:center;font-size:1.6rem;font-weight:800;text-decoration:none;display:flex}.Navbar-module___rHu7W__logo span{color:var(--accent);transform-origin:bottom;margin:0 1px;transition:transform .5s cubic-bezier(.175,.885,.32,1.275);display:inline-block}.Navbar-module___rHu7W__logo:hover span{animation:.6s ease-in-out infinite Navbar-module___rHu7W__bounceBall}.Navbar-module___rHu7W__logo:not(:hover) span{transform:translateY(0)scale(1)}@keyframes Navbar-module___rHu7W__bounceBall{0%,to{transform:translateY(0)scaleX(1.2)scaleY(.8)}50%{transform:translateY(-15px)scaleX(.9)scaleY(1.1)}}.Navbar-module___rHu7W__navLinks{gap:25px;display:flex}.Navbar-module___rHu7W__navLinks a{color:var(--text-main);opacity:.8;z-index:1;padding:8px 16px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s;position:relative}.Navbar-module___rHu7W__navLinks a:before{content:"";background:var(--accent);opacity:.2;z-index:-1;border-radius:50%;width:0;height:0;transition:width .4s,height .4s,border-radius .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.Navbar-module___rHu7W__navLinks a:hover:before{border-radius:12px;width:100%;height:100%}.Navbar-module___rHu7W__navScrolled .Navbar-module___rHu7W__navLinks a{font-size:.85rem}.Navbar-module___rHu7W__toggleWrapper{cursor:pointer;align-items:center;display:flex}.Navbar-module___rHu7W__toggleTrack{background:#e9edc9;border:2px solid #0000000d;border-radius:20px;width:60px;height:32px;transition:background .3s;position:relative}.Navbar-module___rHu7W__trackDark{background:#2c3e50}.Navbar-module___rHu7W__toggleThumb{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:1px;left:2px;box-shadow:0 2px 5px #0003}.Navbar-module___rHu7W__thumbDark{background:#121420;transform:translate(28px)}@media (max-width:768px){.Navbar-module___rHu7W__navLinks{display:none}.Navbar-module___rHu7W__navContainer{justify-content:space-between;width:95%;height:60px;padding:0 20px}.Navbar-module___rHu7W__logo{font-size:1.3rem}.Navbar-module___rHu7W__toggleTrack{width:50px;height:28px}.Navbar-module___rHu7W__toggleThumb{width:22px;height:22px}.Navbar-module___rHu7W__thumbDark{transform:translate(22px)}}
.Hero-module__JgYmMq__heroSection{align-items:center;min-height:90vh;padding:100px 5% 60px;display:flex;position:relative;overflow:hidden}.Hero-module__JgYmMq__heroContent{z-index:10;flex-direction:column;align-items:flex-start;max-width:800px;display:flex}.Hero-module__JgYmMq__accentText{color:var(--accent);font-weight:900;display:inline-block;position:relative}.Hero-module__JgYmMq__rainContainer{pointer-events:none;z-index:1;position:absolute;inset:0}.Hero-module__JgYmMq__rainItem{opacity:.6;border-radius:22px;justify-content:center;align-items:center;width:80px;height:80px;font-size:2.5rem;animation:linear infinite Hero-module__JgYmMq__rainFall;display:flex;position:absolute;top:-120px;box-shadow:0 10px 25px #00000014}@keyframes Hero-module__JgYmMq__rainFall{0%{opacity:0;transform:translateY(0)rotate(0)scale(.8)}15%{opacity:.6}50%{transform:translateY(55vh)rotate(180deg)translate(15px)scale(1)}to{opacity:0;transform:translateY(115vh)rotate(360deg)translate(-10px)scale(.8)}}.Hero-module__JgYmMq__availabilityBadge{background:var(--bg-card);color:var(--text-main);border:1px solid #00000014;border-radius:50px;align-items:center;gap:8px;margin:10px 0;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-flex;box-shadow:0 4px 15px #0000000d}.Hero-module__JgYmMq__pulseDot{background-color:#2ecc71;border-radius:50%;width:8px;height:8px;position:relative}.Hero-module__JgYmMq__pulseDot:after{content:"";background-color:inherit;border-radius:50%;animation:2s infinite Hero-module__JgYmMq__pulseStatus;position:absolute;inset:0}@keyframes Hero-module__JgYmMq__pulseStatus{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}.Hero-module__JgYmMq__heroTitle{letter-spacing:-2px;color:var(--text-main);cursor:default;-webkit-user-select:none;user-select:none;margin-bottom:20px;font-size:clamp(2.5rem,8vw,4.2rem);font-weight:800;line-height:1.3}.Hero-module__JgYmMq__heroDescription{color:var(--text-muted);margin-top:1.2rem;margin-bottom:30px;font-size:1.2rem;line-height:2}.Hero-module__JgYmMq__heroButtons{gap:1.5rem;margin-top:1.5rem;display:flex}.Hero-module__JgYmMq__heroButtons a{border-radius:8px;align-items:center;padding:.9rem 2rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex}
.Projects-module__T_D1Ca__projectGrid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;display:grid}.Projects-module__T_D1Ca__projectCard{background:var(--bg-card);border:1px solid var(--border-color,#0000000d);border-radius:24px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}.Projects-module__T_D1Ca__projectCard:hover{border-color:var(--accent);box-shadow:0 10px 30px #0000000d}.Projects-module__T_D1Ca__projectThumb{background:var(--bg-body);border-bottom:1px solid var(--border-color);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:220px;display:flex;position:relative;overflow:hidden}.Projects-module__T_D1Ca__projectImage{object-fit:cover;object-position:center;transition:transform .6s cubic-bezier(.19,1,.22,1)}.Projects-module__T_D1Ca__techTag{text-transform:uppercase;letter-spacing:1px;color:var(--accent);font-size:.75rem;font-weight:700}.Projects-module__T_D1Ca__sectionTitle{color:var(--text-main);margin-bottom:50px;font-size:2.5rem}.Projects-module__T_D1Ca__projectContent{flex-direction:column;gap:12px;padding:30px;display:flex}.Projects-module__T_D1Ca__projectTitle{color:var(--text-main);margin:0;font-size:1.5rem}.Projects-module__T_D1Ca__projectDesc{color:var(--text-muted);margin-bottom:10px;font-size:.95rem;line-height:1.6}.Projects-module__T_D1Ca__placeholderText{color:var(--text-muted);opacity:.5;font-weight:600}.Projects-module__T_D1Ca__cardHeader{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.Projects-module__T_D1Ca__repoLink{background:var(--bg-body);border:1px solid var(--border-color);border-radius:12px;justify-content:center;align-items:center;padding:8px;transition:all .3s cubic-bezier(.19,1,.22,1);display:flex;position:relative}.Projects-module__T_D1Ca__repoLink:hover{background:rgba(var(--text-main-rgb), .05);border-color:var(--accent);transform:translateY(-2px)}.Projects-module__T_D1Ca__repoLink svg{display:block}.Projects-module__T_D1Ca__repoWrapper{display:inline-block;position:relative}.Projects-module__T_D1Ca__repoLink:before,.Projects-module__T_D1Ca__repoLink:after{opacity:0;pointer-events:none;z-index:10;transition:all .3s cubic-bezier(.18,.89,.32,1.28);position:absolute;left:50%;transform:translate(-50%)translateY(10px)}.Projects-module__T_D1Ca__repoLink:before{content:attr(data-tooltip);background:var(--text-main);color:var(--bg-body);white-space:nowrap;border-radius:8px;padding:6px 12px;font-size:.75rem;font-weight:600;bottom:140%;box-shadow:0 5px 15px #0000001a}.Projects-module__T_D1Ca__repoLink:after{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--text-main);bottom:125%}.Projects-module__T_D1Ca__repoLink:hover:before,.Projects-module__T_D1Ca__repoLink:hover:after{opacity:1;transform:translate(-50%)translateY(0)}.Projects-module__T_D1Ca__sketchy{z-index:1;color:inherit;padding:0 4px;text-decoration:none;display:inline-block;position:relative}[data-theme=dark] .Projects-module__T_D1Ca__sketchy:after{opacity:.2;mix-blend-mode:screen;filter:blur(1px)}.Projects-module__T_D1Ca__sketchy:after{content:"";background-color:var(--accent);mix-blend-mode:multiply;opacity:.6;z-index:-1;width:100%;height:60%;clip-path:inset(0 var(--draw-progress) 0 0);border-radius:2px 4px 2px 8px;transition:clip-path .2s cubic-bezier(.215,.61,.355,1);position:absolute;bottom:4px;left:0}.Projects-module__T_D1Ca__sketchy.Projects-module__T_D1Ca__animate:after{clip-path:inset(0 0% 0 0);transform:rotate(-1deg)skew(-5deg)}
.Contact-module__Bs3a0a__contactBox{text-align:center;max-width:800px;margin:0 auto;padding:0 2rem}.Contact-module__Bs3a0a__title{margin-bottom:1rem;font-size:2.5rem}.Contact-module__Bs3a0a__subtitle{color:var(--text-muted);margin-bottom:2.5rem;font-size:1.2rem}.Contact-module__Bs3a0a__form{background:var(--bg-card);border:1px solid #00000008;border-radius:24px;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:4rem;padding:2.5rem;display:grid;box-shadow:0 10px 30px #0000000d}[data-theme=dark] .Contact-module__Bs3a0a__form{border:1px solid #ffffff0d;box-shadow:0 10px 40px #0000004d}.Contact-module__Bs3a0a__inputGroup{text-align:left;flex-direction:column;gap:.5rem;display:flex}.Contact-module__Bs3a0a__fullWidth{grid-column:span 2}.Contact-module__Bs3a0a__inputGroup label{color:var(--text-muted);margin-left:4px;font-size:.9rem;font-weight:600}.Contact-module__Bs3a0a__inputGroup input,.Contact-module__Bs3a0a__inputGroup textarea{background:var(--bg-body);width:100%;color:var(--text-main);resize:none;border:2px solid #0000;border-radius:12px;padding:1rem;font-family:inherit;transition:all .3s}.Contact-module__Bs3a0a__inputGroup input:focus,.Contact-module__Bs3a0a__inputGroup textarea:focus{background:var(--bg-card);border-color:var(--accent);outline:none;box-shadow:0 0 0 4px #d4a3731a}.Contact-module__Bs3a0a__privacyNotice{color:var(--text-muted);opacity:.8;max-width:400px;margin-bottom:15px;margin-left:auto;margin-right:auto;font-size:.75rem;line-height:1.4}.Contact-module__Bs3a0a__submitBtnWrapper{cursor:pointer;grid-column:span 2;margin-top:1rem}@media (max-width:600px){.Contact-module__Bs3a0a__form{grid-template-columns:1fr;padding:1.5rem}.Contact-module__Bs3a0a__fullWidth,.Contact-module__Bs3a0a__submitBtnWrapper{grid-column:span 1}}.Contact-module__Bs3a0a__emojiTea{display:none}.Contact-module__Bs3a0a__emojiCoffee{display:inline-block}[data-theme=dark] .Contact-module__Bs3a0a__emojiCoffee{display:none}[data-theme=dark] .Contact-module__Bs3a0a__emojiTea{display:inline-block}.Contact-module__Bs3a0a__emojiCoffee,.Contact-module__Bs3a0a__emojiTea{animation:3s ease-in-out infinite Contact-module__Bs3a0a__float}@keyframes Contact-module__Bs3a0a__float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.Contact-module__Bs3a0a__subtitle{color:var(--text-muted);margin-bottom:3rem}.Contact-module__Bs3a0a__successMsg,.Contact-module__Bs3a0a__errorMsg{color:#2a9d8f;text-align:center;margin-top:1rem;font-weight:600;animation:5s forwards Contact-module__Bs3a0a__fadeInOut}.Contact-module__Bs3a0a__errorMsg{color:#e76f51}@keyframes Contact-module__Bs3a0a__fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}
.Footer-module__Grjkva__footer{background:var(--bg-body);border-top:1px solid #0000000d;width:100%;padding:3rem 8%}[data-theme=dark] .Footer-module__Grjkva__footer{border-top:1px solid #ffffff1a}.Footer-module__Grjkva__container{justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto;display:flex}.Footer-module__Grjkva__right{gap:25px;display:flex}.Footer-module__Grjkva__cvIcon{border:1px solid #0000;border-radius:8px;padding:6px;transition:all .3s;color:var(--accent)!important}.Footer-module__Grjkva__cvIcon:hover{border-color:var(--accent);background:#d4a3731a;transform:translateY(-3px)}@media (max-width:600px){.Footer-module__Grjkva__container{flex-direction:column-reverse;gap:2rem}}.Footer-module__Grjkva__right a{color:var(--text-muted);align-items:center;transition:all .3s;display:flex;position:relative}.Footer-module__Grjkva__right a:before{content:attr(data-tooltip);background:var(--text-main);color:var(--bg-body);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;border-radius:6px;padding:6px 12px;font-size:.75rem;transition:all .2s;position:absolute;bottom:150%;left:50%;transform:translate(-50%)translateY(10px);box-shadow:0 4px 10px #0000001a}.Footer-module__Grjkva__right a:after{content:"";border:6px solid #0000;border-top-color:var(--text-main);opacity:0;visibility:hidden;transition:all .2s;position:absolute;bottom:120%;left:50%;transform:translate(-50%)translateY(10px)}.Footer-module__Grjkva__right a:hover:before,.Footer-module__Grjkva__right a:hover:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.Footer-module__Grjkva__right a:hover{color:var(--accent);transform:translateY(-3px)}
.LegalModal-module__NGMjea__openBtn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:5px;font-size:.8rem;text-decoration:none;transition:color .3s}.LegalModal-module__NGMjea__openBtn:hover{color:var(--accent)}.LegalModal-module__NGMjea__overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:9999;background:#000c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.LegalModal-module__NGMjea__modal{background:var(--bg-card);border:1px solid var(--text-muted);-webkit-overflow-scrolling:touch;border-radius:20px;width:100%;max-width:500px;max-height:90vh;padding:30px;position:relative;overflow-y:auto}@keyframes LegalModal-module__NGMjea__scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.LegalModal-module__NGMjea__closeBtn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:2rem;position:absolute;top:15px;right:20px}.LegalModal-module__NGMjea__title{color:var(--text-main);margin-bottom:25px;font-size:1.5rem}.LegalModal-module__NGMjea__section{text-align:left;margin-bottom:20px}.LegalModal-module__NGMjea__section h3{text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:8px;font-size:.9rem}.LegalModal-module__NGMjea__section p{color:var(--text-muted);font-size:.95rem;line-height:1.6}
.Stacks-module__k8xhAa__skillsSection{background:var(--bg-card);-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;padding:100px 20px;display:flex;position:relative;overflow:hidden}.Stacks-module__k8xhAa__sketchy{z-index:1;color:inherit;padding:0 4px;text-decoration:none;display:inline-block;position:relative}[data-theme=dark] .Stacks-module__k8xhAa__sketchy:after{opacity:.2;mix-blend-mode:screen;filter:blur(1px)}.Stacks-module__k8xhAa__sketchy:after{content:"";background-color:var(--accent);opacity:.6;z-index:-1;width:100%;height:60%;clip-path:inset(0 var(--draw-progress) 0 0);border-radius:2px 4px 2px 8px;transition:clip-path .2s cubic-bezier(.215,.61,.355,1);position:absolute;bottom:4px;left:0}.Stacks-module__k8xhAa__sketchy.Stacks-module__k8xhAa__animate:after{clip-path:inset(0 0% 0 0);transform:rotate(-1deg)skew(-5deg)}.Stacks-module__k8xhAa__title{text-align:center;z-index:2;margin-bottom:60px;font-size:2.5rem;position:relative}.Stacks-module__k8xhAa__introCode{text-align:center;color:var(--text-muted);margin:30px;font-family:monospace;font-size:1rem}.Stacks-module__k8xhAa__sectionTitle{color:var(--text-main);text-align:center;margin-bottom:50px;font-size:2.5rem}.Stacks-module__k8xhAa__accentDot{color:var(--accent)}.Stacks-module__k8xhAa__container{width:100%;max-width:950px;position:relative;overflow:hidden}.Stacks-module__k8xhAa__tabsNav{z-index:2;scrollbar-width:none;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:2px;width:calc(100% - 20px);margin:0 auto -1px;padding:0 5px;display:flex;position:relative;overflow-x:auto}.Stacks-module__k8xhAa__tabsNav::-webkit-scrollbar{display:none}.Stacks-module__k8xhAa__tabBtn{background:var(--card-skill);border:1px solid var(--text-muted);color:var(--text-muted);cursor:pointer;font-family:var(--font-main);white-space:nowrap;border-bottom:1px solid #0000;border-radius:12px 12px 0 0;flex-shrink:0;padding:14px 28px;font-size:.95rem;font-weight:600;transition:all .2s}.Stacks-module__k8xhAa__tabBtn.Stacks-module__k8xhAa__active{color:var(--text-main);background:var(--card-skill);border-top:3px solid var(--accent);border-left:1px solid var(--text-muted);border-right:1px solid var(--text-muted);border-bottom:1px solid var(--bg-card);padding-top:12px}.Stacks-module__k8xhAa__tabLabelShort{display:none}.Stacks-module__k8xhAa__displayCard{background:var(--card-skill);border:1px solid var(--text-muted);z-index:1;border-radius:20px;padding:40px;position:relative}.Stacks-module__k8xhAa__techList{flex-direction:column;gap:25px;display:flex}.Stacks-module__k8xhAa__skillRow{width:100%}.Stacks-module__k8xhAa__skillHeader{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.Stacks-module__k8xhAa__skillName{color:var(--text-main);font-size:1rem;font-weight:700}.Stacks-module__k8xhAa__skillYears{color:var(--text-muted);font-family:monospace;font-size:.8rem}.Stacks-module__k8xhAa__progressBar{background:#8080801a;border-radius:6px;width:100%;height:10px;overflow:hidden}.Stacks-module__k8xhAa__progressFill{border-radius:6px;height:100%;transition:width 1.2s cubic-bezier(.22,1,.36,1),background .5s}.Stacks-module__k8xhAa__legend{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;justify-content:space-between;align-items:center;margin-top:40px;font-size:.75rem;font-weight:600;display:flex}.Stacks-module__k8xhAa__legendBar{opacity:.8;background:linear-gradient(90deg,#c6dcdf 0% 10%,#4d94ff 30%,#9d4dff 55%,#ffb347 80%,#ff4d4d 100%);border-radius:2px;flex-grow:1;height:4px;margin:0 20px;position:relative}.Stacks-module__k8xhAa__legendBar:after{content:"";background:inherit;filter:blur(4px);opacity:.4;z-index:-1;position:absolute;inset:0}@media (max-width:768px){.Stacks-module__k8xhAa__tabLabelFull{display:none}.Stacks-module__k8xhAa__tabLabelShort{display:block}.Stacks-module__k8xhAa__sectionTitle{margin-bottom:30px;font-size:1.8rem}.Stacks-module__k8xhAa__skillName{font-size:.9rem}.Stacks-module__k8xhAa__legend{text-align:center;flex-direction:row;gap:12px}.Stacks-module__k8xhAa__legendBar{width:100%;margin:0}.Stacks-module__k8xhAa__introCode{padding:0 10px;font-size:.85rem}.Stacks-module__k8xhAa__stacksWrapper{padding:0 10px}.Stacks-module__k8xhAa__tabsNav{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x mandatory;gap:0;width:100%;padding:0 15px}.Stacks-module__k8xhAa__tabBtn{scroll-snap-align:start;border-radius:8px 8px 0 0;flex-shrink:0;padding:10px 15px;font-size:.85rem}.Stacks-module__k8xhAa__displayCard{border-top:1px solid var(--text-muted);border-radius:15px;padding:20px 15px}.Stacks-module__k8xhAa__tabsNav::-webkit-scrollbar{display:none}}
