*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}[id]{scroll-margin-top:100px}body{font-family:Inter,sans-serif;background:#0b0f1a;color:#e2e8f0;line-height:1.7;transition:background .5s ease,color .5s ease;overflow-x:hidden}body.light{background:#f0f2f7;color:#1e293b}:root{--accent-1: #6366f1;--accent-2: #8b5cf6;--accent-3: #06b6d4;--gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 40%, #06b6d4 100%);--glass-bg: rgba(30, 41, 59, .6);--glass-border: rgba(148, 163, 184, .12);--card-bg: rgba(15, 23, 42, .7);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-accent: #818cf8;--shadow: 0 8px 32px rgba(0, 0, 0, .3)}body.light{--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(99, 102, 241, .15);--card-bg: rgba(255, 255, 255, .8);--text-primary: #1e293b;--text-secondary: #475569;--text-accent: #6366f1;--shadow: 0 8px 32px rgba(99, 102, 241, .1)}nav{position:fixed;top:0;width:100%;z-index:1000;background:#0b0f1ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);transition:background .5s,box-shadow .3s}body.light nav{background:#f0f2f7d9}nav.scrolled{box-shadow:0 4px 20px #0003}.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem}.nav-logo{font-weight:700;font-size:1.1rem;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;gap:.25rem;list-style:none}.nav-links a{text-decoration:none;color:var(--text-secondary);font-size:.85rem;font-weight:500;padding:.4rem .75rem;border-radius:8px;transition:color .3s,background .3s}.nav-links a:hover,.nav-links a.active{color:var(--text-accent);background:#6366f11a}#toggleMode{background:none;border:1px solid var(--glass-border);color:var(--text-secondary);padding:.4rem .6rem;border-radius:10px;cursor:pointer;font-size:1rem;transition:all .3s}#toggleMode:hover{color:var(--text-accent);border-color:var(--accent-1);transform:rotate(20deg)}.nav-right{display:flex;align-items:center;gap:.75rem}.menu-btn{display:none;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:.25rem;transition:color .3s}.menu-btn:hover{color:var(--text-accent)}@media(max-width:900px){.menu-btn{display:block}}.mobile-menu{position:fixed;inset:0;z-index:2000;display:flex;justify-content:flex-end}.mobile-menu-overlay{position:absolute;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-menu-content{position:relative;width:280px;height:100%;background:var(--glass-bg);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-left:1px solid var(--glass-border);padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem;box-shadow:-10px 0 30px #0003}.mobile-menu-close{align-self:flex-end;background:none;border:none;color:var(--text-secondary);font-size:1.8rem;cursor:pointer}.mobile-nav-links{list-style:none;display:flex;flex-direction:column;gap:1.25rem}.mobile-nav-links a{text-decoration:none;color:var(--text-primary);font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.75rem}.mobile-nav-links a.active{color:var(--text-accent)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:6rem 1.5rem 4rem}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg .orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:float 8s ease-in-out infinite}.hero-bg .orb-1{width:500px;height:500px;background:radial-gradient(circle,#6366f1 0%,transparent 70%);top:-10%;left:-10%;animation-delay:0s}.hero-bg .orb-2{width:400px;height:400px;background:radial-gradient(circle,#8b5cf6 0%,transparent 70%);bottom:-10%;right:-5%;animation-delay:-3s}.hero-bg .orb-3{width:300px;height:300px;background:radial-gradient(circle,#06b6d4 0%,transparent 70%);top:40%;right:20%;animation-delay:-5s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.95)}}.hero-content{position:relative;z-index:1}.hero-avatar{width:160px;height:160px;border-radius:50%;object-fit:cover;border:4px solid transparent;background-image:var(--gradient);background-origin:border-box;background-clip:content-box,border-box;box-shadow:0 0 40px #6366f14d,0 0 80px #8b5cf626;margin-bottom:1.5rem;transition:transform .4s ease,box-shadow .4s ease;animation:avatarPulse 4s ease-in-out infinite}@keyframes avatarPulse{0%,to{box-shadow:0 0 40px #6366f14d,0 0 80px #8b5cf626}50%{box-shadow:0 0 60px #6366f180,0 0 120px #8b5cf640}}.hero-avatar:hover{transform:scale(1.08) rotate(3deg)}.hero h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.02em}.hero-title-accent{display:block;font-size:clamp(.9rem,2vw,1.1rem);font-weight:400;color:var(--text-secondary);margin-bottom:.5rem}#typewriter{font-size:clamp(1rem,2.5vw,1.3rem);font-weight:600;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;min-height:1.5em}.typewriter-cursor{display:inline-block;width:2px;height:1.2em;background:var(--accent-1);margin-left:2px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-social{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.hero-social a{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--glass-border);border-radius:12px;color:var(--text-secondary);font-size:1.2rem;text-decoration:none;transition:all .3s ease;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-social a:hover{color:#fff;border-color:var(--accent-1);transform:translateY(-3px);box-shadow:0 8px 25px #6366f14d}.hero-social a:hover.gh{background:#6e5494}.hero-social a:hover.li{background:#0a66c2}.hero-social a:hover.wa{background:#25d366}.hero-social a:hover.em{background:#f4b400}.hero-scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:1;animation:bounce 2s infinite}.hero-scroll-indicator i{color:var(--text-secondary);font-size:1.5rem;opacity:.5}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}.main-container{max-width:1200px;margin:0 auto;padding:0 1.5rem 4rem;display:grid;grid-template-columns:340px 1fr;gap:2rem;align-items:start}.sidebar{position:sticky;top:5rem;display:flex;flex-direction:column;gap:1.5rem}.glass-card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease,background .5s ease}.glass-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px #6366f11f}.section-title{display:flex;align-items:center;gap:.75rem;font-size:1.2rem;font-weight:700;color:var(--text-primary);margin-bottom:1.25rem}.section-title .icon-wrapper{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--gradient);color:#fff;font-size:.9rem;flex-shrink:0}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.contact-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.contact-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:10px;transition:background .3s;font-size:.88rem}.contact-item:hover{background:#6366f114}.contact-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;color:#fff}.contact-icon.whatsapp{background:#25d366}.contact-icon.email{background:#f4b400}.contact-icon.location{background:#e63946}.contact-icon.github{background:#6e5494}.contact-icon.linkedin{background:#0a66c2}.contact-info{display:flex;flex-direction:column;min-width:0}.contact-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:600}.contact-value{color:var(--text-primary);font-weight:500;word-break:break-word}.contact-value a{color:var(--text-accent);text-decoration:none;transition:color .3s}.contact-value a:hover{text-decoration:underline}.language-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0}.language-name{display:flex;align-items:center;gap:.5rem;font-weight:500}.language-level{font-size:.8rem;padding:.2rem .7rem;border-radius:20px;background:#6366f126;color:var(--text-accent);font-weight:600}.soft-skills-list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}.soft-skills-list li{padding:.35rem .85rem;border-radius:20px;font-size:.8rem;font-weight:500;border:1px solid var(--glass-border);color:var(--text-secondary);transition:all .3s}.soft-skills-list li:hover{border-color:var(--accent-1);color:var(--text-accent);background:#6366f114}.profile-text{font-size:.95rem;color:var(--text-secondary);line-height:1.8}.profile-text p{margin-bottom:1rem}.profile-text p:last-child{margin-bottom:0}.profile-highlight{display:inline;background:linear-gradient(135deg,#6366f126,#06b6d41a);padding:.1rem .4rem;border-radius:4px;color:var(--text-accent);font-weight:500}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--accent-1),var(--accent-3));border-radius:2px}.timeline-item{position:relative;margin-bottom:2rem;padding:1.25rem;border-radius:12px;background:var(--card-bg);border:1px solid var(--glass-border);transition:all .3s ease}.timeline-item:last-child{margin-bottom:0}.timeline-item:hover{border-color:#6366f14d;transform:translate(4px);box-shadow:0 4px 20px #6366f11a}.timeline-item:before{content:"";position:absolute;left:-2rem;top:1.5rem;width:14px;height:14px;border-radius:50%;background:var(--gradient);border:3px solid #0b0f1a;z-index:1;transition:transform .3s,box-shadow .3s}body.light .timeline-item:before{border-color:#f0f2f7}.timeline-item:hover:before{transform:scale(1.3);box-shadow:0 0 12px #6366f180}.timeline-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.timeline-company{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.timeline-role{font-size:.88rem;color:var(--text-accent);font-weight:500}.timeline-date{font-size:.78rem;padding:.2rem .65rem;border-radius:20px;background:#6366f11f;color:var(--text-accent);font-weight:600;white-space:nowrap}.timeline-date-group{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.timeline-duration{font-size:.72rem;padding:.15rem .55rem;border-radius:20px;background:#06b6d41a;color:var(--accent-3);font-weight:600;white-space:nowrap}.timeline-location{font-size:.8rem;color:var(--text-secondary);margin-bottom:.75rem}.timeline-location i{margin-right:.3rem}.timeline-tasks{list-style:none;display:flex;flex-direction:column;gap:.4rem}.timeline-tasks li{font-size:.88rem;color:var(--text-secondary);padding-left:1.2rem;position:relative;line-height:1.6}.timeline-tasks li:before{content:"▸";position:absolute;left:0;color:var(--accent-3);font-weight:700}.timeline-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.timeline-tag{font-size:.72rem;padding:.15rem .55rem;border-radius:6px;background:#06b6d41a;color:var(--accent-3);font-weight:500;border:1px solid rgba(6,182,212,.15)}.edu-icon{margin-right:.4rem;color:var(--accent-2)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.skill-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;background:var(--card-bg);border:1px solid var(--glass-border);border-radius:12px;transition:all .3s ease;cursor:default}.skill-card:hover{border-color:var(--accent-1);transform:translateY(-4px);box-shadow:0 8px 25px #6366f126}.skill-card i{font-size:2rem}.skill-name{font-size:.82rem;font-weight:600;color:var(--text-primary)}.skill-category{font-size:.7rem;padding:.2rem .65rem;border-radius:20px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.projects-grid{display:flex;flex-direction:column;gap:1rem}.project-card{padding:1.25rem;border-radius:12px;background:var(--card-bg);border:1px solid var(--glass-border);transition:all .3s ease}.project-card:hover{border-color:#6366f14d;transform:translate(4px);box-shadow:0 4px 20px #6366f11a}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.project-name{font-size:1rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.project-icon{color:var(--accent-2);font-size:.9rem}.project-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--glass-border);color:var(--text-secondary);font-size:.8rem;text-decoration:none;transition:all .3s ease}.project-link:hover{color:var(--text-accent);border-color:var(--accent-1);background:#6366f114}.project-description{font-size:.88rem;color:var(--text-secondary);line-height:1.6;margin-bottom:.75rem}footer{text-align:center;padding:2.5rem 1.5rem;border-top:1px solid var(--glass-border);color:var(--text-secondary);font-size:.85rem}footer .footer-links{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem}footer .footer-links a{color:var(--text-secondary);text-decoration:none;font-size:1.3rem;transition:color .3s,transform .3s}footer .footer-links a:hover{color:var(--text-accent);transform:translateY(-2px)}@media(max-width:900px){.main-container{grid-template-columns:1fr}.sidebar{position:static}.nav-links{display:none}}@media(max-width:600px){.hero{min-height:90vh;padding:5rem 1rem 3rem}.hero-avatar{width:120px;height:120px}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.timeline{padding-left:1.5rem}.timeline-item:before{left:-1.5rem}}.btn-download{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.4rem;background:var(--gradient);color:#fff;border:none;border-radius:10px;font-family:inherit;font-weight:600;font-size:.85rem;cursor:pointer;text-decoration:none;transition:transform .3s,box-shadow .3s;margin-top:1.5rem}.btn-download:hover{transform:translateY(-2px);box-shadow:0 8px 25px #6366f159}.particles-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}
