Прошу оценить код. Испытание [27/32]

Честно — сам не в восторге от кода, хотя и 100%. Кажется, что можно сделать лучше. Интересует, насколько мудрено написал + насколько такой код будет респонсив + насколько интуитивны другому человеку названия классов? Спасибо

[details=HTML тут]`

Испытание: строим сетку
Header
Menu
Promo 1
Promo 2
Left
Main
Right
Footer
`[/details]

[details=CSS тут]`html,
body {
margin: 0;
padding: 0;
}

body {
width: 450px;
height: 335px;
font-family: “Arial”, sans-serif;
font-size: 10px;
color: white;
}

.header {
background:#34495e;
min-height:35px;
padding-top: 10px;
padding-bottom: 10px;
}

.header .layout-positioner {
background: #c0392b;
min-height:30px;
margin: 0 auto;
width: 345px;
padding-left: 5px;
padding-top: 5px;
}

.menu {
background: #3498DB;
min-height: 30px;
padding-top: 5px;
padding-left: 10px;
}

.layout-positioner {
width: 350px;
margin: 0 auto;
}

.layout-positioner:after {
content:"";
display:table;
clear:both;
}

.promo {
background: #34495e;
padding: 10px;
}

.promo .layout-column {
width: 160px;
background: #c0392b;
min-height: 50px;
padding: 5px;
}

.column-1-1 {
float:left;
}

.column-1-2 {
float:right;
}

.promo2 {
background: white;
padding: 10px;
}

.layout-column-2 {
background: #3498DB;
float:left;
margin-right: 10px;
min-height: 110px;
}

.layout-column-2-x {
background: #3498DB;
float:right;
min-height: 110px;
}

.column-2-1 {
width: 65px;
padding-top: 5px;
padding-left: 5px;
}

.column-2-2 {
width: 185px;
padding-top: 5px;
padding-left: 5px;
}

.column-2-3 {
width: 65px;
padding-top: 5px;
padding-left: 5px;
}

.footer {
background: #34495e;
min-height: 30px;
padding-top: 5px;
padding-left: 10px;
}
/*
Используемые цвета:
#34495e – мокрый асфальт
#c0392b – красный
#3498DB – синий
*/`[/details]

Кому удобней — codepen.

Правило с отдельными стилями для .header .layout-positioner мне не нравится. Названия классов немного намудрили, зачем было писать 1-1, 1-2 - не поняла, или еще там есть 2-x. Над группировкой общих стилей можно еще поработать.

Спасибо за фидбек! Над группировкой буду думать.
1-1 и 1-2 — это просто обозначение блоков, чтобы не путаться. В задании было 2 блока с колонками, первый блок называется (сюрприз) — 1, в нем первая колонка 1-1, вторая 1-2. Второй блок по аналогии:) Как можно было лучше обозначить?

А зачем каждый блок, где три колонки еще дополнительно обернули в layout-column? Я думаю, можно обойтись.
А насчет названий классов, в блоке с тремя колонками это могут быть left-sidebar, right-sidebar и main-content к примеру.