: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}}.frontpage{display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;padding:5vh 2vw}.frontpage-image-container{width:15rem;height:15rem;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 8px #0000001a}.frontpage-image{width:100%;height:100%;object-fit:cover;object-position:center}.front-page-name{transform:rotate(-3deg);font-style:italic;font-size:1.8rem;margin-top:1rem}.frontpage-social{margin-top:2vh;display:flex;gap:15px;flex-wrap:wrap;justify-content:center}@media screen and (max-width: 768px){.frontpage-image-container{width:12rem;height:12rem}.front-page-name{font-size:1.5rem;transform:rotate(0)}.frontpage-social{gap:10px}}@media screen and (max-width: 1024px) and (max-height: 600px){.frontpage{flex-direction:row;justify-content:space-evenly;align-items:center;padding:3vh 5vw}.frontpage-image-container{width:10rem;height:10rem}.front-page-name{font-size:1.6rem;margin-top:0;transform:rotate(0)}.frontpage-social{flex-direction:row;justify-content:center;gap:12px}}.about{display:flex;height:50vh;width:100%;margin-bottom:5%;justify-content:center;align-items:center;flex-wrap:wrap}.about .contact{width:20%;display:flex;flex-direction:column;justify-content:flex-start;margin:8% 2% 0}.about .contact ul{list-style-type:none;padding-left:0;text-align:left;margin:0}.about .contact li{margin-bottom:20px}.title{font-weight:700}.description{width:40%;text-align:justify;display:flex;margin-top:2%;flex-direction:column;justify-content:flex-start}.description>.icons{display:flex;gap:15px}.icono-idioma>img{width:25px;height:25px}@media (max-width: 768px){.about{flex-direction:column;height:auto;justify-content:center;align-items:center;padding:10px}.about .contact{width:80%;margin:2% 0;display:flex;flex-direction:column;justify-content:center;align-items:center}.about .description{width:80%;margin:2% 0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.about .contact ul{padding-left:10px}.about .contact li{margin-bottom:10px}.description{text-align:center}}@media (max-width: 1024px) and (max-height: 600px){.about{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;height:auto;padding:3%}.about .contact{width:100%;text-align:center;margin:10px 0;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.about .description{width:90%;text-align:justify;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:5px;box-sizing:border-box}.about .contact ul{text-align:center;margin-top:10px}.description>.icons{display:flex;justify-content:center;gap:10px}}.progress-container{width:90%;max-width:600px;margin:30px auto;text-align:center;font-family:Segoe UI,Roboto,Arial,sans-serif}.progress-bar-background{width:100%;height:30px;background-color:#f0f0f0;border-radius:999px;box-shadow:inset 0 2px 4px #0000001a;overflow:hidden;position:relative}.progress-bar{height:100%;background:linear-gradient(90deg,#0839fe,#3665ff);border-radius:999px;box-shadow:0 2px 5px #0839fe4d;transition:width .8s cubic-bezier(.34,1.56,.64,1);position:relative}.progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#ffffff4d,#ffffff1a 40%,#0000000d);border-radius:999px}.percentage-text{margin-top:12px;font-size:18px;font-weight:600;color:#fff;letter-spacing:.5px;transition:all .3s ease}@keyframes pulse{0%{opacity:.6}50%{opacity:.9}to{opacity:.6}}.progress-bar.animated{animation:pulse 2s infinite}.progress-low .progress-bar{background:linear-gradient(90deg,#ff5f6d,#ffc371)}.progress-medium .progress-bar{background:linear-gradient(90deg,#ffd166,#06d6a0)}.progress-high .progress-bar{background:linear-gradient(90deg,#06d6a0,#0839fe)}@media screen and (max-width: 480px){.progress-container{width:95%;max-width:400px}.progress-bar-background{height:20px}.percentage-text{font-size:16px;margin-top:8px}}@media screen and (max-width: 1024px) and (max-height: 600px){.progress-container{width:80%}.progress-bar-background{height:25px}.percentage-text{font-size:17px}}.projects{margin:8% 0 4%}@media (max-width: 768px){.projects{margin:4% 0 3%}}@media (max-width: 480px){.projects{margin:3% 0 2%}}@media screen and (max-width: 1024px) and (max-height: 600px){.projects{margin:3% 0 2.5%}}@media (max-width: 380px){.projects{margin:2% 0 1.5%}}.footer{display:flex;align-items:center;justify-content:center;margin-top:auto;background-color:#333;color:#fff;padding:1rem}@media screen and (max-width: 480px){.footer{margin-top:5%;padding:.5rem;flex-direction:column;text-align:center}}@media screen and (max-width: 1024px) and (max-height: 600px){.footer{margin-top:12%;flex-direction:row;padding:.8rem 2rem;text-align:center;width:100%}}.timeline-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:#031a2e;color:#fff;padding:2rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.timeline-title{font-size:2.8rem;font-family:monospace;margin-bottom:6rem;letter-spacing:1px}.timeline{position:relative;max-width:1200px;margin:0 auto;width:100%}.timeline-line{position:absolute;left:50%;transform:translate(-50%);width:4px;background-color:#1e5799;height:100%;top:0}.section-header{position:relative;text-align:center;margin-bottom:4rem;z-index:2}.section-header span{background-color:#0c2642;color:#fff;padding:8px 20px;border-radius:4px;font-weight:700;font-size:1.1rem;letter-spacing:1px;display:inline-block}.section-header.education{margin-top:4rem}.timeline-item{display:flex;justify-content:center;margin-bottom:6rem;position:relative}.timeline-content{width:45%;padding:0 20px;position:relative}.timeline-content.left{text-align:right}.timeline-content.right{text-align:left}.timeline-content h3{font-size:1.3rem;margin-bottom:.4rem;font-weight:600}.timeline-date{color:#a0aec0;font-size:.9rem;margin-bottom:1.2rem}.timeline-description{text-align:justify;font-size:.95rem;line-height:1.5}.timeline-dot{background-color:#2563eb;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;margin:0 10px}.briefcase-icon{font-size:1.3rem}.timeline-end{display:flex;justify-content:center;margin-top:20px;position:relative}.timeline-end-dot{width:24px;height:24px;background-color:#1e5799;border-radius:50%;position:absolute;top:-12px;z-index:3}@media screen and (max-width: 768px){.timeline-container{padding:1rem}.timeline-title{font-size:2rem;margin-bottom:3rem}.timeline-line{left:40px;transform:none;height:auto}.timeline-item{flex-direction:column;align-items:flex-start;margin-left:40px;margin-bottom:4rem}.timeline-dot{margin:0;position:absolute;left:0;transform:translate(-50%)}.timeline-content{width:100%;padding-left:50px}.timeline-content.left,.timeline-content.right{text-align:left}.timeline-content.left{display:block}.timeline-content.right{margin-top:0}.section-header{text-align:left;margin-left:20px}.timeline-end{display:flex;justify-content:center;margin-top:20px;position:relative}.timeline-end-dot{width:20px;height:20px;background-color:#4a6fa5;border-radius:50%;z-index:2}.timeline-item{margin-bottom:4rem}.timeline-content h3{font-size:1.1rem}.timeline-description{font-size:.85rem}.section-header span{font-size:1rem;padding:6px 15px}}@media screen and (max-width: 480px){.timeline-container{padding:1rem;text-align:center}.timeline-title{font-size:1.8rem;margin-bottom:2rem}.timeline-line{display:none}.timeline-item{flex-direction:column;align-items:center;text-align:center;margin:0 auto 2rem;width:100%}.timeline-dot{visibility:hidden}.timeline-content{width:90%;max-width:400px;padding:0}.timeline-content h3{font-size:1.2rem;font-weight:700}.timeline-date{font-size:.9rem;color:#a0aec0;margin-bottom:.5rem}.timeline-description{font-size:1rem;line-height:1.6;text-align:justify;padding:0 10px;list-style-position:inside;margin:0 auto;max-width:350px}.section-header{text-align:center;margin-bottom:1.5rem}.section-header span{font-size:1rem;padding:6px 12px}.timeline-end-dot{display:none}}@media screen and (max-width: 1024px) and (max-height: 600px){.timeline-container{padding:1.5rem}.timeline{width:95%}.timeline-line{display:block;width:2px;background-color:#1e5799;position:absolute;top:0;left:50%;height:100%;transform:translate(-50%)}.timeline-item{flex-direction:row;align-items:center;justify-content:center;gap:15px;margin-bottom:3rem}.timeline-dot{width:36px;height:36px;background-color:#1e5799;border-radius:50%;display:flex;justify-content:center;align-items:center}.timeline-content{width:100%;text-align:center;padding:10px}.timeline-content.left,.timeline-content.right{text-align:center}}html,body,#root{margin:0;padding:0;width:100%;overflow-x:hidden;background-color:#031a2e}#root{width:100%;margin:0;padding:0;text-align:center;font-family:Space Mono,monospace;color:#fff}#root>div{display:flex;flex-direction:column;width:100%;margin:0;padding:0}#root>div>section{margin:0;padding:0;width:100%;position:relative}.contenedor{width:100%;height:auto}.frontpage{height:100vh;width:100%;margin:0;padding:0;position:relative;background-image:url(/assets/campoFondo-DubnipuV.png);background-repeat:no-repeat;background-position:center;background-size:cover;background-attachment:fixed}.frontpage:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0006;z-index:1}.frontpage>*{position:relative;z-index:2}.proyects{margin-top:5%}.spacer{height:12rem}@media (max-width: 700px){.spacer{height:8rem}}@media (max-width: 480px){.spacer{height:auto}}.stack{margin-top:5%;margin-left:auto;margin-right:auto;width:40%;height:50vh}.tecnologies{display:flex;gap:4%;justify-content:center;align-items:center;flex-wrap:wrap}.tecnologies div{display:flex;justify-content:center;align-items:center;padding:10px;margin:10px;transition:transform .3s ease-in-out;box-shadow:0 0 15px #ffffffb3}.tecnologies div:hover{transform:scale(1.1);box-shadow:0 0 25px #ffffffe6}.tecnologies img{width:60px;height:60px;object-fit:contain}@media (max-width: 768px){.stack{width:80%;height:40vh}.tecnologies{gap:2%}.tecnologies div{padding:8px;margin:8px}.tecnologies img{width:50px;height:50px}}@media (max-width: 480px){.stack{width:90%;height:50vh;margin-bottom:5%}.tecnologies{gap:1%}.tecnologies div{padding:6px;margin:6px}.tecnologies img{width:40px;height:40px}}@media screen and (max-width: 1024px) and (max-height: 600px){.stack{margin-top:5%;width:60%;height:45vh}.tecnologies{gap:3%}.tecnologies div{padding:9px;margin:9px}.tecnologies img{width:55px;height:55px}}.services{background-color:#031a2e;color:#fff;padding:4rem 1rem;font-family:Arial,sans-serif}.services-title{font-size:3rem;text-align:center;margin-bottom:4rem;font-family:Courier New,monospace;font-weight:700}.services-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1200px;margin:0 auto}@media (min-width: 768px){.services-grid{grid-template-columns:repeat(3,1fr)}}.service-card{display:flex;flex-direction:column;align-items:center;text-align:center}.service-icon-container{background-color:#1e5799;border-radius:50%;padding:1.5rem;margin-bottom:1rem;display:flex;justify-content:center;align-items:center;width:5rem;height:5rem}.service-icon{width:3rem;height:3rem;color:#fff}.service-title{font-size:1.8rem;margin-bottom:.5rem;font-family:Courier New,monospace;font-weight:700}.service-description{font-size:1rem;max-width:90%;margin:0 auto;line-height:1.4}
