Испытание: строим сетку [27/32] Проверка и оптимизация

Здравствуйте! Прошу проверить и подсказать. Что можно сделать лучше?

Испытание: строим сетку
    <div class="main">
            <div class="header">Header</div>
            <div class="menu">Menu</div>
            <div class="promo-block">
                <div class="promo1">Promo 1</div>
                <div class="promo2">Promo 2</div>
            </div>
    </div>
    
    <div class="content">
        <div class="left">Left</div>
        <div class="center">Main</div>
        <div class="right">Right</div>
    </div>
    
    <div class="footer"><p>Footer</p></div>       
    
</body>

html,
body {
margin: 0;
padding: 0;
}

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

.main {
background: #34495e;
}
.main::before{
content: “”;
display: table;
}
.main::after{
content: “”;
display: table;
clear: both;
}
.header {
background: #c0392b;
width: 350px;
min-height: 35px;
margin: 10px auto;
}
.menu {
background: #3498DB;
min-height: 35px;
}

.promo-block {
width: 350px;
min-height: 60px;
margin: 10px auto;
}

.promo1, .promo2 {
background: #c0392b;
min-height: 60px;
width: 170px;
float: left;
}

.promo1 {
margin-right: 10px;
}

.content {
width: 350px;
margin: 10px auto;
}
.content::after{
content: “”;
display: table;
clear: both;
}
.left, .right {
background: #3498DB;
width: 70px;
min-height: 110px;
float: left;
margin-right: 10px;
}

.right {
margin-right: 0;
}
.center {
background: #3498DB;
width: 190px;
min-height: 110px;
float: left;
margin-right: 10px;
}

.footer {
background: #34495e;
min-height: 35px;
}

Почему у вас в коде три распорки, причем одна из них без свойства clear?
Нет единого выделенного центровщика, поэтому фрагмент много раз повторяется: