   html { scroll-behavior: smooth; scroll-padding-top: 90px; }
        body { font-family: 'Inter', sans-serif; background-color: #FAFAF5; color: #1C1917; overflow-x: hidden; width: 100%; }
        .font-serif { font-family: 'Playfair Display', serif; }
        ::selection { background-color: #7A201F; color: white; }

        @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
        .menu-item-anim { animation: fadeInUp 0.5s ease-out forwards; opacity: 0; }

        .reveal-section { opacity: 0; transform: translateY(3rem); transition: all 1s ease-out; }
        .reveal-section.visible { opacity: 1; transform: translateY(0); }

        .lunch-item:not(:last-child) { border-bottom: 1px dashed rgba(122, 32, 31, 0.2); margin-bottom: 1rem; padding-bottom: 1rem; }
        .no-scrollbar::-webkit-scrollbar { display: none; }
        .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

        .room-card {
            position: relative; overflow: hidden; height: 450px; border-radius: 0.125rem;
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5); cursor: pointer;
            -webkit-tap-highlight-color: transparent;
        }
        .room-bg {
            position: absolute; inset: 0; background-size: cover; background-position: center;
            transition: transform 0.7s ease;
        }
        .room-content {
            position: absolute; bottom: 0; left: 0; width: 100%; padding: 2rem;
            background: linear-gradient(to top, rgba(28,25,23,0.95) 0%, rgba(28,25,23,0.7) 60%, transparent 100%);
            transform: translateY(120px); transition: transform 0.5s ease-out;
        }
        .room-details { opacity: 0; transition: opacity 0.5s ease-out; margin-top: 1rem; }
        
        @media (hover: hover) and (pointer: fine) {
            .room-card:hover .room-bg { transform: scale(1.08); }
            .room-card:hover .room-content { transform: translateY(0); }
            .room-card:hover .room-details { opacity: 1; }
        }
        .room-card.is-active .room-bg { transform: scale(1.08); }
        .room-card.is-active .room-content { transform: translateY(0); }
        .room-card.is-active .room-details { opacity: 1; }

        .hero-slide { transition: opacity 2s ease-in-out; }
        @keyframes heroZoom { 0% { transform: scale(1); } 100% { transform: scale(1.15); } }
        .animate-heroZoom { animation: heroZoom 8s linear forwards; }
