.menu-route {
  --menu-navy: #061f60;
  --menu-ivory: #f8f7f4;
  --menu-muted: #536079;
  --menu-line: #d9dce3;
  --menu-focus: #956c32;
  color: var(--menu-navy);
  font-family: Hellix, system-ui, sans-serif;
}

.menu-route :focus-visible,
.menu-home-link:focus-visible,
.menu-gallery-toggle:focus-visible {
  outline: 3px solid var(--menu-focus, #956c32);
  outline-offset: 4px;
}

.menu-route h1, .menu-route h2, .menu-route .mh {
  font-family: Atacama, Georgia, serif;
  font-weight: 500;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.menu-route .menu-title {
  font-size: clamp(2.55rem, 4.2vw, 3.9rem);
  line-height: 1.01;
  margin: 0 0 18px;
}

.menu-route .menu-lead {
  max-width: 48ch;
  margin: 0;
  color: var(--menu-muted);
  font-size: clamp(1.025rem, 1.5vw, 1.22rem);
  line-height: 1.55;
}

.menu-route .menu-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin-top: 24px;
}

.menu-route .menu-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 19px;
  border: 1px solid var(--menu-navy);
  border-radius: 999px;
  background: var(--menu-navy);
  color: #fff;
  font: 600 1rem/1.25 Hellix, system-ui, sans-serif;
  text-decoration: none;
  text-align: center;
}

.menu-route .menu-button:hover { background: #123274; }
.menu-route .menu-button.secondary { background: #fff; color: var(--menu-navy); }
.menu-route .menu-button.secondary:hover { background: #f2eadc; }
.menu-route .menu-price { margin: 23px 0 0; font-size: 1.2rem; font-weight: 600; }
.menu-route .menu-price small { font-size: .85rem; font-weight: 500; }

.menu-route.menu-offer {
  padding-block: clamp(40px, 6vw, 100px);
  background: var(--menu-ivory);
}

.menu-route .menu-offer-grid {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  align-items: center;
  gap: clamp(24px, 6vw, 94px);
}

.menu-route .menu-plate { margin: 0; }
.menu-route .menu-plate img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
}
.menu-route .menu-plate figcaption, .menu-route .menu-footnote {
  margin: 10px 0 0;
  color: var(--menu-muted);
  font-size: .87rem;
  line-height: 1.5;
}

.menu-route .menu-demo-intro { padding: clamp(26px, 3.4vw, 48px) 0 20px; }
.menu-route .menu-demo-intro .crumb { margin-bottom: 20px; }
.menu-route .menu-demo-intro .menu-title { max-width: 24ch; font-size: clamp(2.4rem, 4.15vw, 4rem); }
.menu-route .menu-demo-main { padding: 0 0 54px; }
.menu-route .menu-demo-main .dq-wrap {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 38px);
}
.menu-route .menu-demo-main .dq-panel {
  padding: clamp(15px, 2.2vw, 30px);
  border: 1px solid var(--menu-line);
  border-radius: 14px;
}
.menu-route .menu-demo-main h2 {
  margin: 0 0 8px;
  font-size: clamp(1.6rem, 2.7vw, 2.4rem);
  line-height: 1.1;
}
.menu-route .menu-demo-main .dq-h { font: 1rem/1.5 Hellix, system-ui; color: var(--menu-muted); }
.menu-route .menu-demo-main input {
  min-height: 44px;
  border-color: #8995aa;
  border-radius: 8px;
  font-size: 1rem;
  color: var(--menu-navy);
}
.menu-route .menu-demo-main input[aria-invalid="true"] { border-color: #b3261e; }
.menu-route #mList .dq-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 75px minmax(78px, auto);
  align-items: stretch;
  gap: 8px;
}
.menu-route #mList .dq-btn {
  width: auto;
  max-width: none;
  border-radius: 8px;
  padding: 8px;
  font-size: .875rem;
}
.menu-route .menu-demo-main .dq-view { top: 88px; scroll-margin-top: 95px; }
.menu-route .menu-demo-main .dq-menu {
  border-color: #d9cbbb;
  border-radius: 14px;
  background: #fffdfa;
  color: #38271d;
}
.menu-route .menu-demo-main .mh {
  background: #e9deca;
  color: #38271d;
  font-size: clamp(1.6rem, 2.8vw, 2.55rem);
  padding: 20px;
}
.menu-route .menu-demo-main .mh small {
  display: block;
  margin-top: 3px;
  font: 600 .8rem Hellix, system-ui;
  letter-spacing: .035em;
}
.menu-route .menu-demo-main .dq-plat {
  align-items: baseline;
  padding: 12px 16px;
  font-size: 1rem;
}
.menu-route .menu-demo-main .dq-plat .p {
  color: inherit;
  font-variant-numeric: tabular-nums;
}
.menu-route .menu-demo-main .dq-plat.off { opacity: 1; color: #6c5c50; }
.menu-route .menu-demo-main .dq-cap { text-align: left; font-size: .9rem; }
.menu-route .menu-demo-main .menu-actions { margin-top: 16px; }
.menu-route .menu-demo-main .menu-mobile-link { display: none; }
.menu-route .menu-demo-main .menu-preview-link { text-underline-offset: .22em; }
.menu-route .menu-demo-main #mOut { margin: 10px 0 0; min-height: 0; }
.menu-route .menu-demo-main #mOut:empty { margin: 0; }
.menu-route .menu-demo-main .menu-suggestion { margin-top: 16px; }
.menu-route .menu-demo-main summary { cursor: pointer; min-height: 44px; align-content: center; }
.menu-route .menu-demo-main #mAdd { width: auto; }
.menu-route .menu-demo-main .menu-availability { display: block; font-size: .8rem; text-decoration: none; }
.menu-route .menu-demo-main .dq-plat.off { text-decoration: none; }
.menu-route .menu-demo-main .dq-plat.off > :first-child { text-decoration: line-through; }
.menu-route #formTitle { scroll-margin-top: 96px; }

.menu-route .menu-quote-context {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--menu-line);
  border-radius: 12px;
  background: #f2eadc;
  color: var(--menu-navy);
  font-size: 1rem;
}
.menu-route .menu-quote-context strong { display: block; }

