:root{--primary-color:#0f0f0f;--secondary-color:#1e1e1ef2;--accent-color:#a068c4;--light-color:#fffffff2;--dark-color:#0a0a0a;--header-height:80px;--scroll-padding:100px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;height:100%;overscroll-behavior-y:none;scroll-behavior:smooth;scroll-padding-top:120px}body,html{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fffffff2;color:#0a0a0a;font-family:Space Mono,sans-serif;line-height:1.6;min-height:100%;position:relative;transition:all .3s ease-in-out}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1e1e1e0d}::-webkit-scrollbar-thumb{background:#a068c4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8846b3}::selection{background-color:#a068c4;color:#fff}a{color:#0f0f0f;position:relative;text-decoration:none;transition:all .3s ease-in-out}a:hover{color:#a068c4}a.underline-link:after{background-color:#a068c4;bottom:-4px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:bottom right;transition:transform .25s ease-out;width:100%}a.underline-link:hover:after{transform:scaleX(1);transform-origin:bottom left}img{display:block;height:auto;max-width:100%}.container{margin:0 auto;max-width:1200px;padding:0 16px;width:90%}.container-fluid{padding:0 16px;width:100%}.section{align-items:center;display:flex;padding:120px 0 80px}.section:after{background-color:#fffffff2;bottom:0;content:"";height:50px;left:0;position:absolute;width:100%;z-index:1}#home.hero{border-bottom:none;padding-top:0}#home.hero:after{bottom:0;content:"";height:0;left:0;position:absolute;width:100%;z-index:1}#about.section{border-top:none}#about.section:before{height:30px;top:-30px;width:100%;z-index:2}.section-title{color:#1e1e1ef2;font-size:2.5rem;margin-bottom:40px;position:relative;text-align:center}.section-title:after{background:#0f0f0f;border-radius:2px;content:"";display:block;height:4px;margin:15px auto;width:80px}.btn{background:#0f0f0f;border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;overflow:hidden;padding:12px 30px;position:relative;transition:all .3s ease-in-out}.btn:before{background:#fff3;content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%) skewX(-15deg);transition:transform .4s ease-out;width:100%}.btn:hover{background:#0d0d0d;box-shadow:0 5px 15px #0f0f0f4d;transform:translateY(-3px)}.btn:hover:before{transform:translateX(100%) skewX(-15deg)}.btn-outline{background:#0000;border:2px solid #0f0f0f;color:#0f0f0f}.btn-outline:hover{background:#0f0f0f;color:#fff}.btn-accent{background:#a068c4}.btn-accent:hover{background:#8a47b5;box-shadow:0 5px 15px #a068c44d}.scroll-up{align-items:center;background:#a068c4;border-radius:50%;bottom:20px;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;opacity:0;position:fixed;right:20px;transform:translateY(20px);transition:opacity .3s,transform .3s;width:40px;z-index:99}.scroll-up.visible{opacity:1;transform:translateY(0)}.scroll-up:hover{background:#8846b3;transform:translateY(-5px)}@media(max-width:768px){html{scroll-padding-top:100px}.section{padding-bottom:60px;padding-top:100px;scroll-margin-top:100px}}@media(max-width:576px){.section{padding-bottom:50px;padding-top:80px}.section-title{font-size:1.8rem}}.header{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#fffffff2;box-shadow:0 2px 4px #0000000d;display:flex;height:80px;left:0;position:fixed;top:0;transition:all .3s ease-in-out;width:100%;z-index:1000}.header.scrolled{background:#fffffffa;box-shadow:0 4px 8px #0000001a;height:70px}.header .container{align-items:center;display:flex;justify-content:space-between;padding:0 20px;width:100%}.header .container.header-container{height:100%;position:relative}.header .logo-container{align-items:center;display:flex;height:100%;z-index:1100}.header .logo{height:50px;transition:all .3s ease-in-out;width:auto}.scrolled .header .logo{height:40px}.header .nav-list{display:flex;gap:30px;list-style:none}.header .nav-item{position:relative}.header .nav-link{color:#0a0a0a;font-size:1rem;font-weight:600;letter-spacing:.5px;padding:5px 0;position:relative}.header .nav-link:after{background:#a068c4;bottom:-5px;content:"";height:2px;left:0;position:absolute;transition:all .3s ease-in-out;width:0}.header .nav-link.active:after,.header .nav-link:hover:after{width:100%}@media(max-width:768px){.header .nav{background:#fff;height:100vh;left:0;overflow-y:auto;padding:80px 0 20px;position:fixed;top:0;transform:translateX(-100%);transition:transform .4s cubic-bezier(.77,0,.175,1);width:100%;z-index:1000}.header .nav.active{box-shadow:0 8px 16px #00000026;transform:translateX(0)}.header .nav-list{align-items:center;flex-direction:column;gap:20px;height:auto;padding-bottom:100px;padding-top:40px}.header .nav-item{margin:5px 0;padding:5px 0;text-align:center;width:100%}.header .nav-link{display:block;font-size:1.2rem;padding:12px 0;width:100%}.header.menu-open{background:#fff;box-shadow:0 4px 8px #0000001a}}.hamburger{background:#0000;border:none;cursor:pointer;display:none;height:22px;margin-right:10px;position:relative;width:30px;z-index:1100}@media(max-width:768px){.hamburger{display:block}}.hamburger .hamburger-line{background-color:#0a0a0a;border-radius:3px;height:3px;position:absolute;transition:all .3s ease;width:30px}.hamburger .hamburger-line:first-child{top:0}.hamburger .hamburger-line:nth-child(2){top:9px}.hamburger .hamburger-line:nth-child(3){top:18px}.hamburger.active .hamburger-line:first-child{top:9px;transform:rotate(45deg)}.hamburger.active .hamburger-line:nth-child(2){opacity:0}.hamburger.active .hamburger-line:nth-child(3){top:9px;transform:rotate(-45deg)}.tech-logos-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:25px}.footer-logo{filter:brightness(.9);height:50px;transition:transform .3s ease;width:auto}.footer-logo:hover{filter:brightness(1);transform:translateY(-5px)}.hero{align-items:center;background:linear-gradient(90deg,#1e1e1ee6,#1e1e1eb3),url(/static/media/bg.dad15f32259ed277c50b.jpg) no-repeat 50%;background-size:cover;color:#fff;display:flex;height:100vh;justify-content:center;overflow:hidden;padding-top:80px;position:relative;text-align:center}.hero:after{content:none}.hero:before{background-color:#0000;bottom:0;content:"";height:1px;left:0;position:absolute;width:100%;z-index:5}.hero .container{max-width:1200px;padding:0 20px;position:relative;width:100%;z-index:2}.hero-content{animation:fadeInUp 1s ease-out;margin:0 auto;max-width:800px}.hero-title{font-family:Source Code Pro,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:700;letter-spacing:2px;margin-bottom:1.5rem;text-shadow:0 2px 10px #0000004d}.hero-title span{color:#a068c4}.hero-subtitle{font-family:Space Mono,sans-serif;font-size:clamp(1.3rem,3vw,2rem);font-weight:300;letter-spacing:1px;margin-bottom:2.5rem;min-height:3rem;text-shadow:0 2px 5px #0003}.hero-buttons{display:flex;gap:20px;justify-content:center;margin-top:3rem}@media(max-width:576px){.hero-buttons{align-items:center;flex-direction:column;gap:15px}.hero-buttons .btn{display:block;margin:10px auto;width:80%}}.hero-buttons .btn{border-radius:30px;font-size:1.1rem;font-weight:600;letter-spacing:1px;overflow:hidden;padding:12px 35px;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.hero-buttons .btn-outline{background:#0000;border:2px solid #a068c4;color:#fff;position:relative;z-index:1}.hero-buttons .btn-outline:before{background:#a068c4;content:"";height:100%;left:0;position:absolute;top:0;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);width:100%;z-index:-1}.hero-buttons .btn-outline:hover{color:#0a0a0a}.hero-buttons .btn-outline:hover:before{transform:scaleX(1);transform-origin:left}.hero-buttons .btn:not(.btn-outline){background:#a068c4;border:2px solid #a068c4;color:#0a0a0a;position:relative}.hero-buttons .btn:not(.btn-outline):after{animation:shine 3s infinite;background:#ffffff4d;content:"";height:300%;left:0;position:absolute;top:-100%;transform:rotate(45deg) translateX(-300px);width:30px}.hero-buttons .btn:not(.btn-outline):hover{background:#9456bd;box-shadow:0 5px 20px #a068c480;transform:translateY(-5px)}.hero .scroll-down{animation:bounce 2s infinite;border-radius:50%;bottom:75px;color:#a068c4;cursor:pointer;font-size:2rem;left:50%;padding:10px;position:absolute;transform:translateX(-50%);transition:all .3s ease;z-index:10}.hero .scroll-down:hover{background-color:#a068c41a;box-shadow:0 5px 15px #a068c44d;transform:translateX(-50%) translateY(-5px)}.typewriter{display:inline-block}.typewriter:after{animation:blink 1s infinite;content:"|";opacity:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) translateX(-50%)}40%{transform:translateY(-15px) translateX(-50%)}60%{transform:translateY(-7px) translateX(-50%)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes shine{0%{transform:rotate(45deg) translateX(-300px)}to{transform:rotate(45deg) translateX(300px)}}.about{background:#fff;margin-top:0;position:relative}.about:before{background-color:#fff;height:30px;top:-30px;z-index:5}.about:after,.about:before{content:"";left:0;position:absolute;width:100%}.about:after{background-image:radial-gradient(#fffffff2 1px,#0000 0);background-size:20px 20px;height:100%;opacity:.5;pointer-events:none;top:0;z-index:0}.about .container{position:relative;z-index:1}.about-content{align-items:center;display:flex;gap:60px}@media(max-width:768px){.about-content{flex-direction:column;gap:40px}}.about-image{border-radius:10px;box-shadow:0 8px 16px #00000026;flex:1 1;max-width:400px;overflow:hidden;position:relative}.about-image:after{border:3px solid #a068c4;border-radius:10px;content:"";height:100%;left:0;position:absolute;top:0;transform:translate(15px,15px);transition:transform .3s ease;width:100%;z-index:-1}.about-image:hover:after{transform:translate(10px,10px)}.about-image img{display:block;height:auto;transition:transform .5s ease;width:100%}.about-image img:hover{transform:scale(1.05)}.about-text{flex:2 1}.about-text h3{color:#1e1e1ef2;display:inline-block;font-size:2rem;margin-bottom:20px;position:relative}.about-text h3:after{background:#a068c4;border-radius:2px;bottom:-5px;content:"";height:3px;left:0;position:absolute;width:60px}.about-text p{color:#0a0a0ad9;font-size:1.05rem;line-height:1.7;margin-bottom:15px}.about-info{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(2,1fr);margin-top:30px}@media(max-width:576px){.about-info{grid-template-columns:1fr}}.about-info-item{align-items:center;display:flex;transition:transform .3s ease}.about-info-item:hover{transform:translateX(5px)}.about-info-item i{align-items:center;background:#a068c41a;border-radius:50%;color:#a068c4;display:flex;font-size:1.2rem;height:35px;justify-content:center;margin-right:15px;width:35px}.about-info-item span{color:#1e1e1ef2;font-weight:600;margin-right:5px}.skills{background:#f9f9f9;position:relative}.skills:before{background:#a068c4;border-radius:0 0 0 150px;height:150px;right:0;top:0;width:150px}.skills:after,.skills:before{content:"";opacity:.05;position:absolute}.skills:after{background:#0f0f0f;border-radius:0 200px 0 0;bottom:0;height:200px;left:0;width:200px}.skills-container{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:40px;position:relative;z-index:1}.skills-category{background:#fff;border-bottom:4px solid #0000;border-radius:10px;box-shadow:0 4px 8px #0000001a;padding:30px;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.skills-category:hover{border-bottom:4px solid #a068c4;box-shadow:0 8px 16px #00000026;transform:translateY(-15px)}.skills-category-title{align-items:center;color:#1e1e1ef2;display:flex;font-size:1.5rem;justify-content:center;margin-bottom:25px;text-align:center}.skills-category-title i{color:#a068c4;font-size:1.8rem;margin-right:12px}.skills-category-list{list-style:none}.skills-category-item{align-items:center;border-radius:5px;display:flex;margin-bottom:15px;padding:8px 0;transition:all .3s ease}.skills-category-item:hover{background:#a068c40d;padding-left:8px}.skills-category-item i{color:#a068c4;margin-right:12px}.projects{background:#fff;position:relative}.projects:before{background:linear-gradient(135deg,#a068c408 25%,#0000 0,#0000 50%,#a068c408 0,#a068c408 75%,#0000 0,#0000);background-size:40px 40px;content:"";height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}.projects .container{position:relative;z-index:1}.projects-filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:50px}.projects-filter-btn{background:#0000;border:1px solid #0f0f0f;border-radius:30px;color:#0f0f0f;cursor:pointer;font-size:.95rem;font-weight:500;margin:5px;overflow:hidden;padding:10px 22px;position:relative;transition:all .3s ease}.projects-filter-btn:before{background:#0f0f0f;content:"";height:100%;left:0;position:absolute;top:0;transform:scaleX(0);transform-origin:right;transition:transform .3s ease;width:100%;z-index:-1}.projects-filter-btn.active,.projects-filter-btn:hover{color:#fff}.projects-filter-btn.active:before,.projects-filter-btn:hover:before{transform:scaleX(1);transform-origin:left}.projects-grid{grid-gap:35px;display:grid;gap:35px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}@media(max-width:768px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:576px){.projects-grid{grid-template-columns:1fr}}.projects-item{background:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.projects-item:after{border:2px solid #a068c4;border-radius:12px;content:"";inset:0;opacity:0;position:absolute;transition:all .3s ease}.projects-item:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-15px)}.projects-item:hover:after{opacity:1}.projects-item-image{height:220px;overflow:hidden;position:relative}.projects-item-image:after{background:linear-gradient(0deg,#0a0a0a99,#0000);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.projects-item-image img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.projects-item-image:hover img{transform:scale(1.1)}.projects-item-image:hover:after{opacity:1}.projects-item-content{padding:25px}.projects-item-content h3{color:#1e1e1ef2;display:inline-block;font-size:1.5rem;margin-bottom:12px;position:relative}.projects-item-content h3:after{background:#a068c4;bottom:-5px;content:"";height:2px;left:0;position:absolute;width:40px}.projects-item-content p{color:#0a0a0acc;line-height:1.7;margin-bottom:15px}.projects-item-content-tech{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.projects-item-content-tech span{background:#0f0f0f14;border-radius:20px;color:#0f0f0f;font-size:.8rem;font-weight:500;padding:6px 12px;transition:all .3s ease}.projects-item-content-tech span:hover{background:#0f0f0f;color:#fff;transform:translateY(-3px)}.projects-item-content-links{display:flex;gap:20px;margin-top:15px}.projects-item-content-links .project-link{align-items:center;background-color:#a068c41a;border:none;border-radius:30px;color:#1e1e1ef2;cursor:pointer!important;display:inline-flex;font-size:.95rem;font-weight:500;outline:none;padding:10px 16px;position:relative;transition:all .3s ease;z-index:10}.projects-item-content-links .project-link i,.projects-item-content-links .project-link svg{color:#a068c4;font-size:1rem;margin-right:8px;transition:all .3s ease}.projects-item-content-links .project-link:hover{background-color:#a068c4;box-shadow:0 5px 15px #a068c44d;color:#fff;transform:translateY(-3px)}.projects-item-content-links .project-link:hover i,.projects-item-content-links .project-link:hover svg{color:#fff}@media(max-width:768px){.projects-item-content-links .project-link{font-size:1rem;justify-content:center;min-width:120px;padding:12px 20px;width:auto}}.contact{background:#f9f9f9;padding:100px 0;position:relative}.contact:before{background:radial-gradient(circle,#a068c4 1px,#0000 0);background-size:20px 20px;content:"";height:300px;opacity:.3;position:absolute;right:0;top:0;width:300px}.contact-container{grid-gap:60px;display:grid;gap:60px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:40px;position:relative;z-index:1}@media(max-width:576px){.contact-container{gap:40px;grid-template-columns:1fr}}.contact-info h3{color:#1e1e1ef2;display:inline-block;font-size:1.8rem;margin-bottom:20px;position:relative}.contact-info h3:after{background:#a068c4;border-radius:2px;bottom:-8px;content:"";height:3px;left:0;position:absolute;width:50px}.contact-info p{color:#0a0a0acc;line-height:1.7;margin-bottom:30px}.contact-info-item{align-items:center;display:flex;margin-bottom:30px;transition:transform .3s ease}.contact-info-item:hover{transform:translateX(5px)}.contact-info-item i{align-items:center;background:#a068c4;border-radius:50%;box-shadow:0 5px 15px #a068c44d;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;height:50px;justify-content:center;margin-right:20px;width:50px}.contact-info-item h4{color:#1e1e1ef2;font-size:1.2rem;margin-bottom:5px}.contact-info-item p{color:#0a0a0ab3;margin:0}.contact-form{background:#fff;border-radius:10px;box-shadow:0 4px 8px #0000001a;padding:30px;transition:transform .3s ease,box-shadow .3s ease}.contact-form:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-10px)}.contact-form .form-group{margin-bottom:25px;position:relative}.contact-form .form-group input:valid,.contact-form .form-group textarea:valid{border-color:#00c851}.contact-form .form-group input:invalid:not(:placeholder-shown),.contact-form .form-group textarea:invalid:not(:placeholder-shown){border-color:#f44}.contact-form .form-group label{color:#1e1e1ef2;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px;transition:color .3s ease}.contact-form .form-group input,.contact-form .form-group textarea{background:#ffffff80;border:1px solid #ddd;border-radius:6px;font-family:inherit;padding:12px 15px;transition:all .3s ease;width:100%}.contact-form .form-group input::placeholder,.contact-form .form-group textarea::placeholder{color:#0a0a0a66}.contact-form .form-group input:focus,.contact-form .form-group textarea:focus{background:#fff;border-color:#a068c4;box-shadow:0 0 0 3px #a068c41a;outline:none}.contact-form .form-group input:focus+label,.contact-form .form-group textarea:focus+label{color:#a068c4}.contact-form .form-group textarea{min-height:150px;resize:vertical}.contact-form .error-message{animation:fadeIn .3s ease-out;color:#f44;display:block;font-size:.85rem;margin-top:5px}.contact-form .btn{background:#a068c4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:14px;position:relative;transition:all .3s ease;width:100%}.contact-form .btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:all .6s ease;width:100%}.contact-form .btn:hover{background:#8846b3;box-shadow:0 5px 15px #a068c44d}.contact-form .btn:hover:before{left:100%}.contact-form .btn:disabled{cursor:not-allowed;opacity:.7}.contact-form .spinner{animation:spin 1s linear infinite;margin-right:8px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.notification-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;display:flex;height:100%;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:1500}.notification-overlay.success .notification-icon{background:#4caf50}.notification-overlay.error .notification-icon{background:#f44336}.notification-box{animation:slideUp .4s ease-out;background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;margin:0 auto;max-width:500px;padding:40px;text-align:center;width:90%}@media(max-width:576px){.notification-box{margin-top:500px;padding:25px;width:95%}}.notification-box h3{color:#1e1e1ef2;font-size:1.8rem;margin:20px 0 10px}@media(max-width:576px){.notification-box h3{font-size:1.5rem;margin:15px 0 8px}}.notification-box p{color:#0a0a0ab3;font-size:1.1rem;line-height:1.6;margin-bottom:25px}@media(max-width:576px){.notification-box p{font-size:.95rem;line-height:1.5;margin-bottom:20px}}.notification-icon{align-items:center;border-radius:50%;box-shadow:0 5px 15px #0000001a;color:#fff;display:flex;font-size:2.5rem;height:80px;justify-content:center;margin:0 auto;width:80px}@media(max-width:576px){.notification-icon{font-size:1.8rem;height:60px;width:60px}}.notification-close-btn{background:#a068c4;border:none;border-radius:30px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:15px;overflow:hidden;padding:12px 35px;position:relative;transition:all .3s ease}@media(max-width:576px){.notification-close-btn{font-size:.9rem;padding:10px 25px}}.notification-close-btn:after{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:all .6s ease;width:100%}.notification-close-btn:hover{background:#9252bc;box-shadow:0 5px 15px #a068c44d;transform:translateY(-3px)}.notification-close-btn:hover:after{left:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.footer{background:#1e1e1ef2;color:#fff;padding:70px 0 20px;position:relative;text-align:center}.footer:before{background:linear-gradient(90deg,#0f0f0f,#a068c4,#0f0f0f);content:"";height:5px;left:0;position:absolute;top:0;width:100%}.footer-social{gap:20px;margin:30px 0}.footer-social,.footer-social a{display:flex;justify-content:center}.footer-social a{align-items:center;background:#ffffff1a;border-radius:50%;color:#fff;font-size:1.2rem;height:45px;margin:0 5px;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275);width:45px}.footer-social a:after{background:#a068c4;border-radius:50%;content:"";inset:0;position:absolute;transform:scale(0);transition:transform .4s cubic-bezier(.175,.885,.32,1.275);z-index:-1}.footer-social a:hover{box-shadow:0 10px 20px #0003;color:#fff;transform:translateY(-8px)}.footer-social a:hover:after{transform:scale(1)}.footer-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:30px 0}.footer-links a{color:#fffc;font-weight:500;margin:0 15px;padding:5px 0;position:relative;transition:all .3s ease}.footer-links a:after{background:#a068c4;bottom:0;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .3s ease;width:100%}.footer-links a:hover{color:#fff}.footer-links a:hover:after{transform:scaleX(1);transform-origin:left}.footer-copyright{border-top:1px solid #ffffff1a;color:#fff9;font-size:.9rem;margin-top:40px;padding-top:20px}.section{padding-bottom:80px;padding-top:35px}@media(max-width:768px){.section{padding-bottom:60px;padding-top:100px;scroll-margin-top:100px}html{scroll-padding-top:100px}#root,.app{display:flex;flex-direction:column;min-height:100vh}main{flex:1 0 auto}.footer{flex-shrink:0}.hamburger{background:#0000;border:none;cursor:pointer;display:flex;flex-direction:column;height:24px;justify-content:space-between;padding:10px;position:relative;width:30px;z-index:1001}.hamburger-line{background-color:#5e4b3a;border-radius:2px;display:block;height:3px;transition:all .3s ease;width:100%}.header.menu-open .hamburger-line:first-child{transform:translateY(10px) rotate(45deg)}.header.menu-open .hamburger-line:nth-child(2){opacity:0}.header.menu-open .hamburger-line:nth-child(3){transform:translateY(-10px) rotate(-45deg)}}@media(max-width:576px){.section{padding-bottom:50px;padding-top:80px}.section-title{font-size:1.8rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1.1rem}}.section{opacity:0;overflow:hidden;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.section-visible{opacity:1;transform:translateY(0)}.section-animate{animation:sectionFadeIn 1.2s ease forwards}.section#home{opacity:1;transform:none}#home.hero{height:104vh;overflow:hidden;position:relative;z-index:0}#home.hero:after{content:none}#about.section{background-color:#fffffff2;margin-top:-35px;position:relative;z-index:1}#about.section:before{background-color:#fffffff2;content:"";height:60px;left:0;position:absolute;right:0;top:-60px;z-index:1}.animate-slide-right{animation:slideRight 1s ease forwards;animation-delay:.3s;opacity:0;transform:translateX(-50px)}.animate-slide-left{animation:slideLeft 1s ease forwards;animation-delay:.3s;opacity:0;transform:translateX(50px)}.animate-pop-up{animation:popUp .6s ease forwards;opacity:0;transform:scale(.8)}.animate-fade-up{animation:fadeUp .8s ease forwards;opacity:0;transform:translateY(30px)}@keyframes sectionFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideRight{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideLeft{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes popUp{0%{opacity:0;transform:scale(.8)}70%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scroll-down{animation:bounce 2s infinite;border-radius:50%;bottom:30px;color:#a068c4;cursor:pointer;font-size:2rem;left:50%;padding:10px;position:absolute;transform:translateX(-50%);transition:all .3s ease;z-index:10}.scroll-down:hover{background-color:#a068c41a;box-shadow:0 5px 15px #a068c44d;transform:translateX(-50%) translateY(-5px)}.section{background-color:#fffffff2;min-height:100vh;position:relative;scroll-margin-top:120px;transition:margin-top .3s ease-out}#home.hero.section{background:linear-gradient(90deg,#1e1e1ee6,#1e1e1eb3),url(/static/media/bg.dad15f32259ed277c50b.jpg) no-repeat 50%;background-size:cover}#about.section{background-color:#fff;z-index:2}#about.section.section-animated{animation:fadeIn .5s ease-out}#about.section.margin-fix{margin-top:-100px}#skills.section{background-color:#f9f9f9;z-index:2}#projects.section{background-color:#fff;z-index:2}#contact.section{background-color:#f9f9f9;z-index:2}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}