Dunno if this is an outdated approach, but I think you’d set a repeating background image and then set the line-height to match up with how far apart the lines are in the background.
And then what do you do if they’re offset? Maybe play around with the padding to get it lined up.
You also have margins around the paragraphs and other various vertical spaces, which you’ll probably have to adjust so that everything stays on a multiple of that line height.
There is no pure CSS way to style a specific line (except for the first line). The best CSS only alternative would probably involve the background-image property, as already described.
If you are okay with using JavaScript, I would personally use that to split each line into span elements. This way you would also be able to target specific lines, if you should need it at some point.