:root {
            --retro-orange: #E88D67;
            --retro-teal: #7BB0A6;
            --retro-navy: #2B465E;
            --retro-cream: #F4EBD0;
        }

        /* --- HAMBURGER MENU STYLING --- */
        .menu-toggle {
            display: none; /* Hidden on desktop */
            background: var(--retro-navy);
            color: white;
            border: none;
            padding: 10px 15px;
            font-family: 'Montserrat', sans-serif;
            font-weight: 900;
            text-transform: uppercase;
            font-size: 0.8rem;
            cursor: pointer;
            border: 2px solid var(--retro-navy);
            box-shadow: 3px 3px 0px var(--retro-orange);
        }

        .mobile-overlay {
            position: fixed;
            top: 0;
            right: -100%; /* Start off-screen */
            width: 80%;
            max-width: 300px;
            height: 100%;
            background: var(--retro-cream);
            border-left: 5px solid var(--retro-navy);
            z-index: 1000;
            transition: 0.4s cubic-bezier(0.19, 1, 0.22, 1);
            padding: 40px 20px;
            display: flex;
            flex-direction: column;
            box-shadow: -10px 0px 30px rgba(0,0,0,0.2);
        }

        .mobile-overlay.active { right: 0; }

        .mobile-overlay a {
            font-family: 'Abril Fatface', serif;
            font-size: 1.8rem;
            color: var(--retro-navy);
            text-decoration: none;
            margin-bottom: 20px;
            border-bottom: 2px solid transparent;
        }

        .mobile-overlay a:hover { border-bottom-color: var(--retro-orange); }

        .close-menu {
            align-self: flex-end;
            font-size: 1.5rem;
            cursor: pointer;
            margin-bottom: 30px;
            color: var(--retro-navy);
        }

        /* Darken background when menu is open */
        .overlay-bg {
            display: none;
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(43, 70, 94, 0.8);
            z-index: 999;
        }
        .overlay-bg.active { display: block; }

        @media (max-width: 768px) {
            .nav-links { display: none; } /* Hide standard links */
            .menu-toggle { display: block; } /* Show button */
        }