Any rifle in .30-06 will handle all your requirements nicely.

A .308 would work too, but you'd need to practice more for some of the longer shots. The .308 hits about 8 inches low at 300 yards, so holding on the spine does the trick. at 400 yards its 24 inches low, which is a kind of questionable shot in my opinion.

whatever you get, practice a lot at various ranges.

Good luck.