Programming with encoding structural annotations in string names (BEM, object-oriented approach) is useless in the long term. By long, I say one year of cycle development for any medium or big project. The CSS will grow and the architecture will be gone as soon as the constraints will hit the team. The closest thing to "clean CSS" I've experienced is Functional CSS.