body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root[data-theme=dark]{--bg-primary:#0a0f0d;--bg-secondary:#111a16;--bg-tertiary:#1a2621;--bg-card:#1a2621b3;--bg-glass:#111a16d9;--text-primary:#f0fdf4;--text-secondary:#a7c4b5;--text-muted:#6b8f7a;--accent:#10b981;--accent-light:#34d399;--accent-dark:#059669;--accent-glow:#10b98126;--accent-glow-strong:#10b9814d;--border:#a7c4b51f;--border-hover:#10b98180;--gradient:linear-gradient(135deg,#34d399,#10b981 50%,#059669);--shadow-lg:0 25px 50px -12px #00000080;--shadow-glow:0 0 60px #10b98133;--nav-dot-bg:#a7c4b526;--social-icon:#a7c4b5;--card-shadow:0 4px 20px #0006;--btn-primary-bg:var(--accent);--btn-primary-text:#fff;--btn-secondary-border:var(--accent);--btn-secondary-text:var(--accent)}:root[data-theme=light]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:#1e293be6;--bg-glass:#0f172ad9;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--accent:#06b6d4;--accent-light:#22d3ee;--accent-dark:#0891b2;--accent-glow:#06b6d426;--accent-glow-strong:#06b6d44d;--border:#94a3b826;--border-hover:#06b6d480;--gradient:linear-gradient(135deg,#22d3ee,#06b6d4 50%,#0891b2);--shadow-lg:0 25px 50px -12px #0006;--shadow-glow:0 0 60px #06b6d426;--nav-dot-bg:#94a3b833;--social-icon:#94a3b8;--card-shadow:0 4px 20px #00000040;--btn-primary-bg:var(--accent);--btn-primary-text:#fff;--btn-secondary-border:var(--accent);--btn-secondary-text:var(--accent)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-x:hidden}.App,body{background:var(--bg-primary)}.App{min-height:100vh;position:relative}.side-nav{align-items:center;gap:2rem;left:2rem;position:fixed;top:50%;transform:translateY(-50%);z-index:100}.nav-indicator,.side-nav{display:flex;flex-direction:column}.nav-indicator{gap:1.25rem}.nav-dot{background:var(--nav-dot-bg);border:2px solid var(--border);border-radius:50%;cursor:pointer;height:12px;position:relative;transition:all .3s ease;width:12px}.nav-dot:hover{background:var(--accent-glow);border-color:var(--accent)}.nav-dot.active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 15px var(--accent-glow-strong)}.nav-dot .nav-tooltip{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.85rem;font-weight:500;left:2rem;opacity:0;padding:.5rem 1rem;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;visibility:hidden;white-space:nowrap}.nav-dot:hover .nav-tooltip{left:2.5rem;opacity:1;visibility:visible}.nav-actions{margin-top:1rem}.theme-toggle-btn{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.1rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.theme-toggle-btn:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.social-sidebar{align-items:center;bottom:0;display:flex;flex-direction:column;gap:1.25rem;position:fixed;right:2rem;z-index:100}.social-sidebar a{color:var(--social-icon);font-size:1.25rem;transition:all .3s ease}.social-sidebar a:hover{color:var(--accent);transform:translateY(-3px)}.social-sidebar .social-line{background:var(--text-muted);height:100px;margin-top:.5rem;opacity:.4;width:1px}.scroll-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:1px solid var(--border);border-radius:50%;bottom:2rem;color:var(--accent);cursor:pointer;display:flex;font-size:1.1rem;height:50px;justify-content:center;position:fixed;right:2rem;transition:all .3s ease;width:50px;z-index:100}.scroll-btn:hover{background:var(--accent);border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow-strong);color:#fff}.scroll-btn span,.whatsapp-btn{align-items:center;display:flex;justify-content:center}.whatsapp-btn{background:#25d366;border:none;border-radius:50%;bottom:2rem;box-shadow:0 4px 15px #25d36666;color:#fff;cursor:pointer;font-size:1.5rem;height:50px;position:fixed;right:6rem;text-decoration:none;transition:all .3s ease;width:50px;z-index:100}.whatsapp-btn:hover{background:#128c7e;box-shadow:0 6px 25px #25d36699;transform:translateY(-2px)}.main-content{margin-left:6rem;margin-right:6rem}.main-content,.section{position:relative;z-index:1}.section{align-items:center;display:flex;min-height:100vh;padding:100px 0}.section-container{margin:0 auto;max-width:1100px;padding:0 2rem;width:100%}.section-header{align-items:center;display:flex;gap:1rem;margin-bottom:3.5rem}.section-header.center{flex-direction:column;justify-content:center;text-align:center}.section-header.center .section-number{margin-bottom:.5rem}.section-header .section-number{color:var(--accent);font-family:SF Mono,Fira Code,monospace;font-size:1rem;font-weight:500}.section-header h2{color:var(--text-primary);font-size:2rem;font-weight:700;white-space:nowrap}.section-header .section-line{background:var(--border);flex:1 1;height:1px;max-width:300px}.hero-section{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:0 2rem;position:relative}.hero-section .hero-container{align-items:center;display:flex;flex-direction:column;max-width:800px;text-align:center;width:100%;z-index:1}.hero-section .hero-avatar{margin-bottom:2rem;position:relative}.hero-section .hero-avatar .avatar-image{border:3px solid var(--bg-tertiary);border-radius:50%;height:140px;object-fit:cover;position:relative;width:140px;z-index:2}.hero-section .hero-avatar .avatar-ring{animation:pulse-ring 2s ease-in-out infinite;background:var(--gradient);border-radius:50%;bottom:-6px;left:-6px;opacity:.8;position:absolute;right:-6px;top:-6px;z-index:1}.hero-section .hero-avatar .avatar-status{background:#10b981;border:3px solid var(--bg-primary);border-radius:50%;bottom:8px;height:20px;position:absolute;right:8px;width:20px;z-index:3}.hero-section .hero-badge{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:100px;color:var(--text-secondary);display:inline-flex;font-size:.85rem;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1rem}.hero-section .hero-badge .badge-dot{animation:pulse 2s ease-in-out infinite;background:#10b981;border-radius:50%;height:8px;width:8px}.hero-section .hero-headline{color:var(--text-primary);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1.2;margin-bottom:.75rem}.hero-section .hero-headline .highlight{-webkit-text-fill-color:#0000;background:var(--gradient);-webkit-background-clip:text;background-clip:text}.hero-section .hero-title{margin-bottom:1.5rem;min-height:3rem}.hero-section .hero-title .typed-title{color:var(--text-secondary);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:500}.hero-section .hero-description{color:var(--text-muted);font-size:1.1rem;line-height:1.8;margin-bottom:2rem;max-width:600px}.hero-section .hero-stats{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;display:flex;gap:2rem;justify-content:center;margin-bottom:2.5rem;padding:1.25rem 2rem}.hero-section .hero-stats .stat-item{align-items:center;display:flex;flex-direction:column;gap:.25rem}.hero-section .hero-stats .stat-item .stat-number{color:var(--accent);font-size:1.5rem;font-weight:700}.hero-section .hero-stats .stat-item .stat-label{color:var(--text-muted);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.hero-section .hero-stats .stat-divider{background:var(--border);height:40px;width:1px}.hero-section .hero-cta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@keyframes pulse-ring{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.about-section .about-content{margin:0 auto 3rem;max-width:800px;text-align:center}.about-section .about-text-block p{color:var(--text-secondary);font-size:1.1rem;line-height:1.9;margin-bottom:1.5rem}.about-section .about-text-block p strong{color:var(--accent)}.about-section .about-text-block .btn-primary{margin-top:2rem}.about-section .highlights-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(4,1fr)}.about-section .highlight-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--card-shadow);overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center;transition:all .3s ease}.about-section .highlight-card:before{background:var(--gradient);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.about-section .highlight-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg);transform:translateY(-5px)}.about-section .highlight-card:hover:before{opacity:1}.about-section .highlight-card .highlight-icon{color:var(--accent);font-size:1.5rem;margin-bottom:1rem}.about-section .highlight-card h3{-webkit-text-fill-color:#0000;background:var(--gradient);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;margin-bottom:.5rem}.about-section .highlight-card p{color:var(--text-muted);font-size:.9rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.experience-section .experience-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:200px 1fr}.experience-section .experience-tabs{display:flex;flex-direction:column;position:relative}.experience-section .tab-btn{background:none;border:none;border-left:2px solid var(--border);color:var(--text-secondary);cursor:pointer;font-size:.95rem;font-weight:500;padding:1rem 1.5rem;text-align:left;transition:all .2s ease}.experience-section .tab-btn.active,.experience-section .tab-btn:hover{background:var(--accent-glow);color:var(--accent)}.experience-section .tab-indicator{background:var(--accent);height:48px;left:0;position:absolute;transition:transform .3s ease;width:2px}.experience-section .experience-content{padding:.5rem 0}.experience-section .experience-content .exp-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.experience-section .experience-content .exp-title .exp-company{color:var(--accent);text-decoration:none;transition:all .2s ease}.experience-section .experience-content .exp-title .exp-company:hover{text-decoration:underline}.experience-section .experience-content .exp-title .exp-company .company-link-icon{font-size:.7rem;margin-left:.25rem;opacity:.7;vertical-align:middle}.experience-section .experience-content .exp-duration{align-items:center;color:var(--text-muted);display:flex;font-family:SF Mono,Fira Code,monospace;font-size:.85rem;gap:.5rem;margin-bottom:1.5rem}.experience-section .experience-content .exp-duration svg{font-size:.8rem}.experience-section .experience-content .exp-details{list-style:none;padding:0}.experience-section .experience-content .exp-details li{color:var(--text-secondary);font-size:.95rem;line-height:1.7;margin-bottom:1rem;padding-left:1.75rem;position:relative}.experience-section .experience-content .exp-details li:before{color:var(--accent);content:"▹";font-size:1rem;left:0;position:absolute}.skills-section .skills-container{display:flex;flex-direction:column;gap:3rem}.skills-section .skill-category .category-title{align-items:center;color:var(--text-muted);display:flex;font-size:1rem;font-weight:600;gap:1rem;letter-spacing:.1em;margin-bottom:1.5rem;text-transform:uppercase}.skills-section .skill-category .category-title:before{background:var(--accent);content:"";height:2px;width:20px}.skills-section .skills-grid{display:flex;flex-wrap:wrap;gap:.75rem}.skills-section .skill-chip{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:100px;box-shadow:var(--card-shadow);cursor:default;display:inline-flex;gap:.6rem;padding:.65rem 1.25rem;transition:all .3s ease}.skills-section .skill-chip .skill-icon{display:flex;font-size:1.15rem}.skills-section .skill-chip .skill-label{color:var(--text-primary);font-size:.9rem;font-weight:500}.skills-section .skill-chip:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.projects-section .projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.projects-section .project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;height:100%;padding:2rem;transition:all .3s ease}.projects-section .project-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg)}.projects-section .project-card .project-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.projects-section .project-card .project-icon{color:var(--accent);font-size:2.5rem}.projects-section .project-card .project-links{display:flex;gap:1rem}.projects-section .project-card .project-links a{color:var(--text-muted);font-size:1.2rem;transition:all .2s ease}.projects-section .project-card .project-links a:hover{color:var(--accent)}.projects-section .project-card .project-company{color:var(--accent);display:block;font-size:.75rem;font-weight:600;letter-spacing:.1em;margin-bottom:.5rem;text-transform:uppercase}.projects-section .project-card .project-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:.75rem}.projects-section .project-card .project-description{color:var(--text-secondary);flex:1 1;font-size:.95rem;line-height:1.7;margin-bottom:1.5rem}.projects-section .project-card .project-impact{align-items:center;background:var(--accent-glow);border-radius:6px;color:var(--accent);display:flex;font-size:.85rem;font-weight:500;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem}.projects-section .project-card .project-impact svg{font-size:.75rem}.projects-section .project-card .project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.projects-section .project-card .project-tech .tech-tag{background:var(--accent-glow);border:1px solid var(--border-hover);border-radius:100px;color:var(--accent);font-family:SF Mono,Fira Code,monospace;font-size:.7rem;padding:.25rem .6rem}.contact-section .contact-intro{color:var(--text-secondary);font-size:1.1rem;line-height:1.8;margin:0 auto 3rem;max-width:600px;text-align:center}.contact-section .contact-content{align-items:center;display:flex;flex-direction:column;gap:3rem}.contact-section .contact-info-grid{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.contact-section .contact-item{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;display:flex;gap:1rem;padding:1.25rem 2rem;text-decoration:none;transition:all .3s ease}.contact-section .contact-item:hover{border-color:var(--border-hover);transform:translateY(-3px)}.contact-section .contact-item .contact-icon{align-items:center;background:var(--accent-glow);border-radius:10px;color:var(--accent);display:flex;font-size:1.25rem;height:48px;justify-content:center;width:48px}.contact-section .contact-item .contact-details{display:flex;flex-direction:column}.contact-section .contact-item .contact-details .contact-label{color:var(--text-muted);font-size:.8rem;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.contact-section .contact-item .contact-details .contact-value{color:var(--text-primary);font-weight:500}.contact-section .contact-actions{display:flex;gap:1rem}.contact-section .contact-social{text-align:center}.contact-section .contact-social p{color:var(--text-muted);font-size:.9rem;margin-bottom:1rem}.contact-section .contact-social .social-links{display:flex;gap:1.5rem}.contact-section .contact-social .social-links a{color:var(--text-secondary);font-size:1.5rem;transition:all .3s ease}.btn-primary{align-items:center;background:var(--accent);border:none;border-radius:8px;box-shadow:0 4px 15px var(--accent-glow-strong);color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.6rem;padding:.9rem 1.75rem;text-decoration:none;transition:all .3s ease}.btn-primary:hover{background:var(--accent-light);box-shadow:0 6px 25px var(--accent-glow-strong);transform:translateY(-2px)}.btn-primary.large{font-size:1rem;padding:1.1rem 2.25rem}.btn-secondary{align-items:center;background:#0000;border:2px solid var(--accent);border-radius:8px;color:var(--accent);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.6rem;padding:.9rem 1.75rem;text-decoration:none;transition:all .3s ease}.btn-secondary:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}.btn-secondary.large{font-size:1rem;padding:1.1rem 2.25rem}.app-footer{border-top:1px solid var(--border);margin-left:6rem;margin-right:6rem;padding:3rem 2rem;text-align:center}.app-footer p{color:var(--text-muted);font-size:.9rem;margin-bottom:.5rem}.app-footer .footer-year{font-family:SF Mono,Fira Code,monospace;font-size:.8rem}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}@media(max-width:1024px){.app-footer,.main-content{margin-left:4rem;margin-right:4rem}.hero-section .hero-container{flex-direction:column-reverse;text-align:center}.hero-section .hero-content{align-items:center}.hero-section .hero-description{max-width:100%}.hero-section .hero-cta{justify-content:center}.hero-section .hero-image-wrapper .hero-image{height:260px;width:260px}.about-section .about-content{gap:2rem;grid-template-columns:1fr}.about-section .about-image-container{margin:0 auto;max-width:300px}.about-section .about-text{text-align:center}.about-section .about-text .btn-primary{margin:1.5rem auto 0}.about-section .highlights-container{grid-template-columns:repeat(2,1fr)}.experience-section .experience-container{gap:1.5rem;grid-template-columns:1fr}.experience-section .experience-container .experience-tabs{border-bottom:2px solid var(--border);flex-direction:row;overflow-x:auto}.experience-section .experience-container .experience-tabs .tab-btn{border-bottom:2px solid #0000;border-left:none;white-space:nowrap}.experience-section .experience-container .experience-tabs .tab-btn.active{border-bottom-color:var(--accent)}.experience-section .experience-container .experience-tabs .tab-indicator{display:none}}@media(max-width:768px){.side-nav,.social-sidebar{display:none}.scroll-top-btn{right:1.5rem}.app-footer,.main-content{margin-left:0;margin-right:0}.section{min-height:auto;padding:80px 0}.section-container{padding:0 1.5rem}.hero-section{padding:2rem 1.5rem}.hero-section .hero-name .lastname{margin-left:.5rem}.hero-section .hero-image-wrapper .hero-image{height:200px;width:200px}.hero-section .hero-cta{flex-direction:column;width:100%}.about-section .highlights-container{gap:1rem;grid-template-columns:repeat(2,1fr)}.projects-section .projects-grid{grid-template-columns:1fr}.contact-section .contact-info-grid{flex-direction:column;width:100%}.contact-section .contact-item{width:100%}.contact-section .contact-actions{flex-direction:column;width:100%}.contact-section .contact-actions .btn-primary,.contact-section .contact-actions .btn-secondary{justify-content:center;width:100%}}@media(max-width:480px){.hero-section .hero-name{font-size:2rem}.hero-section .hero-title{font-size:1.2rem}.hero-section .hero-image-wrapper .hero-image{height:160px;width:160px}.section-header h2{font-size:1.5rem}.highlight-card{padding:1.5rem 1rem}.highlight-card h3{font-size:2rem}}
/*# sourceMappingURL=main.8b1c4a45.css.map*/