.menu-home-link { min-height: 44px; display: inline-flex; align-items: center; }
.r67-site .menu-gallery-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
}
.r67-site .menu-gallery-toggle {
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid #7c869d;
  border-radius: 999px;
  color: #061f60;
  background: #f8f7f4;
  font: 600 .875rem Hellix, system-ui;
  cursor: pointer;
}
.r67-site .menu-gallery-stage { isolation: isolate; }
.r67-site #a63-fluid.menu-gallery-fluid {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: .78;
  mix-blend-mode: screen;
  mask-image: none;
  pointer-events: none;
}
.r67-site #a63-fluid.menu-gallery-fluid[hidden] { display: none; }

@media (max-width: 800px) {
  .menu-route .menu-offer-grid, .menu-route .menu-demo-main .dq-wrap { grid-template-columns: 1fr; }
  .menu-route .menu-demo-main .menu-mobile-link { display: inline-flex; align-items: center; min-height: 44px; }
  .menu-route .menu-demo-main .dq-view { position: static; }
}
@media (max-width: 400px) {
  .menu-route .menu-demo-main #mList .dq-row { grid-template-columns: minmax(0, 1fr) 57px 74px; gap: 5px; }
  .menu-route .menu-demo-main #mList input { padding-inline: 7px; }
  .menu-route .menu-demo-main #mList .dq-btn { padding-inline: 4px; }
}
@media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse), (max-width: 800px) {
  .r67-site .menu-gallery-toggle, .r67-site #a63-fluid.menu-gallery-fluid { display: none; }
}
