Maybe early dinner? So start time of say 3, dinner 5.30? So if people start drinking they'll have a meal within a few hours to soak it up. Doing that though, I'd recommend doing a second wave of something edible around 8.30/9, even just coffee/tea/dessert to ensure the hard core partiers have food in their tummies! Doesn't have to be elaborate, a prepared plate of sandwiches would do.

(From a lifetime in a family of home based parties for big occasions that tended to go on, and on!).

Is the main meal finger food? Or sit down? Does the party include kids?
I would go with a 3.30/4 start, with a few platters to snack on when people arrive, then main around 6.30/7. Those who have other commitments or young kids could just come for the first few hours. The stayers would get 2 options of food, to balance out the drinking!

I think as long as you mention on the invitation what food is being served, people will be able to plan accordingly. I’d probably say early dinner and arrival time is from about two hours before that is served?

Serve mini pikelets/scones with jam & cream and a selection of little sandwiches and tiny cakes in the afternoon around 3pm with tea, coffee, champagne, chilled rose etc.

You can move on to beer, wine etc.

Then at dinner time serve a savoury buffet of pulled pork, roast chicken pieces, potato bake, bread rolls, salads etc and have birthday cake for dessert.

You can cut the cake in the afternoon if you want the early-leavers to be involved in that part of the festivities, just make sure there is some left for dessert later, perhaps with any leftovers from afternoon tea.

You may be pleasantly surprised at how long they all stay on - my grandfathers 80th Birthday we did a dinner starting around 5pm (dinner served at 6.30pm). The older ones outlasted the grandkids, the last guests left at 2am!