Essentially, my previous design had reached local maximum, so I’m going back to basics.
I’ve decided it’s important that styling doesn’t fight or contradict markup, so I’m hoping that adding it progressively only where it is needed will make my code more maintainable.