body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{display:flex;flex-direction:column;text-align:center;width:100hv}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}html{scroll-behavior:smooth}.navigation-bar{background-color:#0000;left:0;position:fixed;right:0;top:0;transition:background-color .3s ease,box-shadow .3s ease;z-index:100}.navigation-bar.scrolled{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:var(--nav-bg-scrolled);box-shadow:0 1px 0 var(--border-color)}.navigation-bar .navigation-container{margin-left:auto;margin-right:auto;max-width:1200px;padding-left:1rem;padding-right:1rem}@media(min-width:768px){.navigation-bar .navigation-container{padding-left:1.5rem;padding-right:1.5rem}}.navigation-bar .navigation-container{align-items:center;display:flex;height:80px;justify-content:space-between}@media(max-width:768px){.navigation-bar .navigation-container{height:64px}}.navigation-bar .nav-logo{align-items:center;display:flex;gap:.5rem}.navigation-bar .nav-logo .logo-icon{align-items:center;background-color:var(--primary-color);border-radius:.625rem;color:#fff;display:flex;font-size:1.125rem;font-weight:700;height:36px;justify-content:center;width:36px}@media(min-width:768px){.navigation-bar .nav-logo .logo-icon{font-size:1.25rem;height:40px;width:40px}}.navigation-bar .nav-logo .logo-text{color:var(--color-secundario);display:none;font-size:1.125rem;font-weight:700}@media(min-width:480px){.navigation-bar .nav-logo .logo-text{display:inline}}@media(min-width:768px){.navigation-bar .nav-logo .logo-text{font-size:1.25rem}}.navigation-bar .nav-desktop{align-items:center;display:flex}.navigation-bar .nav-desktop .nav-links{align-items:center;display:flex;gap:.25rem;list-style:none;margin:0;padding:0}.navigation-bar .nav-desktop .nav-links li .nav-link-btn{background:none;border:none;border-radius:.5rem;color:var(--color-secundario);cursor:pointer;font-family:Inter,Arial,sans-serif;font-size:1rem;font-weight:500;padding:.5rem .75rem;transition:color .2s ease,background-color .2s ease;white-space:nowrap}.navigation-bar .nav-desktop .nav-links li .nav-link-btn:hover{background-color:var(--color-accent);color:var(--primary-color)}.navigation-bar .nav-actions{align-items:center;display:flex;gap:.5rem}@media(min-width:768px){.navigation-bar .nav-actions{gap:.75rem}}.navigation-bar .hamburger-btn{align-items:center;background:none;border:none;border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;gap:5px;height:40px;justify-content:center;padding:8px;transition:background-color .2s ease;width:40px}.navigation-bar .hamburger-btn:hover{background-color:var(--color-accent)}.navigation-bar .hamburger-btn .hamburger-line{background-color:var(--color-secundario);border-radius:2px;display:block;height:2px;transition:transform .3s ease,opacity .2s ease;width:20px}.navigation-bar .hamburger-btn.open .hamburger-line:first-child{transform:translateY(7px) rotate(45deg)}.navigation-bar .hamburger-btn.open .hamburger-line:nth-child(2){opacity:0}.navigation-bar .hamburger-btn.open .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navigation-bar .nav-mobile-menu{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:var(--nav-bg-scrolled);border-top:1px solid var(--border-color);max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease ease-in-out,opacity .2s ease}.navigation-bar .nav-mobile-menu.open{max-height:400px;opacity:1}.navigation-bar .nav-mobile-menu .nav-links{display:flex;flex-direction:column;gap:.25rem;list-style:none;margin:0;padding:1rem 1.5rem 1.5rem}.navigation-bar .nav-mobile-menu .nav-links li .nav-link-btn{background:none;border:none;border-radius:.5rem;color:var(--color-secundario);cursor:pointer;display:block;font-family:Inter,Arial,sans-serif;font-size:1.125rem;font-weight:600;padding:.75rem 1rem;text-align:left;transition:color .2s ease,background-color .2s ease;width:100%}.navigation-bar .nav-mobile-menu .nav-links li .nav-link-btn:hover{background-color:var(--color-accent);color:var(--primary-color)}.LanguageSwitcher{align-items:center;display:flex}.LanguageSwitcher .lang-toggle-btn{align-items:center;background:#0000;border:none;border-radius:999px;color:var(--color-secundario);cursor:pointer;display:flex;gap:.5rem;height:40px;padding:0 .75rem;transition:background-color .2s ease,color .2s ease}.LanguageSwitcher .lang-toggle-btn:hover{background-color:var(--color-accent);color:var(--primary-color)}.LanguageSwitcher .lang-toggle-btn .icon{height:18px;width:18px}.LanguageSwitcher .lang-toggle-btn .lang-text{font-family:Inter,Arial,sans-serif;font-size:.875rem;font-weight:600}@media(max-width:480px){.LanguageSwitcher .lang-toggle-btn .lang-text{display:none}}.ToggleTheme,.ToggleTheme .theme-button{align-items:center;display:flex}.ToggleTheme .theme-button{background:#0000;border:none;border-radius:50%;color:var(--color-secundario);cursor:pointer;height:40px;justify-content:center;transition:background-color .2s ease,color .2s ease;width:40px}.ToggleTheme .theme-button:hover{background-color:var(--color-accent);color:var(--primary-color)}.ToggleTheme .theme-button .icon{height:20px;width:20px}body{background-color:var(--color-primario);color:var(--text-color);font-family:Inter,Arial,sans-serif;font-size:16px;margin:0;padding:0;scroll-behavior:smooth}a,h1,h2,h3{color:var(--primary-color)}a{text-decoration:none}a:hover{text-decoration:underline}.Home .section{scroll-margin-top:80px}.hero{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding-top:80px;position:relative}.hero .hero-gradient{background:linear-gradient(135deg,var(--hero-gradient-from),#0000,var(--hero-gradient-to));inset:0;position:absolute;z-index:0}.hero .hero-blob{border-radius:50%;filter:blur(60px);position:absolute;z-index:0}.hero .hero-blob--1{animation:blobPulse1 8s ease-in-out infinite;background-color:var(--hero-blob-1);height:250px;left:25%;top:25%;width:250px}.hero .hero-blob--2{animation:blobPulse2 10s ease-in-out infinite;background-color:var(--hero-blob-2);bottom:25%;height:350px;right:25%;width:350px}.hero .hero-content{margin-left:auto;margin-right:auto;max-width:1200px;padding-left:1rem;padding-right:1rem;position:relative;text-align:center;z-index:1}@media(min-width:768px){.hero .hero-content{padding-left:1.5rem;padding-right:1.5rem}}.hero .hero-content{max-width:900px}.hero .hero-title{color:var(--color-secundario);font-size:clamp(2.25rem,5vw,4.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:1.5rem}.hero .hero-subtitle{color:var(--color-muted-foreground);font-size:clamp(1.125rem,2.5vw,1.5rem);line-height:1.6;margin:0 auto 2.5rem;max-width:600px}.hero .hero-ctas{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem}@media(min-width:480px){.hero .hero-ctas{flex-direction:row;justify-content:center}}.hero .scroll-indicator{padding-top:2rem}.hero .scroll-indicator .scroll-indicator__mouse{align-items:flex-start;animation:scrollBounce 2s ease-in-out infinite;border:2px solid var(--color-muted-foreground);border-radius:50%;display:flex;height:24px;justify-content:center;margin:0 auto;padding-top:4px;width:24px}.hero .scroll-indicator .scroll-indicator__dot{background-color:var(--color-muted-foreground);border-radius:50%;height:6px;width:6px}.btn{align-items:center;border:2px solid #0000;border-radius:.625rem;cursor:pointer;display:inline-flex;font-family:Inter,Arial,sans-serif;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;min-width:180px;padding:.75rem 1.5rem;transition:all .3s ease}.btn--primary{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn--primary:hover{background-color:var(--primary-color-dark);border-color:var(--primary-color-dark);box-shadow:0 8px 20px #0003;transform:translateY(-2px)}.btn--outline{background-color:#0000;border-color:var(--border-color);color:var(--color-secundario)}.btn--outline:hover{background-color:var(--color-accent);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px)}.btn .btn-arrow{transition:transform .2s ease}.btn:hover .btn-arrow{transform:translateX(4px)}.btn .btn-icon{font-size:1.125rem}@keyframes blobPulse1{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes blobPulse2{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.AboutMe{margin-left:auto;margin-right:auto;max-width:1200px;padding-left:1rem;padding-right:1rem}@media(min-width:768px){.AboutMe{padding-left:1.5rem;padding-right:1.5rem}}.AboutMe{padding-bottom:5rem;padding-top:5rem}@media(min-width:768px){.AboutMe{padding-bottom:8rem;padding-top:8rem}}.AboutMe .about-me-header{margin-bottom:4rem}.AboutMe .about-me-header h2{color:var(--color-secundario);font-size:clamp(1.875rem,4vw,3rem);font-weight:700;text-align:center}.AboutMe .about-container{grid-gap:3rem;align-items:stretch;display:grid;gap:3rem;grid-template-columns:1fr;margin:0 auto;max-width:1100px}@media(min-width:1024px){.AboutMe .about-container{gap:4rem;grid-template-columns:1fr 1fr}}.AboutMe .about-image-wrapper{margin:0 auto;max-width:400px;order:-1;position:relative;width:100%}@media(min-width:1024px){.AboutMe .about-image-wrapper{height:100%;order:2}}.AboutMe .about-image-wrapper .image-decoration{background:linear-gradient(to bottom right,#0070f333,#ff008033);border-radius:1rem;inset:0;position:absolute;transform:rotate(6deg)}.AboutMe .about-image-wrapper .image-container{aspect-ratio:1/1;background-color:var(--color-muted);border-radius:1rem;overflow:hidden;position:relative}@media(min-width:1024px){.AboutMe .about-image-wrapper .image-container{aspect-ratio:auto;height:100%}}.AboutMe .about-image-wrapper .image-container .profile-image{height:100%;object-fit:cover;width:100%}.AboutMe .about-content{display:flex;flex-direction:column;gap:2rem}@media(min-width:1024px){.AboutMe .about-content{order:1}}.AboutMe .about-text p{color:var(--color-muted-foreground);font-size:1.125rem;margin-bottom:1rem}@media(max-width:768px){.AboutMe .about-text p{font-size:1rem}}.AboutMe .about-text p strong{color:var(--strong-text-color)}.AboutMe .highlights-cards{align-items:stretch;display:flex;flex-direction:column;gap:.75rem;max-width:460px;padding-top:.5rem;width:100%}.AboutMe .highlights-cards .highlight-card{align-items:center;background-color:var(--color-accent);border:none;border-radius:.625rem;box-sizing:border-box;display:flex;font-family:Inter,Arial,sans-serif;gap:.75rem;min-height:96px;padding:.75rem 1rem;text-align:left;text-decoration:none;transition:all .2s ease}.AboutMe .highlights-cards .highlight-card.highlight-btn{background-color:#0070f31a;background-color:rgba(var(--primary-color-rgb,0,112,243),.1);border:1px dashed #0070f366;border:1px dashed rgba(var(--primary-color-rgb,0,112,243),.4);cursor:pointer}.AboutMe .highlights-cards .highlight-card.highlight-btn .card-icon,.AboutMe .highlights-cards .highlight-card.highlight-btn .card-title{color:var(--primary-color)}.AboutMe .highlights-cards .highlight-card.highlight-btn:hover{background-color:var(--primary-color);border-style:solid}.AboutMe .highlights-cards .highlight-card.highlight-btn:hover .card-desc,.AboutMe .highlights-cards .highlight-card.highlight-btn:hover .card-icon,.AboutMe .highlights-cards .highlight-card.highlight-btn:hover .card-title{color:#fff}.AboutMe .highlights-cards .highlight-card.highlight-btn:hover{box-shadow:0 4px 12px #0070f333;box-shadow:0 4px 12px rgba(var(--primary-color-rgb,0,112,243),.2);transform:translateY(-2px)}.AboutMe .highlights-cards .highlight-card:hover:not(.highlight-btn){background-color:var(--color-accent-strong)}.AboutMe .highlights-cards .highlight-card .card-icon-wrapper{align-items:center;background-color:#0070f31a;background-color:rgba(var(--primary-color-rgb,0,112,243),.1);border-radius:.5rem;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.AboutMe .highlights-cards .highlight-card .card-icon-wrapper .card-icon{color:var(--primary-color);height:20px;transition:color .2s ease;width:20px}.AboutMe .highlights-cards .highlight-card .card-info .card-title{color:var(--text-color);font-size:.875rem;font-weight:600;margin-bottom:2px;transition:color .2s ease}.AboutMe .highlights-cards .highlight-card .card-info .card-desc{color:var(--color-muted-foreground);font-size:13px;margin:0;transition:color .2s ease}.aboutMe-section.modal{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:var(--color-surface);border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 24px 48px var(--modal-shadow-color);color:var(--text-color);max-height:80vh;max-width:700px;overflow-y:auto;padding:2rem;position:relative;width:90%}.aboutMe-section.modal::-webkit-scrollbar{width:8px}.aboutMe-section.modal::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:8px}.aboutMe-section.modal::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:8px}.aboutMe-section.modal::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.aboutMe-section.modal h3{border-bottom:1px solid var(--border-color);color:var(--color-secundario);font-size:1.25rem;font-weight:600;margin:0 0 1rem;padding-bottom:.75rem}.aboutMe-section.modal p{color:var(--color-muted-foreground);font-family:Inter,Arial,sans-serif;font-size:1rem;margin-bottom:1.5rem}.aboutMe-section.modal .modal-close-button{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--color-muted-foreground);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:color .2s ease;width:32px}.aboutMe-section.modal .modal-close-button:hover{background-color:var(--color-accent);color:var(--primary-color)}@media(max-width:768px){.aboutMe-section.modal{padding:1.5rem}.aboutMe-section.modal h3{font-size:1.125rem}.aboutMe-section.modal p{font-size:.875rem}}.modal-wrapper{align-items:center;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:visibility 0s linear .3s,opacity .3s ease;visibility:hidden;width:100%;z-index:10000}.modal-wrapper.open{opacity:1;transition-delay:0s;visibility:visible}.modal-wrapper .modal-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000080;height:100%;left:0;position:absolute;top:0;width:100%;z-index:9999}.modal-wrapper .modal{border-radius:1rem;max-height:80vh;padding:2rem;position:relative;transform:scale(.95);transition:transform .3s ease;z-index:10001}.modal-wrapper.open .modal{transform:scale(1)}.Skills{height:600px;margin:0 auto;position:relative;width:600px}.Skills,.Skills h2{align-items:center;display:flex;justify-content:center}.Skills h2{background-color:var(--primary-color);border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;height:40px;letter-spacing:.05em;min-width:120px;padding:.5rem 1rem;text-transform:uppercase;transition:all .3s ease;z-index:10}.Skills h2:hover{box-shadow:0 0 20px var(--primary-color),0 0 40px #0003;transform:scale(1.05)}.Skills h2:active{transform:scale(.98)}.Skills .circle{position:absolute}.Skills .circle.Frontend{animation:rotateleft 10s linear infinite;transform-origin:center}.Skills .circle.Frontend img,.Skills .circle.Frontend span{animation:rotateright 10s linear infinite;transform-origin:center}.Skills .circle.Frontend li:first-child{transform:rotate(0deg) translate(200%) rotate(0deg)}.Skills .circle.Frontend li:nth-child(2){transform:rotate(90deg) translate(200%) rotate(-90deg)}.Skills .circle.Frontend li:nth-child(3){transform:rotate(180deg) translate(200%) rotate(-180deg)}.Skills .circle.Frontend li:nth-child(4){transform:rotate(270deg) translate(200%) rotate(-270deg)}.Skills .circle.Backend{animation:rotateright 10s linear infinite;transform-origin:center}.Skills .circle.Backend img,.Skills .circle.Backend span{animation:rotateleft 10s linear infinite;transform-origin:center}.Skills .circle.Backend li:first-child{transform:rotate(0deg) translate(350%) rotate(0deg)}.Skills .circle.Backend li:nth-child(2){transform:rotate(60deg) translate(350%) rotate(-60deg)}.Skills .circle.Backend li:nth-child(3){transform:rotate(120deg) translate(350%) rotate(-120deg)}.Skills .circle.Backend li:nth-child(4){transform:rotate(180deg) translate(350%) rotate(-180deg)}.Skills .circle.Backend li:nth-child(5){transform:rotate(240deg) translate(350%) rotate(-240deg)}.Skills .circle.Backend li:nth-child(6){transform:rotate(300deg) translate(350%) rotate(-300deg)}.Skills .circle ul{align-items:center;display:flex;justify-content:center;left:50%;list-style-type:none;margin:0;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%)}.Skills .circle:hover,.Skills .circle:hover img,.Skills .circle:hover span,img:hover+.Skills .circle,img:hover+.Skills .circle img,img:hover+.Skills .circle span,span:hover+.Skills .circle,span:hover+.Skills .circle img,span:hover+.Skills .circle span{animation-play-state:paused}.Skills li{align-items:center;display:flex;font-size:18px;justify-content:center;position:absolute;text-align:center}.Skills li:hover img{border-radius:50%;box-shadow:0 0 10px var(--primary-color),0 0 20px var(--primary-color),0 0 30px var(--primary-color),0 0 60px var(--primary-color),0 0 100px var(--primary-color);opacity:.1}.Skills li:hover span{opacity:1;text-shadow:0 0 5px var(--primary-color),0 0 10px var(--primary-color),0 0 20px var(--primary-color),0 0 40px var(--primary-color),0 0 80px var(--primary-color)}.Skills li img,.Skills li span{transition:all .3s ease}.Skills li img{border:var(--primary-color);border-radius:25%;height:60px;padding:10px;width:60px;z-index:100}.Skills li span{color:var(--primary-color);cursor:default;display:flex;font-size:25px;justify-content:center;opacity:0;position:absolute;width:100%}@keyframes rotateleft{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes rotateright{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}.skills-section.modal{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:var(--color-surface);border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 24px 48px var(--modal-shadow-color);color:var(--text-color);max-height:80vh;max-width:800px;overflow-y:auto;padding:2rem;position:relative;width:90%}.skills-section.modal::-webkit-scrollbar{width:8px}.skills-section.modal::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:8px}.skills-section.modal::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:8px}.skills-section.modal::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.skills-section.modal h3{border-bottom:1px solid var(--border-color);color:var(--color-secundario);font-size:1.25rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.75rem}.skills-section.modal .skills-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.skills-section.modal .skills-category{box-sizing:border-box}.skills-section.modal .skills-category h4{color:var(--color-secundario);font-size:1.125rem;font-weight:600;margin-bottom:1rem}.skills-section.modal .skills-category div{display:flex;flex-wrap:wrap;gap:.75rem}.skills-section.modal .skills-category div .skill{align-items:center;display:flex;flex-direction:column}.skills-section.modal .skills-category div .skill img{background-color:var(--color-accent);border:1px solid var(--border-color);border-radius:.625rem;display:inline-block;height:56px;padding:4px;transition:transform .2s ease;width:56px}.skills-section.modal .skills-category div .skill img:hover{transform:scale(1.1)}.skills-section.modal .skills-category div .skill span{color:var(--color-muted-foreground);cursor:default;display:flex;font-size:.75rem;justify-content:center;margin:.25rem 0 0;padding:0}.skills-section.modal .modal-close-button{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--color-muted-foreground);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:color .2s ease;width:32px}.skills-section.modal .modal-close-button:hover{background-color:var(--color-accent);color:var(--primary-color)}@media(max-width:768px){.Skills{height:480px;width:480px}.Skills h2{font-size:.875rem;height:42px;min-width:140px}.Skills .circle li img{height:50px;width:50px}.Skills .circle li span{font-size:20px}.skills-section.modal{padding:1.5rem}.skills-section.modal .skills-list{grid-template-columns:1fr}}@media(max-width:480px){.Skills{height:300px;scale:.85;width:300px}.Skills h2{font-size:.75rem;height:30px;min-width:100px;padding:.5rem .75rem}.Skills .circle li img{height:20px;width:20px}.Skills .circle li span{font-size:14px}.skills-section.modal .skills-category h4{font-size:1rem}.skills-section.modal .skills-category .skill .img-modal{height:28px;width:28px}.skills-section.modal .skills-category .skill .span-modal{font-size:10px}.skills-section.modal h3{font-size:1.125rem}.skills-section.modal p{font-size:.875rem}}.FeaturedProjects{margin-left:auto;margin-right:auto;max-width:1200px;padding-left:1rem;padding-right:1rem}@media(min-width:768px){.FeaturedProjects{padding-left:1.5rem;padding-right:1.5rem}}.FeaturedProjects{padding-bottom:6rem}.FeaturedProjects h2{color:var(--color-secundario);font-size:clamp(1.875rem,4vw,3rem);font-weight:700;margin-bottom:4rem;text-align:center}.FeaturedProjects .Project-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:0 auto;max-width:900px}@media(max-width:768px){.FeaturedProjects .Project-container{gap:1.5rem;grid-template-columns:1fr}}.Project{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:1rem;cursor:pointer;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.Project:hover{border-color:var(--primary-color);box-shadow:0 12px 32px #00000026;transform:translateY(-4px)}.Project:hover .project-image{transform:scale(1.05)}.Project:hover .project-image-wrapper:after{opacity:1}.Project .project-image-wrapper{overflow:hidden;position:relative}.Project .project-image-wrapper:after{background:linear-gradient(0deg,#00000080,#0000);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease;z-index:1}.Project .project-image{display:block;height:200px;object-fit:cover;transition:transform .5s ease;width:100%}.Project .project-content{color:var(--text-color);padding:1.5rem}.Project .project-content h3{color:var(--color-secundario);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.Project .project-content p{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--color-muted-foreground);display:-webkit-box;font-size:.875rem;line-height:1.6;margin-bottom:1rem;overflow:hidden}.Project .project-content .status{color:orange;font-weight:700;margin-bottom:.75rem}.Project .project-content .links{display:flex;flex-wrap:wrap;gap:.5rem}.Project .project-content .links a{align-items:center;background-color:var(--tag-bg);border-radius:.5rem;color:var(--primary-color);display:inline-flex;font-size:.875rem;font-weight:500;gap:.25rem;padding:.25rem .75rem;text-decoration:none;transition:all .2s ease}.Project .project-content .links a:hover{background-color:var(--color-accent-strong);text-decoration:none}.project-details.modal{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:var(--color-surface);border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 24px 48px var(--modal-shadow-color);color:var(--text-color);max-height:80vh;max-width:900px;overflow-y:auto;padding:2rem;position:relative;width:90%}.project-details.modal::-webkit-scrollbar{width:8px}.project-details.modal::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:8px}.project-details.modal::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:8px}.project-details.modal::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.project-details.modal h3{border-bottom:1px solid var(--border-color);color:var(--color-secundario);font-size:1.5rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.75rem}.project-details.modal p{color:var(--color-muted-foreground);font-size:1rem;line-height:1.7;margin-bottom:1.5rem}.project-details.modal .technologies{margin-top:1.5rem}.project-details.modal .technologies h4{border-bottom:1px solid var(--border-color);color:var(--color-secundario);font-size:1.125rem;font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem}.project-details.modal .technologies ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}.project-details.modal .technologies ul li{background:var(--tag-bg);border-radius:.5rem;color:var(--tag-color);font-size:.875rem;font-weight:500;padding:.25rem .75rem}.project-details.modal .additional-links{margin-top:2rem}.project-details.modal .additional-links h4{border-bottom:1px solid var(--border-color);color:var(--color-secundario);font-size:1.125rem;font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem}.project-details.modal .additional-links ul{display:flex;flex-direction:column;gap:.75rem;list-style:none;padding:0}.project-details.modal .additional-links ul li a{align-items:center;color:var(--primary-color);display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;text-decoration:none;transition:color .2s ease}.project-details.modal .additional-links ul li a:hover{color:var(--primary-color-light);text-decoration:underline}.project-details.modal .modal-close-button{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--color-muted-foreground);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:color .2s ease;width:32px}.project-details.modal .modal-close-button:hover{background-color:var(--color-accent);color:var(--primary-color)}@media(max-width:480px){.project-details.modal{padding:1.25rem}.project-details.modal h3{font-size:1.25rem}.project-details.modal p{font-size:.875rem}}.Projects{margin-left:auto;margin-right:auto;max-width:1200px;padding:calc(80px + 3rem) 1rem 5rem}@media(min-width:768px){.Projects{padding-left:1.5rem;padding-right:1.5rem}}.Projects h2{color:var(--color-secundario);font-size:clamp(1.875rem,4vw,3rem);font-weight:700;margin-bottom:4rem;text-align:center}.Projects .Projects-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media(max-width:480px){.Projects .Projects-container{grid-template-columns:1fr}}.Curriculum{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;padding:calc(80px + 2rem) 1rem 3rem;width:100%}.Curriculum .cv-download-top{margin-bottom:2rem}.cv-container{background-color:#0000;color:var(--text-color);display:flex;flex-direction:column;max-width:800px;width:100%}.cv-header{background-color:var(--color-accent);border-bottom:2px solid var(--border-color);border-radius:1rem 1rem 0 0;padding:2.5rem 2rem;text-align:center}.cv-header,.cv-header .name{color:var(--color-secundario)}.cv-header .name{font-size:2.25rem;font-weight:700;letter-spacing:1px;margin:0 0 .5rem}.cv-header .title{border-bottom:2px solid var(--border-color);color:var(--color-muted-foreground);display:inline-block;font-size:1.25rem;font-weight:400;letter-spacing:2px;margin:0 0 1rem;padding-bottom:1rem}.cv-header .contact-info p{color:var(--color-muted-foreground);font-size:.875rem;margin:.25rem 0}.cv-body{padding:2.5rem 2rem;text-align:left}.cv-section{margin-bottom:2.5rem}.cv-section .section-title{border-bottom:2px solid var(--primary-color);color:var(--color-secundario);font-size:1.125rem;letter-spacing:.05em;margin-bottom:1rem;padding-bottom:.5rem;text-transform:uppercase}.cv-section .section-content h4.item-title{color:var(--color-secundario);font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.cv-section .section-content p{color:var(--color-muted-foreground);line-height:1.7;margin:0 0 .75rem}.cv-section .section-content ul{margin:0 0 1rem;padding-left:1.5rem}.cv-section .section-content ul li{color:var(--color-muted-foreground);line-height:1.6;margin-bottom:.5rem}.cv-section .section-content .skills-list{list-style-type:none;padding-left:0}.cv-section .section-content .skills-list li{background-color:var(--color-accent);border:1px solid var(--border-color);border-radius:.625rem;margin-bottom:.75rem;padding:.75rem 1rem}.cv-section .section-content .skills-list li strong{color:var(--primary-color)}.cv-section .section-content .education-item{background-color:var(--color-accent);border:1px solid var(--border-color);border-radius:.625rem;margin-bottom:1rem;padding:1rem}.cv-section .section-content .education-item h4.item-title,.cv-section .section-content .education-item p{margin-bottom:.25rem}.cv-section .section-content .education-item p.year{color:var(--color-muted-foreground);font-size:.875rem;font-style:italic}.cv-section .section-content .experience-item{border-left:2px solid var(--primary-color);margin-bottom:1.5rem;padding-left:1.5rem;position:relative}.cv-section .section-content .experience-item:before{background-color:var(--primary-color);border:3px solid var(--color-primario);border-radius:50%;content:"";height:10px;left:-6px;position:absolute;top:4px;width:10px}@media(max-width:768px){.cv-header{border-radius:0;padding:1.5rem}.cv-header .name{font-size:1.5rem}.cv-header .title{font-size:1rem}.cv-body{padding:1.5rem}}.PdfDownloadButton{display:flex;justify-content:center}.PdfDownloadButton button{align-items:center;background-color:var(--primary-color);border:2px solid var(--primary-color);border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-family:Inter,Arial,sans-serif;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.PdfDownloadButton button:hover{background-color:var(--primary-color-dark);border-color:var(--primary-color-dark);box-shadow:0 8px 20px #0003;transform:translateY(-2px)}.PdfDownloadButton button:active{transform:translateY(0)}.PdfDownloadButton button:focus{outline:2px solid var(--primary-color);outline-offset:2px}[data-theme=dark]{--color-primario:#111;--color-primario-light:#252525;--color-secundario:#fff;--color-secundario-light:#fff;--color-nav:#171d25;--color-nav-light:#202a36;--color-nav-box:#c826d180;--color-nav-box2:#6608e280;--color-background:#000000b3;--primary-color:#1abc9c;--primary-color-dark:#148f77;--primary-color-light:#28e1bd;--secondary-color:#2c3e50;--secondary-color-light:#b9c1c7;--text-color:#fff;--text-color-light:#f0f0f0;--text-color2:#00faa7;--text-color2-light:#fff;--link-color:#42aff8;--link-color-light:#85cbfa;--card-background-color:#34495e;--modal-background:#2c3e50;--modal-background-dark:#283746;--strong-text-color:#92fce7;--modal-shadow-color:#000c;--tech-background-color:#355370;--color-level-light:#1abc9c;--color-level-dark:#08745e;--color-muted:#1e2a35;--color-muted-foreground:#94a3b8;--border-color:#ffffff14;--color-accent:#1abc9c26;--color-accent-strong:#1abc9c40;--color-surface:#171d25cc;--color-surface-hover:#202a36e6;--hero-gradient-from:#1abc9c0d;--hero-gradient-to:#42aff80d;--hero-blob-1:#1abc9c14;--hero-blob-2:#42aff80f;--nav-bg-scrolled:#111111d9;--card-border:#ffffff0f;--card-bg:#1a2332;--card-bg-hover:#1f2b3d;--tag-bg:#1abc9c26;--tag-color:#1abc9c;--section-alt-bg:#1e2a354d;--scrollbar-track:#283746;--scrollbar-thumb:#1abc9c;--scrollbar-thumb-hover:#28e1bd}[data-theme=light]{--color-primario:#fff;--color-primario-light:#f5f5f5;--color-secundario:#111;--color-secundario-light:#333;--color-nav:#e0e0e0;--color-nav-light:#f2f2f2;--color-nav-box:#26c6d180;--color-nav-box2:#0866e280;--color-background:#ffffffb3;--primary-color:#3498db;--primary-color-dark:#2980b9;--primary-color-light:#5dade2;--secondary-color:#ecf0f1;--secondary-color-light:#bdc3c7;--text-color:#333;--text-color-light:#4d4d4d;--text-color2:#004b9b;--text-color2-light:#a0f1bd;--link-color:#007bff;--link-color-light:#66b0ff;--card-background-color:#fff;--modal-background:#f7f7f7;--modal-background-dark:#e1e1e1;--strong-text-color:#34495e;--modal-shadow-color:#0003;--tech-background-color:#e8eaf6;--color-level-light:#3498db;--color-level-dark:#145d8d;--color-muted:#f1f5f9;--color-muted-foreground:#64748b;--border-color:#00000014;--color-accent:#3498db1a;--color-accent-strong:#3498db33;--color-surface:#ffffffe6;--color-surface-hover:#f1f5f9f2;--hero-gradient-from:#3498db0d;--hero-gradient-to:#2ecc710d;--hero-blob-1:#3498db14;--hero-blob-2:#2ecc710f;--nav-bg-scrolled:#ffffffd9;--card-border:#0000000f;--card-bg:#fff;--card-bg-hover:#f8fafc;--tag-bg:#3498db1a;--tag-color:#2980b9;--section-alt-bg:#f1f5f980;--scrollbar-track:#e1e1e1;--scrollbar-thumb:#3498db;--scrollbar-thumb-hover:#5dade2}.Footer{background-color:#7878781a;background-color:rgba(var(--color-muted-rgb,120,120,120),.1);border-top:1px solid var(--border-color);color:var(--text-color);margin-top:auto}.Footer .footer-container{margin-left:auto;margin-right:auto;max-width:1200px;padding-left:1rem;padding-right:1rem}@media(min-width:768px){.Footer .footer-container{padding-left:1.5rem;padding-right:1.5rem}}.Footer .footer-container{padding-bottom:2rem;padding-top:3rem}@media(min-width:768px){.Footer .footer-container{padding-bottom:3rem;padding-top:4rem}}.Footer .footer-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr;margin-bottom:3rem}@media(min-width:768px){.Footer .footer-grid{gap:3rem;grid-template-columns:1fr 1fr 1fr}}.Footer .footer-section{align-items:center;display:flex;flex-direction:column;gap:1rem;text-align:center}.Footer .footer-section .section-title{color:var(--text-color);font-size:1rem;font-weight:600;margin:0}.Footer .contact-actions{align-items:center;display:flex;flex-direction:column;gap:.75rem}.Footer .contact-actions .email-display{align-items:center;color:var(--color-muted-foreground);display:flex;font-size:.875rem;gap:.5rem}.Footer .contact-actions .action-buttons{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.Footer .social-links-grid{display:flex;gap:.75rem;justify-content:center}.Footer .social-links-grid .social-item{align-items:center;background-color:var(--color-accent);border-radius:50%;color:var(--text-color);display:flex;height:40px;justify-content:center;text-decoration:none;transition:all .2s ease;width:40px}.Footer .social-links-grid .social-item:hover{background-color:var(--color-accent-strong);color:var(--primary-color)}.Footer .quick-links{align-items:center;display:flex;flex-direction:column;gap:.5rem}.Footer .quick-links .nav-link{background:none;border:none;color:var(--color-muted-foreground);cursor:pointer;font-family:Inter,Arial,sans-serif;font-size:.875rem;padding:0;text-align:center;transition:color .2s ease}.Footer .btn-outline,.Footer .quick-links .nav-link:hover{color:var(--text-color)}.Footer .btn-outline{align-items:center;background-color:#0000;border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;display:inline-flex;font-family:Inter,Arial,sans-serif;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.Footer .btn-outline:hover{background-color:var(--color-accent);color:var(--text-color)}.Footer .footer-bottom{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem;justify-content:space-between;padding-top:2rem}@media(min-width:768px){.Footer .footer-bottom{flex-direction:row}}.Footer .footer-bottom .rights-text{color:var(--color-muted-foreground);font-size:.875rem;margin:0;text-align:center}@media(min-width:768px){.Footer .footer-bottom .rights-text{text-align:left}}.Footer .icon-sm{height:16px;width:16px}.Footer .icon-md{height:20px;width:20px}
/*# sourceMappingURL=main.5529d8b9.css.map*/