BEM (Block, Element, Modifier) — это методология именования CSS-классов для создания предсказуемой и масштабируемой структуры. Блок — самостоятельный компонент (menu), элемент — часть блока (menu__item), модификатор — вариация (menu__item--active). Нейминг через двойное подчёркивание и двойной дефис. BEM помогает избегать конфликтов имён, снижает вложенность селекторов и делает код самодокументируемым. Хорошо работает в больших командах, хотя в React-проектах часто заменяется CSS Modules или styled-components.