@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@400;500;600&display=swap');

:root{--burgundy:#5b1f2b;--cabernet:#2e1017;--paper:#faf7f1;--ivory:#f2ece2;--ink:#1d1a19;--gold:#c7a46a;--line:rgba(29,26,25,.15);--serif:"Cormorant Garamond",Georgia,serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400}.menu-header{min-height:62px;padding:0 6vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#201d1c;color:#fff}.menu-logo{position:absolute;top:7px;left:6vw;width:76px;height:76px;z-index:1}.menu-logo img{width:100%;height:100%;object-fit:contain}.back-link,.print-button{font:600 .68rem var(--sans);text-transform:uppercase;letter-spacing:.15em;color:#fff;text-decoration:none}.back-link{grid-column:2}.print-button{justify-self:end;background:transparent;border:1px solid rgba(199,164,106,.7);padding:.65rem .9rem;color:var(--gold);cursor:pointer}.print-button:hover{background:var(--gold);color:var(--cabernet)}main{width:min(1120px,88vw);margin:auto}.menu-intro{padding:8.5rem 0 5rem;max-width:700px}.eyebrow{margin:0;color:var(--burgundy);font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.menu-intro h1{margin:.8rem 0 1.4rem;font:400 clamp(3.3rem,6vw,6rem)/.94 var(--serif);color:var(--burgundy)}.menu-intro>p:last-child{max-width:550px;margin:0;font:1.06rem/1.8 var(--sans);color:rgba(29,26,25,.7)}.menu-list{border-top:1px solid var(--line);padding-bottom:7rem}details{border-bottom:1px solid var(--line)}summary{display:grid;grid-template-columns:1fr auto 1rem;gap:1rem;align-items:center;padding:2.05rem 0;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary span{font:400 clamp(2rem,3.3vw,3.4rem)/1 var(--serif);color:var(--burgundy)}summary small{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(29,26,25,.5)}summary:after{content:"+";font:300 1.6rem/1 var(--serif);color:var(--burgundy);transition:transform .25s}details[open] summary:after{transform:rotate(45deg)}.menu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 4.5rem;padding:0 0 2.25rem}.menu-items article{display:flex;justify-content:space-between;gap:1.5rem;padding:1.3rem 0;border-top:1px solid rgba(29,26,25,.09)}.menu-items article:nth-child(1),.menu-items article:nth-child(2){border-top:0}.menu-items h2{margin:0;font:500 1.45rem/1.05 var(--serif)}.menu-items p{margin:.42rem 0 0;font:.85rem/1.6 var(--sans);color:rgba(29,26,25,.66)}.menu-items strong{flex:0 0 auto;color:var(--burgundy);font-size:.78rem;letter-spacing:.05em}.menu-note{margin:-.45rem 0 1.1rem;color:rgba(29,26,25,.65);font-size:.88rem;line-height:1.6}footer{display:flex;justify-content:space-between;gap:1rem;padding:2rem 6vw;background:#120b0d;color:rgba(255,255,255,.68);font-size:.68rem;letter-spacing:.08em}footer a{color:var(--gold);text-decoration:none}@media(max-width:700px){.menu-header{padding:0 1.5rem;grid-template-columns:1fr auto;min-height:56px}.menu-logo{left:1.5rem;top:5px;width:65px;height:65px}.back-link{display:none}.print-button{grid-column:2}.menu-intro{padding:7.25rem 0 3.75rem}.menu-items{grid-template-columns:1fr;gap:0;padding-bottom:1.5rem}.menu-items article:nth-child(2){border-top:1px solid rgba(29,26,25,.09)}summary{grid-template-columns:1fr 1rem;padding:1.6rem 0}summary small{display:none}footer{display:grid;gap:.5rem;padding:1.75rem 1.5rem}}
@media print{@page{margin:.55in}body{background:#fff;color:#000}.menu-header{min-height:0;padding:0 0 1rem;background:#fff;color:#000;border-bottom:1px solid #000}.menu-logo{position:static;width:62px;height:62px;grid-column:1}.menu-logo img{filter:grayscale(1)}.back-link,.print-button{display:none}main{width:100%;margin:0}.menu-intro{padding:1.2rem 0 1.25rem}.menu-intro h1{font-size:2.4rem;color:#000}.menu-intro>p:last-child{font-size:.85rem;color:#000}.menu-list{padding-bottom:0}details{break-inside:avoid}details:not([open])>*:not(summary){display:block!important}summary{padding:.85rem 0 .5rem;grid-template-columns:1fr auto}summary span{font-size:1.75rem;color:#000}summary small{font-size:.55rem}summary:after{display:none}.menu-items{gap:0 2.2rem;padding-bottom:.7rem}.menu-items article{padding:.5rem 0;gap:.75rem}.menu-items h2{font-size:1rem}.menu-items p{font-size:.65rem;line-height:1.35}.menu-items strong{font-size:.65rem;color:#000}.menu-note{font-size:.7rem;margin:0 0 .3rem}footer{margin-top:1rem;padding:0;background:#fff;color:#000;font-size:.58rem;border-top:1px solid #000}footer a{color:#000}}
.wine-items article{display:block}.wine-meta{display:block;margin-top:.58rem;color:var(--burgundy);font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.wine-sweetness{display:flex;align-items:center;gap:.45rem;margin-top:.7rem;color:var(--burgundy);font:700 .58rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}.wine-sweetness__name{color:#625c58}.wine-sweetness__dots{display:flex;gap:3px}.wine-sweetness__dots i{display:block;width:6px;height:6px;border:1px solid rgba(199,164,106,.45);border-radius:50%}.wine-sweetness__dots i.is-current{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 1px rgba(91,31,43,.18)}.wine-note{margin:0 0 1.6rem;max-width:45rem;color:rgba(29,26,25,.7);font:.92rem/1.65 var(--sans)}.menu-crosslink{display:inline-block;margin-top:1.6rem;padding:.78rem 1rem;border:1px solid rgba(91,31,43,.55);color:var(--burgundy);font:600 .68rem var(--sans);letter-spacing:.14em;text-decoration:none;text-transform:uppercase}.menu-crosslink:hover{background:var(--burgundy);color:#fff}
.skip-link{position:fixed;z-index:10;top:.75rem;left:.75rem;padding:.75rem 1rem;background:var(--paper);color:var(--cabernet);font:600 .7rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transform:translateY(-170%);transition:transform .18s ease}.skip-link:focus{transform:translateY(0);outline:3px solid var(--gold);outline-offset:3px}:where(a,summary):focus-visible{outline:3px solid var(--gold);outline-offset:4px}

/* Phase 2 — connected special menus. These views are rendered from the same
   content records used by the homepage. */
.menu-specials{max-width:1180px;margin:0 auto;padding:clamp(36px,6vw,76px) clamp(20px,4vw,48px) 18px;border-bottom:1px solid rgba(255,255,255,.14)}
.menu-specials__heading{max-width:720px;margin-bottom:clamp(26px,4vw,48px)}
.menu-specials__heading h2{font-size:clamp(2.5rem,6vw,5.2rem);line-height:.94;margin:.3rem 0 1rem}
.menu-specials__heading>p:last-child{max-width:62ch;line-height:1.65;opacity:.76}
.menu-special{border:1px solid rgba(255,255,255,.18);margin:0 0 28px;padding:clamp(24px,4vw,46px);display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(26px,5vw,70px)}
.menu-special__intro h2{font-size:clamp(2.2rem,4.5vw,4.4rem);line-height:.94;margin:.35rem 0 1rem}.menu-special__dek{font-size:1.15rem;font-style:italic}.menu-special__meta{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin:1.2rem 0}.menu-special__meta span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.menu-special__intro>p{line-height:1.6}.menu-special__details summary{cursor:pointer;font-weight:700;margin-bottom:1rem}.menu-special__details article,.menu-special__items article{padding:16px 0;border-top:1px solid rgba(255,255,255,.14)}.menu-special__details h3,.menu-special__items h3{font-size:1.2rem;margin:0 0 .35rem}.menu-special__details p,.menu-special__items p{margin:.2rem 0;line-height:1.5;opacity:.78}.menu-special__details em{display:block;margin-top:.4rem}.menu-special__items{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
@media(max-width:760px){.menu-special{grid-template-columns:1fr}.menu-special__items{grid-template-columns:1fr}}

/* Phase 2.8 — editorial menu redesign */
@media screen {
  main{width:min(1240px,88vw)}
  .menu-intro{max-width:none;padding:6.75rem 0 4.25rem;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(3rem,8vw,8rem);align-items:end}
  .menu-intro__title{max-width:760px}.menu-intro h1{margin:.65rem 0 0;font-size:clamp(3.6rem,6.2vw,6.5rem);max-width:11ch}
  .menu-intro__copy{max-width:430px;padding-bottom:.45rem}.menu-intro__copy>p{margin:0;font:1rem/1.75 var(--sans);color:rgba(29,26,25,.72)}

  .menu-specials{position:relative;left:50%;width:100vw;max-width:none;margin-left:-50vw;padding:clamp(4rem,6vw,6.5rem) max(6vw,calc((100vw - 1240px)/2));background:var(--cabernet);color:#f8f2e9;border:0}
  .menu-specials__heading{display:grid;grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);column-gap:clamp(3rem,8vw,8rem);max-width:none;margin:0 0 3.5rem;align-items:end}
  .menu-specials__heading .eyebrow{grid-column:1;color:var(--gold)}.menu-specials__heading h2{grid-column:1;margin:.45rem 0 0;color:#fff;font:400 clamp(3.2rem,5.5vw,5.8rem)/.9 var(--serif)}
  .menu-specials__heading>p:last-child{grid-column:2;grid-row:1/3;align-self:end;margin:0;max-width:48ch;color:rgba(255,255,255,.72);opacity:1;font-size:.95rem}
  .menu-special{border:0;margin:0;padding:0;gap:clamp(2.5rem,6vw,7rem);background:transparent}
  .menu-special+.menu-special{margin-top:3.5rem;padding-top:3.5rem;border-top:1px solid rgba(255,255,255,.18)}
  .menu-special--dinner{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr)}
  .menu-special__intro .eyebrow{color:var(--gold)}.menu-special__intro h2{color:#fff;font-family:var(--serif);font-weight:400;letter-spacing:-.025em}
  .menu-special__dek{color:var(--gold)}.menu-special__intro>p{color:rgba(255,255,255,.74)}.menu-special__meta span{color:#fff}
  .menu-special .menu-crosslink{border-color:rgba(199,164,106,.65);color:var(--gold)}.menu-special .menu-crosslink:hover{background:var(--gold);color:var(--cabernet)}
  .menu-special__details{border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
  .menu-special__details summary{padding:1.35rem 0;color:#fff;grid-template-columns:1fr 1rem}.menu-special__details summary:after{color:var(--gold)}
  .menu-special__details article,.menu-special__items article{border-color:rgba(255,255,255,.13)}
  .menu-special__details h3,.menu-special__items h3{color:#fff;font-family:var(--serif);font-size:1.35rem}.menu-special__details p,.menu-special__items p{color:rgba(255,255,255,.7)}.menu-special__details em{color:var(--gold)}
  .menu-special--seasonal{grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr)}
  .menu-special__items{gap:0 clamp(2rem,4vw,4rem)}

  .menu-list{border-top:0;padding:6.5rem 0 8rem}
  .menu-list__heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);column-gap:clamp(3rem,8vw,8rem);align-items:end;padding-bottom:4.25rem;border-bottom:1px solid var(--line)}
  .menu-list__heading .eyebrow{grid-column:1}.menu-list__heading h2{grid-column:1;margin:.55rem 0 0;font:400 clamp(3.5rem,6vw,6.25rem)/.88 var(--serif);color:var(--burgundy);letter-spacing:-.03em}.menu-list__heading h2 em{font-weight:400;color:var(--ink)}
  .menu-list__heading>p:last-child{grid-column:2;grid-row:1/3;align-self:end;margin:0 0 .35rem;max-width:38ch;font:.95rem/1.7 var(--sans);color:rgba(29,26,25,.68)}
  .menu-list>details{border-bottom:1px solid var(--line)}.menu-list>details>summary{padding:2.35rem 0}.menu-list>details>summary span{font-size:clamp(2.6rem,4vw,4.4rem);letter-spacing:-.02em}.menu-list>details>summary small{color:var(--burgundy);font-weight:600}
  .menu-list>details[open]>summary{padding-bottom:1.65rem}.menu-list>details[open]>summary span{color:var(--ink)}
  .menu-items{gap:0 clamp(3rem,6vw,6rem);padding:0 0 3rem}.menu-items article{padding:1.15rem 0}.menu-items h2{font-size:1.55rem}.menu-items p{max-width:42ch}
}
@media screen and (max-width:760px){
  .menu-intro{display:block;padding:6.5rem 0 3.5rem}.menu-intro h1{max-width:10ch}.menu-intro__copy{margin-top:1.75rem}
  .menu-specials{padding:3.75rem 6vw}.menu-specials__heading{display:block;margin-bottom:2.5rem}.menu-specials__heading>p:last-child{margin-top:1.25rem}.menu-special--dinner,.menu-special--seasonal{grid-template-columns:1fr}
  .menu-list{padding:4.5rem 0 6rem}.menu-list__heading{display:block;padding-bottom:3rem}.menu-list__heading>p:last-child{margin-top:1.4rem}.menu-list>details>summary{padding:1.75rem 0}.menu-list>details>summary span{font-size:2.65rem}
}


/* Phase 2.8 — menu refinement + navigation UX */
@media screen {
  .menu-intro{padding-top:5.6rem;padding-bottom:3.6rem}
  .menu-specials{padding-top:5.2rem;padding-bottom:5.5rem}
  .menu-specials__heading{margin-bottom:2.75rem}
  .menu-special--dinner{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);align-items:start}
  .menu-special__details{align-self:start}
  .menu-special__details summary{margin:0;min-height:64px;align-items:center}
  .menu-special__details[open] summary{border-bottom:1px solid rgba(255,255,255,.14)}
  .menu-special+.menu-special{margin-top:2.75rem;padding-top:2.75rem}
  .menu-special__items article{padding:1.05rem 0}

  .menu-jump{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.5rem;overflow-x:auto;width:100vw;margin-left:calc(50% - 50vw);padding:.8rem max(6vw,calc((100vw - 1240px)/2));background:rgba(248,244,237,.96);border-bottom:1px solid var(--line);box-shadow:0 8px 22px rgba(29,26,25,.04);backdrop-filter:blur(10px);scrollbar-width:none}
  .menu-jump::-webkit-scrollbar{display:none}.menu-jump span{flex:0 0 auto;margin-right:.35rem;color:rgba(29,26,25,.48);font:700 .58rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
  .menu-jump a{flex:0 0 auto;padding:.62rem .82rem;border:1px solid transparent;color:var(--ink);font:600 .66rem/1 var(--sans);letter-spacing:.07em;text-decoration:none;text-transform:uppercase;white-space:nowrap}
  .menu-jump a:hover,.menu-jump a:focus-visible,.menu-jump a[aria-current="true"]{border-color:rgba(91,31,43,.28);color:var(--burgundy);background:#fff}

  .menu-list{padding-top:5.4rem}
  .menu-list__heading{padding-bottom:3.6rem}
  .menu-list>details{scroll-margin-top:4.75rem}
  .menu-items p{font-size:.92rem;line-height:1.55;color:rgba(29,26,25,.72)}
  .menu-items article{min-height:5.25rem;align-items:flex-start}
  .menu-items strong{padding-top:.18rem}
  .menu-list>details>summary{transition:padding .2s ease,background .2s ease}
  .menu-list>details>summary:hover span{color:var(--burgundy)}
}
@media screen and (max-width:760px){
  .menu-jump{top:0;padding:.65rem 6vw}.menu-jump span{display:none}.menu-jump a{padding:.58rem .7rem}
  .menu-list{padding-top:3.8rem}.menu-specials{padding-top:3.5rem;padding-bottom:4rem}
  .menu-items article{min-height:0}.menu-items p{font-size:.88rem}
}


/* Phase 2.8 — global navigation parity for food + wine */
.menu-site-nav{position:sticky;top:0;z-index:10000;width:100%;min-height:70px;background:#1d1a19;color:#fff;border-bottom:1px solid rgba(247,243,236,.18);box-shadow:0 10px 28px rgba(29,26,25,.14)}
.menu-site-nav .crush-nav__bar{position:relative;width:min(1600px,100%);min-height:70px;margin:auto;padding:7px clamp(16px,4vw,56px);display:flex;align-items:center;gap:22px}
.menu-site-nav .crush-nav__logo{position:absolute;z-index:2;top:4px;left:clamp(16px,4vw,56px);width:116px;height:116px;text-decoration:none;transition:top .3s ease,width .3s ease,height .3s ease}.menu-site-nav .crush-nav__logo img{display:block;width:100%;height:100%;object-fit:contain}.menu-site-nav.is-scrolled .crush-nav__logo{top:8px;width:54px;height:54px}
.menu-site-nav .crush-nav__desktop{margin-left:clamp(11rem,12vw,13rem);display:flex;align-items:center;gap:4px}.menu-site-nav .crush-nav__desktop a{min-height:44px;padding:12px 10px;display:inline-flex;align-items:center;color:#eee8e1;text-decoration:none;font-size:.72rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap;position:relative}.menu-site-nav .crush-nav__desktop a:after{content:"";position:absolute;left:10px;right:10px;bottom:6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.menu-site-nav .crush-nav__desktop a:hover:after,.menu-site-nav .crush-nav__desktop a:focus-visible:after,.menu-site-nav .crush-nav__desktop a.is-current:after{transform:scaleX(1)}.menu-site-nav .crush-nav__desktop a.is-current{color:#fff}
.menu-site-nav .crush-nav__actions{margin-left:auto;display:flex;align-items:center;border:1px solid rgba(247,243,236,.58)}.menu-site-nav .crush-nav__actions a{min-height:38px;padding:.68rem .86rem;display:flex;align-items:center;color:#fff;text-decoration:none;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.menu-site-nav .nav-phone{background:var(--cabernet)}.menu-site-nav .nav-menu{background:var(--paper);color:var(--ink)!important;border-left:1px solid rgba(247,243,236,.58)}.menu-site-nav .nav-reserve{background:var(--gold);color:var(--cabernet)!important}
.menu-site-nav .crush-nav__current,.menu-site-nav .crush-nav__toggle,.menu-site-nav .crush-nav__panel{display:none}
.crush-nav__dock{display:none}
@media(max-width:1100px){.menu-site-nav .crush-nav__desktop{gap:0;margin-left:9rem}.menu-site-nav .crush-nav__desktop a{padding-left:7px;padding-right:7px;font-size:.66rem}.menu-site-nav .nav-phone{display:none}}
@media(max-width:860px){.menu-site-nav{min-height:72px}.menu-site-nav .crush-nav__bar{min-height:72px;padding:8px 12px 8px 108px;gap:10px}.menu-site-nav .crush-nav__logo,.menu-site-nav.is-scrolled .crush-nav__logo{top:4px;left:12px;width:86px;height:86px}.menu-site-nav.is-scrolled .crush-nav__logo{top:11px;width:54px;height:54px}.menu-site-nav .crush-nav__desktop,.menu-site-nav .crush-nav__actions{display:none}.menu-site-nav .crush-nav__current{display:flex;min-width:0;margin-left:auto;flex-direction:column;line-height:1.1}.menu-site-nav .crush-nav__current span{color:var(--gold);font-size:.58rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.menu-site-nav .crush-nav__current strong{max-width:44vw;overflow:hidden;color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.menu-site-nav .crush-nav__toggle{display:grid;place-items:center;flex:none;width:50px;min-height:48px;padding:0;border:1px solid rgba(247,243,236,.58);background:transparent;color:var(--gold);font:400 1.45rem/1 var(--serif);cursor:pointer}.menu-site-nav .crush-nav__toggle:before{content:"+"}.menu-site-nav.is-open .crush-nav__toggle:before{content:"−"}.menu-site-nav .crush-nav__panel{position:absolute;top:100%;left:0;right:0;display:none;max-height:calc(100dvh - 72px);overflow:auto;background:#1d1a19;border-top:1px solid rgba(247,243,236,.18);box-shadow:0 20px 36px rgba(0,0,0,.34)}.menu-site-nav.is-open .crush-nav__panel{display:block}.menu-site-nav .crush-nav__panel nav{width:min(700px,100%);margin:auto;padding:10px 12px 20px;display:grid}.menu-site-nav .crush-nav__panel a{min-height:52px;padding:13px 14px;display:flex;align-items:center;gap:12px;color:#eee8e1;border-bottom:1px solid rgba(247,243,236,.12);text-decoration:none;font-size:.9rem;font-weight:650}.menu-site-nav .crush-nav__panel a span{color:var(--gold);font-size:.68rem;font-weight:800}.menu-site-nav .crush-nav__panel .crush-nav__panel-reserve{margin-top:12px;justify-content:center;background:var(--gold);color:var(--cabernet);border:1px solid var(--gold);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.crush-nav__dock{position:fixed;z-index:9999;left:14px;right:14px;bottom:max(0px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1.08fr 1fr;background:var(--paper);border:1px solid var(--ink);box-shadow:0 -13px 18px -15px rgba(20,10,12,.48)}.crush-nav__dock a{min-height:54px;padding:6px 5px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;text-decoration:none;border-right:1px solid var(--ink);font:700 .68rem/1.05 var(--sans);letter-spacing:.085em;text-transform:uppercase;white-space:nowrap}.crush-nav__call{background:var(--cabernet);color:#fff}.crush-nav__menu{background:var(--paper);color:var(--ink)}.crush-nav__directions{border-right:0!important;background:var(--gold);color:var(--cabernet)}body{padding-bottom:56px}}

/* At iPad/small-laptop widths the desktop navigation remains useful, but its
   action group is too tight for three controls. Move the whole practical set
   to the dock rather than dropping the phone link. */
@media(min-width:861px) and (max-width:1100px){.menu-site-nav .crush-nav__actions{display:none}.crush-nav__dock{position:fixed;z-index:9999;left:14px;right:14px;bottom:max(0px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1.08fr 1fr;background:var(--paper);border:1px solid var(--ink);box-shadow:0 -13px 18px -15px rgba(20,10,12,.48)}.crush-nav__dock a{min-height:54px;padding:6px 5px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;text-decoration:none;border-right:1px solid var(--ink);font:700 .68rem/1.05 var(--sans);letter-spacing:.085em;text-transform:uppercase;white-space:nowrap}.crush-nav__call{background:var(--cabernet);color:#fff}.crush-nav__menu{background:var(--paper);color:var(--ink)}.crush-nav__directions{border-right:0!important;background:var(--gold);color:var(--cabernet)}body{padding-bottom:56px}}
@media(max-width:700px){.crush-nav__dock .crush-nav__call{box-shadow:inset 0 0 0 1px rgba(255,255,255,.92)}}

/* The compact header needs an explicit visual open/close state at tablet
   widths too; its earlier symbol rule only applied below the phone breakpoint. */
@media(max-width:1100px){
  .menu-site-nav .crush-nav__toggle::before{content:"+"}
  .menu-site-nav.is-open .crush-nav__toggle::before{content:"×"}
  .crush-nav__dock .crush-nav__call{box-shadow:inset 0 0 0 1px rgba(255,255,255,.92)}
}

/* Category navigation belongs before temporary programming so the permanent menu is immediately findable. */
@media screen{.menu-intro + .menu-jump{margin-top:0}.menu-jump{top:70px;z-index:9000}.menu-jump + .menu-specials{margin-top:0}.menu-list>details{scroll-margin-top:148px}}
@media(max-width:860px){.menu-jump{top:72px}.menu-list>details{scroll-margin-top:144px}}

/* Wine page uses the same scannable accordion + category navigation logic as food. */
.wine-items article h2{font-size:1.25rem}.wine-items article p{max-width:50ch}.wine-items .wine-meta{margin-top:.5rem}.menu-list#wine-list,.wine-page .menu-list{padding-top:0}

/* A quiet closing invitation helps a guest act after they have finished browsing. */
.menu-list__closing{max-width:680px;margin:4.5rem 0 0;padding:2.35rem 0 0;border-top:1px solid var(--line)}
.menu-list__closing h2{margin:.55rem 0 .8rem;font:400 clamp(2.3rem,4vw,3.75rem)/.95 var(--serif);color:var(--burgundy)}
.menu-list__closing>p:not(.eyebrow){max-width:42ch;margin:0;color:rgba(29,26,25,.72);font:.98rem/1.65 var(--sans)}
.menu-list__closing .menu-crosslink{margin-top:1.35rem}
@media(max-width:760px){.menu-list__closing{margin-top:3.5rem;padding-top:2rem}.menu-list__closing h2{font-size:clamp(2.35rem,11vw,3.25rem)}}

/* The editorial dinner panel is light; it must not inherit the gold CTA color used on dark special-menu panels. */
.menu-special--editorial .menu-special__editorial-body .menu-crosslink{border-color:rgba(91,31,43,.65);color:var(--burgundy)}
.menu-special--editorial .menu-special__editorial-body .menu-crosslink:hover{background:var(--burgundy);color:#fff}


/* Phase 2.8 — editorial menu map inspired by the homepage's chapter navigation logic. */
@media screen {
  .menu-index{position:relative;left:50%;width:100vw;margin-left:-50vw;padding:clamp(3rem,5vw,5.25rem) max(6vw,calc((100vw - 1240px)/2));background:#f3ede4;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .menu-index__heading{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:clamp(2.5rem,7vw,7rem);align-items:end;margin-bottom:2.25rem}
  .menu-index__heading h2{margin:.35rem 0 0;max-width:12ch;font:400 clamp(2.5rem,4.3vw,4.5rem)/.94 var(--serif);color:var(--burgundy);letter-spacing:-.025em}
  .menu-index__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(29,26,25,.2);border-left:1px solid rgba(29,26,25,.2)}
  .menu-index__grid a{position:relative;min-height:154px;padding:1.45rem 1.55rem 1.35rem;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;column-gap:1rem;color:var(--ink);text-decoration:none;border-right:1px solid rgba(29,26,25,.2);border-bottom:1px solid rgba(29,26,25,.2);transition:background .2s ease,color .2s ease,transform .2s ease}
  .menu-index__grid a:hover,.menu-index__grid a:focus-visible,.menu-index__grid a[aria-current="true"]{background:var(--cabernet);color:#fff;transform:translateY(-1px)}
  .menu-index__number{grid-row:1/4;padding-top:.22rem;color:var(--gold);font:700 .58rem/1 var(--sans);letter-spacing:.16em}
  .menu-index__grid strong{align-self:start;font:400 clamp(1.65rem,2.3vw,2.5rem)/1 var(--serif);letter-spacing:-.015em}
  .menu-index__grid small{align-self:end;color:rgba(29,26,25,.58);font:600 .6rem/1.35 var(--sans);letter-spacing:.1em;text-transform:uppercase}
  .menu-index__grid a:hover small,.menu-index__grid a:focus-visible small,.menu-index__grid a[aria-current="true"] small{color:rgba(255,255,255,.65)}
  .menu-index__grid--wine{grid-template-columns:repeat(5,minmax(0,1fr))}
  .menu-index__grid--wine a{min-height:170px}

  /* Compact rail appears only once the large menu map has scrolled away. */
  .menu-jump--compact{position:fixed;top:70px;left:0;right:0;width:100%;margin:0;z-index:9000;opacity:0;transform:translateY(-115%);pointer-events:none;transition:opacity .22s ease,transform .22s ease}
  body.menu-rail-visible .menu-jump--compact{opacity:1;transform:translateY(0);pointer-events:auto}
  .menu-index + .menu-jump + .menu-specials{margin-top:0}
  .menu-index + .menu-jump + .menu-list{margin-top:0}
  .menu-list>details{scroll-margin-top:148px}
}
@media screen and (max-width:980px){
  .menu-index__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .menu-index__grid--wine{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media screen and (max-width:760px){
  .menu-index{padding:2.7rem 6vw 3rem}.menu-index__heading{display:block;margin-bottom:1.65rem}.menu-index__heading h2{margin-top:.45rem;font-size:2.75rem}
  .menu-index__grid,.menu-index__grid--wine{grid-template-columns:1fr}.menu-index__grid a,.menu-index__grid--wine a{min-height:0;padding:1.1rem 1rem;grid-template-columns:2rem 1fr auto;grid-template-rows:auto;align-items:center}
  .menu-index__number{grid-row:auto}.menu-index__grid strong{font-size:1.7rem}.menu-index__grid small{max-width:15ch;text-align:right}
  .menu-jump--compact{top:72px}
}
@media print{.menu-index,.menu-jump--compact{display:none!important}}

/* Phase 2.8 — tighter menu opening + exact homepage logo parity */
@media screen {
  /* Match the homepage brand anchor: same footprint before and after scroll. */
  .menu-site-nav .crush-nav__logo,
  .menu-site-nav.is-scrolled .crush-nav__logo{
    top:4px!important;
    width:92px!important;
    height:92px!important;
    transform:none!important;
    transition:none!important;
  }
  .menu-site-nav .crush-nav__logo img{width:100%!important;height:100%!important}

  /* The opening should orient quickly, then hand off to the menu map. */
  .menu-intro{
    padding:4.4rem 0 2.75rem;
    gap:clamp(2.5rem,6vw,6rem);
  }
  .menu-intro h1{
    font-size:clamp(3.45rem,5.7vw,6rem);
    max-width:10.5ch;
  }
  .menu-intro__copy{padding-bottom:.1rem}
  .menu-index{padding-top:clamp(2.5rem,4vw,4rem)}
}
@media screen and (max-width:860px){
  .menu-site-nav .crush-nav__bar{padding-left:108px!important}
  .menu-site-nav .crush-nav__logo,
  .menu-site-nav.is-scrolled .crush-nav__logo{
    top:4px!important;
    left:12px!important;
    width:90px!important;
    height:90px!important;
  }
  .menu-intro{padding:3.8rem 0 2.4rem}
}
@media screen and (max-width:390px){
  .menu-site-nav .crush-nav__bar{padding-left:96px!important}
  .menu-site-nav .crush-nav__logo,
  .menu-site-nav.is-scrolled .crush-nav__logo{
    top:4px!important;
    width:78px!important;
    height:78px!important;
  }
}


/* Phase 2.8 — Food page opening parity with the homepage kitchen section. */
@media screen and (min-width:861px){
  .menu-intro{
    padding:3.55rem 0 2.5rem;
    grid-template-columns:minmax(0,.95fr) minmax(360px,.75fr);
    gap:clamp(3rem,7vw,7rem);
    align-items:end;
  }
  .menu-intro__title{max-width:760px}
  .menu-intro h1{
    max-width:none;
    margin:.75rem 0 0;
    font-size:clamp(3.55rem,5.35vw,5.7rem);
    line-height:.96;
  }
  .menu-intro__lead{color:var(--ink)}
  .menu-intro__accent{color:var(--burgundy)}
  .menu-intro__copy{max-width:520px;padding-bottom:.2rem}
  .menu-index{padding-top:2.8rem}
  .menu-index__heading{
    display:grid;
    grid-template-columns:minmax(0,.42fr) minmax(0,1.58fr);
    align-items:end;
    column-gap:clamp(2rem,5vw,5rem);
  }
  .menu-index__heading .eyebrow{grid-column:1}
  .menu-index__heading h2{
    grid-column:2;
    white-space:nowrap;
    max-width:none;
    font-size:clamp(2.75rem,4vw,4.2rem);
    line-height:1;
  }
}
@media screen and (max-width:860px){
  .menu-intro__lead{color:var(--ink)}
  .menu-intro__accent{color:var(--burgundy)}
}

/* Phase 2.8 — continuous Food + Wine menus: navigation replaces accordions. */
@media screen {
  .menu-list > .menu-section{
    position:relative;
    padding:clamp(2.6rem,4.8vw,4.75rem) 0;
    border-top:1px solid var(--line);
    scroll-margin-top:148px;
  }
  .menu-list > .menu-section:first-of-type{border-top:0;padding-top:1.1rem}
  .menu-section__heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:1.5rem;
    align-items:end;
    margin-bottom:clamp(1.35rem,2.4vw,2.1rem);
  }
  .menu-section__heading h2{
    margin:0;
    color:var(--burgundy);
    font:400 clamp(2.35rem,3.4vw,3.6rem)/.98 var(--serif);
    letter-spacing:-.02em;
  }
  .menu-section__heading p{
    margin:0 0 .28rem;
    color:rgba(29,26,25,.55);
    font:700 .62rem/1.25 var(--sans);
    letter-spacing:.13em;
    text-transform:uppercase;
    text-align:right;
  }
  .menu-section .menu-note,.menu-section .wine-note{margin-top:0}

  /* The compact rail is both navigation and an always-visible location marker. */
  .menu-jump--compact{
    display:grid;
    grid-template-columns:auto repeat(6,auto);
    justify-content:center;
    align-items:stretch;
    gap:0;
    background:rgba(247,243,236,.98);
    border-top:1px solid rgba(29,26,25,.16);
    border-bottom:1px solid rgba(29,26,25,.18);
    box-shadow:0 8px 20px rgba(28,18,18,.08);
  }
  .wine-page .menu-jump--compact{grid-template-columns:auto repeat(5,auto)}
  .menu-jump__current{
    min-width:155px;
    padding:.65rem 1.1rem .6rem;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-right:1px solid rgba(29,26,25,.16);
    background:var(--cabernet);
    color:#fff;
  }
  .menu-jump__current-label{color:var(--gold);font:700 .52rem/1 var(--sans);letter-spacing:.15em;text-transform:uppercase}
  .menu-jump__current-value{margin-top:.2rem;font:600 .68rem/1.05 var(--sans);letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}
  .menu-jump--compact > a{
    position:relative;
    padding:.9rem .9rem .82rem;
    display:flex;
    align-items:center;
    color:var(--ink);
    font:700 .62rem/1 var(--sans);
    letter-spacing:.075em;
    text-transform:uppercase;
    text-decoration:none;
    white-space:nowrap;
  }
  .menu-jump--compact > a::after{
    content:"";
    position:absolute;
    left:.9rem;right:.9rem;bottom:0;
    height:2px;
    background:transparent;
  }
  .menu-jump--compact > a:hover,.menu-jump--compact > a:focus-visible{color:var(--burgundy)}
  .menu-jump--compact > a[aria-current="location"]{color:var(--burgundy)}
  .menu-jump--compact > a[aria-current="location"]::after{background:var(--gold)}

  /* The large menu map also shows the active chapter as guests move down the page. */
  .menu-index__grid a[aria-current="location"]{background:var(--cabernet);color:#fff;transform:translateY(-1px)}
  .menu-index__grid a[aria-current="location"] small{color:rgba(255,255,255,.65)}
}
@media screen and (max-width:1100px){
  .menu-jump--compact{justify-content:start;overflow-x:auto;scrollbar-width:none}
  .menu-jump--compact::-webkit-scrollbar{display:none}
}
@media screen and (max-width:760px){
  .menu-list > .menu-section{padding:2.45rem 0;scroll-margin-top:136px}
  .menu-section__heading{display:block;margin-bottom:1.25rem}
  .menu-section__heading p{margin-top:.45rem;text-align:left}
  .menu-jump__current{position:sticky;left:0;z-index:2;min-width:120px;padding:.55rem .75rem;background:var(--cabernet)}
  .menu-jump__current-value{max-width:17ch;overflow:hidden;text-overflow:ellipsis}
  .menu-jump--compact > a{padding:.82rem .72rem .76rem}
  .menu-jump--compact > a::after{left:.72rem;right:.72rem}
}
@media print{
  .menu-section__heading{display:block}.menu-section__heading p{text-align:left}
}

/* Phase 2.8 smoketest fix — stable continuous menu navigation.
   The category rail stays in normal document flow and becomes sticky naturally.
   Location is communicated by the active category itself; no separate status block. */
@media screen {
  .menu-jump--compact{
    position:sticky!important;
    top:70px!important;
    left:auto!important;
    right:auto!important;
    z-index:9000!important;
    width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:.15rem!important;
    padding:.58rem max(6vw,calc((100vw - 1240px)/2))!important;
    background:rgba(247,243,236,.985)!important;
    border-top:1px solid rgba(29,26,25,.14)!important;
    border-bottom:1px solid rgba(29,26,25,.18)!important;
    box-shadow:0 7px 18px rgba(28,18,18,.07)!important;
    backdrop-filter:blur(10px);
    overflow-x:auto;
    scrollbar-width:none;
  }
  .menu-jump--compact::-webkit-scrollbar{display:none}
  body.menu-rail-visible .menu-jump--compact{opacity:1!important;transform:none!important;pointer-events:auto!important}
  .menu-jump__current{display:none!important}
  .menu-jump--compact > a{
    position:relative;
    flex:0 0 auto;
    min-height:42px;
    padding:.76rem .88rem .7rem!important;
    display:flex!important;
    align-items:center;
    border:0!important;
    background:transparent!important;
    color:rgba(29,26,25,.72)!important;
    font:700 .62rem/1 var(--sans)!important;
    letter-spacing:.075em!important;
    text-transform:uppercase;
    text-decoration:none;
    white-space:nowrap;
  }
  .menu-jump--compact > a::after{
    content:"";
    position:absolute;
    left:.88rem;right:.88rem;bottom:2px;
    height:2px;
    background:transparent;
    transform:scaleX(.2);
    transition:background .18s ease,transform .18s ease;
  }
  .menu-jump--compact > a:hover,
  .menu-jump--compact > a:focus-visible{color:var(--burgundy)!important}
  .menu-jump--compact > a[aria-current="location"]{
    color:var(--burgundy)!important;
    background:transparent!important;
  }
  .menu-jump--compact > a[aria-current="location"]::after{
    background:var(--gold)!important;
    transform:scaleX(1);
  }
  .menu-list > .menu-section{scroll-margin-top:142px!important}
}
@media screen and (max-width:1100px){
  .menu-jump--compact{justify-content:flex-start!important;padding-left:6vw!important;padding-right:6vw!important}
}
@media screen and (max-width:860px){
  .menu-jump--compact{top:72px!important}
  .menu-list > .menu-section{scroll-margin-top:144px!important}
}


/* Phase 2.8 — Special menus participates in Food navigation. */
@media screen {
  #special-menus{scroll-margin-top:142px;}
  .food-page .menu-index__grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media screen and (max-width:900px){
  .food-page .menu-index__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media screen and (max-width:760px){
  #special-menus{scroll-margin-top:144px;}
}
@media screen and (max-width:520px){
  .food-page .menu-index__grid{grid-template-columns:1fr;}
}

/* Phase 2.8 accessibility contrast/readability pass — shared Food + Wine */
.menu-intro>p:last-child,.wine-note{color:#5f5c5a}
.menu-items p{color:#686562;font-size:.9rem;line-height:1.65}
.menu-note{color:#686562}
.menu-items strong{font-size:.82rem}
.wine-meta{font-size:.7rem}
.menu-index__grid small{color:#686562;font-size:.68rem}
.menu-jump span{color:#686562;font-size:.68rem}
.menu-jump a{font-size:.72rem}
.menu-jump a[aria-current="true"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.35rem}
.menu-site-nav .crush-nav__desktop a,.menu-site-nav .crush-nav__actions a{font-size:.72rem}
.menu-site-nav .crush-nav__current span{font-size:.66rem}
.menu-site-nav .crush-nav__current strong{font-size:.78rem}
footer{color:#d8cbbd;font-size:.75rem}
footer a{color:#dfc39a;text-decoration:underline}
@media(max-width:860px){.crush-nav__dock a{font-size:.72rem}}

/* The compact menu header is required before the desktop actions begin to collide. */
@media(min-width:861px) and (max-width:1100px){
  .menu-site-nav{min-height:72px}
  .menu-site-nav .crush-nav__bar{min-height:72px;padding:8px 12px 8px 108px;gap:10px}
  .menu-site-nav .crush-nav__logo,.menu-site-nav.is-scrolled .crush-nav__logo{top:4px;left:12px;width:86px;height:86px}
  .menu-site-nav.is-scrolled .crush-nav__logo{top:11px;width:54px;height:54px}
  .menu-site-nav .crush-nav__desktop,.menu-site-nav .crush-nav__actions{display:none}
  .menu-site-nav .crush-nav__current{display:flex;min-width:0;margin-left:auto;flex-direction:column;line-height:1.1}
  .menu-site-nav .crush-nav__current span{color:var(--gold);font-size:.58rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
  .menu-site-nav .crush-nav__current strong{max-width:44vw;overflow:hidden;color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
  .menu-site-nav .crush-nav__toggle{display:grid;place-items:center;flex:none;width:50px;min-height:48px;padding:0;border:1px solid rgba(247,243,236,.58);background:transparent;color:var(--gold);font:400 1.45rem/1 var(--serif);cursor:pointer}
  .menu-site-nav .crush-nav__panel{position:absolute;top:100%;left:0;right:0;display:none;max-height:calc(100dvh - 72px);overflow:auto;background:#1d1a19;border-top:1px solid rgba(247,243,236,.18);box-shadow:0 20px 36px rgba(0,0,0,.34)}
  .menu-site-nav.is-open .crush-nav__panel{display:block}
  .menu-site-nav .crush-nav__panel nav{width:min(700px,100%);margin:auto;padding:10px 12px 20px;display:grid}
  .menu-site-nav .crush-nav__panel a{min-height:52px;padding:13px 14px;display:flex;align-items:center;gap:12px;color:#eee8e1;border-bottom:1px solid rgba(247,243,236,.12);text-decoration:none;font-size:.9rem;font-weight:650}
  .menu-site-nav .crush-nav__panel a span{color:var(--gold);font-size:.68rem;font-weight:800}
  .menu-site-nav .crush-nav__panel .crush-nav__panel-reserve{margin-top:12px;justify-content:center;background:var(--gold);color:var(--cabernet);border:1px solid var(--gold);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
}

/* Food and Wine share the category control. On desktop it remains a direct
   rail; on phones it follows the Pioneer Mill pattern: one current-location
   tracker plus a single intentional menu trigger. */
.menu-jump__toggle,.menu-jump__current{display:none}
.menu-jump__panel{display:contents}
@media(max-width:700px){
  .menu-jump--compact{
    position:sticky!important;
    top:72px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    justify-content:normal!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .menu-jump__toggle{
    width:52px;
    min-height:52px;
    display:grid;
    place-items:center;
    gap:2px;
    padding:5px;
    border:0;
    border-right:1px solid rgba(29,26,25,.16);
    background:var(--cabernet);
    color:#fff;
    font:700 .52rem/1 var(--sans);
    letter-spacing:.07em;
    text-transform:uppercase;
    cursor:pointer;
  }
  .menu-jump__toggle>span:first-child{font:400 1.15rem/1 var(--sans)}
  .menu-jump__current{
    position:static!important;
    left:auto!important;
    z-index:auto!important;
    min-width:0;
    min-height:52px;
    display:flex!important;
    flex-direction:column;
    justify-content:center;
    padding:.55rem .8rem;
    background:var(--paper);
    color:var(--ink);
  }
  .menu-jump__current>span{margin:0;color:#745126;font:700 .52rem/1 var(--sans);letter-spacing:.15em;text-transform:uppercase}
  .menu-jump__current strong{margin-top:.2rem;overflow:hidden;font:700 .76rem/1.1 var(--sans);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
  .menu-jump__panel{display:none;width:100%;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(29,26,25,.16);background:var(--paper)}
  .menu-jump--compact.is-open .menu-jump__panel{display:grid}
  .menu-jump__panel>a{
    min-width:0!important;
    min-height:46px;
    padding:.72rem .6rem!important;
    justify-content:center;
    text-align:center;
    line-height:1.15;
    white-space:normal!important;
    border-right:1px solid rgba(29,26,25,.14);
    border-bottom:1px solid rgba(29,26,25,.14);
  }
  .menu-jump__panel>a::after{left:.55rem!important;right:.55rem!important}
}
.menu-section__heading p{color:#686562;font-size:.7rem}
/* Accessibility: gold is high-contrast on cabernet, but not on ivory. */
.menu-index__number,.menu-jump__current-label{color:#745126}
.eyebrow{font-size:.75rem}
.menu-specials__heading .eyebrow,.menu-special__intro .eyebrow,.menu-special__dek,.menu-special__details em{color:var(--gold)}
/* Accessibility readability floor for menu navigation metadata. */
.menu-index__number,.menu-index__grid small,.menu-jump__current-label,.menu-jump span,.menu-jump a{font-size:.75rem}
.menu-site-nav .crush-nav__current span,.menu-site-nav .crush-nav__panel a span{font-size:.75rem}

/* Phase 4 — ephemeral food gets an editorial callout, not a permanent-menu row. */
.tonights-special{padding:clamp(28px,5vw,64px) clamp(22px,6vw,96px);background:#4b0d18;color:#fff}
.tonights-special__inner{max-width:1240px;margin:auto;display:grid;grid-template-columns:minmax(230px,.7fr) minmax(420px,1.3fr);gap:clamp(28px,6vw,90px);align-items:end}
.tonights-special .eyebrow{color:#d8b875}.tonights-special h2{font-size:clamp(2rem,4vw,4rem);margin:.35rem 0}.tonights-special__scarcity{font-family:var(--serif);font-style:italic;color:#e1c78d;font-size:1.25rem}
.tonights-special__dish{border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35);padding:24px 0;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}.tonights-special__dish h3{font-size:clamp(1.5rem,3vw,2.5rem);margin:0 0 8px}.tonights-special__dish p{margin:0;max-width:680px;color:#e8ded8}.tonights-special__dish strong{font-size:1.35rem}
@media(max-width:720px){.tonights-special__inner{grid-template-columns:1fr}.tonights-special__dish{grid-template-columns:1fr}.tonights-special__dish strong{grid-row:1}}

.tonights-special__image{width:180px;aspect-ratio:4/3;object-fit:cover;border-radius:2px}@media(max-width:720px){.tonights-special__image{width:100%;max-width:360px}}


/* Phase 4 — Tonight's Special visual refinement: full-bleed black editorial band. */
.tonights-special{
  position:relative;
  left:50%;
  right:50%;
  width:100vw;
  margin-left:-50vw;
  margin-right:-50vw;
  padding:clamp(34px,5vw,72px) clamp(22px,6vw,96px);
  background:#0d0b0b;
  color:#fff;
}
.tonights-special__inner{
  max-width:1240px;
  margin:0 auto;
}
.tonights-special .eyebrow,
.tonights-special__scarcity{
  color:#d8b875;
}
.tonights-special__dish{
  border-top-color:rgba(255,255,255,.28);
  border-bottom-color:rgba(255,255,255,.28);
}

/* Food and Wine use the same Pioneer Mill-inspired category selector. It is
   a single native control, styled in the Crush palette, rather than a second
   horizontal navigation rail. */
.food-page .menu-intro{padding-bottom:clamp(1.5rem,3vw,2.5rem)}
.food-page .menu-jump--compact,
.wine-page .menu-jump--compact{
  position:sticky!important;
  top:70px!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:var(--paper)!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:0 8px 22px rgba(38,18,21,.09)!important;
}
.food-page .menu-jump__select,
.wine-page .menu-jump__select{
  width:min(100% - 2rem,1240px);
  min-height:64px;
  margin:0 auto;
  padding:10px 0;
  display:grid;
  grid-template-columns:minmax(9.75rem,.36fr) minmax(0,.64fr);
  gap:0!important;
  align-items:stretch;
}
.food-page .menu-jump__select > span,
.wine-page .menu-jump__select > span{
  display:flex;
  align-items:center;
  padding:0 1rem;
  margin-right:0!important;
  border:1px solid rgba(81,34,40,.28);
  border-right:0;
  background:var(--cabernet);
  color:#fff;
  font:700 .68rem/1.2 var(--sans);
  letter-spacing:.13em;
  text-transform:uppercase;
}
.food-page .menu-jump__select select,
.wine-page .menu-jump__select select{
  width:100%;
  min-width:0;
  min-height:42px;
  padding:.65rem 2.4rem .65rem 1rem;
  border:1px solid rgba(81,34,40,.28);
  border-radius:0;
  background-color:#cda967;
  color:#211516;
  font:700 .73rem/1.15 var(--sans);
  letter-spacing:.075em;
  text-transform:uppercase;
  cursor:pointer;
}
.food-page .menu-jump__select select:focus-visible,
.wine-page .menu-jump__select select:focus-visible{outline:3px solid var(--burgundy);outline-offset:2px}
.food-page .menu-jump__toggle,
.food-page .menu-jump__current,
.food-page .menu-jump__panel,
.wine-page .menu-jump__toggle,
.wine-page .menu-jump__current,
.wine-page .menu-jump__panel{display:none!important}
.food-page .menu-list > .menu-section,
.food-page #special-menus,
.wine-page .menu-list > .menu-section{scroll-margin-top:154px!important}
@media(max-width:860px){
  .food-page .menu-jump--compact,
  .wine-page .menu-jump--compact{top:72px!important}
  .food-page .menu-jump__select,
  .wine-page .menu-jump__select{
    width:calc(100% - 8rem);
    min-height:52px;
    margin-left:auto;
    margin-right:.75rem;
    padding:5px 0;
    grid-template-columns:minmax(7.8rem,.43fr) minmax(0,.57fr);
  }
  .food-page .menu-jump__select > span,
  .wine-page .menu-jump__select > span{padding:0 .75rem;font-size:.6rem;letter-spacing:.1em}
  .food-page .menu-jump__select select,
  .wine-page .menu-jump__select select{padding-left:.75rem;padding-right:1.8rem;font-size:.65rem;letter-spacing:.045em}
  .food-page .menu-list > .menu-section,
  .food-page #special-menus,
  .wine-page .menu-list > .menu-section{scroll-margin-top:148px!important}
  .food-page .menu-jump--compact{
    width:calc(100% - 8rem)!important;
    margin:0 .75rem 0 auto!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  .food-page .menu-jump__select{width:100%!important;min-height:42px;margin:0!important;padding:0!important}
}
@media(max-width:480px){
  .food-page .menu-jump__select,
  .wine-page .menu-jump__select{grid-template-columns:1fr}
  .food-page .menu-jump__select > span,
  .wine-page .menu-jump__select > span{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
    border:0;
  }
}
.tonights-special__dish p{
  color:#ded8d2;
}

/* Phase 4 — Duckhorn editorial event layout on Food menu. */
.menu-special--editorial{
  background:#f7f2ea;
  color:#171313;
  border:1px solid #d8cec0;
  padding:clamp(28px,4vw,54px);
}
.menu-special__editorial-grid{
  display:grid;
  grid-template-columns:minmax(260px,.78fr) minmax(420px,1.45fr);
  gap:clamp(36px,7vw,96px);
  align-items:start;
}
.menu-special__editorial-title{
  padding-right:clamp(0px,2vw,18px);
}
.menu-special__editorial-title .eyebrow{
  color:#6c0f1c;
  margin-bottom:14px;
}
.menu-special__editorial-title h2{
  margin:0;
  max-width:7.5ch;
  font-size:clamp(3.3rem,6.5vw,7rem);
  line-height:.92;
  font-weight:400;
  letter-spacing:-.035em;
}
.menu-special__editorial-title .menu-special__dek{
  margin:24px 0 0;
  color:#7b1421;
  font-family:var(--serif);
  font-size:clamp(1.1rem,1.6vw,1.45rem);
}
.menu-special__editorial-body{
  border-top:1px solid #cfc4b5;
}
.menu-special__editorial-body .menu-special__meta{
  display:flex;
  flex-wrap:wrap;
  gap:18px 28px;
  padding:18px 0;
  border-bottom:1px solid #cfc4b5;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.78rem;
  font-weight:700;
}
.menu-special__editorial-body .menu-special__copy{
  padding:20px 0 12px;
  font-size:clamp(1rem,1.25vw,1.2rem);
  line-height:1.55;
}
.menu-special__editorial-body .menu-special__copy p{
  margin:0 0 16px;
  max-width:760px;
}
.menu-special__details--inline{
  border-top:1px solid #cfc4b5;
  border-bottom:1px solid #cfc4b5;
  margin-top:10px;
}
.menu-special__details--inline summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:16px 0;
  color:#6c0f1c;
  font-weight:700;
  cursor:pointer;
  list-style:none;
}
.menu-special__details--inline summary::-webkit-details-marker{display:none}
.menu-special__details--inline summary::after{
  content:'+';
  font-size:1.25rem;
  line-height:1;
}
.menu-special__details--inline[open] summary::after{content:'−'}
.menu-special__details--inline>div{
  padding:8px 0 20px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 30px;
}
.menu-special__details--inline article{
  border-top:1px solid #ded5c9;
  padding-top:12px;
}
.menu-special__details--inline h3{margin:0 0 5px}
.menu-special__details--inline p{margin:0 0 5px}
.menu-special__details--inline em{color:#7b1421}
@media(max-width:820px){
  .menu-special__editorial-grid{grid-template-columns:1fr;gap:30px}
  .menu-special__editorial-title h2{max-width:none;font-size:clamp(3.2rem,14vw,5.6rem)}
}
@media(max-width:620px){
  .menu-special--editorial{padding:28px 22px}
  .menu-special__editorial-body .menu-special__meta{display:grid;gap:8px}
  .menu-special__details--inline>div{grid-template-columns:1fr}
}


/* Fix 29 — repair Duckhorn editorial card after live visual QA. */
.menu-special.menu-special--editorial{
  padding:clamp(34px,4vw,56px);
}
.menu-special--editorial .menu-special__editorial-grid{
  grid-template-columns:minmax(0,38%) minmax(0,62%);
  gap:clamp(42px,6vw,82px);
}
.menu-special--editorial .menu-special__editorial-title h2{
  font-family:var(--serif) !important;
  font-size:clamp(4rem,5.6vw,6.25rem) !important;
  line-height:.94 !important;
  font-weight:400 !important;
  letter-spacing:-.035em !important;
  max-width:7ch;
  overflow-wrap:normal;
  word-break:normal;
}
.menu-special--editorial .menu-special__editorial-body{
  min-width:0;
}
.menu-special--editorial .menu-special__editorial-body .menu-special__meta{
  color:#171313;
}
.menu-special--editorial .menu-special__editorial-body .menu-special__copy{
  max-width:760px;
}
@media(max-width:980px){
  .menu-special--editorial .menu-special__editorial-grid{
    grid-template-columns:minmax(0,42%) minmax(0,58%);
    gap:36px;
  }
  .menu-special--editorial .menu-special__editorial-title h2{
    font-size:clamp(3.5rem,7vw,5.2rem) !important;
  }
}
@media(max-width:820px){
  .menu-special--editorial .menu-special__editorial-grid{grid-template-columns:1fr}
  .menu-special--editorial .menu-special__editorial-title h2{
    max-width:none;
    font-size:clamp(3.2rem,13vw,5.4rem) !important;
  }
}


/* Fix 30 — reset inherited menu-special grid before applying the Duckhorn editorial component. */
.menu-special.menu-special--dinner.menu-special--editorial{
  display:block !important;
  grid-template-columns:none !important;
  gap:0 !important;
  width:100%;
  box-sizing:border-box;
  background:#f7f2ea !important;
  color:#171313 !important;
  border:1px solid #d8cec0 !important;
  padding:clamp(34px,4vw,56px) !important;
}
.menu-special--editorial .menu-special__editorial-grid{
  display:grid !important;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.35fr) !important;
  gap:clamp(48px,7vw,96px) !important;
  align-items:start;
  width:100%;
}
.menu-special--editorial .menu-special__editorial-title{
  min-width:0;
}
.menu-special--editorial .menu-special__editorial-title h2{
  color:#171313 !important;
  font-family:var(--serif) !important;
  font-size:clamp(3.8rem,5.4vw,6rem) !important;
  line-height:.94 !important;
  font-weight:400 !important;
  letter-spacing:-.035em !important;
  max-width:7.5ch !important;
  margin:0 !important;
}
.menu-special--editorial .menu-special__editorial-title .eyebrow{
  color:#6c0f1c !important;
}
.menu-special--editorial .menu-special__editorial-title .menu-special__dek{
  color:#7b1421 !important;
}
.menu-special--editorial .menu-special__editorial-body{
  min-width:0;
  width:100%;
  border-top:1px solid #cfc4b5 !important;
}
.menu-special--editorial .menu-special__editorial-body .menu-special__meta{
  display:flex !important;
  flex-wrap:wrap;
  gap:12px 26px;
  margin:0 !important;
  padding:16px 0 !important;
  border-bottom:1px solid #cfc4b5 !important;
}
.menu-special--editorial .menu-special__editorial-body .menu-special__meta span{
  color:#171313 !important;
}
.menu-special--editorial .menu-special__editorial-body .menu-special__copy{
  color:#171313 !important;
  padding:24px 0 12px;
  font-size:clamp(1rem,1.2vw,1.18rem);
  line-height:1.6;
}
.menu-special--editorial .menu-special__editorial-body .menu-special__copy p{
  color:#171313 !important;
  opacity:1 !important;
  max-width:760px;
}
.menu-special--editorial .menu-special__details--inline{
  border-top:1px solid #cfc4b5 !important;
  border-bottom:1px solid #cfc4b5 !important;
}
.menu-special--editorial .menu-special__details--inline summary{
  color:#6c0f1c !important;
}
.menu-special--editorial .menu-special__details--inline summary::after{
  color:#6c0f1c !important;
}
.menu-special--editorial .menu-special__details--inline article{
  border-color:#ded5c9 !important;
}
.menu-special--editorial .menu-special__details--inline h3{
  color:#171313 !important;
}
.menu-special--editorial .menu-special__details--inline p{
  color:#5d5550 !important;
  opacity:1 !important;
}
.menu-special--editorial .menu-special__details--inline em{
  color:#7b1421 !important;
}
@media(max-width:900px){
  .menu-special--editorial .menu-special__editorial-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .menu-special--editorial .menu-special__editorial-title h2{
    max-width:none !important;
    font-size:clamp(3.4rem,10vw,5.4rem) !important;
  }
}

/* Final Axe pass — active menu index contrast */
.menu-index__grid a[aria-current="location"] .menu-index__number,
.menu-index__grid a[aria-current="page"] .menu-index__number,
a[aria-current="location"] > .menu-index__number,
a[aria-current="page"] > .menu-index__number {
  color:#e2c58e !important;
}
