Сетки / Испытание: строим сетку [27/32] на 100%

Испытание пройдено на 100% буду рад если кто либо покажет на ошибки , возможно можно было бы все сделать более проще.
html

<html lang="ru">
    <head>
        <title>Испытание: строим сетку</title>
        <meta charset="utf-8">
    </head>
    <body>
        
        <div class="header">
            <div class="layout-positioner">
                <div class="layout-column">
                    <div class="content">Header</div>
                </div>
            </div>
        </div>
        
        <div class="menu">
            <div class="layout-positioner">
                <div class="layout-column">
                    <div class="content">Menu</div>
                </div>
            </div>
        </div>
        
        <div class="promo">
            <div class="layout-positioner">
                <div class="layout-column1">
                    <div class="content">Promo 1</div>
                </div>
                <div class="layout-column2">
                    <div class="content">Promo 2</div>
                </div>
            </div>
        </div>
        
        <div class="middle">
            <div class="layout-positioner">
                <div class="layout-column1">
                    <div class="content">Left</div>
                </div>
                
                <div class="layout-column2">
                    <div class="content">Main</div>
                </div>
                
                <div class="layout-column3">
                    <div class="content">Right</div>
                </div>
            </div>
        </div>
        
        <div class="footer">
            <div class="layout-positioner">
                <div class="layout-column">
                    <div class="content">Footer</div>
                </div>
            </div>
        </div>
    
    </body>
</html>

css

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

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

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

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

.content {
   padding: 5px; 
}

.header .layout-column {
    width: 350px;    
    min-height: 35px;
    background: #c0392b;
    float:left;
    margin-top:10px;
    margin-bottom:10px;
}

.menu .layout-column {
    min-height: 35px;
    float: left;
}

.promo .layout-column1,
.promo .layout-column2{
    width:170px;
    min-height: 60px;
    background: #c0392b;
    float: left;
    margin-right: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
}

.promo .layout-column2{
    margin-right: 0px;   
}

.middle .layout-column1,
.middle .layout-column2,
.middle .layout-column3 {
    width:70px;
    min-height: 110px;
    background: #3498DB;
    float: left;
    margin-right: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
}

.middle  .layout-column2 {
    width: 190px;    
}

.middle .layout-column3{
    margin-right: 0px;   
}

.footer .layout-column {
     min-height: 35px;
}

.header {
    background: #34495e;   
}

.menu {
    background: #3498DB;    
}

.promo {
    background: #34495e;   
}

.middle  {
 
}

.footer {
    background: #34495e;   
}

/*
    Используемые цвета:
    #34495e – мокрый асфальт
    #c0392b – красный
    #3498DB – синий
*/