:root {
  --ink: #302821;
  --hot: #9d3a2e;
  --gold: #d4a900;
  --cream: #f7f0e4;
  --line: rgba(78, 62, 46, .18);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  color: var(--ink);
  font-family: "Trebuchet MS", Verdana, sans-serif;
  background:
    linear-gradient(rgba(247, 240, 228, .76), rgba(247, 240, 228, .92)),
    url("../images/dining-room.jpg") center top / cover fixed,
    var(--cream);
}

a { color: inherit; }

.shell {
  width: min(1040px, calc(100% - 28px));
  margin: 0 auto;
}

header {
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 250, 240, .9);
}

.topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.brand {
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 900;
  color: #8a6a0a;
  letter-spacing: .04em;
}

nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}

nav a { text-decoration: none; }

main {
  padding: clamp(38px, 7vw, 82px) 0 70px;
}

.hero {
  max-width: 760px;
  margin-bottom: 42px;
}

.eyebrow {
  color: var(--hot);
  text-transform: uppercase;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .05em;
}

h1 {
  margin: 12px 0 16px;
  color: #4a3828;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 10vw, 6.5rem);
  font-weight: 400;
  line-height: .92;
}

.lead {
  max-width: 58ch;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.7;
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 11px 14px;
  border: 1px solid rgba(48, 40, 33, .28);
  background: rgba(255, 250, 240, .68);
  text-decoration: none;
  text-transform: uppercase;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .04em;
}

.button.primary {
  border-color: var(--gold);
  background: var(--gold);
}

.meal {
  scroll-margin-top: 20px;
  margin-top: 52px;
  padding-top: 34px;
  border-top: 1px solid var(--line);
}

.meal-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(240px, .7fr);
  align-items: end;
  gap: clamp(24px, 5vw, 60px);
  margin-bottom: 32px;
}

.meal-heading.reverse {
  grid-template-columns: minmax(0, 1.3fr) minmax(240px, .7fr);
}

.meal-heading p,
.section-title-row p {
  margin: 0;
  color: #5f5142;
  line-height: 1.65;
}

.meal-heading img {
  width: 100%;
  aspect-ratio: 16 / 10;
  display: block;
  object-fit: cover;
  border: 1px solid rgba(78, 62, 46, .16);
}

.menu-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 30px);
  align-items: start;
}

.menu-section {
  padding: clamp(18px, 3vw, 28px);
  border-top: 1px solid var(--line);
  background: rgba(255, 250, 240, .78);
}

.menu-columns + .menu-section,
.menu-section + .menu-columns {
  margin-top: 28px;
}

h2 {
  margin: 0 0 14px;
  color: #4a3828;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 400;
}

h3 {
  margin: 0 0 16px;
  color: #4a3828;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  font-weight: 400;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}

li {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 12px;
  border-bottom: 1px dashed rgba(78, 62, 46, .24);
}

li div { min-width: 0; }
li b { display: block; color: #55652f; }
li small {
  display: block;
  margin-top: 4px;
  color: #6b5b4a;
  font-size: .86rem;
  line-height: 1.45;
}
li span {
  flex: 0 0 auto;
  color: #6b5b4a;
  text-align: right;
  font-weight: 900;
  white-space: nowrap;
}

.section-note {
  margin: 14px 0 0;
  color: #6b5b4a;
  font-size: .88rem;
  line-height: 1.5;
}

.featured-menu {
  margin-top: 28px;
}

.section-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 320px);
  align-items: end;
  gap: 24px;
  margin-bottom: 24px;
}

.section-title-row img {
  width: 100%;
  aspect-ratio: 16 / 8;
  display: block;
  object-fit: cover;
}

.two-column-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 34px;
}

.menu-footnote {
  margin-top: 34px;
  padding: 20px 24px;
  border-left: 4px solid var(--gold);
  background: rgba(255, 250, 240, .82);
  color: #5f5142;
  font-size: .9rem;
  line-height: 1.6;
}

.menu-footnote p { margin: 0; }
.menu-footnote p + p { margin-top: 8px; }

.note {
  margin-top: 34px;
  color: #5f5142;
  line-height: 1.65;
}

