James McAvoy seems to have cracked the code for stylish middle-aged smart casual.
The 47-year-old Scottish actor appeared on Late Night with Seth Meyers this week, wearing what might just be the perfect answer to the notoriously vague dress code—and there wasn't a quarter-zip or pair of chinos in sight.
Instead, McAvoy opted for a charcoal-gray suit, comprising a relaxed blazer and matching trousers, worn over a light-colored, subtly striped crewneck T-shirt. He finished things off with dark shoes. Nothing particularly complicated, but that's part of the appeal.

The secret is in the proportions. The jacket sits loosely on his shoulders rather than clinging to them, while the trousers have enough room through the leg to avoid looking like something left over from the skinny-suit era. And by swapping a traditional dress shirt for a T-shirt, McAvoy makes what could have been a fairly conventional suit feel a whole lot more relaxed, without losing any of its polish.
It's an outfit that works beyond the confines of a late-night television studio. Dinner with friends? Absolutely. A slightly fancy birthday party? Sure. An occasion where the dress code says “smart casual” and nobody really knows what that means? Even better.

