Jak odwrócić kolejność zagnieżdżonych elementów podrzędnych

Załóżmy, że mam następujący kod HTML

HTML

<div class="a">
  <div class="b">
   <div class="c"></div>
  </div>
</div>

CSS

.a, .b, .c {
  width: 100px;
  height: 100px;
  position: relative;
}

.a {
  background: red;
   z-index: 999;
}

.b {
  background: green;
   margin: 40px;
   z-index: 500;
}

.c {
  background: gray;
  margin: 40px;
  z-index: 100;
}

Teraz chcę, żeby było dokładnie odwrotnie, tzn. Czerwone na górze. Próbowałem użyć z-index z pozycją ustawioną narelative ale to nie działa. Tutaj jestjsfiddle próbny

questionAnswers(1)

yourAnswerToTheQuestion