footer {
  padding: 28px 0;
  border-top: 1px solid var(--line);
  background: rgba(255, 250, 240, .78);
  color: #6b5b4a;
  font-size: .9rem;
}

@media (max-width: 760px) {
  .topline,
  .meal-heading,
  .meal-heading.reverse,
  .menu-columns,
  .section-title-row,
  .two-column-list {
    display: block;
  }

  nav { margin-top: 12px; }
  .meal-heading img,
  .section-title-row img { margin-top: 20px; }
  .menu-section + .menu-section { margin-top: 18px; }
  .menu-columns + .menu-section,
  .menu-section + .menu-columns { margin-top: 18px; }
}

@media (max-width: 480px) {
  .shell { width: min(100% - 20px, 1040px); }
  header { padding: 14px 0; }
  nav { gap: 10px 12px; }
  main { padding-top: 32px; }
  .hero { margin-bottom: 24px; }
  .meal { margin-top: 34px; padding-top: 26px; }
  .menu-section { padding: 17px; }
  li { gap: 10px; }
  li span { font-size: .86rem; }
}

/* Larder print-style lunch menu. The markup stays semantic and crawlable. */
#lunch.meal {
  --lunch-ink: #172718;
  --lunch-paper: #fbfaf6;
  --lunch-rule: #526252;
  width: min(1440px, calc(100vw - 28px));
  margin-left: 50%;
  padding: 42px 58px 30px;
  color: var(--lunch-ink);
  border: 1px solid #d7d4ca;
  background: var(--lunch-paper);
  box-shadow: 0 18px 55px rgba(20, 28, 20, .16);
  transform: translateX(-50%);
  font-family: Georgia, "Times New Roman", serif;
}

#lunch .meal-heading {
  display: grid;
  grid-template-columns: 1fr minmax(360px, auto) 1fr;
  align-items: center;
  gap: 34px;
  margin: 0 0 24px;
  text-align: center;
}

#lunch .meal-heading::before,
#lunch .meal-heading::after {
  content: "";
  height: 1px;
  background: var(--lunch-rule);
}

#lunch .meal-heading > div { grid-column: 2; grid-row: 1; }
#lunch .meal-heading::before { grid-column: 1; grid-row: 1; }
#lunch .meal-heading::after { grid-column: 3; grid-row: 1; }
#lunch .meal-heading .eyebrow { display: none; }

#lunch .meal-heading h2 {
  margin: 0;
  color: var(--lunch-ink);
  font-size: clamp(2.7rem, 5vw, 3.55rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: .24em;
  text-indent: .24em;
  text-transform: uppercase;
}

#lunch .meal-heading p {
  margin: 12px 0 0;
  color: var(--lunch-ink);
  font: 700 12px/1.25 Arial, sans-serif;
  letter-spacing: .28em;
  text-transform: uppercase;
}

#lunch .menu-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "pizza salads"
    "toppings addons"
    "sandwiches sandwiches";
  gap: 0;
  align-items: stretch;
  margin: 0 64px;
}

#lunch .menu-section {
  margin: 0;
  padding: 0 52px 18px;
  border: 0;
  background: transparent;
}

#lunch .menu-section:nth-child(1) { grid-area: pizza; padding-left: 0; padding-right: 58px; }
#lunch .menu-section:nth-child(2) { grid-area: toppings; padding: 16px 24px 14px; border: 1px solid var(--lunch-rule); }
#lunch .menu-section:nth-child(3) { grid-area: salads; padding-right: 0; padding-left: 58px; border-left: 1px solid var(--lunch-rule); }
#lunch .menu-section:nth-child(4) { grid-area: addons; margin-left: 58px; padding: 16px 24px 14px; border: 1px solid var(--lunch-rule); }
#lunch .menu-section:nth-child(5) { grid-area: sandwiches; margin-top: 26px; padding: 0 0 10px; border-top: 1px solid var(--lunch-rule); }

#lunch .menu-section h3 {
  width: max-content;
  margin: 0 auto 18px;
  padding: 0 0 7px;
  color: var(--lunch-ink);
  border-bottom: 1px solid var(--lunch-rule);
  font-size: 1.45rem;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: .24em;
  text-align: center;
  text-transform: uppercase;
}

