  /* Base Styles */
        body {
            background-color: #F9FBFF; /* soft-sky-white */
            color: #333333; /* charcoal-gray */
            font-family: 'Inter', sans-serif;
            scroll-behavior: smooth;
        }

        /* Glassmorphism Effect for Cards and Overlays */
        .glass-card {
            background: rgba(255, 255, 255, 0.7);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.2);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
            transition: all 0.3s ease;
        }

        .glass-card:hover {
            box-shadow: 0 8px 12px rgba(0, 0, 0, 0.1);
            transform: translateY(-4px);
        }

        /* Gradient Button Styles */
        .btn-primary-gradient {
            background-image: linear-gradient(to right, #5AC8FA, #C7E9FF);
            color: #333333;
            transition: all 0.3s ease;
            box-shadow: 0 4px 10px rgba(90, 200, 250, 0.4);
        }

        .btn-primary-gradient:hover {
            background-image: linear-gradient(to right, #C7E9FF, #5AC8FA);
            box-shadow: 0 6px 15px rgba(90, 200, 250, 0.6);
            transform: translateY(-2px);
        }
        
        /* Typewriter Cursor */
        .typewriter-cursor {
            border-right: .15em solid #5AC8FA; /* Sky Blue */
            animation: 
                blink-caret .75s step-end infinite;
        }

        /* Simulating the typewriter effect using an attribute to control visibility */
        @keyframes blink-caret {
            from, to { border-color: transparent }
            50% { border-color: #5AC8FA }
        }

        /* Page Transitions & Scroll Animation */
        .page-content {
            display: none;
            opacity: 0;
            transition: opacity 0.5s ease;
        }
        .page-content.active {
            display: block;
            opacity: 1;
        }

        .animate-on-scroll {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }
        .animate-on-scroll.in-view {
            opacity: 1;
            transform: translateY(0);
        }
        
        /* Utility for the floating elements in the hero */
        .float-element-1 { animation: float 6s ease-in-out infinite; }
        .float-element-2 { animation: float 7s ease-in-out infinite 0.5s; }
        .float-element-3 { animation: float 5s ease-in-out infinite 1s; }

    