Как сделать такой пунктир и не засорить код мусором?
Ну тогда можешь так сделать, если фон позволяет:snippet
Линию, которая делает а-ля мигание, можешь сделать тоже на повторяющийся градиент по ширине нескольких пунктиров, чтобы сделать анимацию через нужный промежуток. (Мне самому лень это делать, это долго.) Либо же просто начинать этот блок после каждой секции, чтобы его копии был разделителями между секциями.Если нужно прямо как на сайте — без разметки тебе не обойтись.
Более простой вариант анимации именно линии делается так, например:snippet
В последнем примере анимирование не через background-position, потому что такой метод не работает с направлением градиента to bottom.
там же есть все.<div class="dashed-line"></div>
CSS:.dashed-line {
  animation: height 4s cubic-bezier(1.0,2.0,0,1.0) 1000ms forwards;
}

@keyframes height {
0% {
    height: 0px;
}
100% {
    height: 215px;
}
}