Помогите сделать МИР (зачеркнуто) КОД лучше ^_^

Нид хелп
Насмотрелась на короткий HTML-код среди комментариев и нужен совет по поводу более длинного варианта. Чего не стоило делать, что можно сделать аккуратнее?

<body>
    <div class="header grey"> 
        <div class="positioner">
            <div class="layout-header red simple"> Header </div>
        </div>
    </div>
    
    <div class="menu blue"> 
        <div class="positioner">
            <div class="layout-menu simple"> Menu </div>
        </div>
    </div>
    
    <div class="promo grey"> 
        <div class="positioner clearfix">
            <div class="layout-promo-1 red"> Promo 1 </div>
            <div class="layout-promo-2 red"> Promo 2 </div>
        </div>
    </div>
    
    <div class="columns"> 
        <div class="positioner clearfix">
            <div class="layout-column-1 blue"> Left </div>
            <div class="layout-column-2 blue"> Main </div>
            <div class="layout-column-3 blue"> Right </div>
        </div>
    </div>
    
    <div class="footer grey "> 
        <div class="positioner">
            <div class="layout-footer simple"> Footer </div>
        </div>
    </div
    
</body>

CSS:

.grey {
background-color: #34495e;
}
.red {
background-color: #c0392b;
}
.blue {
background-color: #3498DB;
}

.clearfix {
display: table;
content: “”;
clear: both;
}

.simple {
height: 25px;
padding: 5px;
}

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

.header {
padding: 10px 0px;
}

.layout-promo-1,
.layout-promo-2 {
float: left;
height: 50px;
width: 160px;
padding: 5px;
margin: 10px 10px 10px 0px;
}

.layout-column-1,
.layout-column-2,
.layout-column-3 {
float: left;
width: 60px;
height: 100px;
padding: 5px;
margin: 10px 10px 10px 0px;
}
.layout-column-2 {
width:180px;
}

.layout-promo-2,
.layout-column-3 {
margin-right: 0px;
}

Если это псевдоэлемент (учитывая свойство content внутри), тогда .clearfix::after
Отдельные классы для фонового цвета - это лишнее.
Не ограничивайте высоту блоков, сетка должна тянуться по высоте при заполнении ее контентом.

Спасибо

px не обязательно при значении 0

также можно (и на сколько я понимаю ) даже нужно избавится от класса clearfix, чем лаконичней код тем лучше, и сделать распорку с помощью добавление псевдоэлемента :after классу .positioner. также уберите лишний блок у футера.