        :root {
            --color-orange: #EFA54F;
            --color-pink: #E87CA1;
            --color-dark: #050505;
        }

        body {
            font-family: 'Montserrat', sans-serif;
            background-color: var(--color-dark);
            color: white;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* --- EFECTOS CINEMATOGRÁFICOS --- */
        
        /* Film Grain Overlay */
        .film-grain {
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            pointer-events: none;
            z-index: 9999;
            opacity: 0.05;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
        }

        h1, h2, .cinema-font {
            font-family: 'Bebas Neue', sans-serif;
            letter-spacing: 0.05em;
        }
        
        .elegant-font {
            font-family: 'Cinzel', serif;
        }

        .scrollbar-hide::-webkit-scrollbar { display: none; }
        .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

        /* Marquee Animation */
        .marquee-container {
            overflow: hidden;
            white-space: nowrap;
        }
        .marquee-content {
            display: inline-block;
            animation: marquee 20s linear infinite;
        }
        @keyframes marquee {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        /* Reveal Animations */
        .reveal {
            opacity: 0;
            transform: translateY(50px);
            transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        /* Custom Animations */
        @keyframes ken-burns {
            0% { transform: scale(1); }
            50% { transform: scale(1.1); }
            100% { transform: scale(1); }
        }
        .animate-bg-slow {
            animation: ken-burns 20s infinite alternate ease-in-out;
        }

        @keyframes ticket-float {
            0%, 100% { transform: translateY(0) rotate(-2deg); }
            50% { transform: translateY(-15px) rotate(2deg); }
        }
        .floating-ticket {
            animation: ticket-float 6s ease-in-out infinite;
        }

        /* Glassmorphism Classes */
        .glass {
            background: rgba(255, 255, 255, 0.03);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.05);
        }
        
        /* Neon & Glows */
        .text-glow { text-shadow: 0 0 20px rgba(232, 124, 161, 0.6); }
        
        /* Golden Ticket Styles */
        .golden-ticket {
            background: linear-gradient(135deg, #bf953f, #fcf6ba, #b38728, #fbf5b7, #aa771c);
            color: black;
            position: relative;
            overflow: hidden;
        }
        .golden-ticket::before {
            content: '';
            position: absolute;
            top: -50%; left: -50%;
            width: 200%; height: 200%;
            background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, transparent 60%);
            transform: rotate(45deg);
            animation: shine 3s infinite;
            opacity: 0.3;
        }
        @keyframes shine {
            0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
            100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
        }
        
        /* Toast Notification Animation */
        .toast-enter {
            transform: translateY(100%);
            opacity: 0;
        }
        .toast-enter-active {
            transform: translateY(0);
            opacity: 1;
            transition: all 0.3s ease-out;
        }
        .toast-exit {
            transform: translateY(0);
            opacity: 1;
        }
        .toast-exit-active {
            transform: translateY(100%);
            opacity: 0;
            transition: all 0.3s ease-in;
        }

        /* ===== SPLASH SCREEN (Netflix Launcher) ===== */
        #splash-screen {
            position: fixed;
            inset: 0;
            z-index: 99999;
            background: #000;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            overflow: hidden;
            transition: opacity 0.8s ease, visibility 0.8s ease;
        }
        #splash-screen.hide {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
        }

        /* Netflix "N" ribbon */
        .netflix-n {
            width: 200px;
            margin-bottom: 40px;
            animation: splash-entrance 1.4s cubic-bezier(.22,1,.36,1) forwards;
        }
        .netflix-n-svg {
            width: 100%;
            height: auto;
            object-fit: contain;
        }
        @keyframes splash-entrance {
            0% { transform: scale(0.3); opacity: 0; }
            60% { transform: scale(1.05); opacity: 1; }
            100% { transform: scale(1); opacity: 1; }
        }

        /* Glow ring behind the N */
        .splash-glow {
            position: absolute;
            width: 200px;
            height: 200px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(229,9,20,0.25) 0%, transparent 70%);
            animation: glow-pulse 2s ease-in-out infinite;
            pointer-events: none;
        }
        @keyframes glow-pulse {
            0%, 100% { transform: scale(1); opacity: 0.4; }
            50% { transform: scale(1.5); opacity: 0.8; }
        }

        /* Title text */
        .splash-title {
            font-family: 'Bebas Neue', sans-serif;
            font-size: 2.4rem;
            letter-spacing: 0.25em;
            color: #fff;
            opacity: 0;
            animation: splash-text-in 1s 1s ease forwards;
        }
        .splash-subtitle {
            font-family: 'Montserrat', sans-serif;
            font-size: 0.75rem;
            letter-spacing: 0.4em;
            color: rgba(255,255,255,0.4);
            text-transform: uppercase;
            margin-top: 6px;
            opacity: 0;
            animation: splash-text-in 1s 1.3s ease forwards;
        }
        @keyframes splash-text-in {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* CTA pulse button */
        .splash-cta {
            margin-top: 50px;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 14px;
            opacity: 0;
            animation: splash-text-in 0.8s 1.8s ease forwards;
        }
        .splash-play-btn {
            width: 72px;
            height: 72px;
            border-radius: 50%;
            border: 2px solid rgba(255,255,255,0.3);
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(255,255,255,0.05);
            backdrop-filter: blur(6px);
            transition: all 0.3s ease;
            position: relative;
        }
        .splash-play-btn::before {
            content: '';
            position: absolute;
            inset: -6px;
            border-radius: 50%;
            border: 1px solid rgba(232,124,161,0.3);
            animation: ring-pulse 2s ease-in-out infinite;
        }
        .splash-play-btn:hover {
            border-color: var(--color-pink);
            background: rgba(232,124,161,0.15);
            transform: scale(1.1);
        }
        .splash-play-btn svg {
            width: 28px;
            height: 28px;
            fill: white;
            margin-left: 4px;
        }
        @keyframes ring-pulse {
            0%, 100% { transform: scale(1); opacity: 0.5; }
            50% { transform: scale(1.3); opacity: 0; }
        }
        .splash-cta-text {
            font-family: 'Montserrat', sans-serif;
            font-size: 0.65rem;
            letter-spacing: 0.35em;
            text-transform: uppercase;
            color: rgba(255,255,255,0.35);
            animation: blink-subtle 2.5s ease-in-out infinite;
        }
        @keyframes blink-subtle {
            0%, 100% { opacity: 0.35; }
            50% { opacity: 0.8; }
        }

        /* Particles / embers background */
        .splash-particles {
            position: absolute;
            inset: 0;
            pointer-events: none;
            overflow: hidden;
        }
        .splash-particle {
            position: absolute;
            width: 3px;
            height: 3px;
            background: var(--color-pink);
            border-radius: 50%;
            opacity: 0;
            animation: particle-rise linear infinite;
        }
        @keyframes particle-rise {
            0% { opacity: 0; transform: translateY(0) scale(0); }
            20% { opacity: 0.6; }
            100% { opacity: 0; transform: translateY(-100vh) scale(1); }
        }

        /* Music toggle button (persistent) */
        .music-toggle {
            position: fixed;
            bottom: 24px;
            right: 24px;
            z-index: 9998;
            width: 48px;
            height: 48px;
            border-radius: 50%;
            border: 1px solid rgba(255,255,255,0.15);
            background: rgba(0,0,0,0.7);
            backdrop-filter: blur(10px);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease;
            opacity: 0;
            visibility: hidden;
        }
        .music-toggle.visible {
            opacity: 1;
            visibility: visible;
        }
        .music-toggle:hover {
            border-color: var(--color-pink);
            background: rgba(232,124,161,0.15);
            transform: scale(1.1);
        }
        .music-toggle svg {
            width: 20px;
            height: 20px;
            color: white;
        }

        /* Equalizer bars animation */
        .eq-bars {
            display: flex;
            align-items: flex-end;
            gap: 2px;
            height: 16px;
        }
        .eq-bars .bar {
            width: 3px;
            background: var(--color-pink);
            border-radius: 1px;
            animation: eq-dance 0.8s ease-in-out infinite alternate;
        }
        .eq-bars .bar:nth-child(1) { height: 6px; animation-delay: 0s; }
        .eq-bars .bar:nth-child(2) { height: 12px; animation-delay: 0.2s; }
        .eq-bars .bar:nth-child(3) { height: 8px; animation-delay: 0.4s; }
        .eq-bars .bar:nth-child(4) { height: 14px; animation-delay: 0.1s; }
        .music-toggle.paused .eq-bars .bar {
            animation: none;
            height: 3px;
        }
        @keyframes eq-dance {
            0% { height: 4px; }
            100% { height: 16px; }
        }
