        :root {
            --primary: #FFAAB8;
            --secondary: #FFFFFF;
            --text-black: #000000;
            --highlight: #9CCFFF;
        }

        body {
            font-family: 'Montserrat', sans-serif; /* Fallback for Alan Sans look */
            background-color: var(--secondary);
            color: var(--text-black);
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* --- Landing Page Styling --- */
        #landing-screen {
            position: fixed;
            inset: 0;
            z-index: 10000;
            background: 
                        url('https://i.pinimg.com/736x/42/bd/a7/42bda739bd457cb66daaca38e311cf92.jpg') center/cover no-repeat;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1);
        }

        .landing-logo-container {
            display: grid;
            grid-template-columns: repeat(14, 1fr);
            gap: 5px;
            width: 90vw;
            max-width: 1200px;
            margin-bottom: 50px;
        }

        .letter {
            font-weight: 900;
            font-size: clamp(1.5rem, 5vw, 5rem);
            color: white;
            text-align: center;
            opacity: 0;
            display: inline-block;
        }

        /* The Jumping Logic */
        .up { transform: translateY(-40px); animation: letterIn 0.6s forwards; }
        .down { transform: translateY(40px); animation: letterIn 0.6s forwards; }

        @keyframes letterIn {
            0% { opacity: 0; transform: translateY(var(--y-start)) scale(0.5); }
            100% { opacity: 1; transform: translateY(var(--y-end)) scale(1); }
        }

        .enter-btn-circle {
            width: 150px;
            height: 150px;
            background-color: var(--primary);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: 700;
            cursor: pointer;
            transition: 0.4s;
            text-transform: uppercase;
            letter-spacing: 2px;
            opacity: 0;
            animation: fadeIn 1s 2.5s forwards;
            border: none;
        }

        .enter-btn-circle:hover {
            background-color: var(--highlight);
            transform: scale(1.1);
        }

        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

        /* --- Header & Navigation --- */
        header {
            transition: all 0.4s ease;
        }
        header.scrolled {
            padding: 10px 40px !important;
            background: rgba(255,255,255,0.95);
            box-shadow: 0 5px 20px rgba(0,0,0,0.05);
        }

        /* --- Parallax & Layout --- */
        .fixed-bg {
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            z-index: -10;
            object-fit: cover;
            transition: opacity 1s ease;
        }

        .content-card {
            background: white;
            padding: 2rem;
            box-shadow: 0 30px 60px rgba(0,0,0,0.1);
            position: relative;
        }

        .png-accent {
            position: absolute;
            width: 100px;
            pointer-events: none;
        }

        /* --- Grid Section --- */
        .image-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0;
        }

        .grid-item {
            aspect-ratio: 1/1;
            position: relative;
            overflow: hidden;
            cursor: pointer;
        }

        .grid-item img {
            width: 100%; height: 100%;
            object-fit: cover;
            transition: transform 0.8s ease;
        }

        .grid-overlay {
            position: absolute;
            inset: 0;
            background: rgba(156, 207, 255, 0.9);
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            opacity: 0;
            transition: 0.4s;
            padding: 20px;
            text-align: center;
        }

        .grid-item:hover .grid-overlay { opacity: 1; }
        .grid-item:hover img { transform: scale(1.1); }

        /* --- Scroll Reveal Animations --- */
        .reveal { opacity: 0; transform: translateY(40px); transition: 1s all ease; }
        .reveal.active { opacity: 1; transform: translateY(0); }
        
        .reveal-left { opacity: 0; transform: translateX(-40px); transition: 1s all ease; }
        .reveal-left.active { opacity: 1; transform: translateX(0); }

        /* --- Chatbot --- */
        #chatbot-trigger {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 60px;
            height: 60px;
            background: var(--primary);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            cursor: pointer;
            box-shadow: 0 10px 20px rgba(255,170,184,0.4);
            z-index: 1000;
            transition: 0.3s;
        }

        #chatbot-trigger:hover {
            background: var(--highlight);
            transform: translateY(-5px);
        }

        /* --- Auth Modal --- */
        #auth-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.8);
            z-index: 20000;
            display: none;
            justify-content: center;
            align-items: center;
            backdrop-filter: blur(8px);
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #f1f1f1; }
        ::-webkit-scrollbar-thumb { background: var(--primary); border-radius: 10px; }
