James McAvoy is Charlize Theron’s kind of men