/* ═══════════════════════════════════════════════════════════════════════
    MINEDEV — overlays, mobile media queries, hamburger menu
    Split from original index.html lines 760-923
    ═══════════════════════════════════════════════════════════════════════ */

        /* ── OVERLAYS ───────────────────────────── */
        #desktop-spinner-overlay {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            background: #030303; z-index: 600; display: flex; justify-content: center; align-items: center;
            visibility: hidden; opacity: 0; border-radius: inherit;
        }
        #mobile-success-screen {
            position: fixed; top: 0; left: 0; width: 100vw; height: 100dvh;
            background: #030303; z-index: 999999; display: flex; flex-direction: column;
            justify-content: center; align-items: center; visibility: hidden; opacity: 0; padding: 20px;
        }
        .mobile-loader-container { width: 50px; height: 50px; margin-bottom: 40px; position: relative; }
        .mobile-spinner { width: 100%; height: 100%; border: 2px solid rgba(255,255,255,0.05); border-top-color: var(--text-color); border-radius: 50%; animation: mobileSpin 1s cubic-bezier(0.6, 0.2, 0.4, 0.8) infinite; }
        @keyframes mobileSpin { to { transform: rotate(360deg); } }
        .mobile-success-text-wrapper { position: relative; width: 100%; height: 60px; display: flex; justify-content: center; }
        .mobile-success-text { position: absolute; width: 100%; text-align: center; font-size: 0.9rem; color: rgba(255,255,255,0.8); font-variation-settings: "wght" 300; text-transform: uppercase; letter-spacing: 3px; opacity: 0; transform: translateY(15px); }

        /* ── MOBILE ─────────────────────────────── */
        @media (max-width: 768px) {
            header { padding: 0 20px; height: 44px; align-items: center; top: 32px; }
            .header-left { gap: 10px; }
            .brand-tiny { font-size: 10px; }
            .location-text { display: none; }
            .hamburger-btn { top: 32px !important; right: 20px !important; }
            #portal-modal.active ~ .hamburger-btn,
            body.portal-open .hamburger-btn { display: none !important; }
            #portal-modal { flex-direction: column; overflow-y: auto; overflow-x: hidden; display: block; -webkit-overflow-scrolling: touch; }
            .col { padding: 80px 25px 40px 25px; }
            .col-left { padding-bottom: 40px; border-right: none; border-bottom: 1px solid rgba(0,0,0,0.1); }
            .col-right { padding-top: 40px; padding-bottom: 120px; }
            .modal-close { top: 25px; right: 20px; }
            .modal-title { font-size: clamp(2rem, 8vw, 2.5rem); margin-bottom: 15px; }
            .modal-desc { font-size: 0.85rem; }
            .input-group { margin-bottom: 20px; }
            .phone-input-wrapper { margin-bottom: 20px; }
            .country-code-select { font-size: 13px; min-width: 78px; }
            .submit-btn { padding: 12px 30px; font-size: 11px; }
            .modal-desc-container { max-width: 100%; }
            .audio-ui { display: none; }
            #toast-notification { position: absolute; top: 90px; bottom: auto; right: 20px; left: 20px; width: auto; max-width: none; transform: translateY(-20px); }
            .desktop-text { display: none; }
            .mobile-icon {
                display: inline-flex; width: 32px; height: 32px; border: 1px solid var(--text-color);
                border-radius: 50%; align-items: center; justify-content: center; font-size: 14px;
                font-style: italic; font-variation-settings: "wght" 300; text-transform: lowercase;
            }
            .menu-toggle { min-width: auto; padding: 0; text-align: center; border: none; }
            .menu-toggle::after { display: none; }
            .cursor-dot, .cursor-outline-wrapper, .cursor-glow { display: none; }
            * { cursor: auto !important; }
            /* Mobile performance: disable heavy overlays */
            #rgb-overlay { display: none !important; }
            #cinematic-exit { display: none !important; }
            /* Optimised transition glow for mobile: lighter blend, reduced blur */
            #transition-overlay { filter: blur(20px); mix-blend-mode: normal; opacity: 0; }
            /* Reduce paint on mobile */
            .hero-wrapper { will-change: auto; }
            .build-controls .ctrl-btn { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(3,3,3,0.75); }
            .hamburger-btn { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(3,3,3,0.75); }
            .mobile-fullscreen-menu { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(3,3,3,0.98); }
            .copyright-text { display: none; }
            .cookie-banner-new { bottom: 20px; right: 20px; left: 20px; width: auto; max-width: none; }
            #block-hint { display: none !important; }
            .build-controls { bottom: 24px; gap: 12px; }
            .build-controls .ctrl-btn { width: 38px; height: 38px; font-size: 13px; }
            .build-controls .ctrl-divider { height: 16px; }
            #quote-intro { padding: 25px; }
            .quote-text { font-size: clamp(0.95rem, 5vw, 1.3rem); }
            .quote-author { font-size: 0.65rem; letter-spacing: 2px; margin-top: 16px; }
            .hamburger-btn { display: flex !important; opacity: 1 !important; pointer-events: auto !important; cursor: pointer !important; }
            .mobile-menu-link { cursor: pointer !important; }
            .header-nav { display: none !important; }
            .menu-toggle { display: none !important; }
            /* Mobile ambient glow on hero text — lightweight CSS animation */
            .huge-text {
                filter: drop-shadow(0px 10px 25px rgba(0,0,0,0.5)) drop-shadow(0px 0px 60px rgba(180,120,255,0.15));
                animation: mobileGlow 4s ease-in-out infinite;
            }
            @keyframes mobileGlow {
                0%, 100% { filter: drop-shadow(0px 10px 25px rgba(0,0,0,0.5)) drop-shadow(0px 0px 40px rgba(180,120,255,0.1)); }
                50% { filter: drop-shadow(0px 10px 25px rgba(0,0,0,0.5)) drop-shadow(0px 0px 80px rgba(180,120,255,0.25)); }
            }
        }

        /* ── HAMBURGER MENU ─────────────────────── */
        .hamburger-btn {
            display: none;
            position: fixed;
            top: 28px; right: 20px;
            z-index: 100002;
            background: rgba(3,3,3,0.5);
            backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 8px;
            width: 44px; height: 44px;
            flex-direction: column; justify-content: center; align-items: center;
            gap: 5px; padding: 0; cursor: none;
            pointer-events: auto;
            transition: transform 0.3s var(--framer-ease);
        }
        .hamburger-btn:hover { transform: scale(1.05); }
        .hamburger-line {
            display: block; width: 20px; height: 1.5px;
            background: var(--text-color); border-radius: 1px;
            transform-origin: center; will-change: transform;
        }

        .mobile-fullscreen-menu {
            position: fixed; top: 0; left: 0;
            width: 100vw; height: 100vh; height: 100dvh;
            background: rgba(3,3,3,0.97);
            backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px);
            z-index: 100001;
            display: flex; align-items: center; justify-content: center;
            visibility: hidden; opacity: 0; pointer-events: none;
            clip-path: circle(0% at calc(100% - 42px) 50px);
            will-change: clip-path, opacity;
        }
        .mobile-menu-nav {
            display: flex; flex-direction: column; align-items: center; gap: 24px;
        }
        .mobile-menu-link {
            font-size: clamp(1.8rem, 7vw, 3rem);
            font-variation-settings: "wght" 300;
            letter-spacing: 2px; text-transform: uppercase;
            color: rgba(255,255,255,0.7); text-decoration: none;
            background: none; border: none;
            font-family: inherit; cursor: none;
            position: relative; overflow: hidden;
            opacity: 0; transform: translateY(40px) scale(0.95);
            filter: blur(6px);
            will-change: transform, opacity, filter;
        }
        .mobile-menu-link:hover { color: var(--text-color); }
        .mobile-menu-link::after {
            content: ''; position: absolute; bottom: 0; left: 0;
            width: 100%; height: 2px;
            background: var(--text-color);
            transform: translateX(-101%);
            transition: transform 0.4s var(--framer-ease);
        }
        .mobile-menu-link:hover::after { transform: translateX(0); }
        .mobile-menu-cta {
            margin-top: 12px; padding: 14px 36px;
            border: 1px solid rgba(255,255,255,0.2); border-radius: 6px;
            font-size: clamp(1rem, 4vw, 1.3rem) !important;
        }
        .mobile-menu-cta:hover {
            background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.4);
        }
        .mobile-menu-divider {
            width: 40px; height: 1px;
            background: rgba(255,255,255,0.15);
            margin: 4px 0;
            opacity: 0; transform: scaleX(0);
            will-change: transform, opacity;
        }
        .mobile-menu-brand {
            font-size: 10px; letter-spacing: 4px; text-transform: uppercase;
            color: rgba(255,255,255,0.25); font-variation-settings: "wght" 300;
            margin-top: 32px; opacity: 0; transform: translateY(10px);
            will-change: transform, opacity;
        }
