/* Compact mobile introduction: reach the menu sooner. */
@media (max-width: 700px) {
  .hero { min-height: 0; padding: 16px 0 0; }
  .hero .brand-row { margin-top: 16px; }
  .hero-copy { margin-top: 24px; }
  .hero .kicker { margin: 0; }
  .hero h1 { font-size: clamp(46px, 12vw, 64px); margin: 12px 0; line-height: .95; }
  .hero .intro { margin: 0; max-width: 290px; }
  .hero .hero-rule { position: relative; margin-top: 20px; padding-top: 10px; }
  .hero::after { top: 64px; height: 230px; }
  .hero::before { top: 76px; height: 220px; }
  .hero .hero-couple { top: 80px; height: 210px; }
  .menu-area { padding-top: 22px; }
  .section-intro h2 { font-size: 30px; margin-top: 8px; }
  .menu-tools .search { margin-top: 16px; }
  .menu-nav-sticky { margin-top: 18px; }
}

/* Go directly from the introduction to menu search and controls. */
.menu-tools .section-intro { display: none; }
.menu-tools { justify-content: flex-start; }
.menu-tools .search { margin-top: 0; }

/* Shorter food/drink buttons; preserve their horizontal dimensions. */
.menu-type-switch button { padding-top: 9px; padding-bottom: 9px; }

/* Delay the invitation, then animate without overriding pointer transforms. */
html:not(.promo-ready) .choice-prompt,
html:not(.promo-ready) .pinata-return-tab { visibility: hidden; pointer-events: none; animation: none; }
.choice-prompt { animation-fill-mode: backwards; }
.choice-prompt.is-dragging,
.choice-prompt.is-dismissing { animation: none; }

@keyframes cart-swipe-cue {
  0%,100% { opacity:.28; transform:translateX(-5px); }
  48% { opacity:1; transform:translateX(4px); }
}

/* Live opening status and a clear mobile illustration area. */
.hero-meta .open-pill { display:none; }
.live-open-status { font:500 14px/1.4 'DM Sans',sans-serif; letter-spacing:0; color:var(--mex-yellow); text-transform:none; }
.live-open-status.is-open { color:#b6d890; }
.hero .intro { display:none; }
@media (max-width:700px) {
  .hero-meta { display:grid; grid-template-columns:1fr; gap:6px; text-align:center; justify-items:center; }
  .hero-meta > span:first-child { font-size:10px; }
  .live-open-status { max-width:100%; }
  .hero-copy { margin-top:18px; padding-top:0; }
  .hero h1 { margin:112px 0 0; font-size:clamp(28px,8.4vw,48px); line-height:1.12; letter-spacing:-.045em; white-space:nowrap; }
  .hero h1 br { display:none; }
  .hero h1 em::before { content:' '; white-space:pre; }
  .hero .hero-rule { margin-top:14px; }
  .hero::after { top:105px; height:170px; }
  .hero::before { top:105px; height:170px; }
  .hero .hero-couple { top:105px; height:170px; }
}

/* Shared warm colour treatment, balanced for each source image. */
.hero::after,
.hero::before,
.hero .hero-couple {
  mix-blend-mode: normal;
  filter: sepia(.2) saturate(.78) contrast(.94) brightness(.88);
}
.hero::after { opacity:.62; }
.hero::before { opacity:.48; }
.hero .hero-couple { opacity:.43; }

/* All menu sections are visible by default. */
.show-more { display:none; }
