.restaurant-format-menus { padding:70px 0; border-top:1px solid var(--border-highlight,#ffffff25); }
.format-menu-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:36px; align-items:start; }
.format-menu-card { padding:28px; border:1px solid var(--border-highlight,#ffffff25); min-width:0; }
.format-menu-card h3 { font-size:clamp(24px,3vw,42px); line-height:1.08; margin:22px 0 16px; }
.format-menu-card p { line-height:1.65; }
.format-menu-dates { margin:25px 0; }
.format-menu-dates ul { list-style:none; padding:0; margin:10px 0; }
.format-menu-dates li { padding:8px 0; }
.format-menu-disclosure { margin-top:24px; border-top:1px solid var(--border-highlight,#ffffff25); }
.format-menu-disclosure summary { min-height:56px; display:flex; justify-content:space-between; gap:20px; align-items:center; cursor:pointer; font-size:14px; }
.format-menu-disclosure summary::-webkit-details-marker { display:none; }
.format-menu-disclosure[open] summary span { transform:rotate(45deg); }
.format-menu-disclosure summary:focus-visible,.format-menu-document a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.format-menu-document { min-width:0; }
.format-menu-document>.text-link { display:inline-flex; margin:16px 0 22px; flex-wrap:wrap; }
.format-menu-pages { display:grid; gap:20px; }
.format-menu-pages a { display:block; }
.format-menu-pages img { display:block; width:100%; height:auto; }
.format-menu-text { white-space:normal; line-height:1.8; overflow-wrap:anywhere; }
.event-format-menu { width:90%; margin:0 auto; padding:44px 0; border-bottom:1px solid var(--border-highlight,#ffffff25); display:grid; grid-template-columns:1fr 2fr; gap:40px; align-items:start; }
.format-menu-heading h2 { font-size:clamp(28px,4vw,52px); line-height:1.05; margin:20px 0; }
.format-menu-heading p { line-height:1.7; }
@media(max-width:700px){.format-menu-list,.event-format-menu { grid-template-columns:1fr; }.event-format-menu { gap:12px; padding:30px 0; }.format-menu-card{padding:22px;}.restaurant-format-menus{padding:45px 0;}}
.restaurant-format-menus { width:90%; margin-inline:auto; }

/* Menus are native, selectable text, never PDF embeds or page images. */
.format-menu-sections { display:grid; gap:38px; }
.format-menu-category { min-width:0; }
.format-menu-category-heading { display:flex; align-items:baseline; gap:14px; padding-bottom:14px; border-bottom:1px solid var(--border-highlight,#ffffff25); }
.format-menu-category-heading .meta { opacity:.6; font-size:10px; }
.format-menu-category-heading h3 { font-size:clamp(23px,2.5vw,32px); line-height:1.12; margin:0; flex:1; }
.format-menu-price { font-variant-numeric:tabular-nums; white-space:nowrap; font-size:16px; }
.format-menu-dishes { list-style:none; padding:0; margin:0; }
.format-menu-dishes li { display:flex; align-items:baseline; justify-content:space-between; gap:24px; padding:15px 0; border-bottom:1px solid var(--border-highlight,#ffffff18); }
.format-menu-dishes li>div { min-width:0; }
.format-menu-dish-name { font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.format-menu-item-note,.format-menu-note { font-size:13px; line-height:1.6; opacity:.7; margin:8px 0 0; }
.format-menu-offer { background:var(--surface-glass,#ffffff04); padding:24px; border:1px solid var(--border-highlight,#ffffff25); }
.format-menu-offer .format-menu-note { margin:14px 0; }
.format-menu-disclosure .format-menu-document { padding:24px 0 8px; }
.format-menu-disclosure .format-menu-category-heading h3 { font-size:24px; }
@media(max-width:700px){.format-menu-dish-name{font-size:15px;}.format-menu-dishes li{gap:16px;}.format-menu-offer{padding:18px;}.format-menu-category-heading{gap:10px;}.format-menu-category-heading h3{font-size:24px;}}

/* The permanent carte leads; the changing event menus remain compact. */
.menu-carte-feature { display:grid; grid-template-columns:1.2fr 1fr; gap:40px; padding:clamp(28px,4vw,60px); background:var(--paper,#eeeee7); color:var(--ink,#111411); }
.menu-carte-feature h2 { font-size:clamp(48px,7.4vw,106px); line-height:.9; letter-spacing:-.065em; margin:24px 0 0; }
.menu-carte-feature .eyebrow { color:inherit; }
.menu-carte-feature-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:23px; }
.menu-carte-feature-copy>p { font-size:clamp(16px,1.55vw,20px); line-height:1.65; max-width:38ch; margin:0; }
.menu-carte-feature-copy .ed-button { color:var(--paper,#eeeee7); background:var(--ink,#111411); border-color:var(--ink,#111411); }
.menu-availability { display:inline-flex; gap:10px; align-items:center; text-transform:uppercase; font-size:10px; letter-spacing:.13em; }
.menu-availability::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.menu-specials { margin-top:54px; }
.menu-specials-heading { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; }
.menu-specials-heading h2 { font-size:clamp(24px,3.1vw,40px); letter-spacing:-.045em; line-height:1.05; margin:14px 0 0; }
.menu-specials-heading>p { font-size:15px; line-height:1.75; opacity:.75; max-width:55ch; margin:0; }
.menu-specials .format-menu-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:26px; }
.menu-specials .format-menu-card { padding:22px; }
.menu-specials .format-menu-card>h3 { font-size:24px; line-height:1.1; margin:18px 0 10px; }
.menu-specials .menu-format-recurrence { font-size:13px; opacity:.65; margin:0; }
.menu-specials .format-menu-dates { margin:20px 0 0; }
.menu-specials .format-menu-dates .meta,.menu-specials .format-menu-dates .text-link { font-size:10px; }
.menu-specials .format-menu-dates .text-link { display:inline-flex; flex-wrap:wrap; }
.menu-specials .format-menu-disclosure { margin-top:15px; }
.menu-specials .format-menu-disclosure summary { min-height:46px; font-size:12px; }
.menu-specials .format-menu-category-heading h3 { font-size:21px; }
.menu-specials .format-menu-dish-name,.menu-specials .format-menu-price { font-size:14px; }
@media(max-width:1000px){.menu-specials .format-menu-list{grid-template-columns:repeat(2,minmax(0,1fr));}.menu-carte-feature{gap:28px;}}
@media(max-width:700px){.menu-carte-feature,.menu-specials-heading{grid-template-columns:1fr;gap:28px;}.menu-carte-feature h2{font-size:clamp(44px,11vw,74px);}.menu-carte-feature-copy{gap:20px;}.menu-carte-feature-copy .ed-button{max-width:100%;font-size:11px;}.menu-specials{margin-top:38px;}.menu-specials .format-menu-list{grid-template-columns:1fr;}.menu-specials .format-menu-card{padding:20px;}}
