        /* --- HERO SECTION --- */
        .hero-section {
            height: 100vh;
            height: 100svh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            background-image: url('mesh.jpg');
            background-size: 200%;
            background-repeat: repeat;
            animation: swim-left 80s linear infinite;
            position: relative;
        }

        @keyframes swim-left {
            from { background-position: 0 0; }
            to { background-position: -2000px 0; }
        }

        .wave-wrapper {
            display: flex;
            gap: 8px; 
            margin-bottom: 25px; 
            align-items: center;
        }

        .ascii-letter {
            white-space: pre;
            font-family: 'Courier New', Courier, monospace;
            font-size: 22px; 
            line-height: 0.92; 
            font-weight: bold;
            text-align: left;
            animation: physical-wave 2.5s ease-in-out infinite, color-wave 2.5s ease-in-out infinite;
            animation-delay: calc(var(--i) * 0.2s);
            background: linear-gradient(90deg, #ffffff 0%, #888888 50%, #ffffff 100%);
            background-size: 200% auto;
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            padding-bottom: 4px; 
        }

        @keyframes physical-wave { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-30px); } }
        @keyframes color-wave { 0%, 100% { background-position: 0% center; } 50% { background-position: 100% center; } }

        .tagline {
            font-family: 'Courier New', monospace;
            color: #ffffff;
            font-size: 14px;
            font-style: italic;
            letter-spacing: 2px;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
            animation: tagline-float 3s ease-in-out infinite;
        }

        @keyframes tagline-float { 0%, 100% { transform: translateY(0); opacity: 0.8; } 50% { transform: translateY(-5px); opacity: 1; } }

        /* --- SCROLL HINT --- */
        .scroll-hint {
            position: absolute;
            bottom: 40px;
            font-family: 'Courier New', monospace;
            font-size: 11px;
            letter-spacing: 2px;
            text-transform: uppercase;
            animation: pulse-fade 2s infinite;
            opacity: 0.5;
        }

        @keyframes pulse-fade { 
            0%, 100% { opacity: 0.3; transform: translateY(0); } 
            50% { opacity: 0.8; transform: translateY(10px); } 
        }

