  /* Custom Neon & Animation Styles */
        :root {
            --neon-pink: #ff00ff;
            --neon-cyan: #00ffff;
            --neon-green: #39ff14;
            --dark-bg: #0d0d1a;
            --dark-card: #1a1a2e;
        }

        body {
            background-color: var(--dark-bg);
            color: #fff; /* Default text color is white for dark bg */
            font-family:'Times New Roman', Times, serif;
            overflow-x: hidden;
        }

        .font-orbitron {
            font-family: 'Orbitron', sans-serif;
        }
        
        
        /* --- Neon Card & Button Styles --- */
        .neon-card-pink { background-color: var(--neon-pink); color: #000; box-shadow: 0 0 15px var(--neon-pink), 0 0 30px var(--neon-pink); }
        .neon-card-cyan { background-color: var(--neon-cyan); color: #000; box-shadow: 0 0 15px var(--neon-cyan), 0 0 30px var(--neon-cyan); }
        .neon-card-green { background-color: var(--neon-green); color: #000; box-shadow: 0 0 15px var(--neon-green), 0 0 30px var(--neon-green); }
        
        .neon-glow-text-pink { text-shadow: 0 0 5px var(--neon-pink), 0 0 10px var(--neon-pink); }
        .neon-glow-text-cyan { text-shadow: 0 0 5px var(--neon-cyan), 0 0 10px var(--neon-cyan); }
        
        .neon-border {
            border: 2px solid var(--neon-pink);
            box-shadow: 0 0 10px var(--neon-pink), 0 0 20px var(--neon-pink);
            transition: all 0.3s ease;
        }
        .neon-border-cyan {
            border: 2px solid var(--neon-cyan);
            box-shadow: 0 0 10px var(--neon-cyan), 0 0 20px var(--neon-cyan);
        }
        .neon-border-green {
            border: 2px solid var(--neon-green);
            box-shadow: 0 0 10px var(--neon-green), 0 0 20px var(--neon-green);
        }
        .neon-button {
            transition: all 0.3s ease;
            color: #000;
            background-color: #fff;
        }
        .neon-button:hover {
            transform: scale(1.05);
            box-shadow: 0 0 15px var(--neon-pink), 0 0 30px var(--neon-pink);
        }
        .neon-button-cyan:hover { box-shadow: 0 0 15px var(--neon-cyan), 0 0 30px var(--neon-cyan); }
        .neon-button-green:hover { box-shadow: 0 0 15px var(--neon-green), 0 0 30px var(--neon-green); }

        .neon-icon-hover:hover {
            color: var(--neon-cyan);
            filter: drop-shadow(0 0 8px var(--neon-cyan));
        }
        .neon-card-hover:hover {
            transform: translateY(-10px) scale(1.02);
        }
        
        /* Hero background animation */
        .hero-bg {
            position: relative;
            overflow: hidden;
            background: var(--dark-bg);
        }
        .hero-bg::before, .hero-bg::after {
            content: ''; position: absolute; width: 300px; height: 300px; border-radius: 50%; filter: blur(100px); z-index: 0;
        }
        .hero-bg::before { background: var(--neon-pink); left: -10%; top: 10%; animation: move-glow1 15s infinite alternate; }
        .hero-bg::after { background: var(--neon-cyan); right: -10%; bottom: 10%; animation: move-glow2 20s infinite alternate; }
        @keyframes move-glow1 { from { transform: translate(-50%, -50%) rotate(0deg); } to { transform: translate(50%, 50%) rotate(360deg); } }
        @keyframes move-glow2 { from { transform: translate(50%, 50%) rotate(0deg); } to { transform: translate(-50%, -50%) rotate(-360deg); } }

        /* --- Scroll Animations --- */
        .fade-in-section { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease-out, transform 0.6s ease-out; }
        .fade-in-section.is-visible { opacity: 1; transform: translateY(0); }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: var(--dark-bg); }
        ::-webkit-scrollbar-thumb { background: var(--neon-pink); border-radius: 10px; box-shadow: 0 0 5px var(--neon-pink); }
        ::-webkit-scrollbar-thumb:hover { background: var(--neon-cyan); }
        
        /* Calendar */
        .calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0.5rem; }
        .calendar-day { background: rgba(0, 0, 0, 0.2); border: 1px solid rgba(255, 255, 255, 0.1); color: #000; }
        .calendar-day.today { background: var(--neon-pink); color: #000; box-shadow: 0 0 10px var(--neon-pink); }
        .calendar-day.event { background: var(--neon-cyan); color: #000; cursor: pointer; box-shadow: 0 0 10px var(--neon-cyan); }
        
        /* Active nav link style */
        .nav-link.active { color: var(--neon-pink); text-shadow: 0 0 5px var(--neon-pink); font-weight: bold; }
        
        /* Timeline */
        .timeline-item { position: relative; padding-left: 3rem; padding-bottom: 2rem; border-left: 2px solid var(--neon-cyan); }
        .timeline-item:last-child { border-left: none; }
        .timeline-item::before { content: ''; position: absolute; left: -9px; top: 0; width: 16px; height: 16px; border-radius: 50%; background-color: var(--neon-cyan); box-shadow: 0 0 10px var(--neon-cyan); }

        /* Modal */
        .modal { transition: opacity 0.3s ease; }
        .modal-content { max-height: 80vh; overflow-y: auto; }

        /* Gallery */
        .masonry-gallery { column-count: 1; column-gap: 1rem; }
        @media (min-width: 640px) { .masonry-gallery { column-count: 2; } }
        @media (min-width: 1024px) { .masonry-gallery { column-count: 3; } }
        .masonry-item { break-inside: avoid; margin-bottom: 1rem; }
        .masonry-item img { border: 2px solid transparent; transition: all 0.3s ease; }
        .masonry-item:hover img { border-color: var(--neon-pink); box-shadow: 0 0 15px var(--neon-pink); }

        /* Black text on neon card */
        .text-on-neon { color: #000; }
        .text-on-neon h1, .text-on-neon h2, .text-on-neon h3, .text-on-neon h4 { color: #000; }
        .text-on-neon p, .text-on-neon li, .text-on-neon div, .text-on-neon span, .text-on-neon a { color: #222; }

        @keyframes bgSlide {
    0% { transform: scale(1) translateX(0); }
    50% { transform: scale(1.05) translateX(-20px); }
    100% { transform: scale(1) translateX(0); }
}

@keyframes bgSlideReverse {
    0% { transform: scale(1) translateX(0); }
    50% { transform: scale(1.05) translateX(20px); }
    100% { transform: scale(1) translateX(0); }
}

.animate-bg-slide {
    animation: bgSlide 15s ease-in-out infinite;
}

.animate-bg-slide-reverse {
    animation: bgSlideReverse 20s ease-in-out infinite;
}

/* Optional: Neon glow text */
.neon-glow-text-pink {
    text-shadow: 0 0 5px #ff0080, 0 0 10px #ff0080, 0 0 20px #ff0080, 0 0 40px #ff0080;
}

        /* CHATBOT STYLES */
        #chatbot-toggle {
            position: fixed;
            bottom: 20px;
            right: 20px;
            width: 60px;
            height: 60px;
            background-color: var(--neon-pink);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 1000;
            box-shadow: 0 0 15px var(--neon-pink);
            transition: transform 0.3s ease;
        }
        #chatbot-toggle:hover { transform: scale(1.1); }
        #chatbot-window {
            position: fixed;
            bottom: 100px;
            right: 20px;
            width: 350px;
            height: 500px;
            background-color: var(--dark-bg);
            border: 2px solid var(--neon-cyan);
            box-shadow: 0 0 20px var(--neon-cyan);
            border-radius: 15px;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            z-index: 999;
            transform: scale(0.5);
            opacity: 0;
            pointer-events: none;
            transition: transform 0.3s ease, opacity 0.3s ease;
            transform-origin: bottom right;
        }
        #chatbot-window.open {
            transform: scale(1);
            opacity: 1;
            pointer-events: auto;
        }
        #chatbot-header {
            padding: 1rem;
            background-color: var(--dark-card);
            border-bottom: 1px solid var(--neon-cyan);
            text-align: center;
            font-weight: bold;
        }
        #chatbot-messages {
            flex-grow: 1;
            padding: 1rem;
            overflow-y: auto;
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }
        .chat-message {
            padding: 0.5rem 1rem;
            border-radius: 10px;
            max-width: 80%;
            line-height: 1.4;
        }
        .bot-message {
            background-color: var(--dark-card);
            align-self: flex-start;
            border: 1px solid var(--neon-pink);
        }
        .user-message {
            background-color: var(--neon-cyan);
            color: #000;
            align-self: flex-end;
        }
        #chatbot-input-form {
            display: flex;
            padding: 0.5rem;
            border-top: 1px solid var(--neon-cyan);
        }
        #chatbot-input {
            flex-grow: 1;
            background: transparent;
            border: none;
            color: white;
            padding: 0.5rem;
            outline: none;
        }
        #chatbot-send {
            background-color: var(--neon-pink);
            color: #000;
            border: none;
            padding: 0.5rem 1rem;
            border-radius: 5px;
            cursor: pointer;
            font-weight: bold;
        }

    