La Cigale
/* ========================================================= LA CIGALE — Feuille de style principale ========================================================= */ :root { --green-dark: #12261F; --green: #1F4A3C; --green-light: #2E6350; --gold: #C9A063; --gold-light: #E1C48C; --cream: #F7F2E7; --cream-dark: #EFE7D6; --white: #FFFFFF; --ink: #22261F; --font-display: 'Playfair Display', Georgia, serif; --font-body: 'Cormorant Garamond', Georgia, serif; --font-label: 'Jost', 'Segoe UI', sans-serif; --container: 1180px; --radius: 2px; --shadow-soft: 0 20px 50px -20px rgba(18, 38, 31, 0.35); --transition: 0.45s cubic-bezier(.22,.61,.36,1); } /* ---------- Reset ---------- */ *, *::before, *::after { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--font-body); font-size: 19px; line-height: 1.65; -webkit-font-smoothing: antialiased; } img { max-width: 100%; display: block; } a { color: inherit; text-decoration: none; } ul { list-style: none; margin: 0; padding: 0; } h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 600; color: var(--green-dark); margin: 0 0 .5em; line-height: 1.15; } p { margin: 0 0 1em; } button { font-family: inherit; cursor: pointer; } .container { max-width: var(--container); margin: 0 auto; padding: 0 32px; } section { position: relative; } /* ---------- Utility ---------- */ .eyebrow { display: inline-flex; align-items: center; gap: 14px; font-family: var(--font-label); letter-spacing: .28em; text-transform: uppercase; font-size: .78rem; color: var(--gold); margin-bottom: 18px; } .eyebrow::before, .eyebrow::after { content: ""; width: 30px; height: 1px; background: var(--gold); } .eyebrow.left::after { display:none; } .eyebrow.left::before { display:inline-block; } .section-head { text-align: center; max-width: 680px; margin: 0 auto 56px; } .section-head h2 { font-size: clamp(2rem, 3.2vw, 2.8rem); } .section-head p { font-size: 1.2rem; color: #4b5148; } .btn { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-label); text-transform: uppercase; letter-spacing: .14em; font-size: .8rem; padding: 16px 34px; border: 1px solid var(--gold); border-radius: var(--radius); transition: var(--transition); background: transparent; color: var(--green-dark); } .btn-gold { background: var(--gold); color: var(--green-dark); border-color: var(--gold); } .btn-gold:hover { background: var(--gold-light); border-color: var(--gold-light); transform: translateY(-2px); } .btn-outline { color: var(--cream); border-color: rgba(247,242,231,.6); } .btn-outline:hover { background: rgba(247,242,231,.12); border-color: var(--cream); transform: translateY(-2px); } .btn-outline-dark { color: var(--green-dark); border-color: var(--green-dark); } .btn-outline-dark:hover { background: var(--green-dark); color: var(--cream); } .divider-cigale { display:flex; align-items:center; justify-content:center; gap:16px; margin: 28px 0; } .divider-cigale::before, .divider-cigale::after { content:""; height:1px; width: 60px; background: linear-gradient(90deg, transparent, var(--gold)); } .divider-cigale::after { background: linear-gradient(90deg, var(--gold), transparent); } .divider-cigale img { width: 34px; opacity: .85; } /* ---------- Reveal on scroll ---------- */ .reveal { opacity: 0; transform: translateY(28px); transition: opacity .9s ease, transform .9s ease; } .reveal.in-view { opacity: 1; transform: translateY(0); } /* ---------- Header / Nav ---------- */ .site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; padding: 22px 0; transition: var(--transition); background: linear-gradient(to bottom, rgba(18,38,31,.55), transparent); } .site-header.scrolled { background: rgba(247,242,231,.96); box-shadow: 0 6px 24px rgba(18,38,31,.08); padding: 12px 0; backdrop-filter: blur(6px); } .header-inner { display:flex; align-items:center; justify-content:space-between; gap: 24px; } .brand { display:flex; align-items:center; gap:12px; } .brand img { height: 44px; width:auto; transition: var(--transition); } .site-header.scrolled .brand img { height: 38px; filter:none; } .site-header:not(.scrolled) .brand img { filter: brightness(0) invert(1); } .nav-links { display:flex; align-items:center; gap: 34px; font-family: var(--font-label); font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; } .nav-links a { position:relative; padding: 4px 0; color: var(--cream); transition: color .3s; } .site-header.scrolled .nav-links a { color: var(--green-dark); } .nav-links a::after { content:""; position:absolute; left:0; bottom:-2px; width:0; height:1px; background: var(--gold); transition: width .35s; } .nav-links a:hover::after, .nav-links a.active::after { width: 100%; } .nav-links a:hover { color: var(--gold); } .nav-cta { display:flex; align-items:center; gap: 18px; } .nav-cta .btn { padding: 12px 24px; } .site-header:not(.scrolled) .nav-cta .btn-outline-dark { color: var(--cream); border-color: var(--cream); } .site-header:not(.scrolled) .nav-cta .btn-outline-dark:hover { background: var(--cream); color: var(--green-dark); } .nav-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; padding: 6px; } .nav-toggle span { width: 26px; height: 2px; background: var(--cream); transition: var(--transition); } .site-header.scrolled .nav-toggle span { background: var(--green-dark); } @media (max-width: 960px) { .nav-toggle { display:flex; } .nav-links { position: fixed; inset: 0 0 0 auto; width: min(340px, 82vw); height: 100vh; background: var(--green-dark); flex-direction: column; justify-content:center; align-items:flex-start; padding: 40px; gap: 26px; transform: translateX(100%); transition: transform .5s cubic-bezier(.22,.61,.36,1); } .nav-links.open { transform: translateX(0); } .nav-links a { color: var(--cream); font-size: 1rem; } .nav-cta { display:none; } } /* ---------- Hero ---------- */ .hero { min-height: 100vh; display:flex; align-items:center; justify-content:center; text-align:center; position: relative; overflow:hidden; background: linear-gradient(180deg, rgba(15,32,26,.55), rgba(15,32,26,.78)), url('../images/interieur/bar-art-nouveau.jpg') center/cover no-repeat; } .hero-inner { position:relative; z-index:2; color: var(--cream); padding: 0 24px; max-width: 820px; } .hero .brand-mark { width: 220px; margin: 0 auto 28px; filter: brightness(0) invert(1); opacity:.95; } .hero h1 { color: var(--cream); font-size: clamp(2.6rem, 6vw, 4.6rem); } .hero .tagline { font-family: var(--font-label); letter-spacing:.3em; text-transform:uppercase; font-size:.85rem; color: var(--gold-light); margin-bottom: 22px; } .hero p.lead { font-size: 1.35rem; color: rgba(247,242,231,.88); max-width: 620px; margin: 0 auto 34px; } .hero-actions { display:flex; gap: 18px; justify-content:center; flex-wrap:wrap; } .hero-scroll { position:absolute; bottom: 34px; left:50%; transform:translateX(-50%); z-index:2; color: var(--cream); opacity:.8; font-family: var(--font-label); font-size:.7rem; letter-spacing:.25em; text-transform:uppercase; display:flex; flex-direction:column; align-items:center; gap:10px; } .hero-scroll .line { width:1px; height: 46px; background: linear-gradient(var(--gold), transparent); animation: scrollLine 2.2s infinite; } @keyframes scrollLine { 0%{ transform: scaleY(0); transform-origin: top;} 50%{ transform: scaleY(1); transform-origin: top;} 51%{ transform-origin: bottom;} 100%{ transform: scaleY(0); transform-origin: bottom;} } .page-hero { min-height: 56vh; display:flex; align-items:center; justify-content:center; text-align:center; position: relative; margin-top: 0; background: linear-gradient(180deg, rgba(15,32,26,.6), rgba(15,32,26,.75)); background-blend-mode: multiply; background-size: cover; background-position: center; color: var(--cream); padding: 160px 24px 90px; } .page-hero .eyebrow { color: var(--gold-light); } .page-hero .eyebrow::before, .page-hero .eyebrow::after { background: var(--gold-light); } .page-hero h1 { color: var(--cream); font-size: clamp(2.4rem, 5vw, 3.6rem); } .page-hero p { color: rgba(247,242,231,.85); font-size: 1.2rem; max-width: 560px; margin: 0 auto; } /* ---------- Intro / Welcome ---------- */ .intro { padding: 130px 0 100px; } .intro-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items:center; } .intro-media { position:relative; } .intro-media img { border-radius: var(--radius); box-shadow: var(--shadow-soft); } .intro-media .frame { position:absolute; inset: 20px -20px -20px 20px; border: 1px solid var(--gold); z-index:-1; } .intro-text .eyebrow { justify-content:flex-start; } .intro-text .eyebrow::after { display:none; } .intro-text h2 { font-size: clamp(2rem, 3vw, 2.7rem); } .intro-text p { color: #4b5148; font-size: 1.15rem; } .signature { font-family: var(--font-display); font-style: italic; color: var(--green); font-size: 1.4rem; margin-top: 18px; } @media (max-width: 860px) { .intro-grid { grid-template-columns: 1fr; gap: 40px; } .intro-media { order: 2; } } /* ---------- Section shells ---------- */ .section-cream { background: var(--cream); padding: 110px 0; } .section-dark { background: var(--green-dark); color: var(--cream); padding: 110px 0; } .section-dark h2, .section-dark h3 { color: var(--cream); } .section-dark .section-head p { color: rgba(247,242,231,.75); } .section-alt { background: var(--cream-dark); padding: 110px 0; } /* ---------- Menu teaser / cards with 3D tilt ---------- */ .dish-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 34px; } .dish-grid.compact { grid-template-columns: repeat(3, 1fr); } .dish-card { perspective: 1000px; } .dish-card-inner { background: var(--white); border-radius: var(--radius); overflow: hidden; box-shadow: 0 18px 40px -18px rgba(18,38,31,.25); transform-style: preserve-3d; transition: transform .12s ease-out, box-shadow .35s ease; will-change: transform; } .dish-card:hover .dish-card-inner { box-shadow: 0 30px 60px -20px rgba(18,38,31,.4); } .dish-media { height: 260px; overflow:hidden; position:relative; transform: translateZ(40px); } .dish-media img { width:100%; height:100%; object-fit:cover; transition: transform .6s ease; } .dish-card:hover .dish-media img { transform: scale(1.08); } .dish-media::after { content:""; position:absolute; inset:0; box-shadow: inset 0 -60px 40px -30px rgba(0,0,0,.35); } .dish-tag { position:absolute; top:14px; left:14px; background: var(--gold); color: var(--green-dark); font-family: var(--font-label); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; padding: 6px 12px; border-radius: 20px; transform: translateZ(60px); z-index:2; } .dish-body { padding: 26px 26px 30px; transform: translateZ(20px); } .dish-body .row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom: 8px; } .dish-body h3 { font-size: 1.35rem; margin:0; } .dish-price { font-family: var(--font-label); color: var(--gold); font-weight:600; white-space:nowrap; } .dish-body p { color:#5a5f52; font-size: 1.02rem; margin:0; } @media (max-width: 960px) { .dish-grid { grid-template-columns: repeat(2,1fr); } } @media (max-width: 620px) { .dish-grid { grid-template-columns: 1fr; } } /* ---------- Menu page: category tabs ---------- */ .menu-tabs { display:flex; justify-content:center; flex-wrap:wrap; gap: 10px; margin-bottom: 60px; } .menu-tab { font-family: var(--font-label); text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; padding: 12px 24px; border:1px solid var(--green); border-radius: 30px; color: var(--green); background:transparent; transition: var(--transition); } .menu-tab.active, .menu-tab:hover { background: var(--green); color: var(--cream); } .menu-category { display:none; } .menu-category.active { display:block; animation: fadeIn .5s ease; } @keyframes fadeIn { from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} } .menu-note { text-align:center; max-width: 640px; margin: 60px auto 0; color:#5a5f52; font-style: italic; } /* ---------- Timeline (Histoire) ---------- */ .timeline { position:relative; max-width: 880px; margin: 0 auto; padding-left: 40px; } .timeline::before { content:""; position:absolute; left:6px; top:6px; bottom:6px; width:1px; background: linear-gradient(var(--gold), var(--green-light)); } .timeline-item { position:relative; padding-bottom: 64px; } .timeline-item:last-child { padding-bottom:0; } .timeline-item::before { content:""; position:absolute; left:-40px; top:4px; width:13px; height:13px; border-radius:50%; background: var(--gold); box-shadow: 0 0 0 5px var(--cream); } .timeline-item .year { font-family: var(--font-label); letter-spacing:.16em; text-transform:uppercase; color: var(--gold); font-size:.82rem; margin-bottom:6px; display:block; } .timeline-item h3 { font-size: 1.5rem; margin-bottom:10px; } .timeline-item p { color:#4b5148; font-size:1.1rem; } .section-dark .timeline::before { background: linear-gradient(var(--gold), rgba(247,242,231,.3)); } .section-dark .timeline-item::before { box-shadow: 0 0 0 5px var(--green-dark); } .section-dark .timeline-item p { color: rgba(247,242,231,.78); } /* ---------- Gallery ---------- */ .gallery-grid { display:grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 190px; gap: 16px; } .gallery-grid img { width:100%; height:100%; object-fit:cover; border-radius: var(--radius); transition: transform .6s ease, filter .6s ease; filter: saturate(.92); } .gallery-grid a { overflow:hidden; border-radius: var(--radius); display:block; box-shadow: var(--shadow-soft); } .gallery-grid a:hover img { transform: scale(1.08); filter: saturate(1.05); } .gallery-grid .span-2 { grid-column: span 2; } .gallery-grid .span-2-row { grid-row: span 2; } @media (max-width: 860px) { .gallery-grid { grid-template-columns: repeat(2,1fr); grid-auto-rows: 160px; } } /* ---------- Events ---------- */ .event-list { display:flex; flex-direction:column; gap: 26px; } .event-card { display:grid; grid-template-columns: 220px 1fr auto; gap: 30px; align-items:center; background: var(--white); border-radius: var(--radius); padding: 24px; box-shadow: 0 14px 34px -18px rgba(18,38,31,.2); transition: var(--transition); } .event-card:hover { transform: translateY(-4px); box-shadow: 0 22px 44px -18px rgba(18,38,31,.3); } .event-media { position:relative; height: 150px; border-radius: var(--radius); overflow:hidden; } .event-media img { width:100%; height:100%; object-fit:cover; } .event-date { position:absolute; top:10px; left:10px; background: var(--green-dark); color:var(--cream); font-family: var(--font-label); text-align:center; padding: 8px 12px; line-height:1.1; border-radius: 2px; } .event-date .d { font-size:1.3rem; font-weight:600; display:block; } .event-date .m { font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color: var(--gold-light); } .event-info h3 { font-size:1.5rem; margin-bottom:8px; } .event-info p { color:#5a5f52; margin-bottom: 10px; } .event-meta { display:flex; gap:18px; flex-wrap:wrap; font-family: var(--font-label); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color: var(--green); } .event-cta { justify-self:end; } @media (max-width: 760px) { .event-card { grid-template-columns: 1fr; } .event-cta { justify-self:start; } } /* ---------- Testimonials / Press ---------- */ .press-strip { display:flex; justify-content:center; gap:60px; flex-wrap:wrap; opacity:.85; font-family: var(--font-label); letter-spacing:.12em; text-transform:uppercase; font-size:.85rem; } .quote-block { max-width: 780px; margin: 0 auto; text-align:center; } .quote-block p { font-family: var(--font-display); font-style: italic; font-size: 1.7rem; color: var(--cream); line-height:1.5; } .quote-block cite { display:block; margin-top: 20px; font-family: var(--font-label); font-style:normal; letter-spacing:.14em; text-transform:uppercase; font-size:.78rem; color: var(--gold-light); } /* ---------- CTA banner ---------- */ .cta-banner { padding: 90px 0; text-align:center; background: linear-gradient(180deg, rgba(18,38,31,.82), rgba(18,38,31,.9)), url('../images/interieur/grande-salle.jpg') center/cover fixed; color: var(--cream); } .cta-banner h2 { color: var(--cream); } .cta-banner p { color: rgba(247,242,231,.8); max-width: 560px; margin: 0 auto 30px; font-size:1.2rem; } /* ---------- Reservation form ---------- */ .reservation-wrap { display:grid; grid-template-columns: 1fr 1.15fr; gap: 60px; align-items:flex-start; } .reservation-info { background: var(--green-dark); color: var(--cream); padding: 46px 40px; border-radius: var(--radius); } .reservation-info h3 { color: var(--cream); } .info-row { display:flex; gap:16px; margin-bottom: 26px; align-items:flex-start; } .info-row .ic { width: 22px; margin-top:4px; color: var(--gold); flex-shrink:0; } .info-row h4 { font-family: var(--font-label); text-transform:uppercase; letter-spacing:.1em; font-size:.8rem; color: var(--gold-light); margin: 0 0 4px; } .info-row p { margin:0; color: rgba(247,242,231,.85); } .map-embed { border-radius: var(--radius); overflow:hidden; margin-top: 26px; filter: grayscale(.3) sepia(.15); } .map-embed iframe { width:100%; height: 220px; border:0; display:block; } .res-form { background: var(--white); padding: 46px 42px; border-radius: var(--radius); box-shadow: var(--shadow-soft); } .form-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 20px; } .form-group { display:flex; flex-direction:column; gap: 8px; margin-bottom: 20px; } .form-group.full { grid-column: 1 / -1; } .form-group label { font-family: var(--font-label); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color: var(--green); } .form-group input, .form-group select, .form-group textarea { font-family: var(--font-body); font-size: 1.05rem; padding: 13px 16px; border: 1px solid #d8d0bd; border-radius: var(--radius); background: var(--cream); color: var(--ink); transition: border-color .3s, box-shadow .3s; } .form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,160,99,.18); } .form-group textarea { resize: vertical; min-height: 100px; } .form-note { font-size: .92rem; color: #6a6f61; margin-top: -6px; margin-bottom: 20px; } .form-submit { width:100%; justify-content:center; padding: 17px; font-size:.85rem; } .form-status { margin-top: 16px; font-family: var(--font-label); font-size:.85rem; display:none; padding: 12px 16px; border-radius: var(--radius); } .form-status.show { display:block; } .form-status.success { background: #e3f0e6; color: #235c2e; } .form-status.error { background: #f5e2e0; color: #8a2f27; } @media (max-width: 900px) { .reservation-wrap { grid-template-columns: 1fr; } .form-grid { grid-template-columns: 1fr; } } /* ---------- Contact details grid ---------- */ .contact-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 30px; text-align:center; margin-bottom: 90px; } .contact-card { padding: 40px 26px; border: 1px solid var(--cream-dark); border-radius: var(--radius); background: var(--white); } .contact-card .ic { width:34px; margin: 0 auto 18px; color: var(--gold); } .contact-card h3 { font-size:1.3rem; } .contact-card p { color:#5a5f52; margin:0; } @media (max-width: 760px) { .contact-grid { grid-template-columns: 1fr; } } /* ---------- Footer ---------- */ .site-footer { background: var(--green-dark); color: rgba(247,242,231,.8); padding: 80px 0 30px; } .footer-grid { display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 50px; margin-bottom: 60px; } .footer-brand img { height: 46px; filter: brightness(0) invert(1); margin-bottom: 18px; } .footer-brand p { color: rgba(247,242,231,.65); font-size:1.02rem; max-width: 320px; } .footer-col h4 { font-family: var(--font-label); text-transform:uppercase; letter-spacing:.12em; font-size:.8rem; color: var(--gold-light); margin-bottom: 20px; } .footer-col ul li { margin-bottom: 12px; } .footer-col a { color: rgba(247,242,231,.75); transition: color .3s; font-size:1.02rem; } .footer-col a:hover { color: var(--gold); } .footer-social { display:flex; gap: 14px; margin-top: 20px; } .footer-social a { width: 38px; height:38px; border:1px solid rgba(247,242,231,.3); border-radius:50%; display:flex; align-items:center; justify-content:center; transition: var(--transition); } .footer-social a:hover { background: var(--gold); border-color: var(--gold); color: var(--green-dark); } .footer-bottom { border-top: 1px solid rgba(247,242,231,.15); padding-top: 26px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.85rem; color: rgba(247,242,231,.55); } @media (max-width: 900px) { .footer-grid { grid-template-columns: 1fr 1fr; } } @media (max-width: 560px) { .footer-grid { grid-template-columns: 1fr; } } /* ---------- Back to top ---------- */ .to-top { position:fixed; bottom: 30px; right: 30px; width:46px; height:46px; border-radius:50%; background: var(--green-dark); color: var(--cream); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition: var(--transition); z-index: 900; border: none; } .to-top.show { opacity: 1; pointer-events:auto; } .to-top:hover { background: var(--gold); color: var(--green-dark); transform: translateY(-4px); } /* ---------- Responsive base ---------- */ @media (max-width: 620px) { body { font-size: 17px; } .intro, .section-cream, .section-dark, .section-alt { padding: 80px 0; } .container { padding: 0 20px; } } .cigale-page-tabs { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; border-bottom: 2px solid var(--gold); padding-bottom: 15px; } .cigale-page-tabs button { background: transparent; border: none; font-family: var(--font-label); font-size: 0.9rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-dark); cursor: pointer; padding: 8px 16px; position: relative; } .cigale-page-tabs button.active { color: var(--gold); font-weight: 600; } .cigale-page-tabs button.active::after { content: ''; position: absolute; bottom: -17px; left: 0; right: 0; height: 2px; background: var(--gold); } .cigale-page { display: none; } .cigale-page.active { display: block; }

Nantes · Depuis la Belle Époque

La Cigale

Une brasserie d'exception au cœur de Nantes, où l'art de la table rencontre l'élégance d'un décor centenaire.

Découvrir
Salle aux miroirs et verrières Art Nouveau de La Cigale
Bienvenue

L'élégance nantaise, servie à chaque table

Depuis son ouverture, La Cigale cultive l'art de recevoir avec la même exigence : une cuisine de saison sincère, un service attentif et un décor qui n'a rien perdu de sa splendeur d'origine. Ici, chaque repas devient un moment suspendu, entre tradition et raffinement contemporain.

Poussez nos portes et laissez-vous porter par l'atmosphère chaleureuse d'une maison qui, depuis des générations, fait vibrer le cœur gourmand de Nantes.

L'équipe de La Cigale

La Carte

Nos créations signature

Une cuisine de saison, sublimée par le geste et le produit. Survolez chaque création pour l'admirer sous un nouveau jour.

Signature Saint-Jacques snackées, beurre noisette

Saint-Jacques snackées

28€

Beurre noisette, purée de panais, éclats de noisettes torréfiées.

Best-seller Pigeon rôti, jus corsé

Pigeon rôti

34€

Jus corsé au thym, légumes de saison confits, chips de topinambour.

Maison Soufflé au Grand Marnier

Soufflé Grand Marnier

14€

La recette historique de la maison, servie chaude devant vous.

Notre Histoire

Un joyau Art Nouveau au cœur de Nantes

Boiseries sculptées, céramiques éclatantes et verrières d'époque : notre maison est un témoin vivant de la Belle Époque nantaise. Un décor classé qui continue d'émerveiller ses hôtes, repas après repas.

Découvrir notre histoire
Plafond peint Art Nouveau de La Cigale
Agenda

Événements & Spectacles

Soirées jazz, dîners-spectacles et brunchs animés rythment l'année à La Cigale.

12Juil. Soirée Jazz

Soirée Jazz au Salon Doré

Un trio jazz s'installe sous nos verrières pour une soirée intimiste, entre standards et créations.

20h30Sur réservation
Détails
27Juil. Brunch dominical

Brunch Dominical & Musique Live

Notre brunch signature accompagné d'un pianiste, pour un dimanche tout en douceur.

11h - 15hSur réservation
Détails
Réservation

Votre table vous attend

Réservez en ligne en quelques instants et laissez-nous composer un moment sur mesure.

Réserver une table
Agenda

Événements & Spectacles

Toute l'année, La Cigale s'anime au rythme de la musique, des arts de la scène et de rendez-vous gourmands uniques.

À venir

Prochains rendez-vous

Places limitées — réservation fortement conseillée pour chaque événement.

12Juil. Soirée Jazz

Soirée Jazz au Salon Doré

Un trio jazz s'installe sous nos verrières Art Nouveau pour une soirée intimiste, entre standards et créations originales. Menu accord mets-musique en trois temps.

20h30Places limitéesDès 65€
Réserver
27Juil. Brunch dominical

Brunch Dominical & Musique Live

Notre brunch signature accompagné d'un pianiste installé au cœur de la salle, pour un dimanche tout en douceur en famille ou entre amis.

11h – 15hFormule enfants disponible45€
Réserver
09Août Dîner-spectacle cabaret

Dîner-Spectacle « Belle Époque »

Un hommage au cabaret d'antan : chant, danse et arts de la table se mêlent le temps d'un dîner en quatre services dans notre salle historique.

19h30Tenue éléganteDès 85€
Réserver
21Sept. Soirée dégustation vins

Soirée Dégustation — Vignobles de Loire

Notre sommelier vous fait voyager à travers les appellations ligériennes, accompagnées de mignardises préparées par la brigade.

19h8 vins servis55€
Réserver
18Déc. Soirée de fin d'année

Réveillon à La Cigale

Un menu de fête en cinq services, animations musicales et cotillons pour clôturer l'année dans le plus prestigieux des cadres nantais.

20hRéservation avant le 10 déc.Dès 120€
Réserver
Privatisation

Vos événements privés à La Cigale

Anniversaires, dîners d'entreprise, cocktails ou célébrations : notre salon privé et notre équipe s'adaptent à vos envies pour un moment sur mesure.

Réservation

Ne manquez aucun rendez-vous

Réservez votre place dès maintenant, les événements affichent complet rapidement.

Réserver une table
Depuis la Belle Époque

Notre Histoire

Un décor classé, une âme intacte : plongez dans l'histoire d'une maison qui a traversé les époques sans jamais perdre son éclat.

Détail des céramiques Art Nouveau de La Cigale
Un lieu d'exception

Un écrin Art Nouveau, classé et préservé

Boiseries d'acajou sculptées, céramiques aux reflets d'or et d'émeraude, verrières peintes et miroirs biseautés : notre salle est un témoignage rare de l'effervescence artistique de la Belle Époque. Chaque détail — des mosaïques au sol aux luminaires d'origine — a été conservé et restauré avec le plus grand soin.

Pousser nos portes, c'est remonter le temps jusqu'à une époque où le restaurant était bien plus qu'une table : un véritable théâtre de la vie nantaise.

Chronique

Les grandes dates de la maison

1er avril 1895

L'ouverture d'un joyau Modern Style

La Cigale ouvre ses portes place Graslin, face à l'Opéra. Sa décoration est confiée à l'architecte céramiste Émile Libaudière, qui compose un décor à la démesure de l'époque : ors flamboyants, céramiques éclatantes et verrières peintes, dans le plus pur esprit « Offenbach » du XIXe siècle.

Début XXe siècle

Le rendez-vous des artistes nantais

La brasserie devient un lieu de vie incontournable, fréquenté par les comédiens en tournée au théâtre voisin. Plus tard, les surréalistes André Breton et Jacques Prévert y ont leurs habitudes, attirés par l'atmosphère unique du lieu.

1961

La Cigale au cinéma

Jacques Demy choisit le décor de La Cigale pour tourner des scènes de son film culte « Lola », immortalisant à l'écran la beauté intemporelle de la salle.

1964

Classement au titre des Monuments Historiques

La richesse et la rareté du décor Art Nouveau conduisent au classement de la brasserie, garantissant la préservation de ce patrimoine exceptionnel pour les générations futures.

1982

Le sauvetage d'un lieu abandonné

Après une période de déclin marquée par une transformation en self-service, La Cigale est sauvée de l'abandon et retrouve tout son éclat d'origine.

Aujourd'hui

La Cigale, entre héritage et modernité

Fidèle à son décor classé, la maison réinvente chaque jour sa cuisine avec exigence et créativité, offrant à ses hôtes une expérience où patrimoine et gastronomie contemporaine se répondent, ouverte 7 jours sur 7.

« Un lieu où chaque plafond peint, chaque céramique, chaque reflet de miroir raconte une histoire — celle d'une ville et de ceux qui, chaque soir, viennent y écrire la leur. »

La Cigale, Nantes
En images

Un décor à admirer

Vivez l'expérience

Venez découvrir notre décor

Réservez votre table et laissez-vous surprendre par la beauté intemporelle de notre salle.

Réserver une table
Nous trouver

Contact & Réservation

Une question, un événement privé, une envie de table ? Notre équipe est à votre écoute.

Adresse

4 place Graslin
44000 Nantes (face à l'Opéra)

Téléphone

02 51 84 94 94
Réservation par téléphone possible

E-mail

contact@lacigale-nantes.fr
Réponse sous 24h

Réserver

Réservez votre table

Horaires d'ouverture

Ouvert 7 jours sur 7
de 7h30 à 0h30

Adresse

4 place Graslin, 44000 Nantes

Par téléphone

02 51 84 94 94

Formulaire

Demande de réservation en ligne

Sélectionner 1 personne 2 personnes 3 personnes 4 personnes 5 personnes 6 personnes 7+ personnes (groupe)
Sélectionner 12h00 12h30 13h00 13h30 19h00 19h30 20h00 20h30 21h00

Votre demande sera confirmée par notre équipe sous 24h par téléphone ou e-mail.

/* ========================================================= LA CIGALE — Script principal ========================================================= */ document.addEventListener('DOMContentLoaded', () => { /* ---- Header : fond au scroll ---- */ const header = document.querySelector('.site-header'); const onScroll = () => { if (window.scrollY > 60) header.classList.add('scrolled'); else header.classList.remove('scrolled'); const toTop = document.querySelector('.to-top'); if (toTop) toTop.classList.toggle('show', window.scrollY > 700); }; window.addEventListener('scroll', onScroll, { passive: true }); onScroll(); /* ---- Menu mobile ---- */ const navToggle = document.querySelector('.nav-toggle'); const navLinks = document.querySelector('.nav-links'); if (navToggle && navLinks) { navToggle.addEventListener('click', () => { navLinks.classList.toggle('open'); }); navLinks.querySelectorAll('a').forEach(a => a.addEventListener('click', () => navLinks.classList.remove('open')) ); } /* ---- Lien de nav actif selon la page ---- */ const current = window.location.pathname.split('/').pop() || 'index.html'; document.querySelectorAll('.nav-links a[href]').forEach(a => { if (a.getAttribute('href') === current) a.classList.add('active'); }); /* ---- Retour en haut ---- */ const toTop = document.querySelector('.to-top'); if (toTop) { toTop.addEventListener('click', () => window.scrollTo({ top: 0, behavior: 'smooth' })); } /* ---- Révélation au scroll ---- */ const revealEls = document.querySelectorAll('.reveal'); if ('IntersectionObserver' in window && revealEls.length) { const io = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('in-view'); io.unobserve(entry.target); } }); }, { threshold: 0.15 }); revealEls.forEach(el => io.observe(el)); } else { revealEls.forEach(el => el.classList.add('in-view')); } /* ---- Effet "3D" tilt sur les cartes plats ---- */ const tiltCards = document.querySelectorAll('.dish-card'); const isTouch = window.matchMedia('(hover: none)').matches; if (!isTouch) { tiltCards.forEach(card => { const inner = card.querySelector('.dish-card-inner'); const strength = 12; card.addEventListener('mousemove', (e) => { const rect = card.getBoundingClientRect(); const x = (e.clientX - rect.left) / rect.width - 0.5; const y = (e.clientY - rect.top) / rect.height - 0.5; inner.style.transform = `rotateY(${x * strength}deg) rotateX(${-y * strength}deg) scale3d(1.02,1.02,1.02)`; }); card.addEventListener('mouseleave', () => { inner.style.transform = 'rotateY(0deg) rotateX(0deg) scale3d(1,1,1)'; }); }); } /* ---- Onglets de la carte (menu.html) ---- */ const tabs = document.querySelectorAll('.menu-tab'); const categories = document.querySelectorAll('.menu-category'); if (tabs.length) { tabs.forEach(tab => { tab.addEventListener('click', () => { tabs.forEach(t => t.classList.remove('active')); categories.forEach(c => c.classList.remove('active')); tab.classList.add('active'); document.getElementById(tab.dataset.target).classList.add('active'); }); }); } /* ---- Formulaire de réservation ---- */ const form = document.querySelector('.res-form'); if (form) { form.addEventListener('submit', async (e) => { e.preventDefault(); const status = form.querySelector('.form-status'); const submitBtn = form.querySelector('.form-submit'); const originalLabel = submitBtn.innerHTML; submitBtn.disabled = true; submitBtn.innerHTML = 'Envoi en cours…'; const showStatus = (type, message) => { status.textContent = message; status.className = `form-status show ${type}`; }; const action = form.getAttribute('action') || ''; const placeholder = action.includes('VOTRE_ID_FORMSPREE'); if (placeholder) { // Aucun service d'envoi n'est encore branché : on informe clairement plutôt que de simuler un succès trompeur. showStatus('error', "La demande n'a pas pu être envoyée : le formulaire n'est pas encore connecté à un service d'email (voir instructions dans contact.html). Merci de nous appeler directement en attendant."); submitBtn.disabled = false; submitBtn.innerHTML = originalLabel; return; } try { const res = await fetch(action, { method: 'POST', body: new FormData(form), headers: { Accept: 'application/json' } }); if (res.ok) { showStatus('success', 'Merci ! Votre demande de réservation a bien été envoyée. Notre équipe vous confirmera votre table sous 24h.'); form.reset(); } else { showStatus('error', "Une erreur est survenue lors de l'envoi. N'hésitez pas à nous appeler directement pour réserver."); } } catch (err) { showStatus('error', "Impossible d'envoyer la demande pour le moment. Merci de nous contacter par téléphone."); } finally { submitBtn.disabled = false; submitBtn.innerHTML = originalLabel; } }); } }); document.querySelectorAll('.cigale-tab-btn').forEach(btn => { btn.addEventListener('click', function() { const page = this.getAttribute('data-page'); document.querySelectorAll('.cigale-tab-btn').forEach(b => b.classList.remove('active')); document.querySelectorAll('.cigale-page').forEach(p => p.classList.remove('active')); this.classList.add('active'); document.getElementById('page-' + page).classList.add('active'); window.scrollTo(0, 0); }); });