        /* Little Italy Pizzeria Menu  */
        
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body, html {
            height: 100%;
            width: 100%;
            background-color: #1a1a1a;
            font-family: 'Playfair Display', serif;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        #mobile-viewport {
            width: 100%;
            height: 100%;
            background-color: #0d0d0d;
            position: relative;
            overflow: hidden;
        }

        @media (min-width: 500px) {
            #mobile-viewport {
                max-width: 450px;
                height: 90vh;
                max-height: 900px;
                border-radius: 20px;
                box-shadow: 0 0 50px rgba(0,0,0,0.5);
            }
        }

        #splash-screen {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 9999;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            overflow: hidden;
            background-color: #000;
            transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1), transform 1s cubic-bezier(0.4, 0, 0.2, 1);
        }

        #splash-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image: url('dinner.png');
            background-size: cover;
            background-position: center;
            opacity: 0.4;
            filter: blur(3px);
            transform: scale(1);
            animation: kenBurns 15s infinite alternate ease-in-out;
            z-index: -1;
        }

        #splash-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: radial-gradient(circle, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.9) 90%);
            z-index: 0;
        }

        .splash-content {
            z-index: 2;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 20px;
        }

        .splash-logo {
            max-width: 250px;
            height: auto;
            margin-bottom: 25px;
            filter: drop-shadow(0 4px 15px rgba(0,0,0,0.5));
            opacity: 0;
            animation: fadeSlideDown 1.2s ease-out forwards 0.3s;
        }

        .splash-title {
            font-family: 'Cinzel', serif;
            font-size: 2rem;
            color: #e0c080;
            letter-spacing: 8px;
            margin-bottom: 15px;
            text-transform: uppercase;
            text-shadow: 0 2px 10px rgba(0,0,0,0.5);
            opacity: 0;
            animation: trackingExpand 1.5s cubic-bezier(0.215, 0.610, 0.355, 1.000) forwards 0.8s;
            position: relative;
        }

        .splash-title::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            width: 60px;
            height: 2px;
            background-color: #e0c080;
            box-shadow: 0 0 10px #e0c080;
        }

        .splash-text {
            font-family: 'Playfair Display', serif;
            font-size: 1rem;
            color: #fff;
            font-style: italic;
            margin-top: 30px;
            opacity: 0;
            font-weight: 300;
            letter-spacing: 1px;
            animation: fadeInUp 1s ease-out forwards 1.8s, glowPulse 3s infinite ease-in-out 2.5s;
        }

        .background-layer {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
            background-image: url('menu-bg.png');
            background-size: 100% 100%;
            background-position: center;
            background-repeat: no-repeat;
        }

        .scroll-container {
            position: absolute;
            top: 0;
            left: 0;
            z-index: 2;
            height: 100%;
            width: 100%;
            overflow-y: scroll;
            scroll-snap-type: y mandatory;
            scrollbar-width: none;
            -ms-overflow-style: none;
        }
        
        .scroll-container::-webkit-scrollbar {
            display: none;
        }

        section {
            height: 100%;
            width: 100%;
            scroll-snap-align: center;
            scroll-snap-stop: always;
            position: relative;
            overflow: hidden;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .section-fullscreen {
            background-color: #000;
        }

        .section-fullscreen img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .section-framed {
            background-color: transparent;
        }

        .section-framed img {
            max-width: 70%;
            max-height: 70%;
            width: auto;
            height: auto;
            object-fit: contain;
            filter: drop-shadow(0 2px 8px rgba(0,0,0,0.15));
            transform: translateZ(0);
        }

        .scroll-hint {
            position: absolute;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 10;
            color: rgba(255, 255, 255, 0.8);
            font-size: 20px;
            animation: bounce 2s infinite;
            pointer-events: none;
            text-shadow: 0 0 10px rgba(0,0,0,0.8);
            mix-blend-mode: overlay;
            transition: opacity 0.3s ease;
        }

        .scroll-hint.hidden {
            opacity: 0;
        }

        @keyframes kenBurns {
            0% { transform: scale(1); }
            100% { transform: scale(1.15); }
        }

        @keyframes fadeSlideDown {
            0% { opacity: 0; transform: translateY(-30px); }
            100% { opacity: 1; transform: translateY(0); }
        }

        @keyframes trackingExpand {
            0% { opacity: 0; letter-spacing: -5px; filter: blur(5px); }
            100% { opacity: 1; letter-spacing: 8px; filter: blur(0); }
        }

        @keyframes fadeInUp {
            0% { opacity: 0; transform: translateY(20px); }
            100% { opacity: 0.8; transform: translateY(0); }
        }

        @keyframes glowPulse {
            0%, 100% { text-shadow: 0 0 5px rgba(255,255,255,0.2); opacity: 0.8; }
            50% { text-shadow: 0 0 15px rgba(255,255,255,0.6); opacity: 1; }
        }

        @keyframes bounce {
            0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
            40% { transform: translateX(-50%) translateY(-10px); }
            60% { transform: translateX(-50%) translateY(-5px); }
        }