        * { scroll-behavior: smooth; cursor: default; }
        body { font-family: 'Libre Franklin', sans-serif; background-color: #F7F7F7; color: #292C6D; overflow-x: hidden; }
        
        /* Hero Cinematic Background */
        .hero-bg {
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100vh;
            background: linear-gradient(rgba(41, 44, 109, 0.6), rgba(41, 44, 109, 0.4)), url('https://images.unsplash.com/photo-1449965408869-eaa3f722e40d?q=80&w=2000');
            background-size: cover;
            background-position: center;
            z-index: -1;
            transition: transform 0.1s linear;
        }

        /* Nav Mix-Blend for high-end look */
        nav { mix-blend-mode: difference; }

        /* Fullscreen Menu */
        #menu-overlay {
            clip-path: circle(0% at 50% 50%);
            transition: clip-path 0.8s cubic-bezier(0.77, 0, 0.175, 1);
        }
        #menu-overlay.open { clip-path: circle(150% at 50% 50%); }

        /* Animation Classes */
        .reveal { opacity: 0; transform: translateY(50px); transition: all 1s ease-out; }
        .reveal.active { opacity: 1; transform: translateY(0); }

        .app-page { display: none; }
        .app-page.active { display: block; }

        .timeline-line {
            position: absolute;
            left: 50%;
            width: 1px;
            height: 100%;
            background: rgba(41, 44, 109, 0.2);
            transform: translateX(-50%);
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 5px; }
        ::-webkit-scrollbar-track { background: #F7F7F7; }
        ::-webkit-scrollbar-thumb { background: #292C6D; }

        .btn-premium {
            position: relative;
            padding: 1rem 2.5rem;
            border: 1px solid #292C6D;
            font-size: 0.75rem;
            letter-spacing: 0.3em;
            text-transform: uppercase;
            overflow: hidden;
            transition: color 0.4s ease;
        }
        .btn-premium::before {
            content: '';
            position: absolute;
            top: 0; left: -100%; width: 100%; height: 100%;
            background: #292C6D;
            transition: left 0.4s ease;
            z-index: -1;
        }
        .btn-premium:hover { color: #F7F7F7; }
        .btn-premium:hover::before { left: 0; }
