.header{position:fixed;top:0;width:100%;height:85px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-image:radial-gradient(circle at 30% 20%,#0e0e18c9,#0a0a0efe);border-bottom:1px solid rgba(255,255,255,.08);background-size:200% 200%;animation:gradientMove 20s ease infinite;z-index:100;transition:all .3s ease}.header-container{max-width:900px;height:100%;display:flex;align-items:center;justify-content:center;margin:0 auto;padding:0 80px;position:relative}.header-logo{position:absolute;left:25px;top:50%;transform:translateY(-50%);display:flex;align-items:center}.header-logo img{width:45px;height:45px;border-radius:50%;object-fit:cover;filter:drop-shadow(0 0 4px rgba(255,255,255,.15));transition:transform .3s ease,filter .3s ease}.header-logo img:hover{filter:drop-shadow(0 0 6px rgba(255,255,255,.4))}.nav{display:flex;gap:40px;justify-content:center;flex:1}.nav-link{position:relative;background:none;border:none;font-size:18px;color:#f0f0f0cc;cursor:pointer;padding:5px 15px;transition:color .25s ease,transform .15s ease}.nav-link:hover{color:#ffffffe6}.nav-link:after{content:"";position:absolute;left:0;bottom:-3px;width:0%;height:2px;background:#ffffff80;transition:width .3s ease}.nav-link:hover:after{width:100%}.nav-link.active{color:#fffffff2;background-color:#ffffff0d;padding:10px 15px;border-radius:15px}.nav-link.active:after{width:0%}.lang-minimal{position:absolute;right:30px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;cursor:pointer;color:#ffffff73;-webkit-user-select:none;user-select:none;transition:color .25s ease}.lang-minimal span{transition:color .25s ease}.lang-minimal .active{color:#fff;filter:brightness(1.9)}.lang-minimal .separator{color:#ffffff40}.lang-minimal:hover span:not(.active){color:#ffffffbf}.menu-toggle{display:none;position:absolute;right:30px;flex-direction:column;justify-content:center;gap:4px;width:28px;height:22px;cursor:pointer}.menu-toggle span{background:#fffc;height:3px;border-radius:2px;transition:all .3s ease}.menu-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.header.menu-open{background:#0a0a0ffe;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}@media(max-width:700px){.nav{position:fixed;top:70px;left:0;right:0;background:#0a0a0ffe;flex-direction:column;align-items:center;transform:translateY(-150%);transition:transform .3s ease;z-index:90;gap:20px}.nav.open{transform:translateY(0);border-bottom:1px solid rgba(255,255,255,.08);padding-top:15px}.nav-link{width:100%;padding:15px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);text-align:center;transition:all .3s ease;display:block}.nav-link.active{background:#ffffff14;color:#fffffff2;margin:0 10px;border-radius:0}.nav-link:hover{background:#ffffff0d;filter:brightness(1.1)}.lang-minimal{position:static;width:35%;margin-top:15px;padding:8px;justify-content:center;border-radius:6px;background:#ffffff0d;color:#fffffff2;filter:brightness(1.1)}.menu-toggle{display:flex}.header-logo{left:25px}.header-logo img{width:38px;height:38px}}.footer{width:100%;display:flex;flex-direction:column;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#0a0a0fcc;background-image:radial-gradient(circle at 30% 20%,#0e0e18c9,#0a0a0efe);background-size:200% 200%;animation:gradientMove 20s ease infinite;border-top:1px solid rgba(255,255,255,.08);padding:30px 0;z-index:50}.footer-logos{width:100%;display:flex;justify-content:center;gap:25px;padding:5px 0 20px}.footer-logos a,.footer-logos .email-button{background:none;border:none;cursor:pointer;padding:0;transition:transform .2s ease,filter .3s ease;width:32px;height:32px}.footer-logos img{width:32px;height:32px;filter:brightness(.6) invert(.9);transition:transform .2s ease,filter .3s ease}.footer-logos img:hover{transform:scale(1.15);filter:brightness(1) drop-shadow(0 0 6px rgba(100,149,237,.6))}.footer-text{width:100%;text-align:center}.footer-text p,.footer-text a{margin:0;font-size:12px;color:#c8c8c8b3;letter-spacing:.3px;font-weight:300}.footer-text .privacy-link{background:none;border:none;color:#c8c8c8b3;cursor:pointer;padding:0;margin-left:3px;text-decoration:none;transition:all .2s ease;font-size:12px}.footer-text .privacy-link:hover{text-decoration:underline;text-decoration-color:#c8c8c8b3}@media(max-width:900px){.footer-logos{gap:20px;padding:22px 0 16px}}@media(max-width:700px){.footer{padding:20px 0}.footer-logos{gap:18px;padding:5px 0 10px}.footer-logos img{width:28px;height:28px}.footer-text p,.footer-text .privacy-link{font-size:10px}}.loading-wrapper{text-align:center;margin:20px 0;display:flex;flex-direction:column;align-items:center}.loading-wrapper p{font-size:16px;opacity:.85}.loader{display:flex;justify-content:center;align-items:center;gap:6px;font-size:20px;font-weight:700}.loader span{animation:blink 1.4s infinite both}.loader span:nth-child(2){animation-delay:.2s}.loader span:nth-child(3){animation-delay:.4s}@keyframes blink{0%{opacity:.2}20%{opacity:1}to{opacity:.2}}.home-container{padding:80px 0 0;font-family:Inter,sans-serif}section{position:relative;padding-bottom:70px;margin-bottom:50px;font-family:initial}section:after{content:"";display:block;height:1px;width:100%;position:absolute;bottom:0;left:0;background:linear-gradient(to right,transparent 0%,rgba(51,51,51,.8) 20%,rgba(51,51,51,.8) 80%,transparent 100%)}section:last-of-type{margin-bottom:0}section:last-of-type:after{display:none}.hero,.hero-photo{display:flex;flex-direction:column;align-items:center;text-align:center}.hero-photo .photo-placeholder{width:120px;height:120px;border-radius:50%;background-color:#8a8a8a}.hero h1{font-size:30px;margin-bottom:0;color:#fff;filter:brightness(1);text-shadow:0 0 4px rgba(255,255,255,.2),0 0 6px rgba(255,255,255,.3)}.hero h2{font-size:20px;font-weight:400;color:#8a8a8a;margin-top:5px;margin-bottom:12px}.availability{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:20px}.status-dot{width:9px;height:9px;background-color:#6ffa8f;border-radius:50%;box-shadow:0 0 8px #6ffa8f;animation:pulse 1.6s infinite ease-in-out}.availability-text{color:#5dc575;font-size:12px;font-weight:700}@keyframes pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}.contacts{display:flex;gap:40px;justify-content:center;align-items:center;margin-bottom:20px}.contacts a{width:26px;height:26px;display:flex;justify-content:center;align-items:center}.contacts img{width:24px;height:24px;filter:brightness(.6) invert(.9);transition:transform .2s ease,filter .3s ease}.contacts img:hover{transform:scale(1.15);filter:brightness(1) drop-shadow(0 0 6px rgba(100,149,237,.6))}.buttons-presentation{display:flex;justify-content:center;align-items:center;gap:15px}.btn-contact,.contact-cv a{display:flex;align-items:center}.about h2,.featured-projects h2{margin-bottom:30px;font-size:24px;color:#8a8a8a}.about p{font-family:Inter,sans-serif;text-align:justify;font-size:15px;line-height:1.4;margin:20px 0}.about p:first-of-type,.about p:last-of-type{margin:0}.featured-projects{padding-bottom:60px}.projects-line{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}.project-item{display:flex;align-items:center;justify-content:space-between;padding:5px 20px;transition:background .2s ease,border-radius .2s ease}.project-item:hover{background:#ffffff0d;border-radius:8px}.project-title{font-weight:500;text-align:left}.project-year{font-size:.9rem;color:#8a8a8a}.line-between{flex:1;height:1px;background-color:#444;margin:0 10px}.btn-wrapper{display:flex;justify-content:center;margin-top:20px}@media(max-width:700px){.home-container{padding:60px 0 0}.featured-projects h2{font-size:21px}.hero h1{font-size:28px}.hero h2{font-size:17px}.availability-text{font-size:11px}.about h2,.featured-projects h2{text-align:center}.about p{text-align:center;font-size:14px}section{padding-bottom:50px;margin-bottom:40px}.project-title{font-size:13px}.featured-projects{padding-bottom:50px}.project-item{padding:5px 10px}.btn-see-more{font-size:12px}}@media(max-width:400px){.project-item{flex-direction:column;align-items:center;gap:4px}.line-between{display:none}.project-year{display:block;font-size:12px;color:#8a8a8a}.project-title{font-size:14px}}.btn-contact,.btn-see-more,.contact-cv a,.btn-project-code,.btn-github-profile{font-size:13px;display:inline-flex;align-items:center;gap:8px;padding:8px 15px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#fff;border-radius:6px;cursor:pointer;position:relative;overflow:hidden;text-decoration:none;transition:transform .25s ease,box-shadow .3s ease,background .3s ease}.btn-project-code{padding:5px 15px}.btn-contact img{width:16px;height:12px;margin-left:4px;margin-top:1px}.contact-cv a img{width:18px;height:18px;margin-left:4px}.btn-contact:before,.btn-see-more:before,.contact-cv a:before,.btn-project-code:before,.btn-github-profile:before{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.2),transparent);transform:skew(-20deg);animation:shineMotion 3.2s infinite ease-in-out}@keyframes shineMotion{0%{left:-120%}50%{left:120%}to{left:120%}}.btn-contact:hover,.btn-see-more:hover,.contact-cv a:hover,.lang-switch:hover,.btn-project-code:hover,.btn-github-profile:hover{box-shadow:0 0 12px #ffffff0f,0 0 20px #ffffff1a;background:#ffffff14;color:#fff}.contact-form .button-wrapper{margin-top:10px;display:flex;justify-content:center}.animated-submit-btn{display:inline-flex;align-items:center;justify-content:center;width:25%;height:40px;border-radius:40px;border:2px solid #1ECD97;background:#ffffff0d;color:#1ecd97;font-weight:700;font-size:12px;letter-spacing:1px;cursor:pointer;overflow:hidden;margin-bottom:20px;transition:background .2s ease,color .2s ease}.animated-submit-btn:hover{background:#1ecd97;color:#414141}.animated-submit-btn.working{width:40px;border-color:#bbb;border-left-color:#1ecd97;font-size:0;animation:rotating 2s linear infinite;margin:0 auto}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stack{padding-bottom:70px;margin-bottom:50px}.stack h2{margin-bottom:40px;font-size:24px;color:#8a8a8a}.stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;perspective:1000px}.stack-item{width:100%;height:140px;position:relative;transform-style:preserve-3d;transition:transform .6s;cursor:pointer}.stack-item.flipped{transform:rotateY(180deg)}.stack-item-front,.stack-item-back{position:absolute;width:100%;height:100%;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;backface-visibility:hidden;top:0;left:0}.stack-item-front{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);transform:rotateY(0);z-index:2}.stack-item-front img{width:45px;height:45px;object-fit:contain;margin-bottom:14px}.stack-item-front span{font-size:16px;font-weight:700;color:#fff;opacity:.9}.stack-item-back{background:#191919f2;border:1px solid rgba(255,255,255,.15);transform:rotateY(180deg);text-align:center;color:#fff;font-size:13px;display:flex;flex-direction:column;justify-content:center;align-items:center;backface-visibility:hidden;z-index:1}.description-stack{padding:5px 10px 0}.stack-item-back img{width:35px;height:35px;margin-bottom:8px;object-fit:contain}@media(max-width:1000px){.stack-grid{grid-template-columns:repeat(2,1fr);gap:35px;padding:0 80px}.stack-item{height:140px}}@media(max-width:600px){.stack h2{text-align:center}.stack-grid{grid-template-columns:1fr;gap:30px;padding:0 50px}.stack-item{height:130px}.stack-item-front span{font-size:15px}.stack-item-back{font-size:12px}}.project-card{margin:0 auto 40px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:22px;text-align:left;transition:opacity .3s ease,transform .3s ease;box-shadow:0 6px 18px #0000004d;transform:translateY(30px)}.project-card.show{opacity:1;transform:translateY(0)}.project-card:hover{transform:translateY(-10px);box-shadow:0 12px 32px #00000080}.project-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.project-logo{width:70px;height:70px;object-fit:cover;border-radius:6px;flex-shrink:0}.project-card h3{font-size:24px;color:#f7f7f7;margin:0 0 0 10px}.project-tags{margin-bottom:12px}.tag{display:inline-block;padding:4px 12px;margin:4px 8px 4px 0;font-size:13px;background-color:#ffffff1a;border-radius:12px;color:#b0c4de;transition:background-color .3s ease}.tag:hover{background-color:#fff3}.project-card p{font-size:15px;line-height:1.4;text-align:justify;color:#eee;flex-grow:1;margin:0 0 20px}.project-footer{display:flex;justify-content:flex-end}.github-icon-btn{padding:5px 0}.github-icon-btn{width:22px;height:22px;margin-right:6px}@media(max-width:700px){.project-card{text-align:center}.project-header{flex-direction:column;align-items:center;text-align:center;gap:6px;margin-bottom:16px}.project-logo{width:60px;height:60px}.project-card h3{font-size:21px;margin-left:0}.project-tags{text-align:center}.project-card p{font-size:13px;margin-bottom:20px;text-align:center}.project-footer{justify-content:center}.tag{font-size:12px;padding:3px 10px;margin:3px 6px}}.projects-container{max-width:900px;margin:0 auto;padding:40px 20px 60px;position:relative;text-align:right;z-index:1}.projects-container:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}.projects-intro h2{font-size:30px;color:#fff;margin-bottom:16px;text-shadow:0 0 4px rgba(255,255,255,.2),0 0 6px rgba(255,255,255,.3);margin-top:45px}.projects-intro p{font-size:15px;color:#c8c8c8b3;line-height:1.3;margin-left:auto;text-align:right}.line-between-intro-projects{width:100%;height:1px;background:linear-gradient(to right,transparent 0%,rgba(51,51,51,.8) 20%,rgba(51,51,51,.8) 80%,transparent 100%);margin:70px 0}.github-profile-card{display:flex;justify-content:center}@media(max-width:700px){.projects-container{padding:20px 15px 60px;text-align:center}.projects-intro h2{font-size:24px;margin-top:30px}.projects-intro p{text-align:center;font-size:13px}.line-between-intro-projects{margin:45px 0}.project-card{max-width:100%;margin-left:auto;margin-right:auto}}@media(max-width:500px){.project-card h3{font-size:18px}}.contact-page{display:flex;font-family:inherit;flex-direction:row;justify-content:center;align-items:flex-start;gap:40px;width:100%;padding:100px 10px 60px;box-sizing:border-box}.contact-left{flex:1;display:flex;flex-direction:column;justify-content:center;gap:20px;position:sticky;top:50px;max-height:calc(100vh - 50px)}.availability-contact{display:flex;align-items:center;gap:10px}.contact-left h1,.contact-right h2{font-size:30px;color:#fff;margin:0;filter:brightness(.9);text-shadow:0 0 4px rgba(255,255,255,.5),0 0 6px rgba(255,255,255,.3)}.contact-left p{font-size:15px;color:#c8c8c8b3;line-height:1.3;margin-top:-8px;margin-bottom:10px;max-width:360px}.contact-info{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.contact-info div{display:flex;gap:10px}.contact-info div img{width:20px;height:20px;object-fit:contain}.contact-link{color:#c8c8c8b3;cursor:pointer;text-decoration:none;transition:all .2s ease;font-size:13px}.contact-link:hover{text-decoration:underline;color:#c8c8c8b3}.contact-right{flex:1;display:flex;flex-direction:column}.contact-form-title{font-size:22px;font-weight:600;margin-bottom:15px;color:#fff}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-form input,.contact-form textarea{padding:12px;font-size:14px;border-radius:8px;background:#ffffff0d;color:#f2f2f2}.contact-form input:focus,.contact-form textarea:focus{background:#ffffff14}.textarea-wrapper{position:relative;width:100%}.textarea-wrapper textarea{resize:none;min-height:160px;width:100%;box-sizing:border-box;font-size:14px;font-family:inherit}.char-counter{position:absolute;bottom:6px;right:10px;font-size:12px;color:#888}.error-msg-container,.success-msg{text-align:center}.error-msg-container.show,.success-msg.show{opacity:1;margin-top:-20px;max-height:200px}.error-msg{color:#df5f51;margin:2px 0 0;font-size:14px}.error-input{border:2px solid #df5f51}.success-msg{color:#4caf50;margin:0;font-size:14px}.line-between-contact{width:100%;height:1px;background:linear-gradient(to right,transparent 0%,rgba(51,51,51,.8) 20%,rgba(51,51,51,.8) 80%,transparent 100%);margin:45px 0}@media(max-width:900px){.contact-page{flex-direction:column;align-items:center;padding:40px 60px}.contact-left{position:static;align-items:center;text-align:center;width:100%}.contact-left,.contact-right{width:100%;text-align:center}.contact-info div{justify-content:center}.animated-submit-btn{width:35%}.availability-contact{margin-top:60px}.contact-info div{display:flex;justify-content:center;gap:10px}.contact-left h1,.contact-right h2{font-size:28px}.contact-left p,.contact-left a,.contact-form input,.textarea-wrapper textarea{font-size:14px}.contact-form{margin-top:25px}.line-between-contact{margin:10px 0 0}}@media(max-width:700px){.contact-page{padding:0 10px 35px}.contact-left h1,.contact-right h2{font-size:24px}.contact-left p,.contact-left a,.contact-form input,.textarea-wrapper textarea{font-size:13px}.line-between-intro-contact{margin:10px 0 0}}.privacy-page{padding:80px 0 30px 10px;font-family:initial;color:#fff}.privacy-page h1{font-size:26px;margin-bottom:20px;font-weight:600;color:#a8a8a8;text-align:left}.privacy-page h2{font-size:18px;margin-bottom:15px;font-weight:500;color:#a8a8a8}.privacy-page p{margin-bottom:20px;text-align:justify;color:#fff;font-size:14px;line-height:1.4}.privacy-section{position:relative;padding-bottom:30px;margin-bottom:30px}.privacy-section:after{content:"";display:block;height:1px;width:100%;position:absolute;bottom:0;left:0;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.08) 20%,rgba(255,255,255,.08) 80%,transparent 100%)}.privacy-section:last-of-type{margin-bottom:10px}.privacy-section:last-of-type:after{display:none}.privacy-page a{color:#5caaff;text-decoration:none}.privacy-page a:hover{text-decoration:underline}@media(max-width:700px){.privacy-page{padding:45px 0 0}.privacy-section{padding-bottom:20px}.privacy-section:after{background:none}}.app-wrapper{display:flex;flex-direction:column;min-height:100vh;background:radial-gradient(circle at 30% 20%,#0d0d14,#141420);color:#f5f5f5;transition:background .3s ease;background-size:200% 200%;animation:gradientMove 20s ease infinite;position:relative;overflow:hidden}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.app-wrapper:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:20px 20px;opacity:.4;z-index:1}.main-content{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:70px 25px 0;box-sizing:border-box;width:100%}.page-transition{width:100%;max-width:900px;transition:opacity .4s ease,transform .4s ease;transform:translateY(5px);opacity:0}.page-transition.fade-in{opacity:1;transform:translateY(0)}.page-transition.fade-out{opacity:0;transform:translateY(5px)}.footer-hidden{opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease}.footer-visible{opacity:1;transform:translateY(0);transition:opacity .4s ease,transform .4s ease}html,body,#root{-webkit-user-select:none;user-select:none;margin:0;padding:0;overflow-x:hidden;background:#0f0f17;color:#f5f5f5}h1,h2,h3,h4{color:#fff;letter-spacing:.5px}p{color:#fff;line-height:1.6;font-size:16px}button{font-family:inherit;border:none;background:none;cursor:pointer;transition:transform .2s ease}*{transition:background .2s ease,color .2s ease,border .2s ease}
