How are you generating the PDF, a real text layer or rendered? Asking because ATS parsers choke on anything that isnt extractable text, and thats easy to get wrong.
Does it flag declarations the browser silenly dropped? An invalid calc() inside a gradient once wiped out my entire background image and took me far too long to spot.