@import"https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300;400;600;700;900&display=swap";:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}html,body{height:100%;overflow:hidden}#root{height:100vh;width:100vw}.star-field{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;background:transparent}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Titillium Web,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1a1a1a;overflow:hidden;height:100vh;position:relative;margin:0;padding:0;border:none}.app{position:relative;width:100vw;height:100vh;overflow:hidden;z-index:0}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff0d;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid rgba(255,255,255,.1);padding:1rem 0;transition:all .3s ease}.nav-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 2rem}.nav-brand{font-size:1.5rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:10px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.nav-logo{height:40px;width:40px;object-fit:contain;border-radius:8px}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-link{background:none;border:none;color:#fffc;font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 1rem;border-radius:25px;transition:all .3s ease;position:relative;overflow:hidden}.nav-link:hover{color:#fff;background:linear-gradient(135deg,#06f3,#1e90ff33);transform:translateY(-2px)}.nav-link.active{color:#fff;background:linear-gradient(135deg,#003dff33,#1e90ff33);border:2px solid rgba(0,102,255,.4);border-radius:20px;box-shadow:0 4px 15px #003dff4d,0 0 20px #1e90ff33;font-weight:600}.nav-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.nav-link:hover:before{left:100%}.language-toggle{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1rem;border-radius:20px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s ease;min-width:40px}.language-toggle:hover{background:linear-gradient(135deg,#0066ff4d,#1e90ff4d);border:1px solid rgba(0,102,255,.5);transform:translateY(-2px);box-shadow:0 4px 15px #0066ff4d}.language-toggle:active{transform:translateY(0);box-shadow:0 2px 8px #06f3}.sections-container{position:relative;width:100%;height:100vh;display:flex;align-items:center;justify-content:center}.section{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;perspective:1000px}.section-content{max-width:1000px;padding:1rem;text-align:center;background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000004d;color:#fff;margin:0 2rem}.section-title{font-size:3rem;font-weight:700;margin-bottom:2rem;background:linear-gradient(45deg,#06f,#003dff,#1e90ff,#4169e1,#0080ff,#0040ff,#2e8bff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 4px 8px rgba(0,61,255,.3);animation:gradientShift 3s ease-in-out infinite alternate}@keyframes gradientShift{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(20deg)}}.section-body{font-size:1.1rem;line-height:1.6}.inicio-content{max-width:800px;margin:0 auto}.profile-header{display:flex;align-items:center;gap:2rem;margin-bottom:2rem}.profile-photo{flex-shrink:0}.profile-photo img{width:150px;height:150px;border-radius:50%;object-fit:cover;transition:all .3s ease}.profile-photo img:hover{transform:scale(1.05)}.profile-info{flex:1;text-align:left}.profile-info h2{margin:0 0 .5rem;font-size:2.5rem;font-weight:700;background:linear-gradient(45deg,#06f,#003dff,#1e90ff,#4169e1,#0080ff,#0040ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.profile-info p{margin:0;font-size:1.2rem;color:#fffc;font-weight:300}.skills{text-align:center}.inicio-content h2{font-size:2.5rem;margin-bottom:1rem;color:#fff}.inicio-content p{font-size:1.3rem;margin-bottom:2rem;color:#ffffffe6}.skills{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.skill{background:linear-gradient(135deg,#06f3,#1e90ff33);padding:.5rem 1rem;border-radius:25px;font-weight:500;border:1px solid rgba(0,102,255,.4);transition:all .3s ease}.skill:hover{background:linear-gradient(135deg,#003dff66,#1e90ff66);transform:translateY(-2px);box-shadow:0 4px 15px #003dff4d,0 0 20px #1e90ff33}.experiencia-content{display:flex;flex-direction:column;gap:2rem}.experience-item{background:#ffffff1a;padding:1.5rem;border-radius:15px;border:1px solid rgba(255,255,255,.2);text-align:left;transition:all .3s ease}.experience-item:hover{background:linear-gradient(135deg,#1e90ff33,#06f3);transform:translateY(-5px);box-shadow:0 8px 25px #1e90ff4d,0 0 30px #06f3;border:1px solid rgba(30,144,255,.4)}.experience-item h3{font-size:1.5rem;margin-bottom:.5rem;color:#fff}.company{font-weight:600;color:#ffffffe6;margin-bottom:.3rem}.period{font-size:.9rem;color:#ffffffb3;margin-bottom:1rem}.contacto-content{display:flex;flex-direction:column;gap:0rem}.vertical-sections{position:fixed;inset:80px 0 0;overflow-y:scroll;padding:0;color:#fff;height:calc(100vh - 80px);scroll-snap-type:y mandatory;scroll-behavior:smooth}.vertical-sections *{color:inherit}.vertical-sections h1,.vertical-sections h2,.vertical-sections h3,.vertical-sections h4,.vertical-sections h5,.vertical-sections h6{color:#fff!important}.vertical-sections p,.vertical-sections span,.vertical-sections div{color:#ffffffe6!important}.vertical-section{min-height:100vh;height:auto;padding:60px 20px 150px;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;margin-bottom:40px}.vertical-sections::-webkit-scrollbar{width:8px}.vertical-sections::-webkit-scrollbar-track{background:#ffffff1a}.vertical-sections::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.vertical-sections::-webkit-scrollbar-thumb:hover{background:#ffffff80}.vertical-sections .vertical-section:first-child{margin-bottom:0;padding-bottom:0}.vertical-sections .vertical-section:nth-child(2){padding-top:0}.scrollable-content{max-height:70vh;overflow-y:auto;padding-right:1rem}.scrollable-content::-webkit-scrollbar{width:8px}.scrollable-content::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.scrollable-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.scrollable-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.contact-item{background:#ffffff1a;padding:1.5rem;border-radius:15px;border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.contact-item:hover{background:linear-gradient(135deg,#003dff33,#1e90ff33);transform:translateY(-5px);box-shadow:0 8px 25px #003dff4d,0 0 25px #1e90ff33;border:1px solid rgba(0,61,255,.4)}.contact-item h3{font-size:1.2rem;margin-bottom:.5rem;color:#fff}.contact-item p{color:#ffffffe6;font-weight:500}.achievements{background:#ffffff1a;padding:1.5rem;border-radius:15px;border:1px solid rgba(255,255,255,.2);text-align:left}.achievements h3{font-size:1.3rem;margin-bottom:1rem;color:#fff;text-align:center}.achievements ul{list-style:none;padding:0}.achievements li{color:#ffffffe6;margin-bottom:.8rem;padding-left:1.5rem;position:relative}.achievements li:before{content:"▶";position:absolute;left:0;color:#fff;font-size:.8rem}.additional-content{background:#ffffff1a;padding:2rem;border-radius:15px;border:1px solid rgba(255,255,255,.2);text-align:left}.additional-content h3{color:#fff;margin-bottom:1.5rem;font-size:1.5rem}.project-item{background:#ffffff0d;padding:1.5rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);margin-bottom:1.5rem;transition:all .3s ease}.project-item:hover{background:linear-gradient(135deg,#0066ff26,#1e90ff26);transform:translateY(-2px);box-shadow:0 4px 15px #0066ff4d,0 0 20px #1e90ff33;border:1px solid rgba(0,102,255,.3)}.project-item h4{color:#fff;margin-bottom:.8rem;font-size:1.2rem}.project-item p{color:#ffffffe6;line-height:1.6}.certifications-section{background:#ffffff1a;padding:1.5rem;border-radius:15px;border:1px solid rgba(255,255,255,.2);margin-top:1rem}.certifications-section h3{font-size:1.3rem;margin-bottom:1rem;color:#fff;text-align:center}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1rem}.cert{background:#ffffff26;padding:.8rem 1.2rem;border-radius:25px;font-size:.9rem;font-weight:500;border:1px solid rgba(255,255,255,.3);transition:all .3s ease;text-align:center;color:#fff}.cert:hover{background:linear-gradient(135deg,#1e90ff66,#003dff66);transform:translateY(-2px);box-shadow:0 4px 15px #1e90ff4d,0 0 15px #003dff33;border:1px solid rgba(30,144,255,.5)}.cert.special{background:linear-gradient(135deg,#ff6b35,#f7931e);border:2px solid #ff6b35;color:#fff;font-weight:600;animation:glow 2s ease-in-out infinite alternate}.cert.special:hover{background:linear-gradient(135deg,#ff8c5a,#ffa43e);transform:translateY(-3px) scale(1.02);box-shadow:0 6px 20px #ff6b3566,0 0 25px #f7931e4d}.certifications-preview{margin-top:1.5rem;text-align:center}.cert-count{background:linear-gradient(135deg,#06f3,#1e90ff33);padding:.8rem 1.5rem;border-radius:25px;font-weight:600;font-size:1.1rem;border:1px solid rgba(0,61,255,.4);display:inline-block;color:#fff;box-shadow:0 4px 15px #003dff33}.scroll-indicator{position:fixed;right:2rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1rem;z-index:1000}.dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#003dff99,#1e90ff99);cursor:pointer;transition:all .3s ease;border:2px solid rgba(0,102,255,.8)}.dot:hover{background:linear-gradient(135deg,#003dffe6,#1e90ffe6);transform:scale(1.2);box-shadow:0 0 15px #003dff80}.dot.active{background:linear-gradient(135deg,#06f,#1e90ff);box-shadow:0 0 20px #003dffcc,0 0 40px #1e90ff99;transform:scale(1.3)}.tech-carousel-container{width:100%;max-width:800px;margin:0 auto;overflow:visible;position:relative;padding:1rem 1rem 3rem;z-index:100;display:flex;justify-content:center;align-items:center;height:80px}.tech-carousel{position:relative;width:100%;height:180px;overflow:hidden;mask:linear-gradient(90deg,transparent,white 10%,white 90%,transparent);-webkit-mask:linear-gradient(90deg,transparent,white 10%,white 90%,transparent)}.tech-track{display:flex;align-items:center;gap:2rem;animation:scroll 30s linear infinite;width:fit-content;height:180px}.tech-carousel:hover .tech-track{animation-play-state:paused}.tech-item{display:flex;align-items:center;justify-content:center;width:50px;height:50px;color:#fff;transition:all .3s ease;cursor:pointer;position:relative;flex-shrink:0}.tech-item svg,.tech-item img{width:100%;height:100%;transition:all .3s ease}.tech-icon{width:40px;height:40px;object-fit:contain;filter:brightness(0) invert(1)}.tech-item:hover{color:#64ffda;border-radius:8px;animation:pulse 1s ease 3}.tech-item:hover:after{content:attr(data-title);position:absolute;top:-45px;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:.5rem .8rem;border-radius:8px;font-size:.8rem;white-space:nowrap;z-index:10;opacity:1;animation:fadeInTooltip .3s ease;max-width:none;width:auto;overflow:visible}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - 1rem))}}@keyframes fadeInTooltip{0%{opacity:0;transform:translate(-50%) translateY(-5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}footer{position:fixed;bottom:30px;left:0;width:100%;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff0d;border-top:1px solid rgba(255,255,255,.1);padding:1rem 0;z-index:1000;height:80px}.footer-content{position:relative;z-index:2;margin-bottom:100px}.build-info{position:fixed;bottom:0;left:0;width:100%;background:#1a1a1a;color:#999;font-size:.8rem;padding:.5rem 0;z-index:999;height:30px;display:flex;align-items:center;justify-content:center}.build-info-content{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 1rem}.copyright-info{display:flex;align-items:center;gap:.5rem}.kenkogeek-logo{width:20px;height:20px}.build-tech-info{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}.build-icons{display:flex;align-items:center;gap:.5rem}.build-icon{width:16px;height:16px;filter:brightness(0) invert(.6);transition:filter .3s ease}.build-icon:hover{filter:brightness(0) invert(.8)}.professional-summary{margin-bottom:2rem;padding:1.5rem;background:#ffffff0d;border-radius:10px;border-left:4px solid #00d4ff}.professional-summary p{font-size:1.1rem;line-height:1.6;margin:0;text-align:justify}.professional-summary-home{margin:1.5rem 0;max-width:800px;text-align:justify;padding:1rem;border-radius:8px;border-left:3px solid var(--accent-color)}.professional-summary-home p{font-size:1.3rem;line-height:1.6;color:var(--text-color);margin:0}.timeline{position:relative;width:100%;max-width:1140px;margin:0 auto;padding:15px 0;margin-bottom:3rem}.timeline:after{content:"";position:absolute;width:2px;background:linear-gradient(to bottom,#00d4ff,#09c);top:0;bottom:0;left:50%;margin-left:-1px}.container{padding:15px 30px;position:relative;background:inherit;width:50%;margin-bottom:30px}.container.left{left:0}.container.right{left:50%}.container:after{content:"";position:absolute;width:16px;height:16px;top:48px;right:-8px;background:#00d4ff;border-radius:50%;z-index:1;box-shadow:0 0 10px #00d4ff80}.container.right:after{left:-8px}.container.current:after{background:#0f8;box-shadow:0 0 10px #00ff8880}.container:before{content:"";position:absolute;width:0;height:0;top:46px;right:10px;z-index:1;border:10px solid;border-color:transparent transparent transparent rgba(0,212,255,.7)}.container.right:before{left:10px;border-color:transparent rgba(0,212,255,.7) transparent transparent}.container .date{position:absolute;display:inline-block;top:48px;text-align:center;font-size:14px;font-weight:700;color:#00d4ff;text-transform:uppercase;letter-spacing:1px;z-index:1}.container.left .date{right:-120px}.container.right .date{left:-120px}.container .content{padding:30px;background:#ffffff0d;position:relative;border:1px solid rgba(255,255,255,.1);border-right:3px solid #00d4ff;border-left:3px solid rgba(255,255,255,.1);border-radius:15px 0 0 15px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease}.container.right .content{border-right:3px solid rgba(255,255,255,.1);border-left:3px solid #00d4ff;border-radius:0 15px 15px 0}.container .content:hover{background:#ffffff1a;transform:translateY(-5px);box-shadow:0 8px 25px #1e90ff4d,0 0 30px #06f3}.container.current .content{border-color:#0f8;box-shadow:0 0 20px #00ff884d}.container .content h2{margin:0 0 10px;font-size:1.3rem;font-weight:600;color:#00d4ff}.container .content .company{font-weight:600;color:#fff;margin:.25rem 0}.container .content .description{margin:1rem 0;line-height:1.6;color:#fffc}.container .content .current-badge{display:inline-block;background:#0f8;color:#000;padding:.2rem .5rem;border-radius:15px;font-size:.8rem;font-weight:600;margin-left:1rem}.experience-actions{display:flex;justify-content:flex-end}.expand-btn{background:#00d4ff33;border:1px solid #00d4ff;color:#00d4ff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.expand-btn:hover{background:#00d4ff;color:#000}.description{line-height:1.6;margin-bottom:1rem}.experience-details{border-top:1px solid rgba(255,255,255,.1);padding-top:1rem;margin-top:1rem}.experience-details h4{color:#00d4ff;margin-bottom:.5rem;font-size:1rem}.experience-details ul{list-style:none;padding:0;margin:0 0 1rem}.experience-details li{padding:.3rem 0 .3rem 1.5rem;position:relative}.experience-details li:before{content:"▸";position:absolute;left:0;color:#00d4ff}.education-section{margin-bottom:3rem;padding:1.5rem;background:#ffffff08;border-radius:10px}.education-section h3{color:#00d4ff;margin-bottom:1rem}.education-item p{margin:.5rem 0;padding-left:1rem;border-left:2px solid #00d4ff}@keyframes glow{0%{box-shadow:0 0 5px #ff6b3580}to{box-shadow:0 0 20px #ff6b35cc}}.git-timeline{position:relative;padding-left:60px;margin-bottom:3rem}.git-timeline:after{content:"";position:absolute;width:3px;background:linear-gradient(to bottom,#00d4ff,#06f);top:85px;bottom:30px;left:30px;border-radius:3px;box-shadow:0 0 10px #00d4ff4d}.git-branch-labels{display:flex;margin-bottom:1.5rem;gap:1rem}.branch-label{padding:.4rem .8rem;border-radius:4px;font-size:.85rem;font-weight:600;box-shadow:0 2px 5px #0003;transition:all .3s ease}.branch-label.main{background:linear-gradient(135deg,#00d4ff,#06f);color:#fff;border:1px solid #0066ff}.branch-label.feature{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;border:1px solid #2E7D32}.branch-label.hotfix{background:linear-gradient(135deg,#ff5722,#d84315);color:#fff;border:1px solid #D84315}.git-commit{position:relative;margin-bottom:2rem;padding-left:30px;transition:all .3s ease}.git-commit:hover{transform:translate(5px)}.git-commit:before{content:"";position:absolute;width:20px;height:2px;background:#00d4ff;left:0;top:25px;z-index:1}.commit-hash{position:absolute;left:-15px;top:15px;z-index:2;display:flex;flex-direction:column;align-items:center}.hash-icon{width:30px;height:30px;background:#1a1a1a;border:3px solid #00d4ff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#00d4ff;font-size:18px;box-shadow:0 0 10px #00d4ff80;transition:all .3s ease}.git-commit:hover .hash-icon{transform:scale(1.1);box-shadow:0 0 15px #00d4ffcc}.git-commit.main .hash-icon{border-color:#00d4ff;color:#00d4ff}.git-commit.feature .hash-icon{border-color:#4caf50;color:#4caf50}.git-commit.branch .hash-icon{border-color:#ff5722;color:#ff5722}.version-tag{position:absolute;left:-60px;top:20px;background:#1a1a1a;color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600;border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 5px #0003}.git-commit.main .version-tag{background:#00d4ff;color:#000}.git-commit.feature .version-tag{background:#4caf50;color:#fff}.git-commit.branch .version-tag{background:#ff5722;color:#fff}.commit-content{background:#ffffff0d;border-radius:10px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.git-commit.main .commit-content{border-left:4px solid #00d4ff}.git-commit.feature .commit-content{border-left:4px solid #4CAF50}.git-commit.branch .commit-content{border-left:4px solid #FF5722}.git-commit:hover .commit-content{background:#ffffff1a;box-shadow:0 8px 25px #00d4ff33}.commit-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.commit-header h2{margin:0 0 .5rem;font-size:1.3rem;color:#00d4ff}.git-commit.feature .commit-header h2{color:#4caf50}.git-commit.branch .commit-header h2{color:#ff5722}.commit-meta{flex:1}.commit-meta .company{font-weight:600;color:#fff;margin:.25rem 0}.commit-meta .period{font-size:.9rem;color:#ffffffb3}.current-badge{display:inline-block;background:#0f8;color:#000;padding:.2rem .5rem;border-radius:15px;font-size:.8rem;font-weight:600;margin-left:1rem;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #00ff88b3}70%{box-shadow:0 0 0 10px #0f80}to{box-shadow:0 0 #0f80}}.commit-details{border-top:1px solid rgba(255,255,255,.1);padding-top:1rem;margin-top:1rem}.commit-details h4{color:#00d4ff;margin-bottom:.5rem;font-size:1rem}.git-commit.feature .commit-details h4{color:#4caf50}.git-commit.branch .commit-details h4{color:#ff5722}.commit-details ul{list-style:none;padding:0;margin:0 0 1rem}.commit-details li{padding:.3rem 0 .3rem 1.5rem;position:relative;color:#ffffffe6}.commit-details li:before{content:"▸";position:absolute;left:0;color:#00d4ff}.git-commit.feature .commit-details li:before{color:#4caf50}.git-commit.branch .commit-details li:before{color:#ff5722}@media (max-width: 768px){.professional-summary-home{margin:1rem 0;padding:.8rem}.professional-summary-home p{font-size:.9rem}.timeline:after{left:90px}.container{width:100%;padding-left:120px;padding-right:30px}.container.right{left:0%}.container.left:after,.container.right:after{left:82px}.container.left:before,.container.right:before{left:100px;border-color:transparent rgba(0,212,255,.7) transparent transparent}.container.left .date,.container.right .date{right:auto;left:15px}.container.left .content,.container.right .content{border-right:3px solid rgba(255,255,255,.1);border-left:3px solid #00d4ff;border-radius:0 15px 15px 0}.git-timeline{padding-left:40px}.git-timeline:after{left:20px}.commit-hash{left:-10px}.version-tag{left:-50px;font-size:10px}.commit-header{flex-direction:column}.expand-btn{align-self:flex-end;margin-top:10px}.cert-grid{grid-template-columns:1fr;gap:.8rem}.cert{padding:.7rem 1rem;font-size:.85rem}}
