Midway through his rally in Battle Creek, Michigan, this week, US President Donald Trump's trademark vindictiveness bumped up against the limits of decency as he began to disparage a dead man.
Turning his attention to Rep. Debbie Dingell, the widow of former congressman John Dingell, the president suggested that rather than looking down from heaven, as Debbie had previously told him, perhaps John was "looking up" from hell.
The crowd murmured, the crowd grimaced, the crowd groaned. There were cheers and applause, too, but the pockets of hesitation from some of his most loyal supporters underscored a striking note of discomfort with the president's mean streak.
Over the past dozen days or so, the president has spewed forth an advent calendar's worth of cruelty - new barbs popping out almost daily, like so many tiny bitter chocolates - underscoring the instinctual nastiness that is central to his brand and casting doubt on claims from his aides that Trump is merely a counterpuncher.
In addition to taunting John Dingell as his widow prepared for her first holiday season without her husband of 38 years, Trump also ridiculed everyone from climate activist Greta Thunberg to House Speaker Nancy Pelosi, and House Intelligence Chairman Adam Schiff.
Others in his orbit exhibited similar callousness this week. Sarah Sanders, the former White House press secretary, came under near-universal condemnation Thursday night after sending a tweet that mocked former vice president Joe Biden's stutter, after he brought it up during a Democratic primary debate. She later deleted, and apologised for, her tweet.
"Trump is the worst within us, and he markets that worst as admirable," said Stuart Stevens, a Republican operative and frequent Trump critic who was a senior adviser on Mitt Romney's 2012 presidential campaign. "He appeals to our darkest angels, not our better angels."
After Thunberg, a 16-year-old Swedish teenager with Asperger's syndrome, was named Time's "Person of the Year," Trump dismissed the choice as "so ridiculous."
"Greta must work on her Anger Management problem, then go to a good old fashioned movie with a friend!" he tweeted. "Chill Greta, Chill!"
Trump was similarly cutting with Pelosi and Schiff, two of the chief Democrats he blames for the House impeaching him on Wednesday. Over the weekend, Trump - who has publicly called Pelosi "crazy" - privately claimed with no evidence that she is deteriorating and requires the care of her aides, and also tweeted that her "teeth were falling out of her mouth."
At his Michigan rally, Trump said he will no longer "talk about the looks of a male or female," before doing just that and critiquing Schiff's physical appearance. "He's not exactly the best-looking guy we've ever seen," Trump said.
At the same event, Trump urged security to handle a protester a bit more roughly - "You got to get a little bit stronger than that, folks" - and derided her appearance: "There's a slob. There's a real slob."
A White House spokesman responded to requests for comment Friday by noting that Trump, too, has been excoriated by his critics, and providing a list of nearly a dozen Democratic lawmakers who have attacked the president, often in harsh terms.
The list included Pelosi saying she hoped to see Trump "in prison" and Rep. Maxine Waters, similarly saying he should be "placed in solitary confinement." There were 2020 Democratic candidates such as Sen. Elizabeth Warren of Massachusetts, who called Trump a "white supremacist," and Sen. Bernie Sanders, who dubbed him "a phony," "a pathological liar" and "a racist." And there were Democratic Reps. Ted Lieu of California (a "racist a--") and Ruben Gallego of Arizona (a "psychopath" and "sexual predator").
White House press secretary Stephanie Grisham also defended Trump's comments about Dingell on ABC's "Good Morning America," saying the president was speaking before a "wild crowd" and merely hitting back.
"He has been under attack and under impeachment attack for the last few months, and then just under attack politically for the last two-and-a-half years," Grisham said. "I think that, as we all know, the president is a counterpuncher."
The counterpuncher defence is repeated ad nauseam by Trump allies, including first lady Melania Trump, whose key initiative is an anti-bullying campaign called "Be Best."
But by definition Trump is almost always punching down. His targets derision are not only less powerful than a US president, but many are among the weakest and most vulnerable members of society. He has mocked and attacked, among others, immigrants, minorities, women and a reporter with a physical disability.
"A dead guy or a widow or somebody who has a physical handicap or the wives of a candidate - the idea that he's a counterpuncher or a tough guy has been a farce from the start," said Tim Miller, a Republican operative and frequent Trump critic, who was a senior adviser on Jeb Bush's 2016 presidential campaign.
This is also not the first time Trump has tormented the deceased, since he has repeatedly attacked the late senator John McCain.
Stevens said the president embodies the "classic abusing spouse trope," blaming the other person for his own behaviour. "The essence of counterpunching is never having to take personal responsibility," he said.
In the case of John Dingell, Stevens added, Trump's press secretary was falsely trying to claim that the president was firing back at someone who - having been dead for nearly a year - was incapable of launching the first punch. Trump was specifically furious with Dingell's widow, for voting in favour of impeachment.
"The absurdity of that is that they're now claiming he was punched by a dead man," Stevens said.
Critics of Trump were also swift in their condemnation of Sanders's tweet mocking the Biden's stutter. "I I I I I I I I I I I I I I I hhhave absolutely no idea what Biden is talking about," she wrote, using a stutterer's cadence to mimic Biden - who suffered from a childhood stutter and who, during Thursday night's debate, briefly used a stutter for impact as he described children with same challenge approaching him for advice.
"I've worked my whole life to overcome a stutter," Biden responded to Sanders on Twitter. "And it's my great honor to mentor kids who have experienced the same. It's called empathy. Look it up."
Sanders first claimed she was "not trying to make fun of anyone with a speech impediment," before ultimately deleting her tweet and apologising to Biden.
"I actually didn't know that about you and that is commendable," Sanders wrote. "I apologise and should have made my point respectfully."
Sanders found few defenders, with critics decrying her commentary not just on the merits but as an example of how Trump's lack of decency has infected his inner circle. Trump's son Eric has also commented on Biden's speech patterns, offering a critique of the 2020 field to Fox News in which he opined, "Biden can't get through two sentences without stuttering."
"My thought on this week, as it relates to Sarah, is he reveals the cruelty in those around him, or maybe it's his cruelty rubs off among those around him to such a degree that they don't even recognise it anymore," Miller said.
Referring back to the president, he added: "The whole appeal of Trump was his cruelty to the weak."
The president's behaviour also seems to grant permission to some of his supporters to act in similar fashion. At the Michigan rally, whenever Trump mentioned Pelosi, a man clad in a Santa outfit would shout, "Nancy Pelosi is a ho, ho, ho!"
And when the president attacked Dingell, there were surprised gasps, yes, but there were also the attendees who processed that Trump had just attacked a dead congressman from their home state - and then cheered and whistled anyway.
In many ways, Trump's casual viciousness is now an inextricable part of his brand, the attribute that many supporters love and that his critics hate.
An August 2016 Post-ABC News poll found that 57 per cent of Americans said Trump "goes too far in criticising other people and groups," while 42 per cent said he "tells it like it is regardless of whether or not it's politically correct." That same poll found 79 per cent saying Trump does not show enough respect for people he disagrees with, and 58 per cent said this is a "major problem."
A more recent Pew Research survey this spring found similar concerns with Trump's language. Seventy-six per cent said Trump's comments often or sometimes make them feel concerned, 70 per cent said confused, 69 per cent embarrassed and 67 per cent exhausted.
But if Trump's mercilessness has emerged as core to his ethos, not everyone has responded in kind. Faced with the president's remarks this week, Debbie Dingell offered a different model.
"I'm preparing for the first holiday season without the man I love," she wrote on Twitter in a message aimed at Trump. "You brought me down in a way you can never imagine and your hurtful words just made my healing much harder."
"Mr President," she beseeched, "let's set politics aside."