*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#fff;background:linear-gradient(135deg,#0f2027,#203a43,#2c5364);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;overflow-x:hidden}header{backdrop-filter:blur(10px);z-index:1000;background:#0000004d;justify-content:space-between;align-items:center;padding:1.5rem 3rem;transition:all .3s;display:flex;position:fixed;top:0;left:0;right:0}header.scrolled{background:#000c;padding:1rem 3rem}header h1{letter-spacing:2px;color:#00d8ff;cursor:pointer;font-size:1.8rem;font-weight:700;transition:transform .3s}header h1:hover{transform:scale(1.05)}nav{gap:2rem;display:flex}nav a{color:#a0e9ff;padding:.5rem 0;font-weight:500;text-decoration:none;transition:all .3s;position:relative}nav a:hover{color:#00d8ff}nav a:after{content:"";background:#00d8ff;width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}nav a:hover:after{width:100%}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:900px;min-height:100vh;margin:0 auto;padding:4rem 1rem;display:flex;position:relative}.hero:before{content:"";pointer-events:none;background:radial-gradient(#00d8ff1a 0%,#0000 70%);position:absolute;inset:0}.hero h2{color:#00d8ff;text-shadow:0 0 20px #00d8ff80;margin-bottom:1.5rem;font-size:3.5rem;animation:1s ease-out fadeInUp}.hero p{color:#c0e9ffcc;max-width:700px;margin-bottom:3rem;font-size:1.3rem;line-height:1.6;animation:1s ease-out .3s both fadeInUp}.btn-primary{color:#034;cursor:pointer;text-transform:uppercase;letter-spacing:1.5px;background:linear-gradient(45deg,#00d8ff,#00a8cc);border:none;border-radius:50px;padding:1.2rem 3rem;font-size:1.1rem;font-weight:700;text-decoration:none;transition:all .3s;animation:1s ease-out .6s both fadeInUp;display:inline-block;box-shadow:0 10px 30px #00d8ff4d}.btn-primary:hover{background:linear-gradient(45deg,#00a8cc,#079);transform:translateY(-3px);box-shadow:0 15px 40px #00d8ff66}section{max-width:1200px;margin:0 auto;padding:6rem 2rem}.section-title{text-align:center;color:#00d8ff;text-shadow:0 0 10px #00d8ff4d;margin-bottom:3rem;font-size:2.8rem;position:relative}.section-title:after{content:"";background:linear-gradient(90deg,#0000,#00d8ff,#0000);width:80px;height:3px;position:absolute;bottom:-1rem;left:50%;transform:translate(-50%)}.services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:4rem;display:grid}.service-card{backdrop-filter:blur(10px);text-align:center;background:#ffffff1a;border:1px solid #00d8ff33;border-radius:20px;padding:2.5rem 2rem;transition:all .3s;position:relative;overflow:hidden}.service-card:before{content:"";background:linear-gradient(90deg,#0000,#00d8ff1a,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.service-card:hover:before{left:100%}.service-card:hover{border-color:#00d8ff80;transform:translateY(-10px);box-shadow:0 20px 40px #00d8ff33}.service-icon{color:#00d8ff;margin-bottom:1.5rem;font-size:3rem}.service-card h3{color:#fff;margin-bottom:1rem;font-size:1.5rem}.service-card p{color:#c0e9ffcc;line-height:1.6}.about-content{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;margin-top:3rem;display:grid}.about-text{color:#c0e9ffcc;font-size:1.2rem;line-height:1.7}.about-text p{margin-bottom:1.5rem}.about-features{flex-direction:column;gap:1.5rem;display:flex}.feature{background:#ffffff0d;border-radius:10px;align-items:center;gap:1rem;padding:1rem;transition:all .3s;display:flex}.feature:hover{background:#00d8ff1a;transform:translate(10px)}.feature-icon{color:#00d8ff;font-size:1.5rem}.feature-text{color:#fff;font-weight:500}#contacto{background:#0000004d;border-radius:30px;margin:auto}.contact-content{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;margin-top:3rem;display:grid}.contact-info{flex-direction:column;gap:2rem;display:flex}.contact-item{color:inherit;background:#ffffff1a;border:1px solid #0000;border-radius:15px;align-items:center;gap:1.5rem;padding:1.5rem;text-decoration:none;transition:all .3s;display:flex}.contact-item:hover{background:#00d8ff1a;border-color:#00d8ff4d;transform:translateY(-5px);box-shadow:0 10px 30px #00d8ff33}.contact-icon{color:#00d8ff;text-align:center;min-width:50px;font-size:2rem}.contact-details h4{color:#fff;margin-bottom:.5rem;font-size:1.2rem}.contact-details p{color:#c0e9ffcc;word-break:break-word;overflow-wrap:break-word;font-size:1rem}.contact-form{backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #00d8ff33;border-radius:20px;padding:2.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#00d8ff;margin-bottom:.5rem;font-weight:500;display:block}.form-group input,.form-group textarea{color:#fff;background:#ffffff1a;border:1px solid #00d8ff4d;border-radius:10px;width:100%;padding:1rem;font-size:1rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{border-color:#00d8ff;outline:none;box-shadow:0 0 10px #00d8ff4d}.form-group input::placeholder,.form-group textarea::placeholder{color:#a0e9ff88}.form-group textarea{resize:vertical;min-height:120px}footer{text-align:center;color:#a0e9ff88;background:#0000004d;border-top:1px solid #00d8ff1a;margin-top:1rem;padding:3rem 1.5rem;font-size:1rem}footer p{margin-bottom:1rem}.social-links{justify-content:center;gap:1.5rem;margin-bottom:1rem;display:flex}.social-links a{color:#00d8ff;font-size:1.5rem;transition:all .3s}.social-links a:hover{color:#fff;transform:translateY(-3px)}.login-container{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #00d8ff4d;border-radius:20px;flex-direction:column;gap:1rem;width:320px;padding:2rem;display:flex}.login-box h2{text-align:center;color:#00d8ff}.login-box input{color:#fff;background:#ffffff1a;border:1px solid #00d8ff4d;border-radius:10px;padding:.8rem}.login-box button{cursor:pointer;background:linear-gradient(45deg,#00d8ff,#00a8cc);border:none;border-radius:10px;padding:.8rem;font-weight:700}.login-container{background:radial-gradient(circle at top,#1b3a4a,#0b1c24 60%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{backdrop-filter:blur(18px);background:#ffffff0f;border:1px solid #00d8ff40;border-radius:24px;flex-direction:column;gap:1.2rem;width:380px;padding:2.5rem;animation:.6s popIn;display:flex;box-shadow:0 20px 60px #0006,inset 0 0 0 1px #ffffff08}.login-box h2{text-align:center;letter-spacing:1px;color:#00d8ff;text-shadow:0 0 20px #00d8ff66;font-size:1.6rem}.login-box input{color:#fff;background:#00000040;border:1px solid #00d8ff40;border-radius:14px;outline:none;padding:.95rem 1rem;font-size:.95rem;transition:all .25s}.login-box input::placeholder{color:#a0e9ff80}.login-box input:focus{border-color:#00d8ff;transform:translateY(-1px);box-shadow:0 0 0 3px #00d8ff26,0 0 20px #00d8ff40}.login-box button{letter-spacing:1px;color:#002733;cursor:pointer;background:linear-gradient(135deg,#00d8ff,#00a8cc);border:none;border-radius:14px;margin-top:.5rem;padding:.95rem 1rem;font-weight:700;transition:all .25s;box-shadow:0 10px 30px #00d8ff40}.login-box button:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 15px 40px #00d8ff59}.login-box button:active{transform:translateY(0)scale(.98)}.login-box p{text-align:center;font-size:.9rem}@keyframes popIn{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-on-scroll{opacity:0;transition:all .6s;transform:translateY(30px)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}@media (width<=768px){header{flex-direction:column;gap:1rem;padding:1rem 1.5rem}nav{gap:1rem}nav a{font-size:.9rem}.hero h2{font-size:2.5rem}.hero p{font-size:1.1rem}section{padding:4rem 1rem}.section-title{font-size:2.2rem}.services-grid{grid-template-columns:1fr}.about-content,.contact-content{grid-template-columns:1fr;gap:2rem}.btn-primary{padding:1rem 2rem;font-size:1rem}}@media (width<=480px){.hero h2{font-size:2rem}.section-title{font-size:1.8rem}.service-card,.contact-form{padding:1.5rem}.contact-item{flex-direction:row;gap:.8rem;padding:1rem}.contact-icon{min-width:40px;font-size:1.5rem}#contacto{margin:1rem}}
