Lando Norris sealed pole for the Spanish Grand Prix with a stunning lap, pipping Max Verstappen by just 0.20s.