I don't understand this. It's CSS. Of course it's presentational. Do CSS class names have to describe the semantic structure, as well as the DOM structure?
So yes, since HTML is designed to describe its content, the class names should describe the content and the CSS should select that content to style.
So the HTML should say "this is important" (em) while the CSS is free to define "important" as bold, different color or some other font change.
For example the HTML should not contain anything about number of columns. It will be 1 column on iPhone, 2 on iPad and 4 on Desktop - but the HTML does not change.