        :root {
            --c-bg: #050505;
            
            /* Text Colors */
            --c-white: #FFFFFF;
            --c-platinum: #E5E4E2;
            --c-text-dim: rgba(255,255,255,0.7);
            
            /* Accents */
            --c-gold: #FFD700;
            --c-red: #D60000;
            --c-red-bright: #FF1A1A;
            --c-green: #18D500;
            --c-green-bright: #3aff21;
            
            /* Background Stripes */
            --bg-stripe-1: #a21720;
            --bg-stripe-2: #98141b;
            
            --font-head: 'League Gothic', sans-serif;
            --font-body: 'Inter', sans-serif;
            
            --safe-bottom: env(safe-area-inset-bottom, 20px);
        }

        * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
        
        html, body {
            background-color: transparent;
            color: var(--c-white);
            font-family: var(--font-body);
            margin: 0; padding: 0;
            min-height: 100vh;
            overflow-x: hidden;
            width: 100%;
            -webkit-font-smoothing: antialiased;
            display: flex; flex-direction: column;
            cursor: pointer;
        }

        /* -----------------------------------------------------------
           BACKGROUND
        ----------------------------------------------------------- */
        .bg-layer {
            position: fixed; inset: 0; z-index: -2;
            background-color: var(--bg-stripe-2);
            background-image: repeating-linear-gradient(
                90deg,
                var(--bg-stripe-1),
                var(--bg-stripe-1) 80px,
                var(--bg-stripe-2) 80px,
                var(--bg-stripe-2) 160px
            );
        }

        .vignette {
            position: fixed; inset: 0; z-index: -1;
            background: radial-gradient(circle at center, transparent 20%, rgba(0,0,0,0.3) 60%, rgba(0,0,0,0.85) 100%);
            pointer-events: none;
        }

        .noise {
            position: fixed; inset: 0; z-index: -1; opacity: 0.04;
            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.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='1'/%3E%3C/svg%3E");
            pointer-events: none;
            mix-blend-mode: overlay;
        }

        /* -----------------------------------------------------------
           LAYOUT CONTAINER
        ----------------------------------------------------------- */
        .container {
            flex: 1;
            display: flex; flex-direction: column;
            width: 100%; max-width: 600px;
            margin: 0 auto;
            padding: 16px 20px 0 20px;
            position: relative;
            z-index: 1;
        }

        /* -----------------------------------------------------------
           HEADER
        ----------------------------------------------------------- */
        header {
            display: flex; 
            flex-direction: column; 
            align-items: center;    
            justify-content: center;
            gap: 12px;              
            padding-bottom: 10px; 
            flex-shrink: 0;
            z-index: 10; 
            position: relative;
            width: 100%;
        }
        
        /* HIDDEN ON MOBILE */
        .brand-logo { display: none; opacity: 0.9; }
        .brand-logo img { height: 24px; width: auto; display: block; }

        .timer {
            background: rgba(0,0,0,0.4); border: 1px solid rgba(255,255,255,0.2);
            padding: 6px 12px; border-radius: 100px;
            font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px;
            display: flex; gap: 8px; align-items: center; color: #fff;
            backdrop-filter: blur(4px);
        }
        .dot { 
            width: 6px; height: 6px; 
            background: var(--c-green); 
            border-radius: 50%; 
            box-shadow: 0 0 8px var(--c-green);
            animation: blink 2s infinite; 
        }
        @keyframes blink { 50% { opacity: 0.4; } }

        /* -----------------------------------------------------------
           HERO ARTWORK
        ----------------------------------------------------------- */
        .hero-stage {
            flex-shrink: 0; text-align: center; 
            position: relative;
            display: flex; flex-direction: column; align-items: center; justify-content: center;
            margin-bottom: 0px; 
        }
        
        .fan-layer {
            position: absolute; top: 50%; left: 50%;
            transform: translate(-50%, -50%);
            width: 140%; max-width: 800px;
            display: flex; justify-content: space-between; align-items: center;
            z-index: 0; pointer-events: none;
            opacity: 0.85; 
            filter: drop-shadow(0 10px 20px rgba(0,0,0,0.5));
        }
        .fan-img { width: 48%; height: auto; }
        .fan-left { transform: rotate(-15deg) translateY(15px); }
        .fan-right { transform: rotate(15deg) translateY(15px); }

        .wordmark {
            width: 100%; max-width: 420px; height: auto;
            filter: drop-shadow(0 20px 40px rgba(0,0,0,0.8));
            position: relative; z-index: 1;
            transform: rotate(-2deg); 
        }

        /* -----------------------------------------------------------
           CONTENT
        ----------------------------------------------------------- */
        .content-block { text-align: center; margin-bottom: 24px; }

        .lead-in {
            font-size: 0.75rem;
            line-height: 1.5; color: #f0f0f0;
            max-width: 280px;
            margin: 0px auto 20px auto;
            text-align: center; text-shadow: 0 2px 4px rgba(0, 0, 0, 1);
            font-weight: 500; position: relative; z-index: 10;
        }

        .sec-header {
            font-family: var(--font-head);
            font-size: 2.2rem;
            text-transform: uppercase; letter-spacing: 1px;
            margin-bottom: 15px;
            background: linear-gradient(180deg, #FFFFFF 0%, #D0D0D0 100%);
            -webkit-background-clip: text; -webkit-text-fill-color: transparent;
            filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
        }

        .steps-list {
            list-style: none; padding: 0; margin: 0 auto;
            max-width: 400px; text-align: left;
            display: flex; flex-direction: column; gap: 12px;
        }
        .step-item {
            display: flex; gap: 12px;
            font-size: 0.95rem; line-height: 1.4; color: #ddd;
            text-shadow: 0 1px 2px rgba(0,0,0,0.8);
        }
        .step-num {
            font-family: var(--font-head); font-size: 1.2rem;
            color: var(--c-green); flex-shrink: 0; margin-top: -2px;
        }
        .step-text strong { color: #fff; }

        /* -----------------------------------------------------------
           PRIZE BOXES
        ----------------------------------------------------------- */
        .prize-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px; max-width: 500px; margin: 0 auto;
        }

        .prize-box {
            background: rgba(60,20,20,0.6);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 12px; padding: 20px 10px;
            display: flex; flex-direction: column;
            align-items: center; justify-content: center;
            backdrop-filter: blur(4px);
        }
        
        .prize-box.grand {
            background: linear-gradient(145deg, rgba(220, 20, 60, 0.15) 0%, rgba(30, 5, 5, 0.8) 100%);
            border-color: rgba(255, 255, 255, 0.15);
        }

        .pb-label {
            font-size: 0.7rem; text-transform: uppercase; letter-spacing: 1px;
            color: var(--c-text-dim); margin-bottom: 8px; font-weight: 700;
        }
        .grand .pb-label { color: var(--c-green); }

        .pb-val {
            font-family: var(--font-head);
            font-size: 1.5rem; line-height: 0.9;
            color: #fff; margin-bottom: 0;
        }
        .grand .pb-val { font-size: 1.8rem; }
        
        .val-sub { display: block; font-size: 0.6em; margin-top: 4px; color: #ddd; }

        /* -----------------------------------------------------------
           FOOTER
        ----------------------------------------------------------- */
        .footer-deck {
            padding-bottom: calc(20px + var(--safe-bottom));
            width: 100%; text-align: center; margin-top: 30px;
        }

        .cta-btn {
            display: block; width: 100%; height: 64px;
            background: linear-gradient(180deg, var(--c-green-bright) 0%, var(--c-green) 100%);
            border: none; border-radius: 12px;
            color: #050505; 
            font-family: var(--font-head); font-size: 2.2rem;
            text-decoration: none; text-transform: uppercase; letter-spacing: 1px;
            display: flex; align-items: center; justify-content: center;
            box-shadow: 0 10px 40px rgba(24, 213, 0, 0.4), inset 0 2px 0 rgba(255,255,255,0.4);
            transition: transform 0.1s, box-shadow 0.1s;
        }
        .cta-btn:active { transform: scale(0.98); box-shadow: 0 5px 20px rgba(24, 213, 0, 0.2); }

        .legal {
            /* 15px default margin prevents overlap when button is present */
            margin-top: 15px; 
            font-size: 0.65rem; color: rgba(255,255,255,0.4);
            line-height: 1.5; text-shadow: 0 1px 2px rgba(0,0,0,0.8);
        }
        .legal a { color: rgba(255,255,255,0.6); text-decoration: underline; }

        /* -----------------------------------------------------------
           RESTORED SPARKLE ANIMATIONS (SVG)
        ----------------------------------------------------------- */
        .sparkle-container {
            position: absolute; pointer-events: none;
            width: 60px; height: 60px; z-index: 9999;
            transform: translate(-50%, -50%);
            /* Fade out over time */
            animation: fade-sparkle 1.5s ease-out forwards;
        }

        /* SVG Internal Groups */
        .group { transform: translate(42.5px, 42.5px); }
        .path-reset { transform: translate(-42.5px, -42.5px); }

        /* Gold Gradient Fills for SVG paths */
        .large path { fill: #FFD700; filter: drop-shadow(0 0 2px #FFF); }
        .large-2 path { fill: #FFFACD; }
        .small path { fill: #FFFFFF; }

        /* Twinkle Animations */
        .large { animation: large 1.5s infinite; }
        .large-2 { animation: large-2 1.5s infinite; }
        .small { animation: small 1.5s infinite; }

        @keyframes large {
            0% { opacity: 0; transform: rotate(0deg) scale(0); }
            50% { opacity: 1; }
            100% { opacity: 0; transform: rotate(360deg) scale(1.5); }
        }
        @keyframes large-2 {
            0% { opacity: 0; transform: rotate(45deg) scale(0); }
            50% { opacity: 1; }
            100% { opacity: 0; transform: rotate(405deg) scale(1.1); }
        }
        @keyframes small {
            0% { opacity: 0; transform: rotate(0deg) scale(0); }
            50% { opacity: 1; }
            100% { opacity: 0; transform: rotate(-360deg) scale(1.5); }
        }
        @keyframes fade-sparkle {
            0% { opacity: 1; }
            80% { opacity: 1; }
            100% { opacity: 0; }
        }

        /* -----------------------------------------------------------
           DESKTOP ONLY
        ----------------------------------------------------------- */
        .desktop-only-content { display: none; }

        @media (min-width: 769px) {
            .container { max-width: 1200px; padding-top: 40px; }
            
            header { max-width: 1000px; margin: 40px auto 20px auto; width: 100%; }
            .brand-logo { display: block; } /* Show logo on Desktop */

            .hero-stage { 
                transform: scale(1.3); margin-bottom: 20px; margin-top: 50px; 
            }
            .fan-layer { max-width: 850px; } 

            .info-grid {
                display: grid; grid-template-columns: 1fr 1fr; gap: 60px;
                max-width: 900px; margin: 0 auto; text-align: left;
            }
            
            .lead-in {
                max-width: 420px; font-size: 0.9rem;
                margin-top: 70px; margin-bottom: 60px;
            }
            
            .content-block { text-align: left; margin: 0; }
            .sec-header { font-size: 2.8rem; }
            .steps-list { max-width: none; }
            .prize-grid { margin: 0; } 

            .footer-deck { margin-bottom: 100px; margin-top: 80px; }
            .cta-btn { width: 460px; font-size: 2.5rem; height: 76px; margin: 0 auto; }

            .desktop-only-content { display: block; animation: fadeInUp 0.8s ease-out; }
            
            .promo-box {
                background: rgba(0,0,0,0.4); backdrop-filter: blur(10px);
                border-radius: 16px; padding: 40px; text-align: center;
                margin-bottom: 60px; border: 1px solid rgba(255,255,255,0.05);
            }
            .promo-head { font-family: var(--font-head); font-size: 3rem; margin-bottom: 10px; line-height: 1; text-transform: uppercase; }
            .promo-sub { font-size: 1rem; color: #ccc; max-width: 500px; margin: 0 auto 30px auto; }
            .code-container {
                display: inline-flex; align-items: center; justify-content: center; gap: 20px;
                border: 2px dashed var(--c-green);
                border-radius: 8px;
                padding: 15px 30px; cursor: pointer; transition: background 0.2s;
            }
            .code-container:hover { background: rgba(24, 213, 0, 0.05); }
            .code-text { font-family: var(--font-body); font-weight: 700; font-size: 1.5rem; color: var(--c-green); letter-spacing: 1px; }
            .code-hint { font-size: 0.75rem; color: rgba(255,255,255,0.5); text-transform: uppercase; letter-spacing: 1px; }

            .steps-section { text-align: center; margin-bottom: 80px; }
            .steps-head { font-family: var(--font-head); font-size: 4rem; margin-bottom: 50px; text-transform: uppercase; }
            .steps-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px; }
            .step-col { text-align: left; }
            .step-num-lg { font-family: var(--font-head); font-size: 5rem; color: var(--c-green); line-height: 1; margin-bottom: 10px; opacity: 0.8; }
            .step-title { font-weight: 700; font-size: 1.2rem; text-transform: uppercase; margin-bottom: 10px; }
            .step-desc { font-size: 0.9rem; color: #bbb; line-height: 1.5; }

            .final-footer {
                border-top: 1px solid rgba(255,255,255,0.1); padding: 40px 0;
                text-align: center; color: #fff; font-size: 0.8rem;
            }
            .final-footer a { color: #fff; text-decoration: none; margin: 0 10px; }
            .final-footer a:hover { color: #fff; text-decoration: underline; }
            
            @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
        }