Вадим: ну я же сказал что твой p не первый. то что ты указал p:first-child - не значит что он не считает впереди стоящие span и h1. итого твой p уже 3. тобишь юзай nth-child(3)
а если попробовать :first-of-type , который ищет 1-ый элемент именно данного типа то есть тег /p> у родителя, может перед ним есть другой элемент, поэтому ваш селектор и не находит то что вы хотите