Cards fall to D’backs in 16-inning marathon