: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}}.aurora-container{width:100%;height:100%;position:absolute;top:0;left:0;z-index:1;pointer-events:none}@media (max-width: 768px){.aurora-container{opacity:.7}.aurora-container canvas{filter:hue-rotate(-10deg) saturate(.8)}}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body{margin:0!important;padding:0!important;overflow-x:hidden}#root{margin:0;padding:0;min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,sans-serif;line-height:1.6;color:#333;background:linear-gradient(135deg,#121229,#4a4a79,#43c0dd);min-height:100vh;font-size:16px;overflow-x:hidden;margin:0;padding:0;width:100%;max-width:100vw;position:relative}header{position:fixed;top:0;left:0;right:0;width:100%;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1000;padding:1rem 1.5rem;box-shadow:none;border-bottom:none;transition:all .3s ease}header.scrolled{background:linear-gradient(135deg,#00ffff26,#0080ff26,#32ff3226);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 4px 30px #00ffff1a}nav ul{list-style:none;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin:0;padding:0}nav a:link,nav a:visited{text-decoration:none;color:#fff;font-weight:400;font-size:1.3rem;padding:.6rem 1.2rem;border-radius:25px;border:1px solid transparent;transition:all .4s ease;position:relative;overflow:hidden}nav a:hover{background:#00ffff1a;transform:translateY(-3px);box-shadow:0 8px 25px #00ffff4d;color:#0ff}nav a:active{transform:translateY(-1px);box-shadow:0 4px 15px #0ff3}main{margin-top:0;padding-top:80px;width:100%;max-width:100%;overflow-x:hidden}.hero-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:2rem;position:relative;overflow:hidden}#threejs-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.hero-content{max-width:1100px;margin:0 auto;position:relative;z-index:2}.text-content p{font-size:1.4rem;line-height:1.7;color:#e3f2fd;margin-bottom:2rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.text-content>h2{font-size:2.8rem;font-weight:600;margin-bottom:1rem;background:linear-gradient(135deg,#64b5f6,#fff,#81c784);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:start;filter:drop-shadow(0 0 10px rgba(255,255,255,.3))}.about-container{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:1rem;margin-top:5rem;width:100%}.profile-image-container{display:flex;justify-content:center;align-items:center}.profile-image{width:280px;height:280px;border-radius:50%;margin-top:2rem;object-fit:cover;border:3px solid rgba(255,255,255,.3);box-shadow:0 0 20px #0ffc;transition:all .3s ease;animation:float 6s ease-in-out infinite}.profile-image:hover{transform:scale(1.05);box-shadow:0 0 40px #0ffc}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.highlight{background:linear-gradient(135deg,#28a6f4,#fbff02);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:1.6rem;font-weight:500;position:relative}@keyframes shimmer{0%,to{opacity:.3}50%{opacity:1}}.what-i-do-section>h2{font-size:2.5rem;font-weight:500;margin-top:8rem;margin-bottom:3rem;background:linear-gradient(135deg,#64b5f6,#fff,#81c784);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:start;filter:drop-shadow(0 0 10px rgba(255,255,255,.3))}.missions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem;max-width:100%;margin:0 auto}.mission-card{padding:2.5rem;border-radius:20px;background:transparent;transition:all .4s ease;color:#fff;text-align:center;position:relative;overflow:hidden;opacity:.9;min-height:350px}.mission-card:hover{background:#ffffff08;transform:translateY(-10px);box-shadow:0 20px 40px #64b5f633;border-color:#fff3}.mission-card: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 .8s ease}.mission-card:hover:before{left:100%}.mission-card i{font-size:3.5rem;color:#64b5f6;margin-bottom:1.5rem;transition:all .3s ease}.mission-card:hover i{transform:scale(1.1);color:#81c784}.mission-card h3{color:#e3f2fd;margin-bottom:2rem;font-size:2rem;font-weight:600}.mission-card p{color:#fffc;font-size:1.5rem;line-height:1.8}#technologies{padding:4rem 2rem;margin:0 auto}#technologies>h2{font-size:2.5rem;font-weight:500;margin-bottom:3rem;background:linear-gradient(135deg,#64b5f6,#fff,#81c784);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:center;filter:drop-shadow(0 0 10px rgba(255,255,255,.3))}.technologies-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:2rem;max-width:100%;margin:0 auto}.tech-card{background:transparent;border-radius:20px;padding:2.5rem 1.5rem;text-align:center;border:none;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;animation:techFloat 6s ease-in-out infinite}@keyframes techFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.tech-card:nth-child(1){animation-delay:0s}.tech-card:nth-child(2){animation-delay:.5s}.tech-card:nth-child(3){animation-delay:1s}.tech-card:nth-child(4){animation-delay:1.5s}.tech-card:nth-child(5){animation-delay:2s}.tech-card:nth-child(6){animation-delay:2.5s}.tech-card:nth-child(7){animation-delay:3s}.tech-card:nth-child(8){animation-delay:3.5s}.tech-card:nth-child(9){animation-delay:.2s}.tech-card:nth-child(10){animation-delay:.7s}.tech-card:nth-child(11){animation-delay:1.2s}.tech-card:hover{animation-play-state:paused}.tech-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:rotate(45deg);transition:all .6s ease;opacity:0}.tech-card:hover:before{animation:shine .8s ease-in-out}@keyframes shine{0%{transform:translate(-100%) translateY(-100%) rotate(45deg);opacity:0}50%{opacity:1}to{transform:translate(100%) translateY(100%) rotate(45deg);opacity:0}}.tech-card i{font-size:4rem;margin-bottom:1.5rem;background:linear-gradient(135deg,#64b5f6,#81c784,#ffeb3b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:all .5s ease;filter:drop-shadow(0 0 8px rgba(100,181,246,.4));display:inline-block}@keyframes iconGlow{0%{filter:drop-shadow(0 0 10px rgba(0,255,255,.6))}33%{filter:drop-shadow(0 0 15px rgba(50,255,50,.7))}66%{filter:drop-shadow(0 0 20px rgba(255,235,59,.8))}to{filter:drop-shadow(0 0 10px rgba(0,255,255,.6))}}@keyframes iconRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tech-card:hover i{transform:rotate(360deg) scale(1.2);filter:drop-shadow(0 0 25px rgba(0,255,255,.8));background:linear-gradient(135deg,#0ff,#32ff32,#ffeb3b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:iconGlow 2s infinite}.tech-card h3{color:#fff;font-size:1.5rem;font-weight:600;margin:0;text-shadow:0 0 10px rgba(255,255,255,.5);transition:all .3s ease}.tech-card:hover h3{color:#64b5f6;text-shadow:0 0 15px rgba(100,181,246,.8);transform:scale(1.1)}#projects{padding:4rem 2rem;margin:0 auto}#projects>h2{font-size:2.5rem;font-weight:500;margin-bottom:3rem;background:linear-gradient(135deg,#64b5f6,#fff,#81c784);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:start;filter:drop-shadow(0 0 10px rgba(255,255,255,.3))}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;max-width:100%}.project-card{border-radius:20px;background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding-bottom:2.5rem;transition:all .4s ease;color:#fff;text-align:center;position:relative;overflow:hidden;border:2px solid rgba(255,255,255,.1);box-shadow:0 10px 30px #0003;height:100%;display:flex;flex-direction:column;align-items:center}.project-image-container{width:100%;height:250px;overflow:hidden;border-bottom:3px solid;margin-bottom:1.5rem}.project-image-container img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}[src*="legal-facil.png"]{object-position:center top}[src*="porfolio.png"]{object-position:center center}[src*="generador-cv.png"]{object-position:center top}[src*="kapp.png"]{object-position:top center}.project-card:hover .project-image-container img{transform:scale(1.1)}.project-card h3{padding:0 2rem;margin-bottom:1.2rem;font-size:1.5rem;font-weight:700}.project-card p{padding:0 2rem;color:#ffffffe6;margin-bottom:2rem;font-size:1.4rem;line-height:1.5;flex-grow:1}.project-card a{display:inline-block;padding:.6rem 1.2rem;background:linear-gradient(135deg,#0ff,#0080ff);color:#fff;text-decoration:none;border-radius:20px;font-weight:600;font-size:1.2rem;transition:all .3s ease;border:none;margin:auto auto 0;min-width:100px}.project-card a:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0ff6}#contact{padding:6rem 2rem;margin:0 auto}#contact>h2{font-size:2.5rem;font-weight:500;margin-bottom:3rem;background:linear-gradient(135deg,#0ff,#fff,#32ff32);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:start;filter:drop-shadow(0 0 10px rgba(255,255,255,.3))}form{background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:3rem;border-radius:20px;box-shadow:0 20px 40px #0000004d;margin:0 auto;border:2px solid rgba(0,255,255,.1)}form label{display:block;margin-bottom:.8rem;font-weight:600;color:#fff;font-size:1.4rem}form input,form textarea{width:100%;padding:1rem;margin-bottom:1.5rem;border:2px solid rgba(0,255,255,.2);border-radius:12px;font-size:1.4rem;background:#ffffff0d;color:#fff;font-family:Montserrat,sans-serif;transition:all .3s ease}form textarea{resize:vertical;min-height:120px}form input::placeholder,form textarea::placeholder{color:#fff9}form input:focus,form textarea:focus{outline:none;border-color:#0ff;box-shadow:0 0 15px #00ffff4d;background:#ffffff14}.form-note{font-size:.8rem;color:#fff9;text-align:center;margin-top:1rem}.hidden{display:none}form button{width:auto;padding:1rem 4rem;background:linear-gradient(135deg,#0ff,#0080ff);color:#fff;border:none;border-radius:12px;font-size:1.4rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;justify-content:center;align-items:center;gap:.8rem;margin:1rem auto 0}form button:hover{transform:translateY(-3px);box-shadow:0 15px 35px #0ff6;background:linear-gradient(135deg,#0ff,#32ff32)}form button:active{transform:translateY(0)}footer{background:#505481;color:#fff;text-align:center;padding:2rem;margin-top:4rem;border-top:1px solid rgba(255,255,255,.1)}.footer-content{max-width:90%;margin:0 auto}.contact-links{display:flex;justify-content:center;gap:2rem;margin-top:1rem;flex-wrap:wrap}.contact-links a{color:#fff;text-decoration:none;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:25px;transition:all .3s ease;border:1px solid rgba(255,255,255,.2)}.contact-links a:hover{background:#ffffff1a;transform:translateY(-2px)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.form-group{margin-bottom:1rem}@media (max-width: 768px){.form-grid{grid-template-columns:1fr;gap:0}}.success-message{background:#00ffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:4rem;border-radius:20px;text-align:center;max-width:800px;margin:0 auto;border:2px solid rgba(0,255,255,.2);box-shadow:0 15px 35px #0003}.success-message h3{font-size:1.5rem;color:#0ff;margin-bottom:1.5rem}.success-message p{font-size:1rem;color:#fff;margin-bottom:2rem}.success-message button{padding:.8rem 1.5rem;background:linear-gradient(135deg,#0ff,#0080ff);color:#fff;border:none;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.success-message button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #0ff6;background:linear-gradient(135deg,#0ff,#32ff32)}.form-group .formspree-error{color:#ff6b6b;font-size:.9rem;margin-top:.5rem;display:block}button:disabled{opacity:.7;cursor:not-allowed}html{font-size:100%}@media (min-width: 1441px){html{font-size:70%}.hero-content,#technologies,#projects,#contact{max-width:1400px}}@media (max-width: 1440px){html{font-size:70%}.profile-image{width:400px;height:400px}.project-image-container{height:250px}}@media (max-width: 1200px){html{font-size:60%}.technologies-grid{grid-template-columns:repeat(4,1fr)}.projects-grid{grid-template-columns:repeat(2,1fr);gap:3rem}.mission-card{padding:4rem 3rem;min-height:450px}form{padding:4rem}}@media (max-width: 992px){html{font-size:58%}.about-container{grid-template-columns:1fr;text-align:center;gap:2rem}.text-content>h2{text-align:center}.what-i-do-section>h2{text-align:center;margin-top:6rem}.missions-grid{grid-template-columns:repeat(2,1fr);gap:3rem}.mission-card{min-height:400px}#projects>h2{text-align:center}#contact>h2{text-align:center}.profile-image{width:300px;height:300px;margin-top:1rem}nav ul{gap:1.5rem}nav a:link,nav a:visited{font-size:1.6rem;padding:.8rem 1.5rem}}@media (max-width: 768px){html{font-size:70%}header{padding:1.2rem}nav ul{gap:1rem}nav a:link,nav a:visited{font-size:1.4rem;padding:.6rem 1.2rem}.missions-grid{grid-template-columns:1fr;gap:3rem}.mission-card{min-height:auto;padding:3rem}.technologies-grid{grid-template-columns:repeat(3,1fr)}.projects-grid{grid-template-columns:1fr;gap:4rem}.project-image-container{height:280px}form{padding:3rem}.form-grid{grid-template-columns:1fr;gap:0}}@media (max-width: 576px){html{font-size:70%}header{padding:1rem}nav{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}nav::-webkit-scrollbar{display:none}nav ul{width:max-content;padding:0 1rem}nav a:link,nav a:visited{font-size:1.3rem;padding:.5rem 1rem;white-space:nowrap}.hero-section{padding:1rem}.text-content p{font-size:1.8rem}.profile-image{width:220px;height:220px}.technologies-grid{grid-template-columns:repeat(2,1fr);gap:2rem}.tech-card{padding:2rem 1rem}.tech-card i{font-size:4rem}.project-card h3{font-size:2.2rem}.project-card p{font-size:1.6rem}form{padding:2.5rem}.success-message{padding:3rem 2rem}}@media (max-width: 375px){html{font-size:70%}.profile-image{width:180px;height:180px}.tech-card i{font-size:3.5rem}.project-image-container{height:200px}form{padding:2rem}}.header-container{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto}.logo{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#0ff,#0080ff,#32ff32);-webkit-background-clip:text;-webkit-text-fill-color:transparent;padding:.4rem;border-radius:50%;border:2px solid rgba(44,55,55,.2);width:4rem;height:4rem;display:flex;align-items:center;justify-content:center;box-shadow:0 0 15px #00ffff4d}.mobile-menu-toggle{display:none;background:transparent;border:none;cursor:pointer;width:4rem;height:4rem;position:relative;z-index:1001}.mobile-menu-toggle span{display:block;width:2.5rem;height:.3rem;margin:.5rem auto;background:#fff;transition:all .3s ease;border-radius:3px}@media (max-width: 768px){.mobile-menu-toggle{display:block}nav{position:fixed;top:0;right:-100%;width:70%;height:100vh;background:#121229f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;transition:right .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:-5px 0 25px #0000004d}nav.open{right:0}nav ul{flex-direction:column;align-items:center;width:100%;padding:2rem}nav ul li{margin:1.5rem 0;width:100%;text-align:center}nav a:link,nav a:visited{display:block;width:100%;font-size:1.8rem}header.menu-open .mobile-menu-toggle span:nth-child(1){transform:rotate(45deg) translate(.6rem,.6rem)}header.menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}header.menu-open .mobile-menu-toggle span:nth-child(3){transform:rotate(-45deg) translate(.6rem,-.6rem)}header.menu-open:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:999}}html,body,#root{width:100%;max-width:100%;margin:0;padding:0;overflow-x:hidden}.hero-content,#technologies,#projects,#contact,.projects-grid,.technologies-grid,.missions-grid{max-width:100%;box-sizing:border-box}h1,h2,h3,h4,h5,h6{word-wrap:break-word}img{max-width:100%;height:auto}.hero-content,#technologies,#projects,#contact{width:100%;max-width:1100px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px;box-sizing:border-box}header{width:100%;left:0;right:0}.project-card{width:100%;box-sizing:border-box}form{width:100%;max-width:1400px;box-sizing:border-box}footer{width:100%;box-sizing:border-box}body{padding:0!important;margin:0!important}html,body{margin:0!important;padding:0!important;background:linear-gradient(135deg,#121229,#4a4a79,#43c0dd)}body:before{content:none!important}body:after{content:none!important}#root{min-height:100vh;display:flex;flex-direction:column;background:transparent}.hero-section{margin-top:-80px;padding-top:80px}header{position:absolute;background:transparent!important}header.scrolled{position:fixed;background:linear-gradient(135deg,#00ffff26,#0080ff26,#32ff3226)!important;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.spectacular-title{display:inline-block;background:linear-gradient(135deg,#0ff,#0080ff,#32ff32);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:700;font-size:3.5rem;letter-spacing:2px;filter:drop-shadow(0 0 8px rgba(0,255,255,.6));position:relative;z-index:5}@keyframes titleAppear{0%{opacity:0;transform:scale(.2) rotate(-10deg);filter:blur(10px) drop-shadow(0 0 0 rgba(0,255,255,0))}50%{opacity:1;transform:scale(1.5) rotate(5deg);filter:blur(0) drop-shadow(0 0 20px rgba(0,255,255,.9))}75%{transform:scale(.9) rotate(-2deg)}to{transform:scale(1) rotate(0);filter:drop-shadow(0 0 8px rgba(0,255,255,.6))}}.spectacular-title{animation:titleAppear 1.5s cubic-bezier(.175,.885,.32,1.275) forwards}
