Very relatable problem. Most guys in the store have that perfect little soldier look or look a little douche-y. They are often in their 40's to 50's (Just like most of the women there are in their 20's at most)
I like your attempt. not very punchable

And as far as I can judge it he seems an attractive 30ish year old. Only thing I dislike is his expression. It's not a bad expression it's just a personal thing.
This was my attempt btw (College age guy so a little younger than yours):
View attachment 1514354