For months, Natalia Honcharenko had clung to the hope that her son, a Ukrainian soldier who helped defend the Mariupol steelworks against relentless Russian attack, might still be alive.
Ievhenii Honcharenko, 27, was declared a prisoner of war at the end of May, two weeks after the last 250 of the fighters holed up in the plant surrendered to Russian forces, bringing to an end the nearly one-year-old war's most devastating siege.
But DNA tests proved that the remains of a body brought back to Ukraine in September as part of a POW exchange were his.
And on a cold late January day, Natalia finally laid him to rest, among a sea of Ukrainian flags set on hundreds of other graves of fallen Kharkiv soldiers.
"My heart aches. I can't speak. He was a child of gold," she said, her voice soft and tearful.
Standing among Ievhenii's many mourners at the cemetery in the northeastern city of Kharkiv, childhood friend Oleksii Kolovorotnyi recalled a reassuring presence.
"When the war broke out, he was already with his unit. I called him, he calmed me down... He said: 'Oleksii, everything will be fine. We're chasing them away.' I hardly kept in touch with him since then because of the war."
Oleksii was told that Ievhenii, who moved from Kharkiv to Mariupol with his wife and daughter before the war and fought with the Azov Regiment that played a key role in the steelworks' defence, was killed in combat on April 15.
"What I know is that they were moving across a bridge, and something happened there," his friend added. "As far as I know (his remains) were in the water for a long time."
For florist Natalia Chyipesh, busy preparing yet another black-ribboned bouquet in her Kharkiv shop, the sad gathering held in Ievhenii's honour is all too familiar.
"One lady shopper told me recently that I must have got used to it all. But it is impossible to get used to something like this...," she said. "Before, people used to die of old age... It's a totally different thing to make wreaths for our youth."
(Writing by John Stonestreet; Editing by Mark Heinrich)