* { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body { font-family: 'Inter', sans-serif; background: #050a18; color: #e2e8f0; overflow-x: hidden; }

        /* Glow effects */
        .glow-blue { box-shadow: 0 0 40px rgba(37, 99, 235, 0.15), 0 0 80px rgba(37, 99, 235, 0.05); }
        .glow-cyan { box-shadow: 0 0 40px rgba(6, 182, 212, 0.15), 0 0 80px rgba(6, 182, 212, 0.05); }
        .glow-text { text-shadow: 0 0 30px rgba(37, 99, 235, 0.5); }

        /* Gradient border */
        .gradient-border {
            position: relative;
            background: linear-gradient(135deg, rgba(37,99,235,0.1), rgba(6,182,212,0.05));
            border: 1px solid rgba(37,99,235,0.2);
        }
        .gradient-border:hover {
            border-color: rgba(37,99,235,0.5);
            background: linear-gradient(135deg, rgba(37,99,235,0.15), rgba(6,182,212,0.1));
        }

        /* Animated background grid */
        .bg-grid {
            background-image:
                linear-gradient(rgba(37,99,235,0.05) 1px, transparent 1px),
                linear-gradient(90deg, rgba(37,99,235,0.05) 1px, transparent 1px);
            background-size: 60px 60px;
        }

        /* Hero orb */
        .hero-orb {
            position: absolute;
            width: 600px;
            height: 600px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(37,99,235,0.15) 0%, transparent 70%);
            filter: blur(60px);
            pointer-events: none;
        }

        /* Laptop mockup */
        .laptop-screen {
            background: linear-gradient(135deg, #0f1a3a, #142350);
            border: 2px solid rgba(37,99,235,0.3);
            border-radius: 8px 8px 0 0;
            overflow: hidden;
        }
        .laptop-base {
            background: linear-gradient(to bottom, #1e293b, #0f172a);
            border-radius: 0 0 12px 12px;
            border: 2px solid rgba(37,99,235,0.2);
            border-top: none;
        }
        .laptop-notch {
            width: 80px;
            height: 6px;
            background: #1e293b;
            border-radius: 0 0 4px 4px;
            margin: 0 auto;
        }

        /* Pricing popular */
        .pricing-popular {
            border: 2px solid #2563eb;
            position: relative;
        }
        .pricing-popular::before {
            content: 'MÁS POPULAR';
            position: absolute;
            top: -14px;
            left: 50%;
            transform: translateX(-50%);
            background: linear-gradient(135deg, #2563eb, #06b6d4);
            color: white;
            font-size: 11px;
            font-weight: 700;
            padding: 4px 16px;
            border-radius: 20px;
            letter-spacing: 0.05em;
        }

        /* Step connector */
        .step-connector {
            position: absolute;
            top: 32px;
            left: calc(50% + 32px);
            width: calc(100% - 64px);
            height: 2px;
            background: linear-gradient(90deg, rgba(37,99,235,0.5), rgba(6,182,212,0.5));
        }

        /* Scrollbar */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #050a18; }
        ::-webkit-scrollbar-thumb { background: #1a2d68; border-radius: 4px; }
        ::-webkit-scrollbar-thumb:hover { background: #2563eb; }

        /* Contact form select */
        #contactForm select,
        #contactForm textarea,
        #contactForm input {
            color: #f8fafc;
        }
        #contactForm select {
            background: rgb(255 255 255 / 0.1);;
            color: #f8fafc;
            border-color: rgba(96, 165, 250, 0.35);
        }
        #contactForm select option {
            color: #0f172a;
            background: #f8fafc;
        }

        /* Navbar scroll */
        .nav-scrolled {
            background: rgba(5, 10, 24, 0.95) !important;
            backdrop-filter: blur(20px);
            border-bottom: 1px solid rgba(37,99,235,0.15);
        }

        /* Star rating */
        .star-filled { color: #facc15; }
        .star-empty { color: #334155; }

        /* Floating animation */
        @keyframes float {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-10px); }
        }
        .animate-float { animation: float 6s ease-in-out infinite; }

        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .fade-in-up { animation: fadeInUp 0.8s ease-out forwards; }

        /* Mobile menu */
        .mobile-menu { 
            transform: translateX(100%); 
            transition: transform 0.3s ease; 
        }
        .mobile-menu.open { 
            transform: translateX(0); 
        }