#lunch .section-note {
  margin: -7px 0 18px;
  color: var(--lunch-ink);
  font: 700 10px/1.3 Arial, sans-serif;
  letter-spacing: .2em;
  text-align: center;
  text-transform: uppercase;
}

#lunch ul { gap: 16px; }
#lunch li { align-items: baseline; gap: 7px; padding: 0; border: 0; flex-wrap: wrap; }
#lunch li > div { display: contents; }
#lunch li > div::after {
  content: "";
  order: 2;
  flex: 1;
  min-width: 14px;
  border-bottom: 1px dotted #374438;
  transform: translateY(-3px);
}
#lunch li b {
  order: 1;
  overflow: hidden;
  color: #121c13;
  font-size: 14px;
  letter-spacing: .13em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
#lunch li small {
  display: block;
  order: 4;
  flex-basis: 100%;
  margin-top: 4px;
  color: #1e271f;
  font: italic 14px/1.25 Georgia, "Times New Roman", serif;
}
#lunch li > span { order: 3; color: var(--lunch-ink); font: 700 13px/1 Georgia, serif; }

#lunch .menu-section:nth-child(2) h3,
#lunch .menu-section:nth-child(4) h3 {
  width: auto;
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  font-size: 1rem;
  text-align: left;
}

#lunch .menu-section:nth-child(2) ul,
#lunch .menu-section:nth-child(4) ul { gap: 9px; }
#lunch .menu-section:nth-child(2) li,
#lunch .menu-section:nth-child(4) li { flex-wrap: wrap; }

#lunch .menu-section:nth-child(5) h3 {
  margin: -15px auto 0;
  padding: 0 28px;
  border: 0;
  background: var(--lunch-paper);
}

#lunch .menu-section:nth-child(5) .section-note { margin: 10px 0; }
#lunch .menu-section:nth-child(5) ul { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
#lunch .menu-section:nth-child(5) li {
  display: flex;
  min-height: 132px;
  padding: 13px 30px 5px;
  border-left: 1px solid var(--lunch-rule);
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}
#lunch .menu-section:nth-child(5) li:first-child { border-left: 0; }
#lunch .menu-section:nth-child(5) li > div::after { display: none; }
#lunch .menu-section:nth-child(5) li b { flex-basis: 100%; }
#lunch .menu-section:nth-child(5) li b::after {
  content: "";
  display: block;
  width: 62px;
  margin: 9px auto 0;
  border-bottom: 1px solid var(--lunch-rule);
}
#lunch .menu-section:nth-child(5) li > span { margin-left: 6px; }
#lunch .menu-section:nth-child(5) li small { margin-top: 12px; }

#lunch::after {
  content: "DINE IN  ·  TAKEOUT  ·  ONLINE ORDERING                                      THANK YOU FOR SUPPORTING AMICI";
  display: block;
  margin-top: 10px;
  min-height: 68px;
  padding-top: 28px;
  border-top: 1px solid var(--lunch-rule);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 82'%3E%3Cg fill='none' stroke='%23d4b600' stroke-width='4' stroke-linejoin='round'%3E%3Cpath d='M8 76 L50 6 L92 76'/%3E%3Cpath d='M36 43 L64 43 L50 67 Z'/%3E%3C/g%3E%3C/svg%3E");
  background-position: center 8px;
  background-repeat: no-repeat;
  background-size: 64px 52px;
  color: var(--lunch-ink);
  font: 700 9px/1.25 Arial, sans-serif;
  letter-spacing: .23em;
  text-align: center;
  white-space: pre;
}

