When Nicholas Gallagher talks about CSS, you should listen. His Principles of writing consistent, idiomatic CSS outlines a sane, scalable approach to writing CSS. It appears to build–and slim down from–his earlier article About HTML semantics and front-end architecture, which caused its share of ripples when published it.
You might disagree with this approach–you shouldn’t, though–but if you write any CSS for a living, it should be in informed disagreement. Read it.