:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #3b82f6;--primary-dark: #1e40af;--secondary-color: #0f0f0f;--bg-dark: #0a0a0a;--bg-darker: #050505;--text-light: #f0f0f0;--text-muted: #a0a0a0;--border-color: #1a1a1a;--accent-color: #60a5fa;--title-color: #3b82f6}html{scroll-behavior:smooth;margin:0;padding:0;overflow-x:hidden}body{background-color:var(--bg-dark);color:var(--text-light);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;margin:0;padding:0;overflow-x:hidden}#root{width:100%;margin:0;padding:0;overflow-x:hidden}.app{min-height:100vh;overflow-x:hidden;display:flex;flex-direction:column;width:100%;margin:0;padding:0}section{padding:4rem 2rem;max-width:1200px;margin:0 auto;width:100%}h1,h2,h3,h4,h5,h6{font-weight:700;margin-bottom:1rem}h1{font-size:3.5rem;line-height:1.2;color:var(--text-light)}h2{font-size:2.5rem;margin-bottom:2rem;color:var(--title-color)}h3{font-size:1.5rem;color:var(--text-light)}p{color:var(--text-muted);margin-bottom:1rem}a{color:var(--accent-color);text-decoration:none;transition:color .3s ease}a:hover{color:var(--primary-color)}button{background-color:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all .3s ease;font-weight:600}button:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 10px 20px #3b82f633}input,textarea,select{background-color:var(--secondary-color);border:1px solid var(--border-color);color:var(--text-light);padding:.75rem;border-radius:.5rem;font-family:inherit;transition:all .3s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}textarea{resize:vertical;min-height:120px}@media(max-width:768px){h1{font-size:2.5rem}h2{font-size:2rem}section{padding:3rem 1.5rem}}.header{background-color:var(--bg-darker);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo h2{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;font-size:1.5rem}.nav{display:flex;gap:2rem;align-items:center}.nav-link{background-color:transparent;background:none;color:var(--text-light);border:none;cursor:pointer;font-size:1rem;padding:.5rem 0;position:relative;transition:color .3s ease}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background-color:var(--primary-color);transition:width .3s ease}.nav-link:hover{background-color:transparent;color:var(--text-light)}.nav-link:hover:after{width:100%}.menu-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;gap:.4rem;padding:0}.menu-toggle span{width:25px;height:3px;background-color:var(--text-light);border-radius:2px;transition:all .3s ease}@media(max-width:768px){.menu-toggle{display:flex}.nav{position:absolute;top:100%;left:0;right:0;background-color:var(--bg-darker);flex-direction:column;gap:0;max-height:0;overflow:hidden;transition:max-height .3s ease;border-bottom:1px solid var(--border-color)}.nav.open{max-height:300px}.nav-link{width:100%;padding:1rem 2rem;text-align:left;border-bottom:1px solid var(--border-color)}.nav-link:after{display:none}.header-container{padding:1rem 1.5rem}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:4rem 2rem}.hero-content{max-width:800px;z-index:2;text-align:center}.hero-content h1{font-size:4rem;margin-bottom:1.5rem;color:var(--text-light);line-height:1.2;position:relative;display:inline-block;letter-spacing:.05em}.name-part{display:inline-block;color:var(--primary-color);transition:transform .8s cubic-bezier(.25,.46,.45,.94);position:relative}.name-part.first{color:var(--primary-color)}.name-part.second{color:var(--accent-color)}.hero-subtitle{font-size:1.5rem;color:var(--text-light);margin-bottom:1rem;font-weight:500}.hero-description{font-size:1.1rem;color:var(--text-muted);margin-bottom:2rem}.cta-button{font-size:1.1rem;padding:1rem 2.5rem;box-shadow:0 10px 30px #3b82f64d}.cta-button:hover{box-shadow:0 15px 40px #3b82f666}.hero-decoration{position:absolute;width:100%;height:100%;top:0;left:0;z-index:1;overflow:hidden}.gradient-blob{position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(59,130,246,.08) 0%,transparent 70%);border-radius:50%;top:-100px;right:-100px;animation:float 6s ease-in-out infinite}.gradient-blob-2{position:absolute;width:300px;height:300px;background:radial-gradient(circle,rgba(96,165,250,.05) 0%,transparent 70%);border-radius:50%;bottom:-50px;left:-50px;animation:float 8s ease-in-out infinite reverse}@media(max-width:768px){.hero{min-height:80vh;padding:3rem 1.5rem}.hero-content h1{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.gradient-blob,.gradient-blob-2{width:250px;height:250px}}.about{background:linear-gradient(135deg,var(--bg-dark) 0%,rgba(59,130,246,.05) 100%);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);position:relative;border-left:4px solid rgba(59,130,246,.4)}.about:before{content:"";position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);border-radius:50%;animation:float 8s ease-in-out infinite}.about-content{display:flex;align-items:center;gap:3rem;max-width:900px;margin:0 auto;position:relative;z-index:1}.about-profile-img{width:180px;height:180px;border-radius:50%;object-fit:cover;box-shadow:0 8px 24px #3b82f633;transition:transform .3s ease,box-shadow .3s ease;flex-shrink:0}.about-profile-img:hover{transform:scale(1.08) translateY(-5px);box-shadow:0 12px 32px #3b82f64d}.about-text{flex:1;display:flex;flex-direction:column;gap:1.5rem}.about-text p{font-size:1.1rem;line-height:1.8;color:var(--text-muted);margin:0}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}@media(max-width:768px){.about-content{flex-direction:column;text-align:center;gap:2rem}.about-profile-img{width:150px;height:150px}.about-text p{font-size:1rem}.about:before{width:300px;height:300px;right:-20%}}.about-quote{margin-top:2rem;padding:1.5rem 0;border-left:none;background:transparent;border-radius:0}.about-quote p{margin:.5rem 0;color:var(--text-light);font-size:1rem;font-weight:500}.about-quote p:first-child{color:var(--primary-color);font-size:1.1rem;font-weight:600}.about-quote p:last-child{color:var(--text-muted);font-size:.95rem}.skills{background-color:var(--bg-dark)}.skills-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.skill-card{background:linear-gradient(135deg,var(--secondary-color) 0%,rgba(59,130,246,.03) 100%);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.skill-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.1),transparent);transition:left .5s ease}.skill-card.active:before{left:100%}.skill-card:hover{border-color:var(--primary-color);box-shadow:0 15px 40px #3b82f633;transform:translateY(-8px)}.skill-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.skill-icon{font-size:2.5rem;display:flex;align-items:center;justify-content:center;animation:float 3s ease-in-out infinite}.skill-card.active .skill-icon{animation:bounce .6s ease}.skill-card-header h3{color:var(--title-color);margin:0;font-size:1.3rem}.skill-items{display:flex;flex-wrap:wrap;gap:.75rem}.skill-badge{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;padding:.5rem 1rem;border-radius:2rem;font-size:.85rem;font-weight:500;display:inline-block;animation:fadeInScale .4s ease forwards;opacity:0}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@media(max-width:768px){.skills-container{grid-template-columns:1fr;gap:1.5rem}.skill-card{padding:1.5rem}.skill-icon{font-size:2rem}.skill-card-header h3{font-size:1.1rem}.skill-badge{padding:.4rem .8rem;font-size:.8rem}}.projects{background-color:var(--secondary-color);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.carousel-container{position:relative;display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.carousel-viewport{overflow:hidden;flex:1;border-radius:.75rem}.carousel-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform}.carousel-slide{min-width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:0 .25rem;box-sizing:border-box}.carousel-arrow{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:2px solid var(--border-color);background:var(--secondary-color);color:var(--primary-color);font-size:1.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:2;line-height:1;padding:0}.carousel-arrow:hover{background:var(--primary-color);color:var(--secondary-color);border-color:var(--primary-color);box-shadow:0 0 20px #3b82f666;transform:scale(1.1)}.carousel-dots{display:flex;justify-content:center;gap:.75rem;margin-top:.5rem}.carousel-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--border-color);background:transparent;cursor:pointer;transition:all .3s ease;padding:0}.carousel-dot.active{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 0 8px #3b82f680;transform:scale(1.2)}.carousel-dot:hover:not(.active){border-color:var(--primary-color);background:#3b82f633}.project-card{height:300px;cursor:pointer;position:relative;perspective:1000px}.project-card-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.project-card.flipped .project-card-inner{transform:rotateY(180deg)}.project-card-front,.project-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;border:1px solid var(--border-color);border-radius:.75rem;background-color:var(--secondary-color);transition:all .3s ease;box-sizing:border-box}.project-card-front{background:linear-gradient(135deg,var(--secondary-color) 0%,rgba(59,130,246,.05) 100%)}.project-card-back{background:linear-gradient(135deg,rgba(59,130,246,.1) 0%,var(--secondary-color) 100%);transform:rotateY(180deg);align-items:center;justify-content:center}.project-card:hover .project-card-front,.project-card:hover .project-card-back{border-color:var(--primary-color);box-shadow:0 10px 30px #3b82f626}.project-content{display:flex;flex-direction:column;flex:1}.project-content h3{margin-bottom:.75rem;color:var(--title-color);font-size:1.2rem}.project-content p{flex:1;margin-bottom:1rem;font-size:.95rem;color:var(--text-muted)}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background-color:var(--bg-dark);color:var(--accent-color);padding:.25rem .75rem;border-radius:2rem;font-size:.75rem;border:1px solid var(--border-color)}.flip-icon{position:absolute;top:1rem;right:1rem;font-size:1.5rem;color:var(--primary-color);opacity:.6;transition:all .3s ease}.project-card:hover .flip-icon{opacity:1;transform:rotate(180deg)}.project-links{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}.project-card-back .project-link{color:var(--primary-color);font-weight:600;font-size:1rem;text-align:center;transition:all .3s ease;padding:.5rem 1rem;border:2px solid var(--primary-color);border-radius:.5rem;text-decoration:none}.project-card-back .project-link.github-link{border-color:var(--primary-color);color:var(--primary-color)}.project-card-back .project-link.demo-link{border-color:var(--accent-color);color:var(--accent-color)}.project-card-back .project-link:hover{transform:scale(1.05);box-shadow:0 0 15px #3b82f64d}.project-card-back .project-link.demo-link:hover{box-shadow:0 0 15px #22c5ee4d}@media(max-width:1024px){.carousel-slide{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.carousel-slide{grid-template-columns:1fr}.project-card{height:280px}.carousel-arrow{width:36px;height:36px;font-size:1.4rem}}.contact-form-section{background-color:var(--bg-dark)}.contact-form-container{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1200px;margin:0 auto}.form-info{display:flex;flex-direction:column;gap:2rem}.form-info h3{font-size:1.5rem;color:var(--text-light);margin-bottom:1rem}.info-steps{display:flex;flex-direction:column;gap:1.5rem}.info-step{display:flex;gap:1rem;padding:1rem;background-color:var(--secondary-color);border-radius:.5rem;border-left:3px solid var(--primary-color);align-items:flex-start}.step-number{min-width:40px;width:40px;height:40px;flex-shrink:0;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem}.info-step h4{margin:0 0 .5rem;color:var(--text-light);font-size:1rem}.info-step p{margin:0;font-size:.9rem;color:var(--text-muted)}.promo-section{background:linear-gradient(135deg,#3b82f61a,#60a5fa0d);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.promo-section h4{color:var(--primary-color);margin-bottom:1rem;font-size:1.1rem}.promo-item{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.promo-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.promo-item p{margin:0;color:var(--text-muted);font-size:.95rem}.promo-item strong{color:var(--accent-color)}.contact-form{display:flex;flex-direction:column;gap:1.5rem;background-color:var(--secondary-color);padding:2rem;border-radius:.75rem;border:1px solid var(--border-color);animation:slideInRight .6s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--title-color);font-weight:600;font-size:.95rem}.form-group input,.form-group textarea,.form-group select{width:100%}.phone-input-group{display:flex;gap:.5rem;align-items:center}.country-code-select{max-width:100px;padding:.75rem;background-color:var(--bg-dark);border:2px solid var(--border-color);color:var(--text-light);border-radius:.5rem;font-family:inherit;cursor:pointer;transition:all .3s ease;font-size:.85rem;font-weight:500}.country-code-select:hover{border-color:var(--primary-color);box-shadow:0 5px 15px #3b82f61a}.country-code-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f626}.phone-input{flex:1;padding:.75rem;font-size:1rem}.submit-button{width:100%;padding:1rem;font-size:1.1rem;margin-top:1rem;transition:all .3s ease}.submit-button:disabled{opacity:.7;cursor:not-allowed}.form-error{color:#ef4444;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);padding:.75rem;border-radius:.5rem;margin-bottom:1rem;text-align:center;font-size:.9rem}.form-note{text-align:center;font-size:.85rem;color:var(--text-muted);margin:0}@media(max-width:1024px){.contact-form-container{grid-template-columns:1fr;gap:2rem}.info-steps{gap:1rem}.info-step{padding:.75rem}.form-row{grid-template-columns:1fr}}@media(max-width:768px){.contact-form{padding:1.5rem}.form-info h3{font-size:1.3rem}.info-step h4{font-size:.95rem}.info-step p{font-size:.85rem}}.contact{background-color:var(--secondary-color);border-top:1px solid var(--border-color)}.contact-subtitle{font-size:1.1rem;text-align:center;margin-bottom:3rem}.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:3rem;max-width:1000px;margin-left:auto;margin-right:auto}.contact-card{background-color:var(--bg-dark);border:1px solid var(--border-color);border-radius:.75rem;padding:2rem;text-align:center;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:1rem;text-decoration:none}.contact-card:hover{border-color:var(--primary-color);box-shadow:0 10px 30px #3b82f626;transform:translateY(-5px)}.contact-card.whatsapp:hover{border-color:#25d366;box-shadow:0 10px 30px #25d36626}.contact-card.linkedin:hover{border-color:#0a66c2;box-shadow:0 10px 30px #0a66c226}.contact-icon{font-size:3rem;display:flex;align-items:center;justify-content:center}.contact-card h3{color:var(--text-light);margin:0;font-size:1.3rem}.contact-card p{margin:0;font-size:.95rem;color:var(--text-muted)}.contact-link{color:var(--primary-color);font-weight:600;transition:all .3s ease;display:inline-block;margin-top:.5rem}.contact-card:hover .contact-link{color:var(--accent-color);transform:translate(5px)}.contact-cta{text-align:center;padding:2rem;background-color:var(--bg-dark);border-radius:.75rem;border:1px solid var(--border-color);max-width:600px;margin:0 auto}.contact-cta p{margin:0;font-size:1rem;color:var(--text-muted)}@media(max-width:768px){.contact-methods{grid-template-columns:1fr;gap:1.5rem}.contact-card{padding:1.5rem}.contact-icon{font-size:2.5rem}}.footer{background-color:var(--bg-darker);border-top:1px solid var(--border-color);padding:3rem 2rem 1rem;margin-top:4rem}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h3{color:var(--text-light);margin-bottom:1rem}.footer-section h4{color:var(--text-light);font-size:1rem;margin-bottom:1rem}.footer-section p{color:var(--text-muted);font-size:.95rem;margin:0}.footer-section ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.footer-section a{color:var(--text-muted);transition:color .3s ease;font-size:.95rem}.footer-section a:hover{color:var(--primary-color)}.social-buttons{display:flex;gap:1rem;align-items:center}.social-btn{width:45px;height:45px;border-radius:50%;border:2px solid var(--border-color);background-color:transparent;color:var(--text-muted);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-weight:600}.social-btn:hover{border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-3px);box-shadow:0 5px 15px #3b82f633}.linkedin-btn{font-size:1rem}.github-btn{font-size:1.3rem}.email-btn{font-size:1.2rem;position:relative}.email-container{position:relative}.email-popup{position:absolute;bottom:60px;right:0;background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;min-width:200px;animation:slideUp .3s ease;z-index:10;box-shadow:0 10px 30px #0000004d}.email-popup p{margin:0 0 .75rem;color:var(--text-light);font-size:.9rem;word-break:break-all}.copy-btn{width:100%;padding:.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:.25rem;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease}.copy-btn:hover{background-color:var(--primary-dark)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:2rem;border-top:1px solid var(--border-color);text-align:center}.footer-bottom p{color:var(--text-muted);font-size:.9rem;margin:0}@media(max-width:768px){.footer{padding:2rem 1.5rem 1rem}.footer-content{gap:1.5rem}.footer-section h3{font-size:1.2rem}}