@media (max-width: 980px) {
  #lunch.meal { width: calc(100% + 20px); padding: 30px 20px; box-shadow: none; }
  #lunch .meal-heading { grid-template-columns: 1fr; gap: 13px; }
  #lunch .meal-heading::before,
  #lunch .meal-heading::after { display: none; }
  #lunch .meal-heading > div { grid-column: 1; }
  #lunch .menu-columns { display: block; margin: 28px 0 0; }
  #lunch .menu-section,
  #lunch .menu-section:nth-child(1),
  #lunch .menu-section:nth-child(2),
  #lunch .menu-section:nth-child(3),
  #lunch .menu-section:nth-child(4),
  #lunch .menu-section:nth-child(5) { margin: 0 0 30px; padding: 0; border: 0; }
  #lunch .menu-section:nth-child(2),
  #lunch .menu-section:nth-child(4) { padding: 16px 20px; border: 1px solid var(--lunch-rule); }
  #lunch .menu-section:nth-child(5) { padding-top: 2px; border-top: 1px solid var(--lunch-rule); }
  #lunch .menu-section:nth-child(5) ul { grid-template-columns: 1fr 1fr; }
  #lunch .menu-section:nth-child(5) li:nth-child(odd) { border-left: 0; }
  #lunch::after { white-space: normal; line-height: 2; }
}

@media (max-width: 480px) {
  #lunch .meal-heading h2 { font-size: 2.35rem; }
  #lunch .menu-section:nth-child(5) ul { grid-template-columns: 1fr; }
  #lunch .menu-section:nth-child(5) li { border-left: 0; border-top: 1px solid rgba(82, 98, 82, .35); }
  #lunch .menu-section:nth-child(5) li:first-child { border-top: 0; }
}

/* Printed-menu treatment shared by Dinner, Dessert, and Drinks. */
#dinner.meal,
#dessert.meal,
#drinks.meal,
#happy-hour.meal,
#special-event.meal {
  --print-ink: #172718;
  --print-paper: #fbfaf6;
  --print-rule: #526252;
  width: min(1440px, calc(100vw - 28px));
  margin-left: 50%;
  padding: 42px 58px 30px;
  color: var(--print-ink);
  border: 1px solid #d7d4ca;
  background: var(--print-paper);
  box-shadow: 0 18px 55px rgba(20, 28, 20, .16);
  transform: translateX(-50%);
  font-family: Georgia, "Times New Roman", serif;
}

#dinner .meal-heading,
#dessert .meal-heading,
#drinks .meal-heading,
#happy-hour .meal-heading,
#special-event .meal-heading {
  display: grid;
  grid-template-columns: 1fr minmax(360px, auto) 1fr;
  align-items: center;
  gap: 34px;
  margin: 0 0 30px;
  text-align: center;
}

#dinner .meal-heading::before,
#dinner .meal-heading::after,
#dessert .meal-heading::before,
#dessert .meal-heading::after,
#drinks .meal-heading::before,
#drinks .meal-heading::after,
#happy-hour .meal-heading::before,
#happy-hour .meal-heading::after,
#special-event .meal-heading::before,
#special-event .meal-heading::after {
  content: "";
  height: 1px;
  background: var(--print-rule);
}

#dinner .meal-heading > div,
#dessert .meal-heading > div,
#drinks .meal-heading > div,
#happy-hour .meal-heading > div,
#special-event .meal-heading > div { grid-column: 2; grid-row: 1; }

#dinner .meal-heading::before,
#dessert .meal-heading::before,
#drinks .meal-heading::before,
#happy-hour .meal-heading::before,
#special-event .meal-heading::before { grid-column: 1; grid-row: 1; }

#dinner .meal-heading::after,
#dessert .meal-heading::after,
#drinks .meal-heading::after,
#happy-hour .meal-heading::after,
#special-event .meal-heading::after { grid-column: 3; grid-row: 1; }

#dinner .meal-heading .eyebrow,
#dessert .meal-heading .eyebrow,
#drinks .meal-heading .eyebrow,
#happy-hour .meal-heading .eyebrow,
#special-event .meal-heading .eyebrow { display: none; }

#dinner .meal-heading h2,
#dessert .meal-heading h2,
#drinks .meal-heading h2,
#happy-hour .meal-heading h2,
#special-event .meal-heading h2 {
  margin: 0;
  color: var(--print-ink);
  font-size: clamp(2.7rem, 5vw, 3.55rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: .22em;
  text-indent: .22em;
  text-transform: uppercase;
}

#dinner .meal-heading p,
#dessert .meal-heading p,
#drinks .meal-heading p,
#happy-hour .meal-heading p,
#special-event .meal-heading p {
  margin: 12px 0 0;
  color: var(--print-ink);
  font: 700 11px/1.25 Arial, sans-serif;
  letter-spacing: .28em;
  text-transform: uppercase;
}

