Финальное испытание 100%. Вложенность селекторов не > 2

Постарался минимизировать код в том числе и с помощью минимальной вложенности.

.palette-small {
display: flex;
flex-direction: column-reverse;
justify-content: center;
}

.palette-box:nth-of-type(1) .color-4,
.palette-box:nth-of-type(1) .color-3 {
align-self: center;
}

.palette-box:nth-of-type(1) .color-4 {
order: -1;
}

.palette-box:nth-of-type(1) .color-3 {
order: 1;
}

.palette-box:nth-of-type(2) .palette-small {
justify-content: space-between;
}

.palette-box:nth-of-type(2) .color-4,
.palette-box:nth-of-type(2) .color-1 {
align-self: flex-start;

}

.palette-box:nth-of-type(2) .color-6,
.palette-box:nth-of-type(2) .color-2 {
align-self: flex-end;
}

.palette-box:nth-of-type(3) .palette-small,
.palette-box:nth-of-type(4) .palette-small {
flex-direction: row;
justify-content: space-between;
}

.palette-box:nth-of-type(3) .part,
.palette-box:nth-of-type(4) .part {
display: flex;
}

.palette-box:nth-of-type(3) .part {
flex-direction: column;
justify-content: space-between;
}

.palette-box:nth-of-type(4) .part:last-of-type {
flex-direction: column-reverse;
justify-content: space-between;
}

justify-content много раз повторяется, можно попробовать переделать, перенести свойство выше.

.palette-small {
display: flex;
flex-direction: column-reverse;
justify-content: space-between;
}

.palette-box:nth-of-type(1) .palette-small:nth-child(1) {
justify-content: center;
}

.palette-box:nth-of-type(1) .color-4,
.palette-box:nth-of-type(1) .color-3 {
align-self: center;
}

.palette-box:nth-of-type(1) .color-4 {
order: -1;
}

.palette-box:nth-of-type(1) .color-3 {
order: 1;
}

.palette-box:nth-of-type(2) .color-4,
.palette-box:nth-of-type(2) .color-1 {
align-self: flex-start;

}

.palette-box:nth-of-type(2) .color-6,
.palette-box:nth-of-type(2) .color-2 {
align-self: flex-end;
}

.palette-box:nth-of-type(3) .palette-small,
.palette-box:nth-of-type(4) .palette-small {
flex-direction: row;
}

.palette-box:nth-of-type(3) .part,
.palette-box:nth-of-type(4) .part {
display: flex;
}

.palette-box:nth-of-type(3) .part {
flex-direction: column;
justify-content: space-between;
}

.palette-box:nth-of-type(4) .part:last-of-type {
flex-direction: column-reverse;
justify-content: space-between;
}

А здесь нельзя перенести в верхнее правило?