.quick-book{background:var(--cream)}
.menu-category+.menu-category{margin-top:44px}
.menu>.planchettes{margin-top:0;padding-top:0}
@media(max-width:600px){.menu-category+.menu-category{margin-top:32px}.menu .planchettes article h3{min-height:0}}

/* Consistent section backgrounds and type hierarchy. */
.hero,.lf-gallery,.hca,.gathering,.reservation,.visit,.hca-match,.hca-next{background:var(--bg)}
.lf-gallery.section{padding-top:56px;padding-bottom:24px}
.lf-gallery-heading{margin-bottom:22px}
.lf-gallery-track{padding-bottom:8px}
.lf-gallery-heading h2,.hca-intro h2,.menu>h2,.booking-intro>h2,.visit h2,.gathering h2{font-size:clamp(31px,3.2vw,45px);line-height:1.18;letter-spacing:-.8px}
.menu>h2{margin:0 0 36px}
.menu .menu-category>h3,.menu .section-heading>h3{font-size:clamp(25px,2.4vw,32px);line-height:1.2;margin:0;letter-spacing:-.4px}
.menu .menu-category>h3{margin-bottom:22px}
.menu .section-heading{margin-bottom:22px}
.menu article h4{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(20px,1.8vw,25px);line-height:1.25;margin:0 0 12px}
.menu .price{font-size:clamp(26px,2.3vw,32px);margin-top:20px}
.menu .price span{font-size:11px}
.menu .menu-grid{gap:24px 50px}
.menu article{padding:20px 0}
.menu article p{min-height:0;font-size:13px}
@media(max-width:600px){.lf-gallery.section{padding-top:40px;padding-bottom:16px}.lf-gallery-heading{margin-bottom:16px}.menu>h2{margin-bottom:28px}.menu .menu-grid{gap:16px 22px}.menu article{padding:16px 0}.menu .section-heading{gap:16px}.menu .price span{font-size:10px}}

/* Uninterrupted main sections and centered gallery navigation. */
main>section,.lf-gallery.section,.hca.section,.gathering.section,.reservation.section,.visit.section{border-top:0;border-bottom:0}
.lf-gallery>.lf-gallery-controls{justify-content:center;align-self:auto;margin:16px auto 0}
.menu .price .sharing-price{display:inline;font-size:11px;margin:0}
.menu .sharing-price small{font:inherit;white-space:nowrap}

/* Keep the reservation underline attached to the text, including grid layouts. */
.hca-match .match-link{border-bottom:0;text-decoration-line:underline;text-decoration-color:#ffcf5560;text-underline-offset:5px;text-decoration-thickness:1px;align-self:center;justify-self:start;width:fit-content}

/* Compact menu rhythm, keeping the category and dish hierarchy. */
.menu-category+.menu-category{margin-top:30px}
.menu .menu-category>h3,.menu .section-heading{margin-bottom:16px}
.menu article{padding:15px 0}
.menu article h4{line-height:1.2;margin-bottom:8px}
.menu article p{line-height:1.4;margin:8px 0}
.menu .price{margin-top:14px;line-height:1.2}
.menu .menu-grid{row-gap:14px}
@media(max-width:600px){.menu-category+.menu-category{margin-top:24px}.menu article{padding:12px 0}.menu .menu-grid{row-gap:10px}}

/* Shared horizontal alignment for the opening and all main sections. */
:root{--lf-gutter:8vw}
main>.section{padding-left:var(--lf-gutter);padding-right:var(--lf-gutter)}
.hero{max-width:none;width:100%;margin:0;padding:32px var(--lf-gutter) 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,70px);align-items:stretch}
.hero .hero-copy{padding:0;align-self:stretch}
.hero .hero-photo{position:relative;align-self:stretch;min-height:500px;margin:0;overflow:hidden}
.hero .hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.location-map{margin-left:var(--lf-gutter);margin-right:var(--lf-gutter)}
@media(max-width:1000px){:root{--lf-gutter:6vw}}
@media(max-width:600px){.hero{padding-top:24px;gap:28px}.hero .hero-photo{position:static;min-height:0;width:100%;height:auto}.hero .hero-photo>img{position:static;height:auto;object-fit:contain}}

.late-dining{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:44px;padding-bottom:52px;background:var(--bg)}
.late-dining h2{font-size:clamp(30px,2.8vw,42px)}
.late-dining p{max-width:800px;color:var(--cream);font-size:16px;line-height:1.6;margin:18px 0 8px}
.late-dining-note{color:var(--muted);font-size:12px}
.late-dining .button{flex-shrink:0}
@media(max-width:700px){.late-dining{flex-direction:column;align-items:flex-start;gap:20px}.late-dining p{font-size:14px}}

.private-event h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(23px,2vw,29px);line-height:1.3;letter-spacing:-.3px}
.private-event h3 em{color:var(--gold)}

/* Identical typography in FR, DE and EN; translated blocks share measured heights. */
html[lang] .hero h1{font-size:clamp(30px,3.65vw,58px);white-space:normal}
html[lang] .hero h1 span,html[lang] .hero h1 em{white-space:normal;overflow-wrap:break-word}
@media(max-width:600px){html[lang] .hero h1{font-size:clamp(25px,7.1vw,42px)}}

.lf-gallery-title{max-width:none}
@media(max-width:700px){.late-dining{padding-top:32px;padding-bottom:38px}.late-dining p{font-size:15px}}
