The diagonal with the knight, bishop, and rook all lined up was too tempting, albeit I couldn't take the knight while the bishop remained. The knight couldn't move either. But I missed...
18... Qg5xd2
...Q x d2. I lost a pawn, but concluded that the Queen didn't have back up to do any immediate further damage.
19. Re1e4
I could even move a rook out and strengthen the attack on the a3 - f8 diagonal, leaving my back rank still protected.
19... f5 20. Re4c4
Rook attacked and driven away, but still where it served its intended purpose, making or backing up an attack on the knight.
20... c5
Attack on the knight foreclosed by the pawn moving to c5.
Exchange of queens not desirable when I was down three points in material, but my king was better protected than black, and I had a shot at the bishop on d6.
26... exf5 27. Re4e6 Bd6c7 28. Rd1d7
Here I saw a possibility of two rooks on the 7th rank, something I've often taught to beginners, but never had a chance to use in actual competition before.
28... Bc7b6
Black saved his bishop, but allowed me the tempo to get a second rook on the seventh rank.
29. Re6e7 Rf8c8
Naturally, black opened space around his king by moving the rook away. At this point, I had to keep black king in check EVERY move. At first opportunity, black could bring his rook c8 - c7, and I would have no alternative to exchanging rooks. Black would still be up three points in material.