Lumière UI Template - Let's templates
Lumière preview 1
Free
0 2

Lumière

Lumière is an elegant restaurant template for fine dining venues, artisan cuisine, wine collections, and online reservations.

Live Demo
lumiere-tailwind.html
<!DOCTYPE html>
<html lang="en">
<head>
    <script>
        window.FontAwesomeConfig = {
          autoReplaceSvg: 'nest'
        };
      </script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/js/all.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Lumière | Tailwind CSS Fine Dining Restaurant Template</title>
    <meta name="description" content="Lumière is an elegant Tailwind CSS restaurant template for fine dining venues, artisan cuisine, wine collections, and online reservations.">
    <meta name="keywords" content="Lumière, Tailwind CSS template, HTML website template, fine dining restaurant, artisan cuisine, wine list, responsive restaurant design">
    <meta name="author" content="Let's templates">
    <link rel="canonical" href="">

    <meta property="og:type" content="product">
    <meta property="og:site_name" content="Let's templates">
    <meta property="og:locale" content="en_US">
    <meta property="og:url" content="">
    <meta property="og:title" content="Lumière | Tailwind CSS Fine Dining Restaurant Template">
    <meta property="og:description" content="An elegant Tailwind CSS restaurant template for fine dining venues, artisan cuisine, wine collections, and online reservations.">
    <meta property="og:image" content="">
    <meta property="og:image:alt" content="Lumière template preview">

    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:url" content="">
    <meta name="twitter:title" content="Lumière | Tailwind CSS Fine Dining Restaurant Template">
    <meta name="twitter:description" content="An elegant Tailwind CSS restaurant template for fine dining venues, artisan cuisine, wine collections, and online reservations.">
    <meta name="twitter:image" content="">
    <meta name="twitter:image:alt" content="Lumière template preview">
    <script src="https://cdn.tailwindcss.com"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet">
    <style>
        body { font-family: 'Inter', sans-serif; }
        .serif-text { font-family: 'Instrument+Serif', serif; }
        .hero-split {
            display: grid;
            grid-template-columns: 1fr 1fr;
            min-height: 100vh;
        }
        @media (max-width: 1024px) {
            .hero-split {
                grid-template-columns: 1fr;
            }
        }
    </style>
