        :root {
            --primary-blue: #2F2FE4;
            --white: #FFFFFF;
        }

        body {
            font-family: 'Noto Sans', sans-serif;
            background-color: var(--white);
            color: var(--primary-blue);
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 4px; }
        ::-webkit-scrollbar-track { background: var(--white); }
        ::-webkit-scrollbar-thumb { background: var(--primary-blue); }

        /* Marquee Animation */
        @keyframes marquee {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }
        .marquee-container {
            overflow: hidden;
            white-space: nowrap;
            display: flex;
        }
        .marquee-content {
            display: inline-flex;
            animation: marquee 30s linear infinite;
        }

        /* Page Management */
        .page-view { display: none; opacity: 0; transform: translateY(10px); transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
        .page-view.active { display: block; opacity: 1; transform: translateY(0); }

        /* Custom Transitions */
        .reveal { opacity: 0; transform: translateY(30px); transition: all 1s ease-out; }
        .reveal.visible { opacity: 1; transform: translateY(0); }

        .image-container { overflow: hidden; position: relative; }
        .image-container img { transition: transform 0.8s ease; }
        .image-container:hover img { transform: scale(1.08); }

        .btn-blue {
            background-color: var(--primary-blue);
            color: var(--white);
            transition: all 0.3s ease;
        }
        .btn-blue:hover { opacity: 0.9; transform: scale(1.02); }

        .input-underline {
            border-bottom: 2px solid var(--primary-blue);
            background: transparent;
            outline: none;
            padding: 8px 0;
            color: var(--primary-blue);
        }

        /* Horizontal Scroll Hide */
        .no-scrollbar::-webkit-scrollbar { display: none; }
        .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

        .floating-card {
            background: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(10px);
        }

        /* Footer line aesthetics */
        .footer-line { height: 1px; background-color: var(--primary-blue); width: 100%; opacity: 0.3; }
        .footer-vertical { width: 1px; background-color: var(--primary-blue); height: 100%; opacity: 0.3; }

        /* Floating Animation */
        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-15px); }
        }
        .animate-float { animation: float 6s ease-in-out infinite; }

