:root{--bg-color: #0a0a0a;--text-color: #f0f0f0;--accent-color: #ffffff;--secondary-text: #acacac;--glass-bg: rgba(10, 10, 10, .8);--border-color: #333333;--font-main: "Inter", sans-serif;--font-display: "Playfair Display", serif;--transition-speed: .3s}*{margin:0;padding:0;box-sizing:border-box;cursor:none}html{scroll-behavior:smooth;background-color:var(--bg-color);background-image:radial-gradient(circle at 50% 50%,#1a1a1a,#0a0a0a);background-attachment:fixed;background-size:200% 200%;animation:gradientBG 15s ease infinite}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-main);line-height:1.6;background-image:radial-gradient(circle at 50% 50%,#1a1a1a,#0a0a0a);background-attachment:fixed;background-size:200% 200%;animation:gradientBG 15s ease infinite;min-height:100vh}@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.cursor-dot,.cursor-outline{position:fixed;top:0;left:0;transform:translate(-50%,-50%);border-radius:50%;z-index:9999;pointer-events:none}@media(max-width:1024px),(pointer:coarse){.cursor-dot,.cursor-outline{display:none!important}*{cursor:auto!important}body{-webkit-overflow-scrolling:touch}}.cursor-dot{width:8px;height:8px;background-color:var(--accent-color);opacity:1;transition:opacity .5s ease}.cursor-outline{width:40px;height:40px;border:1px solid var(--accent-color);opacity:1;transition:width .2s,height .2s,background-color .2s,opacity .5s}body:hover .cursor-outline{opacity:1}.click-ripple{position:fixed;border-radius:50%;transform:translate(-50%,-50%);border:1px solid var(--accent-color);background-color:#fff3;pointer-events:none;z-index:9999;animation:rippleAnim .5s ease-out forwards}@keyframes rippleAnim{0%{width:0;height:0;opacity:.8}to{width:100px;height:100px;opacity:0}}h1,h2,h3,h4{font-weight:700;line-height:1.2}h1{font-size:clamp(3rem,8vw,6rem);font-family:var(--font-display);letter-spacing:-.02em}.subtitle{font-size:clamp(1.5rem,4vw,2.5rem);color:var(--secondary-text);margin-top:1rem;font-weight:300;display:inline-block;border-right:2px solid var(--accent-color);white-space:nowrap;overflow:hidden;padding-right:2px;opacity:1!important;transform:translateY(0)!important}.subtitle.typing-complete{animation:blinkCursor 1s step-end infinite}.subtitle.cursor-hidden{border-right-color:transparent!important;animation:none}@keyframes blinkCursor{0%,49%{border-right-color:var(--accent-color)}50%,to{border-right-color:transparent}}h2.section-title{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:3rem;position:relative;display:inline-block}h2.section-title:after{content:"";position:absolute;bottom:-10px;left:0;width:0;height:2px;background-color:var(--accent-color);transition:width 1s ease-out}section.active h2.section-title:after{width:60px}a{text-decoration:none;color:inherit;transition:color var(--transition-speed)}ul{list-style:none}.container{max-width:100%;margin:0 auto;padding:0 2rem}section{padding:8rem 5rem;min-height:100vh;display:flex;flex-direction:column;justify-content:center}header{position:fixed;top:0;width:100%;padding:1.5rem 2rem;z-index:100;background:#0a0a0a80;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.05);transition:padding .3s}header.scrolled{padding:1rem 2rem;background:#0a0a0ae6}nav{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto}.logo{font-weight:700;font-size:1.2rem;letter-spacing:.1em;white-space:nowrap}.logo-dot{display:inline-block;opacity:1;transition:opacity .1s}.logo:hover .logo-dot{animation:blinkDot 1s step-end infinite}@keyframes blinkDot{0%,to{opacity:0}50%{opacity:1}}.nav-links{display:flex;gap:3rem}.nav-links a{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--secondary-text);position:relative}.nav-links a:after{content:"";position:absolute;width:0;height:1px;bottom:-5px;left:0;background-color:var(--accent-color);transition:width .3s}.nav-links a:hover:after{width:100%}.nav-links a:hover{color:var(--accent-color)}.nav-item-new{position:relative;display:flex;align-items:center}.new-badge{position:absolute;top:-1.3rem;right:-1.1rem;display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;font-family:Caveat,cursive;font-size:1rem;font-weight:700;color:var(--accent-color);text-transform:lowercase;letter-spacing:.02em;border:1.5px solid var(--accent-color);border-radius:50% 48% 52% 47%/47% 53% 46% 52%;transform:rotate(-14deg);pointer-events:none;animation:newBadgePulse 2.4s ease-in-out infinite}@keyframes newBadgePulse{0%,to{transform:rotate(-14deg) scale(1)}50%{transform:rotate(-14deg) scale(1.08)}}@media(max-width:1380px){.nav-item-new{justify-content:center}.new-badge{top:-1rem;right:auto;left:calc(100% + .3rem)}}.lang-toggle{display:flex;gap:.5rem;align-items:center;margin-left:2rem}.lang-toggle button{background:none;border:none;color:var(--secondary-text);font-family:var(--font-main);font-size:.9rem;cursor:none;transition:color var(--transition-speed)}.lang-toggle button:hover,.lang-toggle button.active{color:var(--accent-color);font-weight:700}.lang-toggle span{color:var(--border-color)}.hamburger{display:none;cursor:pointer;background:transparent;border:none;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;outline:none}.color-picker{display:flex;gap:.5rem;margin-left:1.2rem;align-items:center}.color-btn{width:15px;height:15px;border-radius:50%;border:1px solid transparent;cursor:none;transition:transform .2s,border-color .2s;position:relative}.color-btn:hover{transform:scale(1.2)}.color-btn.active{border-color:var(--text-color);transform:scale(1.1)}#hero{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-left:10%;overflow:hidden;min-height:100vh}#stars-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.hero-content{position:relative;z-index:10}.highlight{-webkit-text-stroke:1px var(--accent-color);color:transparent;position:relative}.hero-content p{font-size:1.2rem;color:var(--secondary-text);max-width:500px;margin:2rem 0}.cta-buttons{display:flex;flex-wrap:wrap;gap:1.5rem}.btn{padding:1rem 2rem;border:1px solid var(--accent-color);font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;transition:all .1s ease-out;position:relative;overflow:hidden;z-index:1;display:inline-block}.btn.primary{background-color:var(--accent-color);color:var(--bg-color)}.btn.primary:hover{background-color:var(--text-color);color:var(--bg-color)}.btn.secondary:hover{background-color:var(--accent-color);color:var(--bg-color)}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1rem;opacity:.7}.scroll-indicator .line{width:1px;height:60px;background-color:var(--accent-color);animation:scrollLine 2s infinite}@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.violin-decoration{position:absolute;right:0;top:90vh;transform:translateY(-50%);width:clamp(250px,50vw,66rem);opacity:.7;z-index:5;pointer-events:none;mask-image:linear-gradient(to top,transparent 0%,black 70%)}.violin-decoration img{width:100%;height:auto}.about-container{margin:0 auto 0 clamp(3rem,10vw,3rem)}.about-content{max-width:800px}.about-text p{margin-bottom:1.5rem;font-size:1.1rem;color:var(--secondary-text);text-shadow:2px 2px 4px rgb(116 116 116 / 40%)}#about{position:relative;overflow:hidden}.musical-notes{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.note{position:absolute;font-size:clamp(1.5rem,3vw,3rem);color:var(--accent-color)}.note-1{top:8%;right:-50px;animation:floatNote1 17s linear infinite}.note-2{top:22%;right:-50px;animation:floatNote2 19s linear infinite 1.5s}.note-3{top:35%;right:-50px;font-size:clamp(2rem,4vw,4rem);animation:floatNote3 22s linear infinite 3s}.note-4{top:48%;right:-50px;animation:floatNote4 15s linear infinite .5s}.note-5{top:61%;right:-50px;animation:floatNote5 20s linear infinite 2.5s}.note-6{top:12%;right:-50px;font-size:clamp(2rem,4vw,4rem);animation:floatNote6 18s linear infinite 4s}.note-7{top:74%;right:-50px;animation:floatNote7 16s linear infinite 1s}.note-8{top:87%;right:-50px;animation:floatNote8 21s linear infinite 3.5s}.note-9{top:28%;right:-50px;animation:floatNote9 14s linear infinite 2s}.note-10{top:42%;right:-50px;font-size:clamp(2rem,4vw,4rem);animation:floatNote10 23s linear infinite 5s}.note-11{top:55%;right:-50px;animation:floatNote11 17s linear infinite .8s}.note-12{top:68%;right:-50px;animation:floatNote12 19s linear infinite 4.2s}.note-13{top:18%;right:-50px;font-size:clamp(2rem,4vw,4rem);animation:floatNote13 20s linear infinite 1.8s}.note-14{top:80%;right:-50px;animation:floatNote14 16s linear infinite 3.8s}.note-15{top:92%;right:-50px;animation:floatNote15 18s linear infinite 2.3s}@keyframes floatNote1{0%{transform:translate(0) translateY(0);opacity:0}40%{transform:translate(-44vw) translateY(-30px);opacity:.03}50%{transform:translate(-55vw) translateY(-50px);opacity:.12}75%{transform:translate(-82vw) translateY(-45px);opacity:.18}to{transform:translate(-110vw) translateY(-60px);opacity:.22}}@keyframes floatNote2{0%{transform:translate(0) translateY(0) rotate(0);opacity:0}40%{transform:translate(-44vw) translateY(40px) rotate(5deg);opacity:.03}50%{transform:translate(-55vw) translateY(60px) rotate(8deg);opacity:.11}75%{transform:translate(-82vw) translateY(70px) rotate(12deg);opacity:.17}to{transform:translate(-110vw) translateY(80px) rotate(15deg);opacity:.2}}@keyframes floatNote3{0%{transform:translate(0) translateY(0);opacity:0}40%{transform:translate(-44vw) translateY(-20px);opacity:.03}50%{transform:translate(-55vw) translateY(-30px);opacity:.1}75%{transform:translate(-82vw) translateY(-35px);opacity:.15}to{transform:translate(-110vw) translateY(-40px);opacity:.18}}@keyframes floatNote4{0%{transform:translate(0) translateY(0) rotate(0);opacity:0}40%{transform:translate(-44vw) translateY(25px) rotate(-3deg);opacity:.03}50%{transform:translate(-55vw) translateY(30px) rotate(-5deg);opacity:.12}75%{transform:translate(-82vw) translateY(20px) rotate(-8deg);opacity:.18}to{transform:translate(-110vw) translateY(-20px) rotate(12deg);opacity:.22}}@keyframes floatNote5{0%{transform:translate(0) translateY(0);opacity:0}40%{transform:translate(-44vw) translateY(-22px);opacity:.03}50%{transform:translate(-55vw) translateY(20px);opacity:.11}75%{transform:translate(-82vw) translateY(35px);opacity:.17}to{transform:translate(-110vw) translateY(55px);opacity:.2}}@keyframes floatNote6{0%{transform:translate(0) translateY(0) rotate(0);opacity:0}40%{transform:translate(-44vw) translateY(35px) rotate(-8deg);opacity:.03}50%{transform:translate(-55vw) translateY(50px) rotate(-12deg);opacity:.09}75%{transform:translate(-82vw) translateY(60px) rotate(-16deg);opacity:.14}to{transform:translate(-110vw) translateY(70px) rotate(-20deg);opacity:.17}}@keyframes floatNote7{0%{transform:translate(0) translateY(0);opacity:0}40%{transform:translate(-44vw) translateY(-25px);opacity:.03}50%{transform:translate(-55vw) translateY(-35px);opacity:.12}75%{transform:translate(-82vw) translateY(-30px);opacity:.18}to{transform:translate(-110vw) translateY(-35px);opacity:.21}}@keyframes floatNote8{0%{transform:translate(0) translateY(0) rotate(0);opacity:0}40%{transform:translate(-44vw) translateY(-38px) rotate(7deg);opacity:.03}50%{transform:translate(-55vw) translateY(-55px) rotate(11deg);opacity:.13}75%{transform:translate(-82vw) translateY(-65px) rotate(15deg);opacity:.19}to{transform:translate(-110vw) translateY(-75px) rotate(18deg);opacity:.22}}@keyframes floatNote9{0%{transform:translate(0) translateY(0);opacity:0}40%{transform:translate(-44vw) translateY(20px);opacity:.03}50%{transform:translate(-55vw) translateY(30px);opacity:.12}75%{transform:translate(-82vw) translateY(45px);opacity:.18}to{transform:translate(-110vw) translateY(65px);opacity:.21}}@keyframes floatNote10{0%{transform:translate(0) translateY(0) rotate(0);opacity:0}40%{transform:translate(-44vw) translateY(25px) rotate(-6deg);opacity:.03}50%{transform:translate(-55vw) translateY(35px) rotate(-9deg);opacity:.1}75%{transform:translate(-82vw) translateY(42px) rotate(-12deg);opacity:.15}to{transform:translate(-110vw) translateY(50px) rotate(-15deg);opacity:.18}}@keyframes floatNote11{0%{transform:translate(0) translateY(0);opacity:0}40%{transform:translate(-44vw) translateY(22px);opacity:.03}50%{transform:translate(-55vw) translateY(35px);opacity:.11}75%{transform:translate(-82vw) translateY(-38px);opacity:.17}to{transform:translate(-110vw) translateY(-45px);opacity:.2}}@keyframes floatNote12{0%{transform:translate(0) translateY(0) rotate(0);opacity:0}40%{transform:translate(-44vw) translateY(-32px) rotate(8deg);opacity:.03}50%{transform:translate(-55vw) translateY(-48px) rotate(13deg);opacity:.11}75%{transform:translate(-82vw) translateY(-58px) rotate(17deg);opacity:.16}to{transform:translate(-110vw) translateY(-65px) rotate(20deg);opacity:.19}}@keyframes floatNote13{0%{transform:translate(0) translateY(0);opacity:0}40%{transform:translate(-44vw) translateY(27px);opacity:.03}50%{transform:translate(-55vw) translateY(40px);opacity:.09}75%{transform:translate(-82vw) translateY(48px);opacity:.14}to{transform:translate(-110vw) translateY(55px);opacity:.17}}@keyframes floatNote14{0%{transform:translate(0) translateY(0) rotate(0);opacity:0}40%{transform:translate(-44vw) translateY(19px) rotate(5deg);opacity:.03}50%{transform:translate(-55vw) translateY(28px) rotate(8deg);opacity:.12}75%{transform:translate(-82vw) translateY(42px) rotate(12deg);opacity:.18}to{transform:translate(-110vw) translateY(60px) rotate(15deg);opacity:.21}}@keyframes floatNote15{0%{transform:translate(0) translateY(0);opacity:0}40%{transform:translate(-44vw) translateY(-29px);opacity:.03}50%{transform:translate(-55vw) translateY(-42px);opacity:.12}75%{transform:translate(-82vw) translateY(-50px);opacity:.17}to{transform:translate(-110vw) translateY(-58px);opacity:.2}}@keyframes floatImage{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}#experience{position:relative;overflow:hidden}.experience-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%)}.binary-col{position:absolute;top:-100%;left:var(--x);color:var(--accent-color);font-family:Courier New,monospace;font-size:1.2rem;opacity:.1;writing-mode:vertical-rl;text-orientation:upright;animation:binaryRain var(--s) linear infinite;animation-delay:var(--d);white-space:nowrap;letter-spacing:5px;text-shadow:0 0 5px var(--accent-color)}@keyframes binaryRain{0%{top:-50%;opacity:0}10%{opacity:.15}90%{opacity:.15}to{top:100%;opacity:0}}#education{position:relative;overflow:hidden}.education-container{margin:0 auto}.education-bg-lines{position:absolute;top:0;left:0;width:100%;height:75%;z-index:0;pointer-events:none;opacity:.3;mask-image:linear-gradient(to top,transparent 0%,black 30%)}.education-bg-lines img{width:100%;height:100%;object-fit:cover}.education-layout{position:relative;z-index:1;display:flex;align-items:flex-start;gap:4rem}.education-image{flex:0 0 400px;position:relative;display:flex;justify-content:center;animation:floatImage 6s ease-in-out infinite}.education-image img{width:100%;height:auto;margin-top:-130px;transition:transform .3s ease,filter .3s ease}.education-image img:hover,.education-image.active-mobile img{transform:scale(1.02);filter:grayscale(0%) drop-shadow(0 0 30px rgba(255,255,255,.2))}.geo-3d-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:350px;height:350px;z-index:-1;pointer-events:none}.geo-shape{position:absolute;width:100%;height:100%;border-radius:40px;transition:all .5s ease}.shape-outline{border:2px solid var(--secondary-text);transform:rotate(-15deg) translate(-20px,-20px);opacity:.3}.shape-filled{background:var(--accent-color);transform:rotate(-15deg);opacity:.8;box-shadow:0 20px 50px #00000080}.geo-deco{position:absolute;color:var(--secondary-text);font-weight:700;font-size:2rem;opacity:.5}.circle-deco{top:-20px;right:-20px;width:30px;height:30px;border:3px solid var(--accent-color);border-radius:50%}.plus-deco{bottom:-50px;right:20px;color:var(--accent-color);font-size:3rem}.square-deco{bottom:20px;left:-30px;width:25px;height:25px;border:2px solid var(--accent-color);transform:rotate(45deg);opacity:.6}.triangle-deco{position:absolute;top:-12px;left:0;color:var(--accent-color);cursor:pointer;z-index:10;transform:scale(1.5) rotate(30deg);transition:transform .3s ease}.triangle-deco:hover{transform:scale(1.5) rotate(90deg);text-shadow:0 0 10px var(--accent-color)}@keyframes floatTriangle{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.modal{display:none;position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000000e6;backdrop-filter:blur(5px);cursor:auto}.modal *{cursor:auto}.modal-content{background-color:#1a1a1a;margin:5% auto;padding:20px;border:1px solid var(--accent-color);width:80%;max-width:800px;border-radius:10px;box-shadow:0 0 50px #000c;position:relative}.close-modal{color:#aaa;float:right;font-size:28px;font-weight:700;cursor:pointer}.close-modal:hover,.close-modal:focus{color:var(--accent-color);text-decoration:none;cursor:pointer}.game-container{position:relative;width:100%;padding-bottom:75%;height:0;overflow:hidden}.game-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.education-image:hover .shape-filled,.education-image.active-mobile .shape-filled{transform:rotate(-10deg) scale(1.05);opacity:1}.education-image:hover .shape-outline,.education-image.active-mobile .shape-outline{transform:rotate(-20deg) translate(-30px,-30px);opacity:.5;border-color:var(--accent-color)}.education-content{flex:1}.timeline{--timeline-padding: 2rem;position:relative;padding-left:var(--timeline-padding)}.timeline:before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:var(--border-color)}.timeline:after{content:"";position:absolute;left:0;top:0;width:2px;height:var(--line-height, 0%);background:var(--accent-color);box-shadow:0 0 15px var(--accent-color);transition:height .1s ease-out;z-index:1}.timeline-item{margin-bottom:3rem;position:relative;opacity:0;transform:translate(-20px);transition:all .6s ease-out}.timeline-item.visible{opacity:1;transform:translate(0)}.timeline-item:before{content:"";position:absolute;left:calc(-1 * var(--timeline-padding) - 4px);top:.5rem;width:10px;height:10px;background-color:var(--bg-color);border:1px solid var(--accent-color);border-radius:50%;transition:all .3s ease;z-index:2}.timeline-item:hover:before{background-color:var(--accent-color);box-shadow:0 0 10px var(--accent-color)}.timeline-item.active-point:before{background-color:var(--accent-color);box-shadow:0 0 15px var(--accent-color);border-color:var(--accent-color);transform:scale(1.2)}.timeline-date{font-size:.9rem;color:var(--secondary-text);margin-bottom:.5rem}.timeline-content h3{font-size:1.5rem;margin-bottom:.2rem}.timeline-content h4{font-size:1.1rem;font-weight:400;color:var(--secondary-text);margin-bottom:1rem}.experience-list{list-style:disc;padding-left:1.2rem;color:var(--text-color)}.experience-list li{margin-bottom:.5rem}.projects-wrapper{position:relative;max-width:1200px;margin:0 auto;padding:0 60px}.swiper{width:100%;padding:2rem 21px 3rem;overflow:hidden}.swiper-slide{height:auto;display:flex;justify-content:center}@media(min-width:1024px){#experience{padding-top:0}.swiper{height:700px}}@media(max-width:1023px){.swiper{height:auto;padding-bottom:3rem}.swiper-wrapper{align-items:stretch}.swiper-slide{height:auto!important}.project-card{height:100%}}.project-card{background-color:#111;border:1px solid var(--border-color);padding:2rem;transition:transform .1s ease-out,border-color .3s;position:relative;overflow:hidden;width:100%;height:100%;transform-style:preserve-3d;perspective:1000px;display:flex;flex-direction:column}.project-info{flex:1;display:flex;flex-direction:column}.project-info p{flex:1}.project-card.coming-soon{border-style:dashed;display:flex;flex-direction:column;justify-content:center}.swiper-button-next,.swiper-button-prev{background:#00000080;border:1px solid var(--border-color);color:var(--text-color)!important;width:40px;height:40px;border-radius:50%;transition:all .3s;position:absolute;top:50%;transform:translateY(-50%);z-index:10;margin-top:0}.swiper-button-next:after,.swiper-button-prev:after{font-size:1.2rem;font-weight:700}.swiper-button-next:hover,.swiper-button-prev:hover{background-color:var(--accent-color);color:var(--bg-color)!important;border-color:var(--accent-color)}.swiper-pagination-bullet{width:12px;height:12px;background-color:var(--border-color);opacity:1;transition:background-color .3s,transform .3s}.swiper-pagination-bullet-active{background-color:var(--accent-color);transform:scale(1.2)}.swiper-button-prev{left:10px}.swiper-button-next{right:10px}@media(max-width:1220px){.projects-wrapper{padding:0 60px}.swiper-button-prev{left:-10px}.swiper-button-next{right:-10px}}@media(max-width:768px){.projects-wrapper{padding:0}.swiper{padding:2rem 1rem 3rem;height:auto}.swiper-button-next,.swiper-button-prev{display:none}}.project-card.visible{opacity:1;transition:opacity .6s ease-out,border-color .3s}.project-card:hover{border-color:var(--accent-color);box-shadow:0 10px 30px -10px #00000080}.project-info{transform:translateZ(20px);pointer-events:none}.project-card:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);transform:translate(-100%);transition:transform .6s;pointer-events:none}.project-card:hover:after{transform:translate(100%)}.project-info h3{font-size:1.5rem;margin-bottom:1rem}.project-info p{color:var(--secondary-text);margin-bottom:1.5rem}.tags{display:flex;gap:.5rem;flex-wrap:wrap}.tags span{font-size:.8rem;padding:.3rem .8rem;border:1px solid var(--border-color);border-radius:20px;color:var(--secondary-text);transition:all .3s}.project-card:hover .tags span{border-color:var(--accent-color);color:var(--text-color)}#contact{position:relative;overflow:hidden;mask-image:linear-gradient(to top,transparent 0%,black 10%,black 90%,transparent 100%)}.contact-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(farthest-side at 80% 20%,rgba(255,255,255,.02),transparent),radial-gradient(farthest-side at 20% 80%,rgba(255,255,255,.02),transparent);z-index:-1}.contact-container{position:relative;z-index:1}.contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:2rem}.contact-details h3{font-size:2rem;margin-bottom:1rem;color:var(--accent-color)}.contact-details p{color:var(--secondary-text);margin-bottom:2rem;font-size:1.1rem}.contact-info-item{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;font-size:1.1rem;transition:transform .3s ease;cursor:none}.contact-info-item:hover{transform:translate(2px)}.contact-info-item a{display:inline-block;transition:letter-spacing .3s ease,color .3s ease}.contact-info-item:hover a{letter-spacing:.05em;color:var(--accent-color)}.contact-info-item .icon{font-size:1.5rem;transition:transform .5s ease,color .5s ease}.contact-info-item:hover .icon{transform:scale(1.02);color:var(--accent-color)}.social-links-icons{display:flex;gap:1.5rem;margin-top:2rem}.social-links-icons a{color:var(--secondary-text);transition:color .3s,transform .3s}.social-links-icons a:hover{color:var(--accent-color);transform:translateY(-3px)}.contact-form{background:#ffffff08;padding:2.5rem;border-radius:15px;border:1px solid rgba(255,255,255,.05);backdrop-filter:blur(10px)}.form-group{margin-bottom:1.5rem;position:relative}.form-group label{display:block;margin-bottom:.5rem;color:var(--secondary-text);font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:1rem;background:#0000004d;border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);font-family:var(--font-main);font-size:1rem;transition:border-color .3s,box-shadow .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #ffffff1a}.error-message{color:#f44;font-size:.8rem;margin-top:.5rem;display:none;position:absolute;bottom:-20px;left:0}.form-group.error input,.form-group.error textarea{border-color:#f44}.form-group.error .error-message{display:block}.toast-notification{position:fixed;bottom:20px;right:20px;background:#141414f2;color:var(--text-color);padding:1rem 1.5rem;border-radius:8px;border-left:4px solid var(--accent-color);box-shadow:0 5px 15px #0000004d;transform:translateY(100px);opacity:0;transition:all .3s ease;z-index:10000;display:flex;align-items:center;gap:10px;max-width:350px;backdrop-filter:blur(10px)}.toast-notification.show{transform:translateY(0);opacity:1}.toast-notification.error{border-left-color:#f44}.toast-notification.success{border-left-color:#00c851}.toast-notification.warning{border-left-color:#fb3}@media(max-width:1380px){.lang-toggle{margin-left:auto;margin-right:2rem}.color-picker{margin-right:3.5rem}.hamburger{display:block;z-index:1001}.hamburger span{display:block;width:25px;height:3px;margin:5px auto;transition:all .3s ease-in-out;background-color:var(--text-color)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.nav-links{position:fixed;top:0;right:-100%;height:100vh;min-height:100dvh;width:100%;background:#0a0a0af2;backdrop-filter:blur(10px);flex-direction:column;justify-content:center;align-items:center;transition:right .4s ease-in-out;z-index:1000;gap:2rem;overflow:hidden;overscroll-behavior:none}.nav-links.active{right:0}.nav-links a{font-size:1.5rem}}@media(max-width:1380px)and (max-height:600px){.nav-links{justify-content:flex-start;padding-top:6rem;padding-bottom:2rem;overflow-y:auto;gap:1rem;scrollbar-width:none;height:100vh;min-height:100dvh}.nav-links::-webkit-scrollbar{display:none}}@media(max-width:768px){.contact-wrapper{grid-template-columns:1fr;gap:3rem}.contact-details{text-align:center}.contact-info-item,.social-links-icons{justify-content:center}}@media(max-width:1024px){header{padding:1rem 1.5rem}.lang-toggle{margin-left:auto;margin-right:clamp(0px,3vw,1.5rem)}.color-picker{margin-right:1.2rem;gap:.3rem}#hero{padding-top:10rem}section{padding:4rem 0}h1{font-size:clamp(2.5rem,6vw,4.5rem)}.subtitle{font-size:clamp(1.2rem,3vw,2rem)}#hero{padding-left:5%}.hero-content p{font-size:1rem;margin:1.5rem 0}.about-container{margin:0 auto}.education-container{margin:0 auto;padding:0 2rem}.education-layout{flex-direction:column;align-items:center;gap:3rem;text-align:center}.education-image{flex:0 0 auto;width:100%;max-width:350px;margin:0 auto}.education-image img{margin-top:0}.education-content{width:100%}.education-content .timeline{text-align:left;--timeline-padding: 1.5rem;padding-left:var(--timeline-padding);margin:0 auto;max-width:600px}.contact-form button[type=submit]{display:block;margin:1.2rem auto 0;width:auto;min-width:160px}}@media(max-width:768px){html,body{background-attachment:scroll;height:auto;min-height:100vh}h1{font-size:3rem}#hero{padding-left:5%;justify-content:flex-start}.about-container{margin:0 auto}.education-container{margin:0 auto;padding:0 1.5rem}.education-layout{flex-direction:column;align-items:center;gap:3rem;text-align:center}.education-image{flex:0 0 auto;width:100%;max-width:280px;margin:0 auto}.education-image img{margin-top:0}.education-content{width:100%}.education-content .timeline{text-align:left;--timeline-padding: 1.5rem;padding-left:var(--timeline-padding);margin:0 auto;max-width:500px}}@media(max-width:450px){.logo{white-space:nowrap}.hero-content p{max-width:260px;font-size:.98rem;margin-right:0;margin-top:0}.contact-container>h2.section-title:after,.education-content>h2.section-title:after{left:50%;transform:translate(-50%)}.contact-container{text-align:center}.contact-info-item{justify-content:center}}@media(max-width:411px){header .color-picker:not(.mobile-picker){display:none}.mobile-color-picker-item{display:block!important;margin-top:1rem}.mobile-picker{display:flex;gap:.5rem;justify-content:center}}.negotiate-cta{margin-top:4rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;opacity:0;animation:fadeIn 1s ease-out forwards 1s}.negotiate-cta p{font-size:1.5rem;font-weight:300;color:var(--text-color);letter-spacing:1px}.scroll-down-arrow{display:block;position:relative;width:24px;height:24px}.scroll-down-arrow span{display:block;width:15px;height:15px;border-bottom:2px solid var(--accent-color);border-right:2px solid var(--accent-color);transform:rotate(45deg);margin:-5px auto;animation:scrollArrow 2s infinite}.scroll-down-arrow span:nth-child(2){animation-delay:-.2s}.scroll-down-arrow span:nth-child(3){animation-delay:-.4s}@keyframes scrollArrow{0%{opacity:0;transform:rotate(45deg) translate(-10px,-10px)}50%{opacity:1}to{opacity:0;transform:rotate(45deg) translate(10px,10px)}}@keyframes fadeIn{to{opacity:1}}#projects{position:relative;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 80%,transparent 100%)}.projects-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.05;background-image:linear-gradient(var(--accent-color) 1px,transparent 1px),linear-gradient(90deg,var(--accent-color) 1px,transparent 1px);background-size:50px 50px;mask-image:radial-gradient(circle at 50% 50%,black 40%,transparent 90%);pointer-events:none}.floating-code-bg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:0}.code-symbol{position:absolute;color:var(--accent-color);opacity:.03;font-family:Courier New,monospace;font-weight:700;font-size:clamp(3rem,8vw,6rem);left:var(--x);top:var(--y);animation:floatSymbol 15s ease-in-out infinite;animation-delay:calc(var(--i) * -2s);user-select:none}@keyframes floatSymbol{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-30px) rotate(10deg)}}#skills{padding-top:2rem}#skills .container{display:flex;flex-direction:column;align-items:center}#skills .section-title{text-align:center}#skills .section-title:after{left:50%;transform:translate(-50%)}.skills-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.15;background-image:radial-gradient(circle at 20% 20%,var(--accent-color) 0%,transparent 5%),radial-gradient(circle at 80% 80%,var(--accent-color) 0%,transparent 5%);background-size:100px 100px;animation:pulseGrid 10s ease-in-out infinite alternate;mask-image:radial-gradient(circle at 50% 50%,black 40%,transparent 90%);pointer-events:none}@keyframes pulseGrid{0%{background-size:100px 100px;opacity:.1}to{background-size:110px 110px;opacity:.2}}.skills-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2rem}.skill-item{font-size:1.2rem;padding:1rem 2rem;border:1px solid var(--border-color);transition:all var(--transition-speed);opacity:0;transform:scale(.9)}.skill-item.visible{opacity:1;transform:scale(1);transition:opacity .4s ease-out,transform .4s ease-out,background-color .3s,color .3s}.skill-item:hover{background-color:var(--accent-color);color:var(--bg-color);transform:translateY(-5px)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.blog-card{border:1px solid var(--border-color);padding:2rem;transition:border-color var(--transition-speed)}.blog-card:hover{border-color:var(--accent-color)}.blog-date{font-size:.9rem;color:var(--secondary-text);margin-bottom:.5rem}.read-more{display:inline-block;margin-top:1rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--accent-color)}.contact-info p{font-size:1.2rem;margin-bottom:1rem;color:var(--secondary-text)}.contact-info a:hover{color:var(--accent-color)}.social-links{margin-top:4rem;display:flex;gap:2rem}.social-links a{font-size:1.1rem;border-bottom:1px solid transparent}.social-links a:hover{border-bottom-color:var(--accent-color)}footer{padding:2rem;text-align:center;border-top:1px solid var(--border-color);color:var(--secondary-text);font-size:.9rem}.fade-in-up{opacity:0;transform:translateY(30px);animation:fadeInUp 1s forwards}.delay-1{animation-delay:.2s}.delay-2{animation-delay:.4s}.delay-3{animation-delay:.6s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(50px);transition:all 1s ease-out}.reveal.active{opacity:1;transform:translateY(0)}
