Good overview of the various different CSS schemes out there. The difficulty with maintaining a huge code base as you mentioned is various levels of skill among the team. Adopting a method and publishing the rules is only the first step in keeping the code clean. My experience is you need to have reviews so that people learn what to do and what not to do. Whether this be in the form of pair programming or a commit level code review tool with comments, if multiple eyes are not cast on the code *at the time* of authoring you lose many opportunities to keep the code clean.