
        @import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');
        
        :root {
            /* Light Theme Enforced */
            --primary-color: #0069d9;
            --primary-glow: rgba(0, 105, 217, 0.3);
            --secondary-color: #f8f9fa;
            --background-color: #ffffff;
            --text-color: #333333;
            --card-bg-color: #ffffff;
            --accent-color: #00b4d8;
            --hero-overlay-start: rgba(255, 255, 255, 0.6);
            --hero-overlay-end: rgba(255, 255, 255, 1);
            --navbar-bg-scrolled: rgba(255, 255, 255, 0.9);
            --navbar-border: rgba(0,0,0,0.1);
            --feature-bg: rgba(255, 255, 255, 0.8);
            --feature-border: rgba(0,0,0,0.1);
            --input-bg: #f9f9f9;
            --input-border: #ddd;
            --input-text: #333;
            --scroll-track: rgba(0, 0, 0, 0.1);
            --step-arrow: #ddd;
            --one-tap-text: #666;
        }

        body {
            font-family: 'Outfit', sans-serif;
            background-color: var(--background-color);
            color: var(--text-color);
            margin: 0;
            padding: 0;
            overflow-x: hidden;
            scroll-behavior: smooth;
            transition: background-color 0.3s, color 0.3s;
        }

        /* --- Scroll Light Effect --- */
        .scroll-light-container {
            position: fixed;
            top: 0;
            left: 50%;
            width: 2px;
            height: 100vh;
            background: var(--scroll-track);
            transform: translateX(-50%);
            z-index: -1;
            pointer-events: none;
            transition: background 0.3s;
        }
        
        .scroll-light-bulb {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 200px;
            background: linear-gradient(to bottom, transparent, var(--primary-color), var(--accent-color), transparent);
            box-shadow: 0 0 10px var(--primary-color), 0 0 20px var(--accent-color);
            opacity: 0;
            transition: opacity 0.3s;
            will-change: top;
        }

        /* --- Loader --- */
        #loader-wrapper {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background-color: var(--background-color);
            display: flex; justify-content: center; align-items: center;
            z-index: 9999;
            transition: opacity 0.75s ease;
        }
        .loader {
            border: 4px solid rgba(128,128,128,0.1);
            border-left: 4px solid var(--primary-color);
            border-radius: 50%;
            width: 50px;
            height: 50px;
            animation: spin 0.8s linear infinite;
            box-shadow: 0 0 15px var(--primary-glow);
        }
        @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

        /* --- Navigation --- */
        .navbar {
            position: fixed; width: 100%; top: 0; left: 0;
            padding: 1.5rem 3rem;
            display: flex; justify-content: space-between; align-items: center;
            z-index: 1000;
            box-sizing: border-box;
            transition: all 0.4s ease;
        }
        .navbar.scrolled { 
            background-color: var(--navbar-bg-scrolled); 
            backdrop-filter: blur(15px); 
            padding: 1rem 3rem;
            border-bottom: 1px solid var(--navbar-border);
        }
        .navbar-brand img { height: 35px; filter: drop-shadow(0 0 5px rgba(128,128,128,0.2)); }
        .nav-links { display: flex; align-items: center; }
        .nav-links a { 
            color: var(--text-color); 
            text-decoration: none; 
            margin-left: 2rem; 
            font-weight: 500; 
            position: relative;
            transition: color 0.3s; 
        }
        .nav-links a::after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            bottom: -5px;
            left: 0;
            background-color: var(--primary-color);
            transition: width 0.3s;
            box-shadow: 0 0 10px var(--primary-color);
        }
        .nav-links a:hover { color: var(--primary-color); }
        .nav-links a:hover::after { width: 100%; }

        .nav-links a:hover::after { width: 100%; }

        .navbar-avatar {
            border-radius: 50%;
            border: 3px solid var(--primary-color);
            box-shadow: 0 0 10px rgba(0, 105, 217, 0.5);
            transition: all 0.3s ease;
        }
        .navbar-avatar:hover {
            transform: scale(1.05);
            box-shadow: 0 0 15px var(--primary-color);
        }

        /* --- Login Button --- */
        .nav-links a.nav-login-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
            color: #ffffff !important;
            padding: 8px 24px;
            border-radius: 30px;
            font-weight: 600;
            box-shadow: 0 4px 15px var(--primary-glow);
            transition: all 0.3s ease;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            font-size: 0.95rem;
            margin-left: 2rem;
            border: none;
        }
        .nav-links a.nav-login-btn::after {
            display: none !important;
            width: 0 !important;
        }
        .nav-links a.nav-login-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(0, 105, 217, 0.4);
            color: #ffffff !important;
        }

        /* --- Hero Section --- */
        #hero {
            height: 100vh;
            display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
            background: radial-gradient(circle at center, var(--hero-overlay-start) 0%, var(--hero-overlay-end) 70%), url('assets/img/hero01.jpg') no-repeat center center/cover;
            padding: 0 2rem;
            position: relative;
            transition: background 0.5s ease;
        }
        #hero::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            background: linear-gradient(to bottom, transparent 0%, var(--background-color) 100%);
            z-index: 1;
            transition: background 0.5s ease;
        }
        .hero-content { 
            max-width: 900px; 
            z-index: 2; 
            opacity: 0; 
            transform: translateY(30px); 
            animation: fadeInUp 1s ease forwards 0.5s;
        }
        .hero-content h1 { 
            font-size: 4.5rem; 
            font-weight: 800; 
            margin-bottom: 0.5rem; 
            line-height: 1.1;
            background: linear-gradient(135deg, var(--text-color) 0%, #888 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            text-shadow: 0 10px 30px rgba(0,0,0,0.1);
        }
        .hero-subtitle {
            font-size: 1.5rem;
            color: var(--primary-color);
            margin-bottom: 2rem;
            font-weight: 600;
            text-shadow: 0 0 20px var(--primary-glow);
            letter-spacing: 2px;
            text-transform: uppercase;
        }
        .one-tap-text {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 15px;
            font-size: 1.2rem;
            margin-bottom: 3rem;
            color: var(--one-tap-text);
        }
        .one-tap-text span.arrow {
            color: var(--primary-color);
            font-size: 1.5rem;
            animation: pulseArrow 1.5s infinite;
        }
        @keyframes pulseArrow {
            0% { transform: translateX(0); opacity: 0.5; }
            50% { transform: translateX(5px); opacity: 1; }
            100% { transform: translateX(0); opacity: 0.5; }
        }

        .cta-group {
            display: flex; gap: 1.5rem; justify-content: center;
        }
        .cta-button {
            background: var(--primary-color); 
            color: white; 
            padding: 1rem 3rem;
            border-radius: 50px; 
            text-decoration: none; 
            font-size: 1.1rem; 
            font-weight: 600;
            transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            box-shadow: 0 5px 20px rgba(0, 123, 255, 0.3);
            border: 2px solid transparent;
            position: relative;
            overflow: hidden;
        }
        .cta-button::before {
            content: '';
            position: absolute;
            top: 0; left: -100%;
            width: 100%; height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
            transition: 0.5s;
        }
        .cta-button:hover::before { left: 100%; }
        .cta-button:hover { 
            transform: translateY(-5px) scale(1.05); 
            box-shadow: 0 15px 30px rgba(0, 123, 255, 0.5); 
        }
        .cta-button.secondary {
            background: transparent;
            border: 2px solid var(--text-color);
            box-shadow: none;
            color: var(--text-color);
            opacity: 0.8;
        }
        .cta-button.secondary:hover {
            border-color: var(--primary-color);
            background: rgba(128,128,128,0.05);
            color: var(--primary-color);
            opacity: 1;
        }

        /* --- Features Section --- */
        .content-section { padding: 8rem 2rem; max-width: 1200px; margin: 0 auto; position: relative; z-index: 2; }
        .section-title { 
            text-align: center; 
            font-size: 3rem; 
            margin-bottom: 4rem; 
            font-weight: 700;
            background: linear-gradient(to right, var(--text-color), #888);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent; 
        }
        
        .feature-cards { 
            display: grid; 
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); 
            gap: 3rem; 
        }
        .feature-card {
            background: var(--feature-bg); 
            backdrop-filter: blur(10px);
            padding: 3rem 2rem; 
            border-radius: 20px;
            text-align: center; 
            border: 1px solid var(--feature-border);
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
        }
        .feature-card::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 20px;
            padding: 2px;
            background: linear-gradient(180deg, rgba(255,255,255,0.1), transparent);
            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            -webkit-mask-composite: xor;
            mask-composite: exclude;
            pointer-events: none;
        }
        .feature-card:hover { 
            transform: translateY(-15px); 
            background: var(--card-bg-color);
            box-shadow: 0 20px 40px rgba(0,0,0,0.1); 
            border-color: var(--primary-color);
        }
        .feature-card h3 { 
            font-size: 1.8rem; 
            margin-bottom: 1rem; 
            color: var(--text-color); 
        }
        .feature-card p { 
            margin-bottom: 2rem; 
            color: var(--one-tap-text); 
            line-height: 1.6;
        }
        .feature-card .btn {
            display: inline-block;
            color: var(--primary-color);
            font-weight: 600;
            text-decoration: none;
            position: relative;
            transition: 0.3s;
        }
        .feature-card .btn:hover { color: var(--text-color); text-shadow: 0 0 10px var(--primary-color); }

        /* --- How It Works / One Tap --- */
        .step-container {
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 4rem 0;
            flex-wrap: wrap;
            gap: 2rem;
        }
        .step {
            text-align: center;
            position: relative;
            padding: 20px;
        }
        .step-icon {
            font-size: 3rem;
            color: var(--primary-color);
            margin-bottom: 1rem;
            text-shadow: 0 0 20px var(--primary-glow);
        }
        .step-arrow {
            font-size: 2rem;
            color: var(--step-arrow);
        }

        /* --- Contact Form --- */
        #contact-form { 
            max-width: 600px; 
            margin: 0 auto; 
            background: var(--feature-bg);
            padding: 3rem;
            border-radius: 20px;
            border: 1px solid var(--feature-border);
            box-shadow: 0 20px 50px rgba(0,0,0,0.1);
        }
        .form-group { margin-bottom: 1.5rem; position: relative; }
        .form-control { 
            width: 100%; 
            padding: 1rem 1.2rem; 
            background: var(--input-bg); 
            border: 1px solid var(--input-border); 
            border-radius: 10px; 
            color: var(--input-text); 
            font-size: 1rem; 
            outline: none;
            transition: 0.3s;
            box-sizing: border-box;
        }
        .form-control:focus {
            border-color: var(--primary-color);
            background: transparent;
            box-shadow: 0 0 15px rgba(0, 123, 255, 0.1);
        }
        .submit-btn { 
            width: 100%; 
            padding: 1rem; 
            background: linear-gradient(90deg, var(--primary-color), var(--accent-color)); 
            border: none; 
            border-radius: 10px; 
            color: white; 
            font-size: 1.1rem; 
            font-weight: 700; 
            cursor: pointer; 
            transition: 0.3s;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        .submit-btn:hover { 
            opacity: 0.9;
            box-shadow: 0 10px 25px rgba(0, 123, 255, 0.4); 
            transform: translateY(-2px);
        }

        /* --- Footer --- */
        footer { 
            text-align: center; 
            padding: 3rem; 
            background-color: var(--secondary-color); 
            border-top: 1px solid rgba(128,128,128,0.1);
            color: #888;
        }

        /* --- Animations --- */
        .reveal { 
            opacity: 0; 
            transform: translateY(50px); 
            transition: 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275); 
        }
        .reveal.active { 
            opacity: 1; 
            transform: translateY(0); 
        }

        @keyframes fadeInUp {
            to { opacity: 1; transform: translateY(0); }
        }

        /* --- Mobile Toggle --- */
        .mobile-menu-toggle {
            display: none;
            flex-direction: column;
            justify-content: space-around;
            width: 25px;
            height: 20px;
            background: transparent;
            border: none;
            cursor: pointer;
            padding: 0;
            z-index: 1001;
        }
        .mobile-menu-toggle span {
            width: 100%;
            height: 2px;
            background: var(--text-color);
            border-radius: 10px;
            transition: all 0.3s linear;
            position: relative;
            transform-origin: 1px;
        }

        /* --- Responsive --- */
        @media (max-width: 768px) {
            .hero-content h1 { font-size: 2.5rem; }
            .cta-group { flex-direction: column; width: 80%; margin: 0 auto; }
            .navbar { padding: 1rem; }
            .step-arrow { display: none; } /* Hide arrows on mobile stack */
            
            .mobile-menu-toggle {
                display: flex;
            }

            .nav-links {
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: auto;
                max-height: 0;
                background: var(--background-color);
                flex-direction: column;
                align-items: center;
                padding: 0;
                overflow: hidden;
                box-shadow: 0 10px 30px rgba(0,0,0,0.1);
                transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
                z-index: 1000;
                border-bottom: 0 solid var(--navbar-border);
            }

            .nav-links.active {
                max-height: 100vh;
                padding: 80px 20px 30px 20px;
                border-bottom-width: 1px;
            }

            .nav-links a, .nav-links .nav-avatar-wrapper {
                margin: 10px 0;
                margin-left: 0;
                width: 100%;
                text-align: center;
                opacity: 0;
                transform: translateY(-10px);
                transition: all 0.3s ease;
            }

            .nav-links.active a, .nav-links.active .nav-avatar-wrapper {
                opacity: 1;
                transform: translateY(0);
            }

            /* Staggered entry for links */
            .nav-links.active a:nth-child(1) { transition-delay: 0.1s; }
            .nav-links.active a:nth-child(2) { transition-delay: 0.15s; }
            .nav-links.active div:nth-child(3) { transition-delay: 0.2s; } /* Avatar Wrapper */
            .nav-links.active a:nth-child(3) { transition-delay: 0.2s; } /* Login Button if not logged in */

            .nav-links a.nav-login-btn {
                width: 80%;
                margin: 20px auto;
                padding: 14px 24px;
                box-sizing: border-box;
            }

            /* Hamburger animation */
            .mobile-menu-toggle.active span:first-child {
                transform: rotate(45deg) translate(5px, 5px);
            }
            .mobile-menu-toggle.active span:nth-child(2) {
                opacity: 0;
            }
            .mobile-menu-toggle.active span:nth-child(3) {
                transform: rotate(-45deg) translate(5px, -5px);
            }
            
            /* Avatar drop down adjustment */
            .nav-avatar-wrapper {
                display: flex;
                flex-direction: column;
                align-items: center;
            }
            .nav-dropdown {
                position: static;
                width: 100%;
                max-width: 280px;
                box-shadow: none;
                border: 1px solid #f1f5f9;
                background: #f8fafc;
                padding: 10px;
                margin-top: 10px;
                display: none;
                border-radius: 12px;
            }
            .nav-dropdown.open {
                display: block;
            }
            .nav-dropdown-item {
                justify-content: center !important;
            }
        }

        /* Nav Overlay */
        .nav-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.3);
            backdrop-filter: blur(4px);
            z-index: 999;
            display: none;
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        .nav-overlay.active {
            display: block;
            opacity: 1;
        }
    

        .feature-card {
            z-index: 1;
            background: var(--card-bg-color); /* Ensure opaque background */
            transition: border-color 0.5s ease, box-shadow 0.5s ease;
        }
        .feature-card h3, .feature-card p, .feature-card .btn {
            transition: color 0.5s ease, text-shadow 0.5s ease;
        }

        .feature-card.lit {
            border-color: var(--primary-color);
            box-shadow: 0 0 15px var(--primary-glow);
        }
        .feature-card.lit h3 {
            color: var(--primary-color);
            text-shadow: 0 0 10px var(--primary-glow);
        }
        .feature-card.lit p {
            color: var(--one-tap-text);
            text-shadow: 0 0 5px rgba(255,255,255,0.5);
        }
        .feature-card.lit .btn {
            color: var(--primary-color);
            text-shadow: 0 0 10px var(--primary-glow);
        }

        /* Contact form */
        #contact-form {
            transition: border-color 0.5s, box-shadow 0.5s;
        }
        #contact-form.lit {
            border-color: var(--primary-color);
            box-shadow: 0 0 20px var(--primary-glow);
        }
        /* Inputs inside */
        #contact-form.lit .form-control {
            border-color: var(--primary-color);
        }
    