Как позиционировать элементы не создавая путаницы в коде?
не используй обращение к тегам в css. обращайся только по классу. задавай нужные отступы в классах и присваивай их своим < p >
p.s. а вообще почитай на досуге https://ru.bem.info/
А зачем такая сложная вложенность?
Чем не устраивает хотя бы просто:p {
color: #000;
font-size: 14px; 
// и т.д.
}
.one {
   padding: 0;
   margin: 0;
   line-height: 1;
}
.two {
   padding: 10px 0;
   margin: 10px;
   line-height: .5;
}
// и т.д.
тегу p указываешь все что одинаковое, классам все что разное и классы присваиваешь какие надо на нужных страницах.
Или я не правильно понял вопрос!?