Carlos Alcaraz soaked up everything Novak Djokovic could throw at him before marching into his second US Open final and denying the 38-year-old a shot at a record-breaking 25th Grand Slam title.