Испытание: строим сетку [27/32] 100% Объясните почему не получается сделать другим способом.

В общем, ниже разметка и стили, однако в стилях не работает свойство margin у класса .header .layout-column
То есть маргин как бы делается, но при этом эти 10 пикселей сверху приобретают белый фон, а не темно-синий. Что странно, учитывая, что .layout-column находится внутри обёртки, которая, в свою очередь, внутри .header, и должна вроде как растягиваться. Но может я что-то не знаю или не так понял?
Решилось всё обычным paddingом-топ для header’а, вместо маргина для layout-column, однако я так и не понял, почему не получалось маргин нормально применить?
При этом, у класса .promo .column всё прекрасно работает

(извините за оформление темы, я еще недостаточно хорош для этого)

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

СТИЛИ

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

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

/*
    Используемые цвета:
    #34495e – мокрый асфальт
    #c0392b – красный
    #3498DB – синий
*/
.layout-positioner {
    
    width: 350px;
    margin-left: auto;
    margin-right: auto;
 
}
.layout-positioner::after {
    content: "";
    display: table;
    clear: both;
}
.header {
    background: #34495e;**
    padding-top: 10px;**    /*пришлось добавить паддинг-топ*/
}

.header .layout-column {
background: #c0392b;
min-height: 35px;
padding: 5px;
box-sizing: border-box;
margin-bottom: 10px; **раньше тут еще и маргин топ был **

}
.menu {
    background: #3498DB;
}
.menu .layout-column {
    min-height: 35px;
    padding: 5px;
    box-sizing: border-box;
    
}
.promo {
    background: #34495e;
    margin-bottom: 10px;
}

с блоком ниже всё работает отлично
.promo .column {
min-height: 60px;
background: #c0392b;
width: 170px;
padding: 5px;
box-sizing: border-box;
margin: 10px 0 10px 0;
}
.promo .column1 {
float: left;
}
.promo .column2 {
float: right;
}
.features {
margin-bottom: 10px;
}
.features .column {
background: #3498DB;
margin-right: 10px;
min-height: 110px;
padding: 5px;
box-sizing: border-box;
}
.features .column1 {
float: left;
width: 70px;
}
.features .column2 {
float: left;
width: 190px;
}
.features .column3 {
float: right;
width: 70px;
margin-right: 0px;
}
.footer {
background: #34495e;
}
.footer .layout-column {
min-height: 35px;
padding: 5px;
box-sizing: border-box;
}

Эффект, который вы описали, называется эффектом “выпадания внешнего отступа”. Был рассмотрен в курсе “Блочная модель документа”.

Точно. Записывал даже этот момент. Получается, что сделал я всё правильно.
Спасибо.