Charles Leclerc stunned the McLaren duo of Oscar Piastri and Lando Norris to claim pole position for the Hungarian Grand Prix.