ihabia, Класс не может разрастаться до безобразия из-за вложенности,
потому что вложенность всего лишь одна
Блок -> Элемент
.
В вашем случае у вас есть косяк в разметке.
1. Логотип это вполне самостоятельный блок.
2. Поиск тем более.
3. Вкладывать прослойки в блоки в принципе допустимо, это не косяк, но когда речь идет лишь о декорации, то вряд ли стоит.
Итого имеем четыре блока (ну и контейнер, как сущность модульной сетки):
<header class="header-section">
<div class="container header">
<div class="header__logo logo">
<h2 class="logo__title">APP Design</h2>
<p class="logo__description">Free PSD Website Template</p>
</div>
<form action="" class="header__search search-form">
<input type="text" placeholder="" class="search-form__field">
<button class="search-form__button">Search</button>
</form>
</div>
</header>
.header-section {}
.header {
&__logo {}
&__search {}
}
.logo {
&__title {}
&__description {}
}
.search-form {
&__field {}
&__button {}
}
Достаточно простая разметка, простые стили, независимые блоки.
Вторая секция более-менее нормально размечена.