 /* --- Dark Theme Variables --- */
        :root {
            --bg-dark-blue: #0d1b2a;
            --accent-cyan: #00a6fb;
            --text-light: #e0e1dd;
        }

        /* --- Base & Animated Background --- */
        body {
            font-family: 'Poppins', sans-serif;
            background-color: var(--bg-dark-blue);
            color: var(--text-light);
            overflow-x: hidden;
        }
        body::before {
            content: '';
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            background-image: 
                radial-gradient(2px 2px at 20% 30%, var(--accent-cyan), transparent),
                radial-gradient(2px 2px at 40% 70%, rgba(224, 225, 221, 0.3), transparent),
                radial-gradient(1px 1px at 90% 40%, var(--accent-cyan), transparent);
            background-size: 100% 100%;
            animation: particleFloat 25s linear infinite;
            pointer-events: none;
            z-index: -1;
            opacity: 0.4;
        }
        @keyframes particleFloat {
            0% { transform: translateY(0px); }
            50% { transform: translateY(-30px); }
            100% { transform: translateY(0px); }
        }

        .font-display {
            font-family: 'Playfair Display', serif;
        }
        .text-gradient {
            background: linear-gradient(45deg, #93c5fd, #60a5fa, #3b82f6);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .text-gradient-light {
             background: linear-gradient(135deg, var(--text-light) 0%, var(--accent-cyan) 100%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        /* --- Main Contact Container (Remains White) --- */
        .contact-container {
            background: white;
            color: #1f2937;
            border-radius: 20px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
            overflow: hidden;
            position: relative;
        }

        /* --- Left Panel (Remains Blue Gradient) --- */
        .left-panel {
            background: linear-gradient(-45deg, #1e3a8a, #2563eb, #3b82f6, #60a5fa);
            background-size: 400% 400%;
            animation: gradient-flow 15s ease infinite;
            position: relative;
            color: white;
        }
        @keyframes gradient-flow {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        .contact-info-item {
            transition: all 0.3s ease;
            border-left: 2px solid transparent;
        }
        .contact-info-item:hover {
            background-color: rgba(255, 255, 255, 0.1);
            transform: translateX(10px);
            border-left-color: #93c5fd;
        }

        .form-input {
            background-color: #f8fafc;
            border: 2px solid #e5e7eb;
            color: #1f2937;
            border-radius: 8px;
            padding: 12px 16px;
            transition: all 0.3s ease;
            width: 100%;
        }
        .form-input:focus {
            outline: none;
            border-color: #3b82f6;
            background-color: #fff;
            box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
        }
        .form-label {
            font-weight: 500;
            color: #4b5563;
        }

        .submit-button {
            background: linear-gradient(45deg, #3b82f6, #2563eb);
            color: white;
            font-weight: 600;
            padding: 14px 20px;
            border-radius: 8px;
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
        }
        .submit-button:hover {
            transform: translateY(-3px);
            box-shadow: 0 7px 20px rgba(59, 130, 246, 0.4);
        }
        
        /* --- Header & Mobile Menu --- */
        header { background-color: #0d1b2a99; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
        .mobile-menu { transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
        .mobile-menu.hidden { transform: translateY(-100%); opacity: 0; }
        .mobile-menu.show { transform: translateY(0); opacity: 1; }

        /* ✅ STYLES ADDED FOR CONSISTENCY */
        .cta-button {
            transition: all 0.3s ease;
        }
        .cta-button:hover {
            transform: translateY(-3px) scale(1.05);
            box-shadow: 0 7px 20px rgba(59, 130, 246, 0.4);
        }
        /* --- Mobile Menu Styles (Missing Code) --- */
.mobile-menu-button {
    transition: all 0.3s ease;
}

.mobile-menu-button:hover {
    transform: scale(1.1);
    color: #60a5fa !important;
}

.hamburger-icon {
    transition: all 0.3s ease;
}

/* This class is added by JavaScript to rotate the icon */
.mobile-menu-button.active .hamburger-icon {
    transform: rotate(90deg);
}

.mobile-menu {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateY(-100%);
    opacity: 0;
}

/* This class is added by JavaScript to show the menu */
.mobile-menu.show {
    transform: translateY(0);
    opacity: 1;
}

.mobile-menu a {
    transition: all 0.3s ease;
}

.mobile-menu a:hover {
    background: rgba(96, 165, 250, 0.1) !important;
    color: #60a5fa !important;
    transform: translateX(10px);
}