        /* Custom Styles & Animations */
        body {
            font-family: 'Inter', sans-serif;
            background-color: #FAFAFA;
            color: #333333;
        }

        h1, h2, h3 {
            font-family: 'Poppins', sans-serif;
        }
        
        .heading-alt {
            font-family: 'Montserrat', sans-serif;
        }

        /* --- Ticker Animation --- */
        .ticker-wrap {
            width: 100%;
            overflow: hidden;
            background: linear-gradient(to right, #FAFAFA, #F7F7F7);
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
        }
        .ticker {
            display: inline-block;
            white-space: nowrap;
            animation: ticker-scroll 20s linear infinite;
        }
        @keyframes ticker-scroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-100%); }
        }

        /* --- Typewriter Animation --- */
        .typewriter h1 {
            overflow: hidden;
            border-right: .15em solid #FF9800;
            white-space: nowrap;
            letter-spacing: .05em;
            animation: typing 3.5s steps(40, end), blink-caret .75s step-end infinite;
            display: inline-block;
        }
        @keyframes typing {
            from { width: 0 }
            to { width: 100% }
        }
        @keyframes blink-caret {
            from, to { border-color: transparent }
            50% { border-color: #FF9800; }
        }
        
        /* --- General Animations --- */
        .fade-in {
            opacity: 0;
            transition: opacity 1s ease-in-out;
        }
        .fade-in-up {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }
        .is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* --- Button Glow --- */
        .btn-glow {
            transition: all 0.3s ease;
        }
        .btn-glow:hover {
            box-shadow: 0 0 15px rgba(76, 175, 80, 0.6), 0 0 25px rgba(76, 175, 80, 0.4);
        }
        
        /* --- Floating Icons Animation --- */
        .floating {
            animation: float 6s ease-in-out infinite;
            font-size: 2rem;
            color: #FFFFFF;
            opacity: 0.2;
            position: absolute;
        }
        .floating.icon-1 { animation-delay: 0s; top: 20%; left: 10%; }
        .floating.icon-2 { animation-delay: 2s; top: 60%; left: 80%; }
        .floating.icon-3 { animation-delay: 4s; top: 40%; left: 5%; font-size: 3rem; opacity: 0.15;}
        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-20px); }
        }

        /* Modal Styles */
        .modal {
            transition: opacity 0.25s ease;
        }
    