Wilson throws for 2 touchdowns as Seahawks hold off Cardinals 28-21