Similarly to Onno, I write everything in markdown first, and convert using pandoc. Then I use weasyprint to take the resulting HTML with CSS applied on it, and generate a PDF from all that.
The result is quite nice, and this system has served me for more thant 15 years. A friend working in HR shared that it does stand out, compared to most submissions.
Here's a fragment of Makefile to summarize the concept:
docname=2026
all:
pandoc -t html5 ${docname}.md -o ${docname}.html
weasyprint -s ${docname}.css ${docname}.html ${docname}.pdf