        :root {
            /* DARK THEME (DEFAULT) */
            --bg-primary: #050505;
            --bg-primary-rgb: 5 5 5;

            --bg-surface: #0A0A0A;
            --bg-surface-rgb: 10 10 10;

            --text-primary: #E5E5E5;
            --text-primary-rgb: 229 229 229;

            --text-muted: #888888;
            --text-muted-rgb: 136 136 136;

            --accent: #3f6fa5;
            --accent-rgb: 63 111 165;

            --border: rgba(255, 255, 255, 0.1);
            --logo-filter: none;
        }

        .light-theme {
            /* LIGHT THEME (INDUSTRIAL GREY) */
            --bg-primary: #e0e0e0;
            /* Concrete Grey */
            --bg-primary-rgb: 224 224 224;

            --bg-surface: #f5f5f5;
            /* Off-white */
            --bg-surface-rgb: 245 245 245;

            --text-primary: #1a1a1a;
            /* Dark Grey */
            --text-primary-rgb: 26 26 26;

            --text-muted: #555555;
            --text-muted-rgb: 85 85 85;

            --accent: #2c5282;
            /* Darker Blue for contrast */
            --accent-rgb: 44 82 130;

            --border: rgba(0, 0, 0, 0.1);
            --logo-filter: invert(1);
            /* Invert white logo to black */
        }

        body {
            background-color: var(--bg-primary);
            color: var(--text-primary);
            transition: background-color 0.3s ease, color 0.3s ease;
        }

        /* Utility classes for theme usage */
        .bg-theme-primary {
            background-color: var(--bg-primary);
        }

        .bg-theme-surface {
            background-color: var(--bg-surface);
        }

        .text-theme-primary {
            color: var(--text-primary);
        }

        .text-theme-muted {
            color: var(--text-muted);
        }

        .text-theme-accent {
            color: var(--accent);
        }

        .border-theme {
            border-color: var(--border);
        }

        /* Logo handling */
        .logo-glare img {
            filter: var(--logo-filter);
            transition: filter 0.3s ease;
        }

        /* Image Filters Removed */
        .img-filter {
            filter: none;
            transform: scale(1.0);
            transition: all 0.7s cubic-bezier(0.2, 1, 0.3, 1);
        }

        .group:hover .img-filter,
        .group.mobile-focus .img-filter {
            transform: scale(1.05);
        }

        /* LOGO SHINE EFFECT (PREMIUM) */
        .logo-glare {
            position: relative;
            overflow: hidden;
            display: inline-block;
        }

        /* The shining beam */
        .logo-glare::after {
            content: '';
            position: absolute;
            top: 0;
            left: -150%;
            width: 100%;
            height: 100%;
            background: linear-gradient(to right,
                    rgba(255, 255, 255, 0) 0%,
                    rgba(255, 255, 255, 0.3) 50%,
                    rgba(255, 255, 255, 0) 100%);
            transform: skewX(-25deg);
            animation: shine 6s infinite;
            /* Runs every 6 seconds */
        }

        @keyframes shine {
            0% {
                left: -150%;
            }

            20% {
                left: 150%;
            }

            /* Fast sweep */
            100% {
                left: 150%;
            }

            /* Wait */
        }

        /* Text Reveal */
        .reveal-content {
            transform: translateY(100%);
            transition: transform 0.5s cubic-bezier(0.2, 1, 0.3, 1);
        }


        .hero-slide {
            position: absolute;
            inset: 0;
            opacity: 0;
            transition: opacity 1.5s ease-in-out;
        }

        .hero-slide.active {
            opacity: 1;
        }

        .journey-line {
            position: absolute;
            left: 50%;
            top: 0;
            bottom: 0;
            width: 1px;
            background: var(--border);
            transform: translateX(-50%);
        }

        @media (max-width: 768px) {
            .journey-line {
                left: 20px;
            }
        }

        /* Mobile Menu */
        #mobile-menu {
            transition: opacity 0.3s ease, visibility 0.3s ease;
            background-color: var(--bg-primary);
        }

        #mobile-menu.hidden-menu {
            opacity: 0;
            pointer-events: none;
            visibility: hidden;
        }

        #mobile-menu.visible-menu {
            opacity: 1;
            pointer-events: auto;
            visibility: visible;
        }