*{margin:0;padding:0;box-sizing:border-box}#root{font-family:Roboto,sans-serif;background-color:#0d0d0d}.loader-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0d0d0df2;display:flex;align-items:center;justify-content:center;z-index:10000;pointer-events:all;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loader-overlay .loader-icon{width:90px;height:90px;object-fit:contain;filter:drop-shadow(0 0 10px #2575FC)}.navbar-custom{background:#0d0d0dcc!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(245,245,245,.1);box-shadow:0 8px 32px #0000005e!important}.nav-link{color:#f5f5f5!important;font-weight:500!important;text-transform:capitalize!important;letter-spacing:.5px;transition:all .3s ease!important;position:relative}.nav-link:hover{color:#2575fc!important;background:transparent!important}.nav-link.active{color:#2575fc!important}.nav-link.active:after{content:"";position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:5px;height:5px;background-color:#2575fc;border-radius:50%;box-shadow:0 0 10px #2575fc}.lang-btn{border-radius:50px!important;border:1px solid rgba(37,117,252,.4)!important;background:transparent!important;font-weight:700!important;padding:5px 15px!important;transition:all .3s ease!important}.lang-btn:hover{background:#2575fc!important;color:#f5f5f5!important;box-shadow:0 0 15px #2575fc66}.portada{min-height:100vh;height:100vh;position:relative;display:flex;justify-content:center;align-items:center;color:#fff;overflow:hidden}.portada:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#000000b3,#000000b3),url(/assets/bannerPortada-BTWz6fGC.jpg) center/cover no-repeat;background-attachment:fixed;z-index:0;will-change:transform}.portada .portadaOverlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#000c,#0003);z-index:1}.portada .portadaContenido{z-index:2;text-align:center;padding:0 20px}.portada .portadaContenido .titulo{font-size:clamp(2.5rem,8vw,4.5rem);font-weight:800;letter-spacing:-1px;margin-bottom:.5rem;text-shadow:0 4px 10px rgba(0,0,0,.5)}.portada .portadaContenido .cursor{display:inline-block;width:1ch;height:1.2em;background:currentColor;margin-left:2px;animation:blink .7s steps(1) infinite;vertical-align:bottom}.portada .portadaContenido .subtituloContenedor{animation:fadeInUp 1s ease forwards;opacity:0}.portada .portadaContenido .subtitulo{margin-top:1.5rem;font-size:clamp(1rem,3vw,1.4rem);font-weight:300;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;color:#f5f5f5f2;text-shadow:0 2px 4px rgba(0,0,0,.8)}.portada .portadaContenido .subtitulo .divisor{color:#2575fc;font-weight:700;margin:0 10px;text-shadow:none}@media (max-width: 768px){.portada .portadaContenido .subtitulo .divisor{display:none}}.portada .portadaContenido .subtitulo .rol{white-space:nowrap}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.botonCV{display:block;width:100%;max-width:400px;margin:2rem auto 0;text-align:center;background:#2575fc;color:#f5f5f5;font-weight:700;padding:1rem 0;border:none;border-radius:50px;font-size:1.1rem;text-decoration:none;cursor:pointer;transition:all .3s ease;box-sizing:border-box}.botonCV:hover{background:#0350d2;transform:scale(1.05);box-shadow:0 0 20px #2575fc66}.botonCV:active{transform:scale(.98)}.sobreMi{display:flex;justify-content:center;align-items:center;flex-direction:column;margin:60px auto;padding:50px 40px;max-width:1000px;background:#f5f5f50d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(245,245,245,.1);border-radius:30px;box-shadow:0 8px 32px #0000005e;transition:all .4s ease}.sobreMi:hover{transform:translateY(-10px);border-color:#2575fc66;background:#f5f5f514}.sobreMi .tituloSobreMi{font-weight:800;font-size:2.8rem;color:#f5f5f5;background-color:transparent;width:auto;margin-bottom:20px}.sobreMi .tituloSobreMi:after{content:"";display:block;width:50px;height:4px;background:#2575fc;margin:10px auto;border-radius:2px}.sobreMi .textoSobreMi{text-align:center;font-size:1.15rem;line-height:1.8;color:#f5f5f5;margin:20px 0 35px;max-width:850px;opacity:.85;text-wrap:pretty}.tecnologias{background-color:#0d0d0d;color:#f5f5f5;margin:60px 20px;display:flex;flex-direction:column;align-items:center}.tecnologias h2{background:transparent;color:#f5f5f5;font-size:2.8rem;font-weight:800;text-align:center;margin-bottom:40px;width:auto}.tecnologias h2:after{content:"";display:block;width:60px;height:4px;background:#2575fc;margin:15px auto;border-radius:2px}.tecnologias .tecnologiasContenedor{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:1.5rem;padding-top:20px;padding-bottom:20px;max-width:1200px;margin:0 auto}.tecnologias .tecnologiasContenedor .tecnologiasCarta{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:0 1 calc(25% - 1.5rem);min-width:200px;background:#f5f5f50d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:20px;border:1px solid rgba(245,245,245,.1);box-shadow:0 8px 32px #0000005e;transition:transform .5s}.tecnologias .tecnologiasContenedor .tecnologiasCarta img{width:100%;max-width:120px;height:auto;aspect-ratio:1/1;object-fit:contain;margin-bottom:.5rem}.tecnologias .tecnologiasContenedor .tecnologiasCarta p{color:#f5f5f5;font-size:1.1rem;font-weight:700;margin-top:10px;text-align:center}.tecnologias .tecnologiasContenedor .tecnologiasCarta:hover{transform:scale(1.05) translateY(-5px);border-color:#2575fc66;background:#f5f5f514}@media (max-width: 1200px){.tecnologias .tecnologiasContenedor .tecnologiasCarta{flex-basis:calc(25% - 1.5rem)}}@media (max-width: 911px){.tecnologias .tecnologiasContenedor .tecnologiasCarta{flex-basis:calc(25% - 1.5rem);min-width:160px;padding:20px}}@media (max-width: 760px){.tecnologias .tecnologiasContenedor .tecnologiasCarta{flex-basis:calc(50% - 1.5rem);min-width:140px}}@media (max-width: 509px){.tecnologias .tecnologiasContenedor .tecnologiasCarta{flex-basis:calc(50% - 1rem);min-width:120px;padding:15px}.tecnologias .tecnologiasContenedor .tecnologiasCarta p{font-size:.85rem}}.educacion{margin:60px 20px;display:flex;flex-direction:column;align-items:center}.educacion h2{background:transparent;color:#f5f5f5;font-size:2.8rem;font-weight:800;text-align:center;margin-bottom:40px}.educacion h2:after{content:"";display:block;width:60px;height:4px;background:#2575fc;margin:15px auto;border-radius:2px}.educacion .educacionContenedor{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;width:100%;max-width:1200px}.educacion .educacionContenedor .educacionCarta{flex:1 1 400px;max-width:550px;display:flex;flex-direction:column;justify-content:space-between;background:#f5f5f50d;border:1px solid rgba(245,245,245,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;padding:35px;transition:all .4s ease;align-items:center;text-align:center}.educacion .educacionContenedor .educacionCarta:hover{transform:translateY(-10px);border-color:#2575fc66;background:#f5f5f514;box-shadow:0 8px 32px #0000005e}.educacion .educacionContenedor .educacionCarta .educacionHeader{margin-bottom:15px}.educacion .educacionContenedor .educacionCarta .educacionHeader h3{font-size:1.6rem;margin-bottom:10px;color:#f5f5f5}.educacion .educacionContenedor .educacionCarta .educacionHeader .badgeInstitucion{background:#2575fc33;color:#2575fc;border:1px solid rgba(37,117,252,.4);padding:5px 14px;border-radius:50px;font-size:.85rem;font-weight:600}.educacion .educacionContenedor .educacionCarta .educacionFecha{font-size:.95rem;color:#bbb;margin-bottom:15px}.educacion .educacionContenedor .educacionCarta .educacionExpiracion{font-size:.9rem;color:#0f9;margin-bottom:15px}.educacion .educacionContenedor .educacionCarta .educacionTags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;justify-content:center}.educacion .educacionContenedor .educacionCarta .educacionTags .educacionTag{font-size:.8rem;background:#f5f5f50d;border:1px solid rgba(245,245,245,.1);padding:4px 10px;border-radius:6px;color:#bbb}.educacion .educacionContenedor .educacionCarta .educacionCertificado{margin-top:auto;padding:1rem 2.5rem;text-align:center;background:#2575fc;color:#f5f5f5;border-radius:50px;text-decoration:none;font-weight:700;font-size:1rem;transition:all .3s ease;width:100%;box-sizing:border-box}.educacion .educacionContenedor .educacionCarta .educacionCertificado:hover{background:#0350d2;transform:scale(1.05);box-shadow:0 0 15px #2575fc4d}.educacion .educacionContenedor .educacionCarta .educacionCertificado:active{transform:scale(.98)}@media (max-width: 768px){.educacion .educacionContenedor .educacionCarta{flex-basis:100%}}.proyectos{margin:60px 20px;display:flex;flex-direction:column;align-items:center}.proyectos h2{background:transparent;color:#f5f5f5;font-size:2.8rem;font-weight:800;text-align:center;margin-bottom:40px}.proyectos h2:after{content:"";display:block;width:60px;height:4px;background:#2575fc;margin:15px auto;border-radius:2px}.proyectos .proyectosContenedor{display:flex;flex-direction:column;gap:3rem;align-items:center;width:100%;max-width:1100px}.proyectos .proyectosContenedor .proyectoTarjeta{background:#f5f5f50d;border:1px solid rgba(245,245,245,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:30px;color:#f5f5f5;width:100%;display:flex;flex-direction:column;align-items:center;padding:3rem 2rem;box-sizing:border-box;box-shadow:0 8px 32px #0000005e;transition:all .4s ease;backface-visibility:hidden;transform:translateZ(0);-webkit-font-smoothing:subpixel-antialiased}.proyectos .proyectosContenedor .proyectoTarjeta:hover{transform:translateY(-10px) translateZ(0);border-color:#2575fc66;background:#f5f5f514}.proyectos .proyectosContenedor .proyectoTarjeta .proyectoImg{width:100%;max-width:850px;height:auto;border-radius:20px;margin-bottom:2rem;box-shadow:0 8px 32px #0000005e;object-fit:cover}.proyectos .proyectosContenedor .proyectoTarjeta .proyectoTitulo{color:#f5f5f5;font-size:2.2rem;font-weight:800;margin-bottom:1rem;text-align:center}.proyectos .proyectosContenedor .proyectoTarjeta .proyectoDescripcion{font-size:1.15rem;line-height:1.7;margin-bottom:1.5rem;text-align:center;opacity:.9;max-width:800px}.proyectos .proyectosContenedor .proyectoTarjeta .proyectoTecnologias{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-bottom:2rem}.proyectos .proyectosContenedor .proyectoTarjeta .proyectoTecnologias .proyectoTecnologia{display:flex;align-items:center;gap:.5rem;background:#f5f5f50d;border:1px solid rgba(245,245,245,.1);border-radius:50px;padding:.4rem 1rem;font-size:.9rem;color:#bbb}.proyectos .proyectosContenedor .proyectoTarjeta .proyectoTecnologias .proyectoTecnologia .proyectoTecnologiaLogo{width:20px;height:20px}.proyectos .proyectosContenedor .proyectoTarjeta .proyectoMasInfo{display:inline-block;background:#2575fc;color:#f5f5f5;font-weight:700;padding:1rem 3rem;border-radius:50px;font-size:1.1rem;text-decoration:none;transition:all .3s ease}.proyectos .proyectosContenedor .proyectoTarjeta .proyectoMasInfo:hover{background:#0350d2;box-shadow:0 0 20px #2575fc66;transform:scale(1.05)}.carrusel{position:relative;width:100%;max-width:1000px;margin:0 auto 3rem}.carrusel .carrusel-wrapper{position:relative;border-radius:20px;border:1px solid rgba(245,245,245,.1);box-shadow:0 8px 32px #0000005e;overflow:hidden}.carrusel .carrusel-wrapper .carrusel-track{display:flex;transition:transform .6s ease-in-out;width:100%}.carrusel .carrusel-wrapper .carrusel-track img{flex-shrink:0;width:100%;border-radius:0;object-fit:contain;background:#0003}.carrusel .carrusel-wrapper .flecha{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:50px;height:50px;cursor:pointer;display:flex;justify-content:center;align-items:center;background:#0d0d0d66!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(245,245,245,.1)!important;border-radius:50%;color:#f5f5f5;font-size:2rem;line-height:0;transition:all .4s cubic-bezier(.4,0,.2,1)}.carrusel .carrusel-wrapper .flecha.izq{left:1rem;padding-right:3px;padding-bottom:6px}.carrusel .carrusel-wrapper .flecha.der{right:1rem;padding-left:3px;padding-bottom:6px}.carrusel .carrusel-wrapper .flecha:hover{background:#2575fc!important;border-color:#2575fc!important;transform:translateY(-50%) scale(1.15);box-shadow:0 0 15px #2575fc66}.carrusel .carrusel-wrapper .flecha:active{transform:translateY(-50%) scale(.95)}.carrusel .dots{bottom:-25px!important}.carrusel .dots .dot{width:10px;height:10px;background:#f5f5f533}.carrusel .dots .dot.activo{background:#2575fc;box-shadow:0 0 10px #2575fc}.proyectos{padding-bottom:40px}.proyectos .proyectoTarjeta.detalle{background:#f5f5f50d;border:1px solid rgba(245,245,245,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:30px;color:#f5f5f5;width:95%;max-width:1200px;margin:40px auto;padding:4rem 2rem;box-shadow:0 8px 32px #0000005e}.proyectos .proyectoTarjeta.detalle .proyectoTitulo{color:#f5f5f5;font-size:3rem;font-weight:800;margin-bottom:2rem;text-align:center}.proyectos .proyectoTarjeta.detalle .proyectoTitulo:after{content:"";display:block;width:80px;height:4px;background:#2575fc;margin:15px auto;border-radius:2px}.proyectos .proyectoTarjeta.detalle .descripcionDetalle{font-size:1.25rem;line-height:1.8;margin:0 auto 2.5rem;text-align:center;max-width:900px;opacity:.9;display:block}.proyectos .proyectoTarjeta.detalle .proyectoTecnologias{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem}.proyectos .proyectoTarjeta.detalle .proyectoTecnologias .proyectoTecnologia{display:flex;align-items:center;gap:.6rem;background:#f5f5f50d;border:1px solid rgba(245,245,245,.1);border-radius:50px;padding:.5rem 1.2rem;font-size:1rem}.proyectos .proyectoTarjeta.detalle .proyectoTecnologias .proyectoTecnologia .proyectoTecnologiaLogo{width:24px;height:24px}.proyectos .proyectoTarjeta.detalle .proyectoBotones{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center}.proyectos .proyectoTarjeta.detalle .proyectoBotones .proyectoMasInfo{background:#2575fc;color:#f5f5f5;padding:1rem 3rem;border-radius:50px;font-weight:700;transition:all .3s ease;text-decoration:none}.proyectos .proyectoTarjeta.detalle .proyectoBotones .proyectoMasInfo:hover{background:#0350d2;transform:translateY(-3px);box-shadow:0 10px 20px #2575fc4d}.proyectos .proyectoTarjeta.detalle .volverProyectos{margin-top:4rem;border-top:1px solid rgba(245,245,245,.1);padding-top:2rem;width:100%}.proyectos .proyectoTarjeta.detalle .volverProyectos .volverLink{color:#bbb;text-decoration:none;font-size:1.1rem;transition:color .3s;display:flex;align-items:center;justify-content:center;gap:8px}.proyectos .proyectoTarjeta.detalle .volverProyectos .volverLink:hover{color:#f5f5f5}.footer{background:#f5f5f50d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(245,245,245,.1);color:#f5f5f5;padding:3rem 1rem;text-align:center;margin-top:60px}.footer .footerRedes{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem}.footer .footerRedes a{display:flex;justify-content:center;align-items:center;width:55px;height:55px;background:#f5f5f50d;border:1px solid rgba(245,245,245,.1);border-radius:50%;transition:all .3s ease;padding:12px;overflow:hidden}.footer .footerRedes a img{width:100%;height:100%;filter:brightness(0) invert(1);transition:transform .3s ease,filter .3s ease}.footer .footerRedes a:hover{background:#2575fc26;border-color:#2575fc80;transform:translateY(-5px);box-shadow:0 5px 15px #0000004d}.footer .footerRedes a:hover img{transform:scale(1.1);filter:brightness(0) invert(1) drop-shadow(0 0 2px rgba(37,117,252,.5))}.footer p{font-size:1rem;font-weight:300;letter-spacing:1px;opacity:.8}.contacto{margin:60px 20px;display:flex;flex-direction:column;align-items:center;min-height:70vh}.contacto h2{background:transparent;color:#f5f5f5;font-size:2.8rem;font-weight:800;text-align:center;margin-bottom:20px}.contacto h2:after{content:"";display:block;width:60px;height:4px;background:#2575fc;margin:15px auto;border-radius:2px}.contacto .contactoIntro{font-size:1.25rem;line-height:1.7;margin-top:1rem;max-width:650px;text-align:center;color:#f5f5f5d9}.contacto .contactoTarjetas{display:flex;flex-wrap:wrap;justify-content:center;gap:2.5rem;margin-top:4rem;width:100%}.contacto .contactoTarjetas .contactoTarjeta{background:#f5f5f50d;border:1px solid rgba(245,245,245,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:30px;width:300px;max-width:90%;padding:3rem 2rem;text-align:center;box-shadow:0 8px 32px #0000005e;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.contacto .contactoTarjetas .contactoTarjeta:hover{transform:translateY(-12px);border-color:#2575fc66;background:#f5f5f514}.contacto .contactoTarjetas .contactoTarjeta img{width:80px;height:80px;object-fit:contain;margin-bottom:2rem;filter:brightness(0) invert(1) drop-shadow(0 0 15px rgba(37,117,252,.4));transition:transform .3s ease}.contacto .contactoTarjetas .contactoTarjeta .contactoBoton{display:inline-block;background-color:#2575fc;color:#f5f5f5;padding:.8rem 2rem;border-radius:50px;text-decoration:none;font-weight:700;font-size:1rem;transition:all .3s ease;width:100%;box-sizing:border-box}.contacto .contactoTarjetas .contactoTarjeta .contactoBoton:hover{background-color:#0350d2;box-shadow:0 0 15px #2575fc66;transform:scale(1.05)}@media (max-width: 600px){.contacto h2{font-size:2.2rem}.contacto .contactoTarjetas{gap:1.5rem}}
