To use BEM you inly need to employ BEM's naming convention.
Independent blocks and CSS selectors make your code reusable and modular.
Using BEM, methodologies and tools can be recomposed and configured the way you like.
BEM is a highly useful, powerful, and simple naming convention that makes your front-end code easier to read and understand, easier to work with, easier to scale, more robust and explicit, and a lot more strict.
The BEM approach ensures that everyone who participates in the development of a website works with a single codebase and speaks the same language. Using BEM’s proper naming convention will better prepare you for design changes made to your website.
— Why do I need CSS classes for block instead of using semantic custom tags?
— May I combine a tag and a class in a selector, such as button.button?
Look for answers in the awesome FAQ list!