:root{--bg-color:#020617;--bg-secondary:#0f172a;--text-color:#f8fafc;--text-muted:#94a3b8;--primary-gradient:linear-gradient(135deg,#1d4ed8 0%,#3b82f6 100%);--accent-gradient:linear-gradient(135deg,#0ea5e9 0%,#2563eb 100%);--card-bg:rgba(15,23,42,0.6);--card-border:rgba(255,255,255,0.08);--font-main:'Inter',system-ui,-apple-system,sans-serif;--glass-blur:blur(12px);--shadow-soft:0 10px 30px -10px rgba(0,0,0,0.5);--shadow-glow:0 0 20px rgba(59,130,246,0.3);--transition-smooth:all 0.4s cubic-bezier(0.4,0,0.2,1)}::selection{background:#3b82f6;color:white} *{margin:0;padding:0;box-sizing:border-box} body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-main);line-height:1.6;overflow-x:hidden} .container{max-width:1200px;margin:0 auto;padding:0 2rem} .header{position:fixed;top:0;left:0;width:100%;background:rgba(5,5,17,0.7);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);z-index:1000;border-bottom:1px solid var(--card-border);transition:var(--transition-smooth)} .header-container{display:flex;justify-content:space-between;align-items:center;height:80px} .logo{font-size:1.75rem;font-weight:800;text-decoration:none;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-0.05em;filter:drop-shadow(0 0 10px rgba(59,130,246,0.3))} .mobile-menu-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:white;cursor:pointer;z-index:1002;padding:0.5rem} .nav{position:fixed;top:0;left:0;width:100%;height:100vh;background:rgba(2,6,23,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;transform:translateY(-100%);transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);z-index:1001} .nav.active{transform:translateY(0)} .nav-link{font-size:1.5rem;color:white;text-decoration:none;font-weight:600} .nav-cta{display:none} @media (min-width:768px){.mobile-menu-btn{display:none} .nav{position:static;height:auto;width:auto;background:rgba(255,255,255,0.03);backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;flex-direction:row;padding:0.5rem 1.5rem;border-radius:9999px;border:1px solid var(--card-border);gap:2.5rem} .nav-link{font-size:0.9rem;font-weight:500;color:var(--text-muted)} .nav-cta{display:inline-flex} } .nav-link{color:var(--text-muted);text-decoration:none;font-size:0.9rem;font-weight:500;transition:var(--transition-smooth);position:relative} .nav-link:hover{color:white;text-shadow:0 0 8px rgba(255,255,255,0.5)} .nav-link::after{content:'';position:absolute;width:0;height:2px;bottom:-4px;left:0;background:var(--primary-gradient);transition:var(--transition-smooth);border-radius:2px} .nav-link:hover::after,.nav-link.active::after{width:100%} .nav-link.active{color:white;text-shadow:0 0 8px rgba(255,255,255,0.5)} .btn{display:inline-flex;align-items:center;justify-content:center;padding:0.75rem 1.75rem;border-radius:9999px;font-weight:600;text-decoration:none;transition:var(--transition-smooth);font-size:0.95rem;cursor:pointer;border:none} .btn-primary{background:var(--primary-gradient);color:white;box-shadow:0 4px 15px rgba(59,130,246,0.4);position:relative;overflow:hidden} .btn-primary::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(rgba(255,255,255,0.2),transparent);transform:translateY(-100%);transition:transform 0.4s ease} .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(59,130,246,0.6)} .btn-primary:hover::before{transform:translateY(0)} .btn-outline{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.1);color:var(--text-color);backdrop-filter:blur(4px)} .btn-outline:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.3);transform:translateY(-2px)} .btn-large{padding:1rem 3rem;font-size:1.1rem} .hero{padding-top:150px;padding-bottom:80px;text-align:center;min-height:90vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden} .hero::before{content:'';position:absolute;top:20%;left:50%;transform:translateX(-50%);width:800px;height:500px;background:radial-gradient(ellipse at center,rgba(59,130,246,0.2) 0%,rgba(14,165,233,0.1) 40%,transparent 70%);z-index:-1;filter:blur(60px);animation:pulseGlow 8s infinite alternate} .hero::after{content:'';position:absolute;bottom:0;right:10%;width:400px;height:400px;background:radial-gradient(circle,rgba(6,182,212,0.1) 0%,transparent 70%);z-index:-1;filter:blur(50px)} @keyframes pulseGlow{0%{opacity:0.5;transform:translateX(-50%) scale(0.9)} 100%{opacity:0.8;transform:translateX(-50%) scale(1.1)} } .hero-content{max-width:900px;margin:0 auto;position:relative;z-index:1} .badge{display:inline-block;padding:0.5rem 1.25rem;background:rgba(59,130,246,0.1);background:linear-gradient(90deg,rgba(59,130,246,0.1),rgba(14,165,233,0.1));color:#60a5fa;border-radius:9999px;font-size:0.85rem;margin-bottom:2rem;border:1px solid rgba(59,130,246,0.2);box-shadow:0 0 15px rgba(59,130,246,0.1);letter-spacing:0.05em;text-transform:uppercase} .hero h1{font-size:3.5rem;line-height:1.1;margin-bottom:1.5rem;font-weight:800;letter-spacing:-0.02em} .text-gradient{background:linear-gradient(to right,#60a5fa,#3b82f6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;position:relative;z-index:1} .hero p{font-size:1.35rem;color:var(--text-muted);margin-bottom:3rem;max-width:650px;margin-left:auto;margin-right:auto} .hero-buttons{display:flex;gap:1.5rem;justify-content:center} .section{padding:3rem 0;position:relative} .bg-lighter{background:linear-gradient(180deg,var(--bg-color) 0%,var(--bg-secondary) 50%,var(--bg-color) 100%)} .bg-dark-alt{background:linear-gradient(to bottom,#020617,#0b1121,#020617);position:relative} .bg-dark-alt::before{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,0.4),transparent)} .bg-dark-alt::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,0.4),transparent)} .section-header{text-align:center;margin-bottom:3rem} .section-header h2{font-size:2.5rem;margin-bottom:1rem;font-weight:700;background:linear-gradient(to bottom,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent} .section-header p{color:var(--text-muted);font-size:1.1rem} .services-grid,.portfolio-grid,.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem} @media (min-width:900px){.services-grid{grid-template-columns:repeat(2,1fr)} } .card{background-color:var(--card-bg);border:1px solid var(--card-border);padding:2.5rem;border-radius:1.25rem;transition:var(--transition-smooth);backdrop-filter:blur(10px);position:relative;overflow:hidden} .card::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at top right,rgba(59,130,246,0.1),transparent 40%);opacity:0;transition:opacity 0.4s ease} .card:hover{transform:translateY(-8px);border-color:rgba(59,130,246,0.4);box-shadow:var(--shadow-soft),var(--shadow-glow)} .card:hover::before{opacity:1} .service-card .icon{margin-bottom:1.5rem;display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;background:rgba(59,130,246,0.1);border-radius:12px;color:#60a5fa;transition:var(--transition-smooth)} .service-card .icon svg{width:32px;height:32px;stroke-width:2px;filter:drop-shadow(0 0 5px rgba(59,130,246,0.5))} .service-card:hover .icon{background:var(--primary-gradient);color:white;transform:scale(1.1) rotate(3deg);box-shadow:0 0 20px rgba(59,130,246,0.4)} .service-card h3{margin-bottom:1rem;font-size:1.5rem;color:white} .service-card p{color:var(--text-muted);font-size:1rem} .split-container{display:grid;grid-template-columns:1fr;gap:5rem;align-items:start} @media (min-width:900px){.split-container{grid-template-columns:1fr 1fr} } .about-image{position:relative;border-radius:1.5rem;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,0.4);border:1px solid var(--card-border)} .about-image img{width:100%;height:auto;display:block;transition:var(--transition-smooth)} .about-image::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,rgba(59,130,246,0.2),transparent);pointer-events:none} .about-content h2{font-size:1rem;color:#60a5fa;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:1rem} .about-content h3{font-size:2.5rem;margin-bottom:1.5rem;background:linear-gradient(to right,#fff,#cbd5e1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent} .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;border-top:1px solid var(--card-border);padding-top:2rem} .stat strong{display:block;font-size:2.5rem;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent} .stat span{font-size:0.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em} .project-card{padding:1.5rem} .project-img{height:250px;background:#151525;border-radius:1rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center;color:var(--text-muted);overflow:hidden;position:relative} .project-img img{transition:transform 0.6s ease} .card:hover .project-img img{transform:scale(1.1)} .project-img::after{content:'Ver Proyecto';position:absolute;color:white;font-weight:600;opacity:0;transform:translateY(10px);transition:var(--transition-smooth);z-index:2} .project-img::before{content:'';position:absolute;width:100%;height:100%;background:rgba(5,5,17,0.7);opacity:0;transition:var(--transition-smooth);z-index:1} .card:hover .project-img::after{opacity:1;transform:translateY(0)} .card:hover .project-img::before{opacity:1} .testimonial-card{background:linear-gradient(160deg,rgba(30,30,50,0.6) 0%,rgba(20,20,35,0.8) 100%)} .testimonial-card p{font-size:1.1rem;font-style:italic;color:#e2e8f0;margin-bottom:1.5rem} .author strong{color:#60a5fa;display:block} .author span{font-size:0.85rem;color:var(--text-muted)} .team-slider{overflow:hidden;width:100%;position:relative;padding:0} .team-track{display:flex;gap:4rem;width:max-content;animation:scroll 30s linear infinite} .team-track:hover{animation-play-state:paused} @keyframes scroll{0%{transform:translateX(0)} 100%{transform:translateX(calc(-50% - 2rem))} } .team-card{width:280px;flex-shrink:0;background:var(--card-bg);border:1px solid var(--card-border);border-radius:1rem;overflow:hidden;transition:var(--transition-smooth)} .member-img{width:100%;height:320px;position:relative;overflow:hidden} .member-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;filter:grayscale(100%)} .member-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,rgba(2,6,23,0.8),transparent);opacity:0;transition:var(--transition-smooth)} .team-card:hover .member-img img{transform:scale(1.1)} .team-card:hover .member-overlay{opacity:1} .member-info{padding:1.5rem;text-align:center} .member-info h3{font-size:1.25rem;color:white;margin-bottom:0.5rem} .member-info p{color:#60a5fa;font-size:0.95rem;font-weight:500;margin-bottom:0} .cta-section{background:linear-gradient(rgba(5,5,17,0.9),rgba(5,5,17,0.9)),radial-gradient(circle at center,rgba(59,130,246,0.3),transparent 70%);border-top:1px solid rgba(59,130,246,0.3);border-bottom:1px solid rgba(59,130,246,0.3);padding:3rem 0} .cta-grid{display:grid;grid-template-columns:1fr;gap:4rem;align-items:start} @media (min-width:900px){.cta-grid{grid-template-columns:1fr 1fr} } .cta-content h2{font-size:2.5rem;margin-bottom:1.5rem;background:linear-gradient(to right,#fff,#cbd5e1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent} .cta-content p{color:var(--text-muted);font-size:1.1rem;margin-bottom:2rem} .contact-info{display:flex;flex-direction:column;gap:1rem} .contact-item{display:flex;align-items:center;gap:1rem;font-size:1.1rem;color:#e2e8f0} .contact-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:rgba(59,130,246,0.1);border-radius:10px;color:#60a5fa;flex-shrink:0;transition:var(--transition-smooth)} .contact-item:hover .contact-icon{background:var(--primary-gradient);color:white;transform:scale(1.1);box-shadow:0 0 15px rgba(59,130,246,0.4)} .contact-icon svg{width:24px;height:24px;stroke-width:2} .contact-item p{margin-bottom:0} .cta-form-container{background:var(--card-bg);padding:2.5rem;border-radius:1.5rem;border:1px solid var(--card-border);backdrop-filter:blur(10px);box-shadow:0 20px 50px rgba(0,0,0,0.3)} .form-group{margin-bottom:1.25rem} .contact-form input,.contact-form textarea{width:100%;background:rgba(255,255,255,0.05);border:1px solid var(--card-border);padding:1rem;border-radius:0.75rem;color:white;font-family:var(--font-main);font-size:1rem;outline:none;transition:var(--transition-smooth)} .contact-form input:focus,.contact-form textarea:focus{background:rgba(255,255,255,0.08);border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,0.1)} .btn-block{width:100%;margin-top:1rem} .footer{padding:3rem 0 2rem;background-color:#02020a;position:relative;overflow:hidden} .footer::before{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,0.5),transparent)} .footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4rem;margin-bottom:3rem} .brand-col p{margin-top:1.5rem;color:var(--text-muted);font-size:0.95rem;max-width:300px} .footer-col h4{margin-bottom:2rem;font-size:1.1rem;color:white;font-weight:600;letter-spacing:0.05em;text-transform:uppercase} .footer-col ul{list-style:none} .footer-col ul li{margin-bottom:1rem} .footer-col ul li a{color:var(--text-muted);text-decoration:none;transition:var(--transition-smooth);font-size:0.95rem} .footer-col ul li a:hover{color:white;padding-left:5px} .newsletter-text{color:var(--text-muted);font-size:0.9rem;margin-bottom:1.5rem} .newsletter-form{display:flex;gap:0.5rem;position:relative} .newsletter-input{background:rgba(255,255,255,0.05);border:1px solid var(--card-border);padding:0.75rem 1rem;border-radius:0.5rem;color:white;width:100%;outline:none;transition:var(--transition-smooth)} .newsletter-input:focus{border-color:#3b82f6;background:rgba(255,255,255,0.08)} .btn-icon{background:var(--primary-gradient);border:none;width:45px;height:45px;border-radius:0.5rem;color:white;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth);flex-shrink:0} .btn-icon:hover{transform:scale(1.05);box-shadow:0 0 15px rgba(59,130,246,0.4)} .mt-4{margin-top:2rem} .social-links{display:flex;gap:1rem} .social-links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(255,255,255,0.05);border:1px solid var(--card-border);border-radius:50%;color:white;text-decoration:none;transition:var(--transition-smooth)} .social-links a:hover{background:var(--primary-gradient);transform:translateY(-3px);border-color:transparent} .footer-bottom{padding-top:2rem;border-top:1px solid var(--card-border);text-align:center;color:var(--text-muted);font-size:0.9rem} @media (min-width:768px){.hero h1{font-size:4.5rem} .mobile-only{display:none} } @media (max-width:768px){.hero h1{font-size:2.8rem} .hero{padding-top:120px} .section-header h2{font-size:2rem} .split-container{gap:1rem;display:flex;flex-direction:column} .about-content{display:contents} .about-content h2{order:1;margin-bottom:0.5rem} .about-content h3{order:2;margin-bottom:2rem;font-size:2rem;text-align:center} .about-image{order:3;width:100%;margin-bottom:2rem} .about-content p{order:4;text-align:center} .stats{order:5} } html{scroll-padding-top:100px} html.lenis,html.lenis body{height:auto} .lenis.lenis-smooth{scroll-behavior:auto !important} .lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain} .lenis.lenis-stopped{overflow:hidden} .lenis.lenis-scrolling iframe{pointer-events:none} .scroll-top-btn{position:fixed;bottom:2rem;right:2rem;background:var(--primary-gradient);color:white;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 15px rgba(59,130,246,0.4);z-index:999;transition:var(--transition-smooth);opacity:0;visibility:hidden;transform:translateY(20px)} .scroll-top-btn.show{opacity:0.8;visibility:visible;transform:translateY(0)} .scroll-top-btn.show:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(59,130,246,0.6);opacity:1} .scroll-top-btn svg{transition:transform 0.3s ease} .scroll-top-btn:hover svg{transform:translateY(-3px)} .bg-team{background:linear-gradient(to bottom,var(--bg-color),#0f172a,var(--bg-color));position:relative} .bg-team::before{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,0.1),transparent)}