@richard_bell 💯 agree!
@richard_bell To do something like this I would break it into two queries which would scale better. For a given offer, get all of the hotels related to that offer. Then use a post__in clause to get all of the cities related to the list of hotels.