The issue is that Hugo (or more properly, its markdown renderer) is rendering text directly in <p> tags, and rendering images also in <p> tags. There’s therefore no way (that I can tell) to write CSS to make the text less wide without also making image less wide.
I could have some JS that runs onload and looks for <p> tags which only contain images and does something funny with them, but I’d like to avoid that if possible!
Do you have an example of a demo page which achieves this? I looked through the Simplicity demo and I can’t find one.
For example the source code for this page https://themes.gohugo.io//theme/simplicity/2017/03/11/images/ has the same HTML structure as above, and the text is just as wide as the image. I don’t think one could do something different except with JS, although who knows.