Close Call....
18.Be7 looks better, followed by 19.Bxd6
24.Rh4?? should have lost since Black can play 24...Qxh4!. Better was 24.Kh1 (or 24.Kg2), although Black should be winning here after 24...Qxe6.
Now, after 24.Rh4?? Rh7?? and 25.Qxe7 wins. Black should resign here.
Wow! this game was a close call for me comment r welcome :)