#dinner .menu-columns,
#dessert .menu-columns,
#drinks .menu-columns,
#happy-hour .menu-columns,
#special-event .menu-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  align-items: start;
}

#dinner .menu-section,
#dessert .menu-section,
#drinks .menu-section,
#happy-hour .menu-section,
#special-event .menu-section {
  min-width: 0;
  margin: 0;
  padding: 0 34px 28px;
  border: 0;
  border-left: 1px solid var(--print-rule);
  background: transparent;
  break-inside: avoid;
}

#dinner .menu-section:nth-child(3n + 1),
#dessert .menu-section:nth-child(3n + 1),
#drinks .menu-section:nth-child(3n + 1),
#happy-hour .menu-section:nth-child(3n + 1),
#special-event .menu-section:nth-child(3n + 1) { border-left: 0; }

#dinner .menu-section h3,
#dessert .menu-section h3,
#drinks .menu-section h3,
#happy-hour .menu-section h3,
#special-event .menu-section h3 {
  width: max-content;
  max-width: 100%;
  margin: 0 auto 16px;
  padding: 0 0 7px;
  color: var(--print-ink);
  border-bottom: 1px solid var(--print-rule);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: .18em;
  text-align: center;
  text-transform: uppercase;
}

#dinner .section-note,
#dessert .section-note,
#drinks .section-note,
#happy-hour .section-note,
#special-event .section-note {
  margin: -6px 0 16px;
  color: var(--print-ink);
  font: 700 9px/1.35 Arial, sans-serif;
  letter-spacing: .13em;
  text-align: center;
  text-transform: uppercase;
}

#dinner ul,
#dessert ul,
#drinks ul,
#happy-hour ul,
#special-event ul { gap: 13px; }

#dinner li,
#dessert li,
#drinks li,
#happy-hour li,
#special-event li {
  align-items: baseline;
  gap: 7px;
  padding: 0;
  border: 0;
  flex-wrap: wrap;
}

#dinner li > div,
#dessert li > div,
#drinks li > div,
#happy-hour li > div,
#special-event li > div { display: contents; }

#dinner li > div::after,
#dessert li > div::after,
#drinks li > div::after,
#happy-hour li > div::after,
#special-event li > div::after {
  content: "";
  order: 2;
  flex: 1;
  min-width: 12px;
  border-bottom: 1px dotted #374438;
  transform: translateY(-3px);
}

#dinner li b,
#dessert li b,
#drinks li b,
#happy-hour li b,
#special-event li b {
  order: 1;
  overflow: hidden;
  color: #121c13;
  font-size: 12px;
  letter-spacing: .09em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: normal;
}

#dinner li small,
#dessert li small,
#drinks li small,
#happy-hour li small,
#special-event li small {
  order: 4;
  flex-basis: 100%;
  margin-top: 3px;
  color: #1e271f;
  font: italic 12px/1.28 Georgia, "Times New Roman", serif;
}

#dinner li > span,
#dessert li > span,
#drinks li > span,
#happy-hour li > span,
#special-event li > span { order: 3; color: var(--print-ink); font: 700 11px/1 Georgia, serif; }

#dinner::after,
#dessert::after,
#drinks::after,
#happy-hour::after,
#special-event::after {
  content: "DINE IN  ·  TAKEOUT  ·  ONLINE ORDERING                                      THANK YOU FOR SUPPORTING AMICI";
  display: block;
  min-height: 68px;
  margin-top: 8px;
  padding-top: 28px;
  border-top: 1px solid var(--print-rule);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 82'%3E%3Cg fill='none' stroke='%23d4b600' stroke-width='4' stroke-linejoin='round'%3E%3Cpath d='M8 76 L50 6 L92 76'/%3E%3Cpath d='M36 43 L64 43 L50 67 Z'/%3E%3C/g%3E%3C/svg%3E");
  background-position: center 8px;
  background-repeat: no-repeat;
  background-size: 64px 52px;
  color: var(--print-ink);
  font: 700 9px/1.25 Arial, sans-serif;
  letter-spacing: .23em;
  text-align: center;
  white-space: pre;
}