</head>
<body class="bg-[#F2EBE3] text-[#1A1A1A] overflow-x-hidden">

    <!-- Header -->
    <header id="header" class="fixed top-0 left-0 w-full z-50 px-8 py-8 flex justify-between items-start pointer-events-none">
        <div class="pointer-events-auto">
            <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" class="text-black">
                <path d="M12 8V24M12 8C12 6 13 4 15 4V8M12 8C12 6 11 4 9 4V8M15 4V16M9 4V16M28 4V36M28 4C32 4 34 8 34 16C34 24 30 28 28 28" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
            </svg>
        </div>
        <div class="pointer-events-auto">
            <button id="menu-open" class="flex flex-col gap-1.5 group p-3 -m-3" type="button" aria-controls="mobile-menu" aria-expanded="false" aria-label="Open navigation">
                <div class="w-8 h-0.5 bg-black group-hover:w-6 transition-all"></div>
                <div class="w-8 h-0.5 bg-black"></div>
            </button>
        </div>
    </header>

    <div id="mobile-menu" class="fixed inset-0 z-[60] hidden" role="dialog" aria-modal="true" aria-labelledby="mobile-menu-title">
        <button class="absolute inset-0 w-full h-full bg-black/50 backdrop-blur-sm" type="button" data-menu-close aria-label="Close navigation"></button>
        <div class="absolute inset-y-0 right-0 flex w-full max-w-md flex-col bg-[#1A1A1A] px-8 py-8 text-white shadow-2xl">
            <div class="flex items-center justify-between">
                <h2 id="mobile-menu-title" class="serif-text text-3xl">Lumière</h2>
                <button id="menu-close" class="grid h-12 w-12 place-items-center rounded-full border border-white/20 transition-colors hover:bg-white hover:text-black" type="button" data-menu-close aria-label="Close navigation">
                    <i class="fa-solid fa-xmark text-xl" aria-hidden="true"></i>
                </button>
            </div>
            <nav class="my-auto flex flex-col gap-4" aria-label="Main navigation">
                <a class="serif-text text-5xl leading-none transition-colors hover:text-stone-400" href="#wine-list" data-menu-close>Wine List</a>
                <a class="serif-text text-5xl leading-none transition-colors hover:text-stone-400" href="#chef-story" data-menu-close>Chef's Story</a>
                <a class="serif-text text-5xl leading-none transition-colors hover:text-stone-400" href="#reservations" data-menu-close>Reservations</a>
                <a class="serif-text text-5xl leading-none transition-colors hover:text-stone-400" href="#gallery" data-menu-close>Gallery</a>
            </nav>
            <a class="self-start rounded-full bg-white px-7 py-4 font-semibold text-black transition-colors hover:bg-stone-200" href="#reservations" data-menu-close>Reserve a table</a>
        </div>
    </div>

    <!-- block:start hero -->
    <section id="hero" class="relative min-h-[800px] lg:h-screen">
        <div class="hero-split h-full">
            <!-- Left Side: Content -->
            <div class="bg-[#F2EBE3] flex flex-col justify-between p-8 lg:p-16 pt-32 lg:pt-32">
                <div class="relative z-20 max-w-2xl lg:translate-x-1/4">
                    <h1 class="serif-text text-7xl lg:text-[140px] leading-[0.8] tracking-tight font-light mb-8 lg:text-[#1A1A1A]">
                        Artisan<br>Flavors
                    </h1>
                    <p class="text-lg lg:text-xl font-light text-gray-600 max-w-sm">
                        Experience the harmony of traditional techniques and modern flair.
                    </p>
                </div>

                <!-- Vertical Navigation -->
                <nav class="flex flex-col gap-4 text-sm font-medium mt-20 lg:mt-0">
                    <a href="#wine-list" class="flex items-center gap-2 hover:opacity-50 transition-all">/ Wine List</a>
                    <a href="#chef-story" class="hover:opacity-50 transition-all ml-3">Chef's Story</a>
                    <a href="#reservations" class="hover:opacity-50 transition-all ml-3">Reservations</a>
                    <a href="#gallery" class="hover:opacity-50 transition-all ml-3">Gallery</a>
                </nav>
            </div>

            <!-- Right Side: Visuals -->
            <div class="relative overflow-hidden h-[500px] lg:h-full">
                <img class="w-full h-full object-cover" src="https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_30bfdd3d78_2da0bf1233f6c8e4.png" alt="gourmet restaurant plating, seared scallops on black risotto with edible flowers, dramatic side ligh" />

                <!-- Floating Card -->
                <div class="absolute bottom-8 right-8 lg:bottom-12 lg:right-12 z-30 max-w-sm">
                    <div class="bg-white/95 backdrop-blur-md rounded-[32px] p-6 lg:p-8 shadow-2xl flex flex-col md:flex-row gap-6">
                        <div class="w-full md:w-40 h-32 rounded-2xl overflow-hidden flex-shrink-0">
                            <img class="w-full h-full object-cover" src="https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_edaea29e96_7bc7379eee22d207.png" alt="elegant lemon tart dessert with meringue peaks, minimalist plate, professional culinary presentation" />
                        </div>
                        <div class="flex flex-col justify-between">
                            <div>
                                <h3 class="text-lg font-semibold mb-2">Signature</h3>
                                <p class="text-xs text-gray-500 leading-relaxed mb-4">
                                    Our curated seasonal tasting menu.
                                </p>
                            </div>
                            <button class="bg-[#1A1A1A] text-white text-xs font-semibold px-6 py-3 rounded-full hover:bg-black transition-all self-start">
                                Reserve Table
                            </button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>
    <!-- block:end hero -->

    <!-- block:start products -->
    <section id="wine-list" class="py-24 px-8 bg-white">
        <div class="max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-2 gap-20 items-center">
            <div>
                <h2 class="serif-text text-6xl lg:text-8xl leading-none mb-10">The Cellar Selection</h2>
                <div class="space-y-8">
                    <div class="flex justify-between items-end border-b border-gray-100 pb-4">
                        <div>
                            <h4 class="font-semibold italic">Domaine de la Romanée-Conti</h4>
                            <p class="text-sm text-gray-500">Burgundy, France • 2015</p>
                        </div>
                        <span class="text-lg font-light">$1,250</span>
                    </div>
                    <div class="flex justify-between items-end border-b border-gray-100 pb-4">
                        <div>
                            <h4 class="font-semibold italic">Sassicaia Tenuta San Guido</h4>
                            <p class="text-sm text-gray-500">Tuscany, Italy • 2018</p>
                        </div>
                        <span class="text-lg font-light">$450</span>
                    </div>
                    <div class="flex justify-between items-end border-b border-gray-100 pb-4">
                        <div>
                            <h4 class="font-semibold italic">Penfolds Grange Bin 95</h4>
                            <p class="text-sm text-gray-500">South Australia • 2017</p>
                        </div>
                        <span class="text-lg font-light">$850</span>
                    </div>
                </div>
                <button class="mt-12 text-sm font-bold uppercase tracking-widest border-b border-black pb-2 hover:opacity-50 transition-all">Download Full List</button>
            </div>
            <div class="rounded-[40px] overflow-hidden h-[600px]">
                <img class="w-full h-full object-cover" src="https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_477cc02969_72afe413f711b38c.png" alt="elegant wine cellar interior, glass shelves with wine bottles, warm ambient lighting, luxury atmosph" />
            </div>
        </div>
    </section>
    <!-- block:end products -->

    <!-- block:start about -->
    <section id="chef-story" class="py-24 px-8 bg-[#F2EBE3]">
        <div class="max-w-7xl mx-auto flex flex-col lg:flex-row-reverse gap-20 items-center">
            <div class="w-full lg:w-1/2">
                <span class="text-xs font-bold uppercase tracking-widest text-gray-400 mb-6 block">The Visionary</span>
                <h2 class="serif-text text-6xl lg:text-8xl leading-none mb-10">Chef Julian Rossi</h2>
                <p class="text-lg text-gray-600 leading-relaxed mb-8">
                    With a philosophy rooted in the soil, Chef Julian spent a decade traversing the Mediterranean before returning to establish Lumière. His approach is simple: respect the ingredient, honor the tradition, and surprise the palate.
                </p>
                <div class="italic text-2xl font-light text-gray-500 serif-text">
                    "Nature provides the palette; I simply hold the brush."
                </div>
            </div>
            <div class="w-full lg:w-1/2">
                <div class="relative">
                    <div class="rounded-[40px] overflow-hidden h-[700px] grayscale hover:grayscale-0 transition-all duration-700">
                        <img class="w-full h-full object-cover" src="https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_2c14347491_8b5c500a5fa22015.png" alt="portrait of a professional chef in white uniform, focused expression, rustic kitchen background, moo" />
                    </div>
                    <div class="absolute -bottom-10 -right-10 w-64 h-64 rounded-full border-8 border-[#F2EBE3] overflow-hidden hidden md:block">
                        <img class="w-full h-full object-cover" src="https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_ea49ac5103_9a25ab2091a13d9f.png" alt="close up of hands preparing fresh herbs, artisanal cooking, culinary detail" />
                    </div>
                </div>
            </div>
        </div>
    </section>
    <!-- block:end about -->

    <!-- block:start gallery -->
    <section id="gallery" class="py-24 px-8 bg-white">
        <div class="max-w-7xl mx-auto">
            <div class="flex justify-between items-end mb-16">
                <h2 class="serif-text text-6xl lg:text-8xl leading-none">The Ateliers</h2>
                <a href="#" class="text-sm font-bold uppercase tracking-widest border-b border-black pb-1 mb-4">View All</a>
            </div>
            <div class="grid grid-cols-1 md:grid-cols-12 gap-6 h-[800px]">
                <div class="md:col-span-8 h-full rounded-[32px] overflow-hidden">
                    <img class="w-full h-full object-cover" src="https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_c242b5f8b9_3ba053aa05199aed.png" alt="interior of a luxury fine dining restaurant, minimal aesthetic, warm lighting, designer furniture" />
                </div>
                <div class="md:col-span-4 flex flex-col gap-6 h-full">
                    <div class="flex-1 rounded-[32px] overflow-hidden">
                        <img class="w-full h-full object-cover" src="https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_66a4132a7e_0d267f9dd5692bcc.png" alt="detail of a perfectly set restaurant table, crystal glasses, white linen, elegant atmosphere" />
                    </div>
                    <div class="flex-1 rounded-[32px] overflow-hidden">
                        <img class="w-full h-full object-cover" src="https://storage.googleapis.com/uxpilot-auth.appspot.com/gen_6bd01945de_0a38fc2543c84473.png" alt="beautiful outdoor terrace of a high-end restaurant, sunset view, lush greenery" />
                    </div>
                </div>
            </div>
        </div>
    </section>
    <!-- block:end gallery -->

    <!-- block:start contact -->
    <section id="reservations" class="py-24 px-8 bg-[#1A1A1A] text-white">
        <div class="max-w-3xl mx-auto text-center">
            <h2 class="serif-text text-6xl lg:text-[100px] leading-tight mb-12">Secure your table</h2>
            <form class="space-y-10">
                <div class="grid grid-cols-1 md:grid-cols-2 gap-10">
                    <input type="text" placeholder="Date" class="bg-transparent border-b border-white/20 py-4 focus:border-white outline-none transition-all w-full serif-text text-2xl">
                    <input type="text" placeholder="Guests" class="bg-transparent border-b border-white/20 py-4 focus:border-white outline-none transition-all w-full serif-text text-2xl">
                </div>
                <input type="email" placeholder="Email Address" class="bg-transparent border-b border-white/20 py-4 focus:border-white outline-none transition-all w-full serif-text text-2xl">
                <button class="bg-white text-black px-12 py-5 rounded-full font-bold hover:bg-gray-200 transition-all mt-10">Book Reservation</button>
            </form>
        </div>
    </section>
    <!-- block:end contact -->

    <footer id="footer" class="bg-[#1A1A1A] text-white py-16 px-8">
        <div class="max-w-7xl mx-auto flex flex-col md:flex-row justify-between items-start gap-12">
            <div>
                <h2 class="text-3xl font-light mb-6 tracking-tight">Lumière</h2>
                <p class="text-gray-400 max-w-xs text-sm">Fine dining redefined through the lens of local heritage and artisan craftsmanship.</p>
            </div>
            <div class="grid grid-cols-2 gap-12 text-sm">
                <div class="flex flex-col gap-4">
                    <span class="text-gray-500">Contact</span>
                    <a href="#" class="hover:text-gray-300">hello@lumiere.com</a>
                    <p>+1 234 567 890</p>
                </div>
                <div class="flex flex-col gap-4">
                    <span class="text-gray-500">Location</span>
                    <p>123 Culinary Ave<br>Gourmet City, GC 12345</p>
                </div>
            </div>
        </div>
        <div class="max-w-7xl mx-auto mt-20 pt-8 border-t border-white/10 text-[10px] text-gray-500 uppercase tracking-widest flex justify-between">
            <span>&copy; 2024 Lumière Restaurant Group</span>
            <div class="flex gap-6">
                <a href="#">Privacy</a>
                <a href="#">Terms</a>
            </div>
        </div>
    </footer>

    <script>
        const menu = document.getElementById('mobile-menu');
        const menuOpen = document.getElementById('menu-open');
        const closeMenu = () => {
            menu.classList.add('hidden');
            menuOpen.setAttribute('aria-expanded', 'false');
            document.body.classList.remove('overflow-hidden');
            menuOpen.focus();
        };

        menuOpen.addEventListener('click', () => {
            menu.classList.remove('hidden');
            menuOpen.setAttribute('aria-expanded', 'true');
            document.body.classList.add('overflow-hidden');
            document.getElementById('menu-close').focus();
        });
        menu.querySelectorAll('[data-menu-close]').forEach((element) => element.addEventListener('click', closeMenu));
        document.addEventListener('keydown', (event) => {
            if (event.key === 'Escape' && !menu.classList.contains('hidden')) closeMenu();
        });
    </script>

</body>
</html>

Unlimited access to all templates

Unlock our entire library of premium UI kits, dashboards, and landing pages. Renews automatically, cancel anytime.

€20 / 3 months or €60 / year
Get Unlimited Access

More Food & Restaurant Templates