:root { --navy:#063364; --yellow:#ffd400; --white:#fff; }
* { box-sizing:border-box; }
html, body { margin:0; width:100%; height:100%; overflow:hidden; background:#001c3d; font-family:Arial, Helvetica, sans-serif; }
#slideshow, .slide { position:absolute; inset:0; width:100%; height:100%; }
.slide { opacity:0; visibility:hidden; transition:opacity 650ms ease; }
.slide.active { opacity:1; visibility:visible; }
.menu-slide { background:url('../assets/LOGObackground.jpg') center center / cover no-repeat; }
.menu-panel {
  position:absolute;
  top:3vh;
  left:3vw;
  width:min(82vw, 1580px);
  max-height:94vh;
  padding:2.4vw 3vw 2.1vw;
  border-radius:1.4vw;
  background:linear-gradient(100deg, rgba(0,31,72,.94), rgba(1,53,103,.82));
  box-shadow:0 1.2vw 3vw rgba(0,0,0,.22);
  overflow:hidden;
}
.menu-heading { display:flex; align-items:end; gap:1.3vw; border-bottom:.18vw solid rgba(255,212,0,.65); padding-bottom:.7vw; margin-bottom:1.1vw; }
.eyebrow { margin:0 0 .35vw; color:#fff; font-size:clamp(13px, 1.25vw, 25px); font-weight:800; letter-spacing:.16em; }
h1 { margin:0; color:var(--yellow); font-size:clamp(55px, 6vw, 115px); line-height:.82; font-style:italic; letter-spacing:-.04em; }
.menu-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1vw 2.4vw; }
.category { min-width:0; }
.category h2 {
  margin:.3vw 0 .55vw;
  color:#fff;
  font-family:Verdana, Arial, sans-serif;
  font-size:clamp(25px, 2.35vw, 46px);
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.menu-item {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:baseline;
  gap:1vw;
  padding:.36vw 0;
  color:var(--yellow);
  font-family:Verdana, Arial, sans-serif;
  font-size:clamp(23px, 2.05vw, 40px);
  font-weight:900;
  line-height:1.14;
  text-shadow:0 .14vw .24vw rgba(0,0,0,.9);
}

.item-name {
  min-width:0;
}

.item-description {
  display:block;
  padding-top:.18vw;
  color:#fff;
  font-family:Verdana, Arial, sans-serif;
  font-size:.58em;
  font-weight:700;
  line-height:1.25;
  opacity:1;
}
.price { white-space:nowrap; }
.sold-out .item-name, .sold-out .price { opacity:.48; text-decoration:line-through; }
.sold-label { display:inline-block; margin-left:.45vw; padding:.1em .35em; border-radius:.22em; background:var(--yellow); color:var(--navy); font-size:.55em; text-decoration:none; vertical-align:middle; text-shadow:none; }
.updated { position:absolute; left:5.25vw; bottom:3.6vh; padding:.45em .8em; border-radius:99px; color:#fff; background:rgba(0,31,72,.75); font-size:clamp(10px, .8vw, 16px); font-weight:800; letter-spacing:.13em; }
.promo-slide { display:flex; align-items:center; justify-content:center; background:#fff; }
.promo-slide img { width:100%; height:100%; object-fit:contain; }
.video-slide { background:#000; display:flex; align-items:center; justify-content:center; }
.video-slide video { width:100%; height:100%; object-fit:contain; }
.empty { color:#fff; font-size:2vw; font-weight:800; }
@media (max-aspect-ratio: 4/3) { .menu-panel { width:89vw; } .menu-grid { grid-template-columns:1fr; } }
