.menu-page{background:var(--cream);color:var(--ink)}
.menu-page .page-hero{padding-bottom:48px}
.menu-anchor-nav{position:sticky;top:var(--menu-header-height,86px);z-index:9;background:rgba(255,247,238,.98);border-block:1px solid var(--line);backdrop-filter:blur(12px)}
.menu-anchor-scroll{display:flex;gap:10px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
.menu-anchor-scroll::-webkit-scrollbar{display:none}
.menu-anchor-scroll button{display:block;flex:0 0 auto;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--wine);font-family:inherit;font-weight:700;font-size:.9rem;cursor:pointer;transition:background .2s ease,color .2s ease}
.menu-anchor-scroll button:hover,.menu-anchor-scroll button[aria-expanded="true"]{background:var(--wine);color:#fff}
.menu-anchor-scroll button span{display:inline-block;margin-left:8px}
.menu-anchor-scroll button[aria-expanded="true"] span{transform:rotate(180deg)}
.menu-anchor-scroll button:focus-visible,.menu-category-options a:focus-visible{outline:3px solid var(--clay);outline-offset:2px}
.menu-category-options{display:flex;gap:8px;overflow-x:auto;padding:0 0 12px}
.menu-category-options[hidden]{display:none}
.menu-category-options a{display:flex;align-items:center;min-height:44px;flex:0 0 auto;padding:8px 14px;border-radius:12px;background:#f1dfcc;color:var(--wine);text-decoration:none;font-size:.88rem;font-weight:600}
.menu-category-options a:hover{background:var(--sand)}
.menu-page .menu-category,.menu-page .menu-group{scroll-margin-top:var(--menu-scroll-offset,180px)}
.menu-content{padding-top:22px;padding-bottom:80px}
.menu-category{scroll-margin-top:80px;padding:58px 0;border-bottom:1px solid var(--line)}
.menu-category:last-of-type{border-bottom:0}
.menu-category-heading{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;align-items:start;margin-bottom:36px}
.menu-category-heading>span{font:700 .8rem/1 'DM Sans',sans-serif;letter-spacing:.12em;color:var(--clay);padding-top:10px}
.menu-category h2{margin:0;color:var(--wine);font-family:'Playfair Display',serif;font-size:clamp(2.45rem,6vw,4.5rem);line-height:.96}
.menu-category-heading p{max-width:590px;margin:12px 0 0;color:#664636;line-height:1.55}
.menu-group{scroll-margin-top:92px;padding:30px 0 10px}
.menu-group+.menu-group{margin-top:24px;border-top:1px solid #e7cdb1}
.menu-group-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
.menu-kicker{margin:0;color:var(--clay);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.menu-group h3{margin:0;color:var(--ink);font-family:'Playfair Display',serif;font-size:clamp(1.55rem,3vw,2.15rem)}
.menu-text-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px}
.menu-text-item{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:19px 0;border-top:1px solid #ead3ba;break-inside:avoid}
.menu-photo-spaces{display:grid;grid-template-columns:3fr 2fr;gap:20px;margin:0 0 24px}
.menu-photo-placeholder{min-width:0;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;border:1px dashed #ad7956;border-radius:22px;background:linear-gradient(135deg,#f7e7d5,#efdbc3);color:var(--wine)}
.menu-photo-placeholder span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.menu-photo-placeholder strong{font-family:'Playfair Display',serif;font-size:1.6rem}
.menu-text-item h4{margin:0;color:var(--ink);font-size:1rem;line-height:1.25}
.menu-text-item p:not(.menu-price){margin:6px 0 0;color:#704e3b;font-size:.93rem;line-height:1.45}
.menu-price{align-self:start;margin:0;color:var(--wine);font-weight:800;font-size:.95rem;white-space:nowrap}
.menu-note{max-width:680px;margin:52px auto 0;text-align:center;color:#765744;font-size:.88rem;line-height:1.5}
@media (max-width:700px){
  .menu-photo-spaces{grid-template-columns:minmax(0,1fr);gap:14px}
  .menu-photo-placeholder{min-height:0;aspect-ratio:4/3;padding:20px}
  .menu-page .page-hero{padding-bottom:34px}
  .menu-anchor-scroll{padding:10px 0}
  .menu-anchor-scroll button{padding:9px 14px;font-size:.84rem}
  .menu-content{padding-top:8px;padding-bottom:56px}
  .menu-category{scroll-margin-top:66px;padding:42px 0}
  .menu-category-heading{grid-template-columns:34px minmax(0,1fr);gap:10px;margin-bottom:24px}
  .menu-category-heading>span{padding-top:7px;font-size:.7rem}
  .menu-category-heading p{font-size:.95rem}
  .menu-group{scroll-margin-top:74px;padding-top:23px}
  .menu-group-heading{display:block;margin-bottom:5px}
  .menu-kicker{margin-bottom:5px}
  .menu-text-list{display:block}
  .menu-text-item{gap:10px;padding:16px 0}
  .menu-text-item h4{font-size:.98rem}
  .menu-text-item p:not(.menu-price){font-size:.9rem}
  .menu-price{font-size:.9rem}
}
