        :root {
            --luxury-purple: #3A1078;
            --soft-bg: #F1F1F1;
            --glass-bg: rgba(241, 241, 241, 0.85);
        }

        body {
            background-color: var(--soft-bg);
            color: #1a1a1a;
            font-family: 'Arimo', sans-serif;
            overflow-x: hidden;
        }

        .text-luxury { color: var(--luxury-purple); }
        .bg-luxury { background-color: var(--luxury-purple); }
        .border-luxury { border-color: var(--luxury-purple); }

        /* Typography */
        h1, h2, h3, h4 { font-weight: 700; text-transform: uppercase; letter-spacing: -0.02em; }
        .ui-text { text-transform: uppercase; letter-spacing: 0.3em; font-size: 10px; font-weight: 700; }

        /* Glassmorphism */
        .glass-header {
            background: var(--glass-bg);
            backdrop-filter: blur(15px);
            -webkit-backdrop-filter: blur(15px);
            border-bottom: 1px solid var(--luxury-purple);
            transition: all 0.4s ease;
        }
        .header-shrunk { padding-top: 0.75rem; padding-bottom: 0.75rem; }

        .glass-card {
            background: rgba(255, 255, 255, 0.4);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(58, 16, 120, 0.1);
            transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
        }
        .glass-card:hover {
            transform: translateY(-10px) rotateX(5deg) rotateY(2deg);
            border-color: var(--luxury-purple);
            box-shadow: 0 20px 40px rgba(58, 16, 120, 0.1);
        }

        /* Animations */
        @keyframes rotateSlow {
            from { transform: translateY(0) rotate(0deg); }
            to { transform: translateY(-15px) rotate(5deg); }
        }
        .hero-float { animation: rotateSlow 4s ease-in-out infinite alternate; }

        @keyframes marquee {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }
        .marquee-inner { display: flex; width: 200%; animation: marquee 20s linear infinite; }

        @keyframes shine {
            0% { left: -100%; }
            100% { left: 200%; }
        }
        .lens-shine {
            position: absolute;
            top: 0; width: 40%; height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
            transform: skewX(-20deg);
        }
        .group:hover .lens-shine { animation: shine 1.2s ease-in-out infinite; }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 5px; }
        ::-webkit-scrollbar-track { background: var(--soft-bg); }
        ::-webkit-scrollbar-thumb { background: var(--luxury-purple); }

        .reveal { opacity: 0; transform: translateY(30px); transition: 1s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal.active { opacity: 1; transform: translateY(0); }

        #mobile-menu {
            transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1);
        }
