/* Preserve the approved composition; size scenes to available height on laptops. */
@media (min-width: 1001px) and (max-height: 900px) {
  .food-menu { --card: clamp(240px, min(34vw, calc((100svh - 230px) / 1.4)), 490px); padding: 30px 0 18px; }
  .food-menu h2 { font-size: clamp(44px, 8svh, 76px); margin-bottom: 18px; }
  .food-menu__categories button { min-height: 52px; padding: 8px 22px; }
  .food-carousel__caption h3 { font-size: clamp(30px, 5svh, 44px); margin-bottom: 10px; }
  .food-detail { height: auto; min-height: 46px; }
  .locations__inner { min-height: 0; padding-top: 32px; padding-bottom: 32px; }
  .locations__scene { min-height: clamp(480px, 78svh, 660px); }
  .locations__logo { max-width: 235px; margin-bottom: 26px; }
  .locations h2 { font-size: clamp(42px, 6.8svh, 68px); }
  .locations__lead { margin: 18px 0; }
  .locations__choices { margin-bottom: 20px; }
  .locations__signature { font-size: 23px; margin-top: 20px; }
  .closing { padding-top: 65px; }
  .closing__banner { min-height: clamp(420px, 68svh, 540px); }
  .closing__copy { padding-top: 36px; padding-bottom: 36px; }
  .closing h2 { font-size: clamp(60px, min(7.6vw, 12svh), 110px); }
}
/* Leave room for text wrapping / zoom without widening any grid track. */
.locations__inner { grid-template-columns: minmax(0,38fr) minmax(0,62fr); }
.closing__banner { grid-template-columns: minmax(0,53fr) minmax(0,47fr); }
.closing-footer { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr); }
.closing__copy, .locations__copy, .closing-footer > * { min-width: 0; }
@media (max-width: 1000px) {
  .locations__inner, .closing__banner { grid-template-columns: minmax(0,1fr); }
  .closing-footer { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr); }
}
@media (max-width: 600px) {
  .food-carousel { height: calc(var(--card) * 1.55 + 28px); }
  .closing-footer { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .closing__actions a { max-width: 100%; }
  .locations__note { font-size: 14px; }
}
@media (max-width: 360px) {
  .hero h1 { font-size: 14vw; }
  .hero__copy { margin-inline: 18px; }
  .closing h2 { font-size: 12vw; }
  .closing__copy { padding-inline: 14px; }
  .closing__actions .closing__order { padding-inline: 14px; gap: 12px; font-size: 16px; }
  .locations h2 { font-size: 10vw; }
  .locations__choices button { font-size: 15px; padding-inline: 4px; gap: 4px; }
}
@media (max-height: 540px) and (min-width: 600px) and (max-width: 1000px) and (orientation: landscape) {
  .hero { min-height: 510px; height: auto; }
}
