Я не читал вашу реализацию я скажу то как бы я примерно такое реализовал.
Главный родительский блок имеет ширину допустим 1500px, также имеет 2 дочерних блока шириной 500 пикселей.
Главному родительскому задаем свойство display:flex + justfiy-content:space-beetwen;, таким образом мы раздвигаем блоки по краям нашего главного род. блока.
Далее создаем тень левому и правому дочерним блокам.
С картинки не видно налаживается ли там тень или нет но далее в дочерних создаем основные текстовые блоки и псевдо элементом уже делаем треугольник относительно нашего текстового блока(или можно дивкой с абсолютом сделать как вариант).
И там уже z-index если тень налаживается на блок, хотя тут вроде может не сработать, но концепция была бы такая.