/* Dessert reads as one elegant three-panel card instead of duplicating print copies. */
#dessert .menu-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#dessert .menu-section { min-height: 250px; }

/* Cocktail layout: signatures lead, flights and supporting lists follow in columns. */
#drinks .menu-columns { grid-template-columns: 1.2fr .9fr .9fr; }
#drinks .menu-section:first-child { grid-row: span 4; }
#drinks .menu-section:nth-child(2),
#drinks .menu-section:nth-child(5) { border-left: 1px solid var(--print-rule); }
#drinks .menu-section:nth-child(4) { padding: 18px 24px; border: 1px solid var(--print-rule); }

/* Do not let unpublished placeholder sections or their empty lists create gaps. */
.meal .menu-section:has(ul:empty):not(:has(.section-note)) { display: none; }

@media (max-width: 1100px) {
  #dinner .menu-columns,
  #drinks .menu-columns,
  #happy-hour .menu-columns,
  #special-event .menu-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #dinner .menu-section:nth-child(3n + 1),
  #drinks .menu-section:nth-child(3n + 1),
  #happy-hour .menu-section:nth-child(3n + 1),
  #special-event .menu-section:nth-child(3n + 1) { border-left: 1px solid var(--print-rule); }
  #dinner .menu-section:nth-child(odd),
  #drinks .menu-section:nth-child(odd),
  #happy-hour .menu-section:nth-child(odd),
  #special-event .menu-section:nth-child(odd) { border-left: 0; }
  #drinks .menu-section:first-child { grid-row: auto; }
}

@media (max-width: 980px) {
  #dessert .menu-columns { grid-template-columns: 1fr; }
  #dessert .menu-section { min-height: 0; padding: 0 0 30px; border-left: 0; }
  #dinner .menu-columns,
  #drinks .menu-columns,
  #happy-hour .menu-columns,
  #special-event .menu-columns { grid-template-columns: 1fr; }
  #dinner .menu-section,
  #drinks .menu-section,
  #happy-hour .menu-section,
  #special-event .menu-section {
    padding: 0 0 32px;
    border-left: 0 !important;
  }
  #drinks .menu-section:first-child { grid-row: auto; }
  #drinks .menu-section:nth-child(4) { padding: 18px 22px; border: 1px solid var(--print-rule) !important; }
}

@media (max-width: 760px) {
  #dinner.meal,
  #dessert.meal,
  #drinks.meal,
  #happy-hour.meal,
  #special-event.meal { width: calc(100% + 20px); padding: 30px 20px; box-shadow: none; }
  #dinner .meal-heading,
  #dessert .meal-heading,
  #drinks .meal-heading,
  #happy-hour .meal-heading,
  #special-event .meal-heading { grid-template-columns: 1fr; gap: 13px; }
  #dinner .meal-heading::before,
  #dinner .meal-heading::after,
  #dessert .meal-heading::before,
  #dessert .meal-heading::after,
  #drinks .meal-heading::before,
  #drinks .meal-heading::after,
  #happy-hour .meal-heading::before,
  #happy-hour .meal-heading::after,
  #special-event .meal-heading::before,
  #special-event .meal-heading::after { display: none; }
  #dinner .meal-heading > div,
  #dessert .meal-heading > div,
  #drinks .meal-heading > div,
  #happy-hour .meal-heading > div,
  #special-event .meal-heading > div { grid-column: 1; }
  #dinner .menu-columns,
  #dessert .menu-columns,
  #drinks .menu-columns,
  #happy-hour .menu-columns,
  #special-event .menu-columns { display: block; }
  #dinner .menu-section,
  #dessert .menu-section,
  #drinks .menu-section,
  #happy-hour .menu-section,
  #special-event .menu-section { min-height: 0; margin: 0 0 30px; padding: 0; border: 0 !important; }
  #drinks .menu-section:nth-child(4) { padding: 16px 20px; border: 1px solid var(--print-rule) !important; }
  #dinner::after,
  #dessert::after,
  #drinks::after,
  #happy-hour::after,
  #special-event::after { white-space: normal; line-height: 2; }
}
