:root{--background:#faf4ec;--surface:#fff;--soft:#f1e8dc;--text:#2c2622;--muted:#665a50;--border:#e3d8ca;--ink:#2b2521;--ink-deep:#1c1916;--on-ink:#fff;--on-ink-muted:#d3c8bc;--ink-line:#fff3;--accent:#b35a10;--on-accent:#fff;--accent-ink:#9c4d0b;--accent-bright:#f0a24a;--font-body:"Source Serif 4", Georgia, serif;--font-heading:"Oswald", "Arial Narrow", Arial, sans-serif;--font-script:"Dancing Script", cursive;--heading-case:uppercase;--heading-tracking:.01em;--container:1040px;--sidebar:19rem;--section-space:clamp(3.5rem, 8vw, 6rem);--radius:4px;--bar:4.25rem}html[data-theme=mediterranean]{--background:#faf4ec;--surface:#fff;--soft:#f1e8dc;--text:#2c2622;--muted:#665a50;--border:#e3d8ca;--ink:#2b2521;--ink-deep:#1c1916;--on-ink-muted:#d3c8bc;--accent:#b35a10;--on-accent:#fff;--accent-ink:#9c4d0b;--accent-bright:#f0a24a}html[data-theme=coastal]{--background:#f2f7f8;--surface:#fff;--soft:#e3edf0;--text:#16303c;--muted:#4d6470;--border:#d2e0e4;--ink:#12303f;--ink-deep:#0b212c;--on-ink-muted:#bdd0d8;--accent:#b4492c;--on-accent:#fff;--accent-ink:#a03d22;--accent-bright:#f2a58e}html[data-theme=natural]{--background:#f6f3e8;--surface:#fffdf7;--soft:#ebe7d6;--text:#2c3226;--muted:#5f6450;--border:#dcd8c4;--ink:#2e3a2b;--ink-deep:#1f281d;--on-ink-muted:#cfd3c0;--accent:#856a0e;--on-accent:#fff;--accent-ink:#6f5808;--accent-bright:#e3c35a}html[data-theme=modern]{--background:#1f2222;--surface:#272b2b;--soft:#2f3434;--text:#f2f0ea;--muted:#bdbfb6;--border:#444a4a;--ink:#141616;--ink-deep:#0e1010;--on-ink:#f2f0ea;--on-ink-muted:#b7b9b0;--accent:#d9a441;--on-accent:#1a1a1a;--accent-ink:#e5b65e;--accent-bright:#e5b65e}html[data-typography=elegant]{--font-body:"Source Serif 4", Georgia, serif;--font-heading:"Oswald", "Arial Narrow", Arial, sans-serif;--font-script:"Dancing Script", cursive}html[data-typography=modern]{--font-body:"Barlow", Arial, sans-serif;--font-heading:"Barlow Condensed", "Arial Narrow", Arial, sans-serif;--font-script:"Caveat", cursive}html[data-typography=classic]{--font-body:"Lora", Georgia, serif;--font-heading:"Cormorant Garamond", Georgia, serif;--font-script:"Dancing Script", cursive;--heading-case:none;--heading-tracking:0}html[data-typography=relaxed]{--font-body:"Nunito", Arial, sans-serif;--font-heading:"Josefin Sans", Arial, sans-serif;--font-script:"Caveat", cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--bar) + 1rem)}body{background:var(--background);color:var(--text);font-family:var(--font-body);overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.7}main{min-height:55vh}a{color:inherit;text-underline-offset:.22em}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}button{color:inherit;background:0 0;border:0}:focus-visible{outline:3px solid var(--accent-ink);outline-offset:3px}img,video{max-width:100%;height:auto;display:block}figure,blockquote,dl,dd{margin:0}iframe{border:0;width:100%;display:block}address{font-style:normal}h1,h2,h3,h4,h5{color:var(--heading,var(--text));font-family:var(--font-heading);letter-spacing:var(--heading-tracking);text-transform:var(--heading-case);text-wrap:balance;hyphens:auto;margin:0;font-weight:500;line-height:1.15}h1{font-size:clamp(2.4rem,5.5vw,4.25rem)}h2{font-size:clamp(1.9rem,3.8vw,3rem)}h3{font-size:1.35rem}h4,h5{font-size:1.05rem}p{margin:0 0 1rem}p:last-child{margin-bottom:0}::selection{background:var(--accent);color:var(--on-accent)}.glyph{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.5rem;height:1.5rem;display:block}.glyph__fill{fill:currentColor;stroke:none}.container{width:min(var(--container), calc(100% - 2.5rem));margin-inline:auto}.dark-band,.photo-band,.bistro-hero,.bistro-sidebar,.reservation-card,.pdf-card,.bistro-footer{--heading:var(--on-ink);--eyebrow:var(--accent-bright);--rule:var(--ink-line);--muted:var(--on-ink-muted);color:var(--on-ink)}.dark-band :focus-visible,.photo-band :focus-visible,.bistro-hero :focus-visible,.bistro-sidebar :focus-visible,.reservation-card :focus-visible,.pdf-card :focus-visible,.bistro-footer :focus-visible{outline-color:var(--accent-bright)}.bistro-shell{min-height:100vh}.bistro-page{min-width:0}.bistro-sidebar{z-index:20;min-height:var(--bar);background-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' fill='none' stroke='%23fff' stroke-opacity='.05'%3E%3Cpath d='M20 60c10-18 26-22 38-18-8 14-22 24-38 18ZM78 104c6-16 20-24 34-22-6 14-18 26-34 22ZM74 34c8-14 20-20 30-18-4 12-16 24-30 18Z'/%3E%3C/svg%3E");justify-content:space-between;align-items:center;gap:1rem;padding-inline:1.25rem;display:flex;position:sticky;top:0}.bistro-sidebar__bar{flex:1;justify-content:space-between;align-items:center;gap:1rem;min-width:0;display:flex}.bistro-brand{min-width:0;color:var(--on-ink);align-items:center;gap:.6rem;text-decoration:none;display:flex}.bistro-brand img{object-fit:contain;width:auto;max-width:150px;max-height:44px}.bistro-brand__mark{color:var(--on-ink-muted)}.bistro-brand__name{font-family:var(--font-heading);letter-spacing:.02em;text-transform:var(--heading-case);text-wrap:balance;font-size:1.35rem;font-weight:600;line-height:1.1}.bistro-brand__tagline,.bistro-sidebar__nav,.bistro-sidebar__foot,.bistro-sidebar .bistro-sidebar__compact-booking{display:none}.bistro-mobile-menu>summary{justify-content:center;align-items:center;width:48px;height:48px;list-style:none;display:flex}.bistro-mobile-menu>summary::-webkit-details-marker{display:none}.bistro-mobile-menu__icon,.bistro-mobile-menu__icon:before,.bistro-mobile-menu__icon:after{background:var(--on-ink);width:24px;height:2px;transition:transform .2s;display:block}.bistro-mobile-menu__icon{position:relative}.bistro-mobile-menu__icon:before,.bistro-mobile-menu__icon:after{content:"";position:absolute;left:0}.bistro-mobile-menu__icon:before{top:-7px}.bistro-mobile-menu__icon:after{top:7px}.bistro-mobile-menu[open] .bistro-mobile-menu__icon{background:0 0}.bistro-mobile-menu[open] .bistro-mobile-menu__icon:before{transform:translateY(7px)rotate(45deg)}.bistro-mobile-menu[open] .bistro-mobile-menu__icon:after{transform:translateY(-7px)rotate(-45deg)}.bistro-mobile-menu__panel{max-height:calc(100dvh - var(--bar));border-top:1px solid var(--ink-line);background:var(--ink);text-align:center;gap:1rem;padding:1rem 1.25rem 1.75rem;display:grid;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.bistro-mobile-menu__panel nav:first-child{display:grid}.bistro-sidebar__compact-booking{margin-left:auto}.bistro-sidebar nav a,.bistro-dropdown>summary{font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;padding:.55rem 0;font-size:1rem;line-height:1.35;text-decoration:none;display:block}.bistro-sidebar nav a:hover,.bistro-dropdown>summary:hover,.bistro-sidebar nav a[aria-current=page]{color:var(--accent-bright)}.bistro-dropdown>div{padding-bottom:.4rem}.bistro-dropdown>div a{color:var(--on-ink-muted);padding-block:.35rem;font-size:.9rem}.language-switcher{white-space:nowrap;flex:none;position:relative}.language-switcher--sidebar{display:none}.language-switcher>summary{border:1px solid var(--ink-line);border-radius:var(--radius);min-height:44px;color:var(--on-ink);font-family:var(--font-heading);letter-spacing:.05em;background:0 0;align-items:center;gap:.45rem;padding:.3rem .6rem;font-size:.9rem;line-height:1.2;list-style:none;transition:background .2s,border-color .2s;display:flex}.language-switcher>summary::-webkit-details-marker{display:none}.language-switcher>summary:hover{border-color:var(--accent-bright)}.language-switcher .glyph{width:1.15rem;height:1.15rem}.language-switcher__name{display:none}.language-switcher__chevron{transition:transform .2s}.language-switcher[open] .language-switcher__chevron{transform:rotate(180deg)}.language-switcher__list{z-index:30;border:1px solid var(--ink-line);border-radius:var(--radius);background:var(--ink-deep);gap:.1rem;width:13rem;max-height:min(60vh,22rem);padding:.35rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0;overflow-y:auto;box-shadow:0 14px 34px #0006}.bistro-sidebar .language-switcher__list a{border-radius:var(--radius);min-height:44px;color:var(--on-ink);font-family:var(--font-body);letter-spacing:0;text-align:left;text-transform:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .75rem;font-size:1rem;display:flex}.bistro-sidebar .language-switcher__list a:hover{color:var(--on-ink);background:#ffffff1f}.bistro-sidebar .language-switcher__list a[aria-current=page]{color:var(--accent-bright);font-weight:600}.bistro-sidebar .language-switcher__list a:focus-visible{outline-offset:-3px}.band{padding-block:var(--section-space);background:var(--background)}.band:nth-of-type(odd){background:var(--surface)}.dark-band{padding-block:var(--section-space);background:var(--ink)}.section-heading{text-align:center;margin-bottom:2.25rem}.section-heading>:last-child{margin-bottom:0}.eyebrow{color:var(--eyebrow,var(--accent-ink));font-family:var(--font-script);margin:0 0 .35rem;font-size:clamp(1.45rem,2.4vw,1.8rem);font-weight:600;line-height:1.25;display:block}.section-rule{background:var(--rule,var(--border));width:min(9rem,40%);height:1px;margin:1.25rem auto;display:block}.lead{max-width:62ch;color:var(--muted);margin-inline:auto;font-size:1.08rem}.section-heading .button{margin-top:1.5rem}.section-action{text-align:center;margin-top:2.5rem}.button{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);min-height:48px;color:var(--on-accent);font-family:var(--font-heading);letter-spacing:.05em;text-align:center;text-transform:uppercase;justify-content:center;align-items:center;padding:.6rem 1.5rem;font-size:.95rem;font-weight:500;line-height:1.3;text-decoration:none;transition:filter .2s,transform .2s;display:inline-flex}.button:hover{filter:brightness(.9);transform:translateY(-1px)}.button-dark{border-color:var(--ink);background:var(--ink);color:var(--on-ink)}html[data-theme=modern] .button-dark{border-color:var(--border)}.button-dark:hover{filter:brightness(1.25)}.text-link{color:var(--eyebrow,var(--accent-ink));font-weight:600;text-decoration-thickness:1px}.rich-text>*{margin-block:0}.rich-text>*+*{margin-top:1rem}.rich-text h2{font-size:clamp(1.5rem,2.6vw,2rem)}.rich-text h3{font-size:1.2rem}.rich-text>h2:not(:first-child),.rich-text>h3:not(:first-child){margin-top:2.25rem}.rich-text ul,.rich-text ol,.about-specialties{padding-left:1.3rem}.rich-text blockquote{border-left:3px solid var(--accent);padding-left:1rem}.rich-text a{color:var(--accent-ink)}.bistro-hero{isolation:isolate;background:var(--ink);text-align:center;flex-direction:column;display:flex;position:relative;overflow:hidden}.bistro-hero--home{min-height:min(calc(100svh - var(--bar)), 52rem)}.bistro-hero--banner{justify-content:center;min-height:clamp(17rem,44vh,25rem);padding-block:3.5rem 4.5rem}.bistro-hero__media{z-index:-2;position:absolute;inset:0}.bistro-hero__media img,.bistro-hero__media video{object-fit:cover;width:100%;height:100%}.bistro-hero__veil{z-index:-1;pointer-events:none;background:#0f0c0a8c;position:absolute;inset:0}.bistro-hero__copy{pointer-events:none;margin-block:auto;padding-block:3.5rem}.bistro-hero--banner .bistro-hero__copy{margin-block:0;padding-block:0}.bistro-hero--banner:has(.menu-tabs--types){padding-bottom:0}.bistro-hero--home h1{font-size:clamp(2.75rem,7.5vw,5.75rem);line-height:1.08}.bistro-hero__intro{max-width:58ch;color:var(--on-ink);font-family:var(--font-heading);letter-spacing:.02em;margin:1rem auto 0;font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:400;line-height:1.45}.bistro-hero__actions{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem;display:flex}.bistro-facts{text-align:center;background:#0f0c0ab8;gap:.75rem;padding:1.25rem;display:grid}.bistro-facts dt{color:var(--accent-bright);font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.bistro-facts dd{font-size:.95rem;line-height:1.4}.bistro-facts a{text-decoration-thickness:1px}.split-section__layout,.story-section__layout,.gallery-preview__layout,.reservation-layout,.opening-hours-layout{gap:2.5rem;display:grid}.split-section:not(.split-section--media) .split-section__copy{max-width:46rem;margin-inline:auto}.split-section--media .split-section__copy{text-align:center;align-self:center}.split-section__media img,.story-section__portrait img{aspect-ratio:4/5;border-radius:var(--radius);object-fit:cover;width:100%}.bistro-note{border:1px solid var(--border);border-radius:var(--radius);background:var(--soft);text-align:center;max-width:46rem;margin:1.75rem auto 0;padding:3rem 1.5rem 2.25rem;position:relative}.bistro-note:before{content:"";border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);pointer-events:none;border-radius:2px;position:absolute;inset:.45rem}.bistro-note__mark{border:1px solid var(--border);background:var(--ink);width:3.5rem;height:3.5rem;color:var(--accent-bright);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:50%;translate:-50% -50%}.bistro-note .section-heading{margin-bottom:1.5rem}.bistro-note .section-heading h2{font-size:clamp(1.5rem,3vw,2.1rem)}.bistro-note .rich-text{color:var(--muted);font-size:.98rem}.bistro-note .rich-text>p:first-child{color:var(--text);font-size:clamp(1.08rem,1.8vw,1.2rem);line-height:1.6}.bistro-note .rich-text>p:first-child+*{border-top:1px dashed var(--border);margin-top:1.5rem;padding-top:1.5rem}.bistro-note .rich-text :is(ul,ol){text-align:left;display:inline-block}.story-section--teaser .story-section__body{text-align:center;align-self:center}.story-section--teaser .story-section__portrait img{aspect-ratio:1}.story-section:not(.story-section--media) .story-section__body{max-width:46rem;margin-inline:auto}.story-section__intro{font-size:1.2rem;line-height:1.55}.story-section--teaser .button{margin-top:.75rem}.about-specialties{flex-wrap:wrap;gap:.5rem;margin:2rem 0 0;padding:0;list-style:none;display:flex}.about-specialties li{border:1px solid var(--border);border-radius:99px;padding:.25rem .8rem;font-size:.9rem}.photo-band{isolation:isolate;padding-block:var(--section-space);background:var(--ink);text-align:center;position:relative;overflow:hidden}.photo-band:after{z-index:-1;content:"";background:#0f0c0aa8;position:absolute;inset:0}.photo-band__image{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-band .section-heading{margin-bottom:0}.features-section .section-heading{margin-bottom:2.75rem}.features-list{gap:2.25rem;display:grid}.feature-item .glyph{width:2.75rem;height:2.75rem;color:var(--accent-bright);stroke-width:1px;margin:0 auto .9rem}.feature-item h3{font-size:1.2rem}.feature-item p{max-width:30ch;color:var(--on-ink-muted);margin:.5rem auto 0;font-size:.98rem;line-height:1.55}.menu-tab{color:inherit;font-family:var(--font-heading);letter-spacing:.03em;text-transform:var(--heading-case);align-items:center;line-height:1.2;transition:background .2s,color .2s;display:flex}.menu-tab__text{gap:.15rem;min-width:0;display:grid}.menu-filter--types{z-index:2;width:min(var(--container), calc(100% - 2.5rem));margin:2.25rem auto 0;position:relative}.bistro-hero .menu-filter--types{margin-top:auto;padding-top:2.25rem}.menu-section .menu-filter--types{width:100%;margin:0 0 2.5rem}.menu-tabs--types{border-radius:var(--radius) var(--radius) 0 0;background:var(--ink-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.menu-section .menu-tabs--types{border-radius:var(--radius)}.menu-tabs--types .menu-tab{background:var(--ink);min-height:4.75rem;color:var(--on-ink);text-align:left;gap:.75rem;padding:.75rem 1rem;font-size:1.02rem}.menu-tabs--types .menu-tab:last-child:nth-child(odd){grid-column:1/-1}.menu-tabs--types .menu-tab .glyph{width:1.75rem;height:1.75rem;display:none}.menu-tabs--types .menu-tab small{color:var(--on-ink-muted);font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:.78rem;line-height:1.3}.menu-tabs--types .menu-tab:hover{background:var(--ink-deep)}.menu-tabs--types .menu-tab[aria-selected=true]{background:var(--accent);color:var(--on-accent)}.menu-tabs--types .menu-tab[aria-selected=true] small{color:var(--on-accent)}.menu-tabs--types .menu-tab:focus-visible{outline-offset:-4px;outline-color:#fff}.menu-filter--courses{z-index:5;top:calc(var(--bar) + .5rem);margin-bottom:1.75rem;position:sticky}.menu-section--preview .menu-filter--courses{position:static}.menu-tabs--courses{display:none}.menu-select{position:relative}.menu-select>summary{border-radius:var(--radius);background:var(--ink);min-height:3.25rem;color:var(--on-ink);font-family:var(--font-heading);letter-spacing:.03em;text-transform:var(--heading-case);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1rem .6rem 1.1rem;font-size:1.02rem;line-height:1.25;list-style:none;display:flex;box-shadow:0 6px 18px #0000002e}.menu-select>summary::-webkit-details-marker{display:none}.menu-select>summary .glyph{color:var(--accent-bright);flex:none;transition:transform .2s}.menu-select[open]>summary .glyph{transform:rotate(180deg)}.menu-select__list{z-index:6;border:1px solid var(--ink-line);border-radius:var(--radius);background:var(--ink-deep);gap:.1rem;max-height:min(60vh,24rem);padding:.35rem;display:grid;position:absolute;top:calc(100% + .4rem);left:0;right:0;overflow-y:auto;box-shadow:0 14px 34px #0006}.menu-select[open] .menu-select__list{animation:.2s ease-out bistro-drop}.menu-select__list button{border-radius:var(--radius);min-height:44px;color:var(--on-ink);font:inherit;font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:.4rem .75rem;font-size:1rem;display:flex}.menu-select__list button:hover{background:#ffffff1f}.menu-select__list button[aria-current]{color:var(--accent-bright);font-weight:600}.menu-select__list button:focus-visible{outline-offset:-3px}@keyframes bistro-drop{0%{opacity:0;transform:translateY(-.35rem)}}.tab-panel-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.menu-panel__heading{text-align:center;margin-bottom:2.5rem}.menu-panel__heading .text-link{margin-top:.75rem;display:inline-block}.menu-course{scroll-margin-top:calc(var(--bar) + 5.5rem)}.menu-course--listed+.menu-course--listed{margin-top:2.5rem}.menu-course__title{color:var(--accent-ink);letter-spacing:.04em;text-align:center;margin-bottom:.75rem;font-size:1.25rem}.menu-dishes{gap:0 3rem;display:grid}.dish{border-bottom:1px dashed var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding-block:1rem;display:grid}.dish__name{font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:1.05rem;font-weight:600;line-height:1.35}.dish__description{color:var(--muted);margin:.2rem 0 0;font-size:.95rem;font-style:italic;line-height:1.5}.dish__price{border-radius:var(--radius);background:var(--accent);color:var(--on-accent);font-family:var(--font-heading);white-space:nowrap;padding:.1rem .55rem;font-size:.92rem;font-weight:500}.dish__tags{color:var(--accent-ink);flex-wrap:wrap;gap:.25rem .75rem;margin:.35rem 0 0;font-size:.82rem;display:flex}.dish__allergens{flex-wrap:wrap;gap:.3rem;margin-top:.4rem;display:flex}.allergen-icon{width:24px;height:24px;color:var(--muted);display:inline-flex}.allergen-icon svg{width:100%;height:100%}.allergen-legend{border-top:1px solid var(--border);margin-top:3rem;padding-top:1.5rem}.allergen-legend__title{color:var(--accent-ink);font-family:var(--font-heading);letter-spacing:.04em;text-align:center;text-transform:var(--heading-case);margin-bottom:.75rem;font-size:1.1rem}.allergen-legend__items{flex-wrap:wrap;justify-content:center;gap:.6rem 1.25rem;display:flex}.allergen-legend__item{align-items:center;gap:.4rem;font-size:.85rem;display:flex}.pdf-menus{gap:1.25rem;display:grid}.menu-course+.pdf-menus{margin-top:2.5rem}.pdf-card{border-radius:var(--radius);background:var(--ink);outline:1px solid var(--ink-line);outline-offset:-.6rem;text-align:center;flex-direction:column;align-items:center;gap:1.25rem;padding:2.5rem 1.75rem;display:flex}.pdf-card>.glyph{width:2.25rem;height:2.25rem;color:var(--accent-bright)}.pdf-card__copy{flex:1;min-width:0}.pdf-card__date{color:var(--eyebrow);margin-bottom:.4rem;font-size:.9rem;font-weight:600}.pdf-card :is(h2,h3){font-size:clamp(1.5rem,2.4vw,2rem)}.pdf-card__intro{color:var(--muted);margin-top:.6rem;font-size:.98rem;line-height:1.55}.weekly-preview__list{gap:1.25rem;display:grid}.weekly-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--soft);text-align:center;padding:1.75rem}.weekly-card__date{color:var(--accent-ink);margin-bottom:.4rem;font-size:.9rem;font-weight:600}.weekly-card p:last-child{color:var(--muted);margin-top:.6rem;font-size:.98rem}.gallery-preview__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.gallery-tile:first-child:last-child,.gallery-tile:first-child:nth-last-child(3){grid-column:1/-1}.gallery-tile{overflow:hidden}.gallery-tile img{aspect-ratio:4/3;border-radius:var(--radius);object-fit:cover;width:100%}.gallery-tile figcaption{color:var(--muted);margin-top:.35rem;font-size:.82rem;line-height:1.35}.mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(9rem,38vw,15rem);gap:.75rem;display:grid}.mosaic__item{border-radius:var(--radius);position:relative;overflow:hidden}.mosaic__item:nth-child(3n+1),.mosaic__item:nth-child(3n+2):last-child{grid-column:1/-1}.mosaic__item a,.mosaic__item img{width:100%;height:100%;display:block}.mosaic__item img{object-fit:cover;transition:transform .5s}.mosaic__item a:hover img{transform:scale(1.04)}.mosaic__item a:focus-visible{outline-offset:-5px;outline-color:#fff}.mosaic__item figcaption{color:#fff;pointer-events:none;background:linear-gradient(#0000,#0f0c0ac7);padding:1.75rem .9rem .6rem;font-size:.85rem;line-height:1.35;position:absolute;bottom:0;left:0;right:0}.gallery-videos{gap:1.5rem;margin-top:2rem;display:grid}.gallery-video iframe,.gallery-video video{aspect-ratio:16/9;background:var(--soft);width:100%}.gallery-video figcaption{color:var(--muted);margin-top:.4rem;font-size:.85rem}.lightbox{color:#fff;background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0}.lightbox[open]{place-items:center;display:grid}.lightbox::backdrop{background:#0a0807eb}.lightbox figure{text-align:center;justify-items:center;gap:.6rem;padding:3.5rem 1rem;display:grid}.lightbox img{border-radius:var(--radius);width:auto;max-width:min(100%,76rem);height:auto;max-height:80vh}.lightbox figcaption{max-width:60ch;font-size:.95rem}.lightbox button{border-radius:var(--radius);background:#0000008c;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:absolute}.lightbox button:hover{background:var(--accent);color:var(--on-accent)}.lightbox :focus-visible{outline-color:#fff}.lightbox__close{top:.75rem;right:.75rem}.lightbox__step{top:50%;transform:translateY(-50%)}.lightbox__step--previous{left:.75rem}.lightbox__step--next{right:.75rem}.events-list{gap:2.5rem;display:grid}.event-row{gap:1.5rem;display:grid}.event-row__media{border-radius:var(--radius);background:var(--soft);overflow:hidden}.event-row__media img{aspect-ratio:16/10;object-fit:cover;width:100%;height:100%}.event-row__media--flyer img{object-fit:contain}.event-row__body{text-align:center;align-self:center}.event-row__location{color:var(--muted);font-size:.95rem}.event-row .button{margin-top:1.25rem}.events-section__empty{text-align:center}.reviews-list{grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));gap:1.25rem;display:grid}.review-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--soft);text-align:center;flex-direction:column;padding:1.75rem;display:flex}.review-card__rating{color:var(--accent);justify-content:center;gap:.1rem;margin-bottom:.75rem;display:flex}.review-card__rating .glyph{width:1.15rem;height:1.15rem}.review-card__rating .glyph--empty{opacity:.28}.review-card>p{flex:1;margin-bottom:1rem;font-size:1.05rem;font-style:italic}.review-card footer{color:var(--muted);flex-direction:column;font-size:.85rem;display:flex}.review-card footer strong{color:var(--text);font-family:var(--font-heading);letter-spacing:.03em;text-transform:uppercase;font-size:.95rem;font-weight:500}.reservation-copy{align-self:center}.reservation-section,.widget-section,.reservation-anchor{scroll-margin-top:calc(var(--bar) + 1.5rem)}.reservation-anchor{display:block}.reservation-layout.reservation-layout--text-only{grid-template-columns:minmax(0,1fr)}.reservation-layout--text-only .reservation-copy{max-width:65ch}.reservation-copy .section-heading{text-align:left;margin-bottom:1.25rem}.reservation-copy .section-heading h2{font-size:clamp(1.3rem,6.4vw,2.25rem)}.reservation-copy .section-rule,.reservation-copy .lead{margin-inline:0}.reservation-copy__note{color:var(--muted)}.reservation-card{isolation:isolate;border-radius:var(--radius);background:var(--ink);flex-direction:column;justify-content:flex-end;min-height:26rem;display:flex;position:relative;overflow:hidden}.reservation-card img{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.reservation-card--photo:after{z-index:-1;content:"";background:linear-gradient(#0f0c0a26,#0f0c0ad9 62%);position:absolute;inset:0}.reservation-card__options{gap:1.75rem;padding:1.75rem;display:grid}.reservation-option h3{font-size:clamp(1.5rem,3vw,2.1rem)}.reservation-option p{color:var(--on-ink);margin-top:.4rem;font-size:1rem;line-height:1.5}.reservation-option .button{margin-top:.9rem}.visit-grid{border-radius:var(--radius);display:grid;overflow:hidden}.visit-cell{text-align:center;flex-direction:column;justify-content:center;padding:2.5rem 1.5rem;display:flex}.visit-cell .section-heading{margin-bottom:1.25rem}.visit-cell .text-link{margin-top:.75rem}.visit-map{background:var(--soft);min-height:20rem}.visit-map iframe{height:100%;min-height:20rem}.visit-photo{min-height:20rem;position:relative}.visit-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.contact-details{gap:1rem;display:grid}.contact-details dt{color:var(--muted);font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;font-size:.85rem}.contact-details dd a{color:var(--accent-ink);font-weight:600;text-decoration-thickness:1px}.opening-hours-layout{align-items:center}.opening-hours-layout .section-heading{margin-bottom:0}.opening-hours-list>div,.opening-hours-exceptions>div{border-bottom:1px dashed var(--ink-line);flex-wrap:wrap;justify-content:space-between;gap:.1rem 1.5rem;padding-block:.6rem;display:flex}.opening-hours-list strong{font-family:var(--font-heading);letter-spacing:.03em;font-weight:400}.opening-hours-list>.opening-hours-exceptions{border:0;margin-top:1.5rem;padding:0;display:block}.opening-hours-exceptions h3{color:var(--accent-bright);margin-bottom:.25rem;font-size:1.05rem}.opening-hours-exceptions time{color:var(--on-ink-muted);font-size:.9rem;display:block}.restaurant-widget iframe{border:1px solid var(--border);border-radius:var(--radius);background:var(--soft);min-height:560px}.faq-layout,.legal-content,.contact-form-layout{max-width:46rem}.faq-list details{border-bottom:1px solid var(--border)}.faq-list summary{justify-content:space-between;align-items:center;gap:1.5rem;min-height:3.5rem;padding-block:.85rem;font-weight:600;line-height:1.4;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .glyph{color:var(--accent-ink);transition:transform .2s}.faq-list details[open] summary .glyph{transform:rotate(45deg)}.faq-list .rich-text{color:var(--muted);padding-bottom:1.25rem}.legal-note{border-top:1px solid var(--border);color:var(--muted);margin-top:2rem;padding-top:1rem}.restaurant-contact-form{gap:1rem;display:grid}.restaurant-contact-form label{font-family:var(--font-heading);letter-spacing:.03em;gap:.3rem;font-size:.92rem;display:grid}.restaurant-contact-form input,.restaurant-contact-form textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);font-family:var(--font-body);padding:.8rem}.restaurant-contact-form textarea{resize:vertical}.not-found{text-align:center;align-items:center;min-height:60vh;display:grid}.not-found .button{margin-top:1.5rem}.bistro-footer{background:var(--ink-deep);padding-block:3.5rem 1.5rem;font-size:.95rem;line-height:1.55;position:relative}.bistro-footer__top{background:var(--ink-deep);clip-path:polygon(0 100%,34% 6%,40% 0,60% 0,66% 6%,100% 100%);width:6rem;height:2.5rem;color:var(--on-ink-muted);justify-content:center;align-items:flex-end;padding-bottom:.15rem;display:flex;position:absolute;top:1px;left:50%;transform:translate(-50%,-100%)}.bistro-footer__top:hover{color:var(--accent-bright)}.bistro-footer__top:focus-visible{clip-path:none;outline-offset:-3px}.bistro-footer__main{gap:2rem;padding-bottom:2rem;display:grid}.bistro-footer__name{color:var(--on-ink);font-family:var(--font-heading);letter-spacing:.02em;text-transform:var(--heading-case);font-size:1.35rem;font-weight:600;text-decoration:none}.bistro-footer__main p{color:var(--on-ink-muted)}.bistro-footer__main>div>p{max-width:36ch;margin-top:.4rem}.bistro-footer address{justify-items:start;gap:.3rem;display:grid}.bistro-footer address p{margin:0}.bistro-footer__links,.bistro-footer__links nav{align-content:start;justify-items:start;gap:.3rem;display:grid}.socials{flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.contact-details+.socials,.visit-cell>.socials{justify-content:center;margin-top:1.25rem}.social{border:1px solid color-mix(in srgb, currentColor 35%, transparent);border-radius:var(--radius);width:44px;height:44px;color:inherit;place-items:center;transition:background-color .2s,border-color .2s,color .2s;display:grid}.social:hover{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.social svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}.social .fill{fill:currentColor;stroke:none}.bistro-footer__links{gap:1rem}.bistro-footer__main a{text-decoration-thickness:1px}.bistro-footer__main a:hover{color:var(--accent-bright)}.bistro-footer__bottom{border-top:1px solid var(--ink-line);color:var(--on-ink-muted);padding-top:1.25rem;font-size:.85rem}.cookie-banner{z-index:30;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-width:420px;padding:1.5rem;position:fixed;bottom:1rem;left:1rem;right:1rem;box-shadow:0 8px 40px #0003}.cookie-banner[hidden]{display:none}.cookie-banner h2{font-size:1.25rem}.cookie-banner p{color:var(--muted);margin-top:.6rem;font-size:.95rem}.cookie-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.cookie-actions .button-secondary{border-color:var(--text);color:var(--text);background:0 0}@keyframes bistro-rise{0%{opacity:0;transform:translateY(14px)}}html[data-motion=on] .bistro-hero__copy>*{animation:.7s ease-out both bistro-rise}html[data-motion=on] .bistro-hero__copy>:nth-child(2){animation-delay:.1s}html[data-motion=on] .bistro-hero__copy>:nth-child(n+3){animation-delay:.2s}@media (width>=560px){.menu-tabs--types .menu-tab .glyph{display:block}.bistro-sidebar .bistro-sidebar__compact-booking{min-height:40px;padding-inline:1rem;font-size:.85rem;display:inline-flex}.bistro-facts{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.features-list{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-preview__list{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.pdf-menus--pairs,.pdf-menus--thirds{grid-template-columns:repeat(2,minmax(0,1fr))}.pdf-menus--thirds .pdf-card:last-child:nth-child(odd){grid-column:1/-1}}@media (width>=760px){.container{width:min(var(--container), calc(100% - 4rem))}.menu-dishes{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-tabs--types{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.menu-tabs--types .menu-tab:last-child:nth-child(odd){grid-column:auto}.menu-filter--courses{margin-bottom:2.25rem;position:static}.menu-select{display:none}.menu-tabs--courses{border:1px solid var(--border);border-radius:var(--radius);background:var(--border);flex-wrap:wrap;gap:1px;display:flex;overflow:hidden}.menu-tabs--courses .menu-tab{background:var(--surface);text-align:center;flex:auto;justify-content:center;min-height:3.25rem;padding:.5rem 1.1rem;font-size:.95rem}.band:nth-of-type(odd) .menu-tabs--courses .menu-tab{background:var(--background)}.band .menu-tabs--courses .menu-tab:hover{background:var(--soft)}.band .menu-tabs--courses .menu-tab[aria-selected=true]{background:var(--accent);color:var(--on-accent)}.menu-tabs--courses .menu-tab:focus-visible{outline-offset:-4px}.pdf-menus--single .pdf-card{text-align:left;flex-direction:row;gap:2rem;padding:2.75rem 3rem}.gallery-videos{grid-template-columns:repeat(2,minmax(0,1fr))}.mosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(9rem,17vw,14rem);grid-auto-flow:dense}.mosaic__item:nth-child(n){grid-column:auto}.mosaic__item:nth-child(6n+1){grid-area:span 2/1/auto/span 2}.mosaic__item:nth-child(6n+2),.mosaic__item:nth-child(6n+3){grid-column:3}.mosaic__item:nth-child(6n+4),.mosaic__item:nth-child(6n+5){grid-column:1}.mosaic__item:nth-child(6n){grid-area:span 2/2/auto/span 2}.mosaic__item:nth-child(3n+1):last-child{grid-area:span 2/1/auto/-1}.mosaic__item:nth-child(3n+1):nth-last-child(2){grid-area:span 2/1/auto/span 2}.mosaic__item:nth-child(3n+1):nth-last-child(2)+.mosaic__item{grid-area:span 2/3}.visit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-grid>:last-child:nth-child(odd){grid-column:1/-1}.bistro-footer__main{grid-template-columns:1.2fr 1fr .8fr}.cookie-banner{left:auto}}@media (width>=900px){.split-section--media .split-section__layout,.story-section--media .story-section__layout,.gallery-preview__layout,.reservation-layout,.opening-hours-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:3.5rem}.split-section__media{order:1}.story-section--media .story-section__portrait{align-self:start;position:sticky;top:2rem}.gallery-preview__layout{align-items:center}.gallery-preview__layout .section-heading{margin-bottom:0}.features-list{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.event-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem}.event-row--text{grid-template-columns:minmax(0,46rem);justify-content:center}.event-row:nth-child(2n) .event-row__media{order:1}.visit-cell{padding:3rem}.bistro-note{padding:3.5rem 3.75rem 2.75rem}}@media (width>=1100px){html{scroll-padding-top:1.5rem}.bistro-shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);background:var(--ink);display:grid}.bistro-sidebar{text-align:center;flex-direction:column;justify-content:flex-start;gap:0;height:100vh;padding:2.5rem 2rem 1.75rem;overflow-y:auto}.bistro-sidebar__bar{border-bottom:1px solid var(--ink-line);flex:none;width:100%;padding-bottom:1.5rem;display:block}.bistro-brand{flex-direction:column;gap:.5rem}.bistro-brand__mark{width:3rem;height:3rem}.bistro-brand__name{font-size:1.85rem}.bistro-brand img{max-width:170px;max-height:96px}.bistro-brand__tagline{color:var(--on-ink-muted);font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;margin:.6rem 0 0;font-size:.82rem;line-height:1.4;display:block}.bistro-sidebar .bistro-sidebar__compact-booking,.bistro-mobile-menu,.language-switcher--bar{display:none}.language-switcher--sidebar{width:100%;display:block}.language-switcher--sidebar>summary{padding-inline:.85rem}.language-switcher--sidebar .language-switcher__name{text-align:left;flex:1;display:block}.language-switcher--sidebar .language-switcher__code{display:none}.language-switcher--sidebar .language-switcher__list{width:auto;inset:auto 0 calc(100% + .5rem)}.bistro-sidebar__nav{width:100%;padding-block:1.25rem;display:block}.bistro-sidebar__foot{border-top:1px solid var(--ink-line);justify-items:center;gap:.75rem;width:100%;margin-top:auto;padding-top:1.5rem;display:grid}.bistro-sidebar__foot .button{width:100%}.bistro-sidebar__phone{color:var(--on-ink-muted);font-size:.92rem;text-decoration:none}.bistro-sidebar__phone:hover{color:var(--accent-bright)}.bistro-hero--home{min-height:min(100vh,56rem)}.cookie-banner{bottom:1.5rem;right:1.5rem}}@media (width>=1280px){.pdf-menus--thirds{grid-template-columns:repeat(6,minmax(0,1fr))}.pdf-menus--thirds .pdf-card,.pdf-menus--thirds .pdf-card:nth-child(3n):last-child{grid-column:span 2}.pdf-menus--thirds .pdf-card:nth-child(3n+1):nth-last-child(2),.pdf-menus--thirds .pdf-card:nth-child(3n+2):last-child{grid-column:span 3}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.button:hover,.mosaic__item a:hover img{transform:none}}html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] :before,html[data-motion=off] :after{transition:none!important;animation:none!important}
