- Readability: Names of selectors must inherently describe the location of the corresponding source code.
- Modularity: Styles should be grouped and isolated by their respective domain of use.
- Low coupling: Styles should never depend on the structure or semantics of markup.