        /* --- RESET & CORE --- */
        * { margin: 0; padding: 0; box-sizing: border-box; }
        
        body {
            /* RICH CREAM BACKGROUND */
            background-color: #f4f1ea; 
            /* DEEP WARM BRONZE TEXT */
            color: #5c4d35; 
            font-family: 'Montserrat', sans-serif;
            overflow: hidden; 
            height: 100vh;
            width: 100vw;
            user-select: none; 
        }

        /* --- WEBGL LAYER --- */
        #canvas-container {
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            z-index: -1;
            /* Ensure canvas doesn't darken the page too much */
            opacity: 0.8; 
        }

        /* --- TYPOGRAPHY --- */
        .script-font { font-family: 'Cormorant Garamond', serif; font-weight: 400; }
        .sans-font { font-family: 'Montserrat', sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: 0.2em; color: #8c7a5b; }
        
        /* Updated Glow for Light Background: Subtle Golden Bloom */
        .text-glow {
            /* A tight dark shadow for definition, plus a wide soft gold glow */
            text-shadow: 0 1px 2px rgba(0,0,0,0.1), 0 0 40px rgba(218, 165, 32, 0.4);
        }

        /* --- VIRTUAL SLIDES (Unchanged logic) --- */
        .slide {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100%;
            height: auto;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            opacity: 0; 
            pointer-events: none; 
            will-change: transform, opacity, filter;
        }

        /* --- CONTENT STYLING --- */
        h1 { font-size: clamp(2.5rem, 6vw, 5rem); font-style: italic; color: #4a3b2a; }
        
        .names-group { display: flex; flex-direction: column; gap: 0.5rem; }
        .name { font-size: clamp(3rem, 9vw, 7rem); line-height: 1; color: #4a3b2a; }
        .amp { font-size: 2rem; opacity: 0.7; margin: 0.5rem 0; color: #bfa57d;}
        
        .date-main { font-size: clamp(3.5rem, 7vw, 6rem); border-bottom: 1px solid rgba(184, 134, 11, 0.3); padding-bottom: 1rem; margin-bottom: 1rem; color: #4a3b2a;}
        .date-sub { font-size: 1rem; display: flex; gap: 1.5rem; justify-content: center; opacity: 0.9; }

        .venue-name { font-size: clamp(2rem, 5vw, 4rem); margin-bottom: 1rem; color: #4a3b2a;}
        .venue-addr { font-size: 1rem; opacity: 0.8; line-height: 1.8; }

        /* Scroll Hint */
        .ui-hint {
            position: fixed;
            bottom: 30px; left: 50%; transform: translateX(-50%);
            font-size: 0.7rem; letter-spacing: 0.3em; opacity: 0.6;
            z-index: 10; color: #8c7a5b;
        }