After almost three months of relentless assault, Mariupol has fallen. Ukraine's military says its combat mission in the besieged port is over. More than any other Ukrainian city, Mariupol has come to symbolise the ferocious brutality of Russia's assault and the stubbornness of Ukraine's resistance.
On Wednesday 23 February, Ivan Stanislavsky left his camera bag at the office. He was on his way to see the layout of his new book on Mariupol's Soviet-era murals at a colleague's house, and didn't want to lug the gear around. He could always pick it up the next day.
But on Thursday, as he stood in the street outside his locked and deserted office, he could hear thunderous sounds rolling in from the east. The city was under fire.
As the conflict intensified, and gunfire became audible to the west too, Ivan moved his mattress into the hall. He piled up his large collection of art books - including the Encyclopaedia of Ukrainian Rock Music - against the windows of his flat in the district of Primorsky.
"Let's say it was not a waste of a library," says the 36-year-old photographer, who is also a press officer at Ukrainian premier league football club FC Mariupol.
Across town in the neighbourhood of Kalmiusky, businessman Yevhen was also taking precautions. The 47-year-old had told his family to pack so they could escape the city. But when he returned from the office, he found no packing had been done. His family refused to leave.
In an apartment in the same block, metallurgists from the nearby steelworks, Nataliia, 43, and Andrii, 41, were already slicing the last two loaves they had been able to buy, leaving them to dry out so they could eat them piece by piece over the weeks ahead.
Volodymyr, a 52-year-old paramedic in Kalmiusky, was also in his kitchen, trying to absorb the news. When reports came in of Russians marching through the village of Chonhar - on a strategic road out of Crimea to the west - he choked. This was a coordinated attack, he realised.
The ambulance dispatcher was on the phone. She instructed Volodymyr to ignore routine calls. "Find the wounded", he was told.
Twenty-two-year-old engineering graduate Mariia thought the first explosion she heard was simply a storm. Then she heard a second.
"We didn't know what to do," says Mariia, who like Ivan, lived in Primorsky. "I didn't have time to think about my future, my plans. I had to think about what I'd eat and drink... [And] what to do with the cats."
It suddenly dawned on her why, in the past few days, soldiers had appeared in the paint shop where she worked, asking to buy blue and yellow tape. They needed it to mark their uniforms.
Four days into the war, with the fighting closing in, Ivan and his wife sought shelter in a basement underneath his local supermarket. It offered good protection, and Ivan found that the muffling of sound dulled his sense of mounting anxiety.
Daily life was being stripped down to bare essentials.
"We lived like primitive people," he told the BBC from Lviv, where he has now fled. "We broke trees, made fires, cooked food on fires. I even heard of people eating pigeons."
He watched as order gradually broke down all around him. He kept a vivid diary, later published online.
"The Stone Age has arrived," he says in his 6 March entry.
He writes of watching his fellow Ukrainian citizens raiding abandoned shops, making off with everything from computers and freezers to swimsuits and underwear.
One evening a drunk woman interrupts a session of evening gossip in the basement. "Treat yourself," she says, as a flashlight revealed a bottle of Californian Merlot, taken from Wines of the World on nearby Italiiska Street.
But aware that even medical supplies and cash tills were being taken, Ivan says he felt disgust.
"We are our own worst enemies," he writes.
But is this, he wonders, how the fittest survive? After a while, each day became a "combat mission".
Over a few short weeks, Mariupol fell apart. The Russian military laid siege to the city, attacking power and water supplies. A Russian airstrike hit the maternity hospital on 9 March, and a plane bombed its theatre - clearly marked as a civilian shelter - a week later.
Ivan was stunned at how quickly it all happened.
"The whole city, all its infrastructure, supply system, logistics, energy supply were destroyed in a matter of days," he says.
Sitting underground at night, he sensed people becoming passive.
"You can only wait in the shelter," he writes in his diary. "Some are waiting for spring, some - for the morning to come, some - for the end of the war. And someone is waiting for the bomb to come and kill everyone."
And all this just as Mariupol had seemed destined to turn a corner. Money began to pour in, adding lustre to a city previously associated mainly with heavy industry - and war.
"It was a city aspiring to something," Ivan says. It hadn't always been this way.
Long before this year's invasion, Mariupol had a ringside seat to Ukraine's simmering conflict with Russian-backed separatists in Donetsk and Luhansk, the two regions that make up the neighbouring area known as Donbas.
When fighting first broke out there in 2014, the government briefly lost control of Mariupol after clashes with pro-Russian protesters. In January 2015, a devastating rocket attack by the rebels on the eastern edge of the city killed almost 30 civilians.
Even though the war gradually receded, the sound of artillery booming in the distance was part of Mariupol's daily soundscape.
But the city moved on. The Ukrainian government briefly made Mariupol the administrative capital of the Donetsk Oblast. People migrated from rebel-held areas and the city started attracting investment.
"It started receiving all of the resources and all of the attention," Ivan says.
Public buildings were renovated, cafés opened, and new parks created. In a podcast last October, the city's mayor Vadym Boychenko boasted of creating the best municipal services in the country, opening an IT school, and promoting contemporary art and sports.
Plans were afoot, he said, for the largest water park in Ukraine and a version of Disneyland "which will probably be called Mariland". In fact, Mariupol was declared Ukraine's "Big Capital of Culture" in 2021.
But while Mariupol flourished, rebel-held Donetsk mouldered. When the rebels returned to Mariupol, Volodymyr, the paramedic, believed they were driven by revenge to destroy the city.
"'If we live in shit, then you will live in shit as well,'" Volodymyr says they told him at a checkpoint as he finally escaped the city. "They just looked at us and envied how we lived."
Yevhen, the businessman, describes life in Mariupol in the past five years as "a fairytale". "The city was being reconstructed," he says, "all roads were renovated, public transport was improved."
His buildings restoration firm was responsible, among other projects, for the reconstruction of Mariupol's iconic water tower in time for the city's 240th birthday.
"This is a city of hard workers… It was hard for me to explain that my workers should finish at 6pm - they wanted to work longer."
Like many others, weekends would be spent with family in the city's revived parks or on the seafront.
"For me, this is a [key] question - if you want to capture the city, why destroy it? [The Russians] don't need thinking people, they need territory," he says.
And, he adds, he is now getting calls from the Russians to return to Mariupol to help rebuild it.
"But if Mariupol is occupied by Russia, there will be no future there… there will be nothing to live for. To live in unrecognised territory is to bury your children's future."
About 150,000 people remain in the city, from a population of almost half a million. Most of those left there, he says, are also trying to escape.
"I left Mariupol but my soul is there," he says, tears in his eyes.
Nataliia and her husband Andrii worked at the Illich plant, one of two iron and steel works which tower over the city's skyline and loom large in Ivan Stanilavsky's photographs.
They spent long days at work, and leisure time was precious.
"The city authorities laid out marble tiles, made piers [so that] it was possible to sit on a bench right in the sea," Andrii says.
"It was a wonderful warm city with parks, concerts, fountains," his wife says. "A European city."
This recent blossoming was captured by Ivan, but as a photographer with a passion for his city's past, his pet project was documenting Mariupol's remarkable collection of Soviet murals, one of the most extensive in Ukraine.
The cultural importance of preserving such remarkable works seems undeniable, but in Mariupol nostalgia for the Soviet Union jostled uneasily with Ukraine's modern, increasingly European identity, Ivan says.
"Politics was already preventing this cultural heritage from being integrated into Ukraine's artistic context," he says.
So inevitably, when the war came, culture found itself fought over too.
On 28 April, Mariupol's city council denounced the alleged theft by Russia of more than 2,000 exhibits from the city's museums, including ancient icons, a handwritten Torah scroll and more than 200 medals.
The director of Mariupol's Local History Museum, Natalia Kapustnikova, later told Russian newspaper Izvestia that she had personally handed over paintings to the Russians by Ivan Aivazovsky and Arkhip Kuindzhi, and claimed that Ukrainian "nationalists" had burned 95% of the museum's exhibits.
She wasn't the only local official harbouring pro-Russian sentiments. On 9 April, Ukraine's prosecutor general charged a member of Mariupol's city council, Kostyantyn Ivashchenko, with treason after he was declared mayor by pro-Russian separatists in Donetsk.
Ivashchenko's pro-Russian party had been well supported in the city's last elections, coming second, while President Volodymyr Zelensky's party came a distant fifth place.
In a poll conducted just before the elections by the Kyiv-based Centre for Social Indicators, almost half the city's population identified themselves as "Russian", though 80% also described themselves as "Ukrainian".
More tellingly, perhaps, fewer than 20% self-identified as "European", while more than 50% said they were "Soviet".
Nataliia, whose father is Russian, says she asked her husband for forgiveness when the bombing started. "I was ashamed that I was Russian."
Mariia, the engineer, says that before the war her first language was Russian, but when the bombing began "I started to hate all things Russian - language, movies, objects".
Mariupol's complex identity is hardly unique in today's Ukraine, a country which formed an integral part of the Soviet Union until the collapse of communism at the end of the 1980s. And it's doubtful that any of those who described themselves as "Russian" or "Soviet" wanted to see their city destroyed in a violent effort to pull it back into Moscow's orbit.
Ironically, when the moment arrived to defend the city from Russian invaders, it was another part of Mariupol's Soviet-era legacy that came to play an almost iconic role.
This legacy, buried deep underground, is the maze of bunkers beneath Mariupol's other steel works, Azovstal, built by the Soviet authorities during the Cold War.
The 36 bomb shelters provided room for more than 12,000 people. After independence in 1991, no-one thought that much about them. But then the fighting in 2014 began.
"We started thinking about what we would do if fighting spread further into the city," Enver Tskitishvili, Azovstal's director general, says.
Training on the use of the bunkers and their connecting tunnels went on every day for years.
In early February, as the fear of renewed conflict loomed larger, preparations swung into high gear. Food and water were brought in the week before Russia's invasion.
Officials at the plant knew the bomb shelters would soon be occupied, but had little idea that Azovstal, surrounded by water on three sides, would become the scene of Mariupol's last stand.
As the days went by, the war got closer and closer to Ivan Stanislavsky's apartment. Excursions in search of food, even to the nearby Dzerkalnyy store, just 400m up the road, were increasingly perilous. Sometimes, a Ukrainian mortar team would arrive by truck, fire off a few rounds, and leave before the inevitable Russian reply.
There was little communication between civilians and soldiers.
One day, a tank from the Azov Regiment arrived near Dzerkalnyy, sending locals running, fearful of an impending battle. The regiment emerged in 2014 as a highly effective volunteer militia with far right and, in some cases, neo-Nazi affiliations, before being folded into Ukraine's National Guard.
Vladimir Putin has made extensive use of the Azov's controversial origins, in an effort to bolster his argument that he is trying to "de-Nazify" Ukraine. Ukrainian authorities say the regiment's origins are a thing of the past and points out that far-right parties have had very little electoral success.
In his diary Ivan describes the members he knows as a motley assortment of Mariupol natives - bikers, lawyers, football hooligans, and an amateur actor - driven not by ideology, but by a fierce hatred of those who were trying to ruin their lives.
"Together they formed a 'Nazi' battalion and intimidated the entire Russian army," he writes.
Intimidating and effective, but not enough, eventually, to stem the Russian tide.
While the city's defenders fought their losing battle, Ivan heard voices in his basement starting to curse President Zelensky for leaving Mariupol to its own devices.
For all the praise heaped on the city's defenders, it was clear from the start that Mariupol was not the government's main priority. Faced with Russian threats on a number of fronts, the Zelensky government chose to secure the capital, thwarting what was arguably Vladimir Putin's top priority.
Ultimately, that meant letting Russian forces achieve another of their pre-war goals: the establishment of a land corridor between Crimea - annexed by Moscow in 2014 - and the separatists in the Donbas.
But for those trapped in the city, fighting or just trying to survive, it was a bitter pill.
"Some say Mariupol was given the status of a hero city," Ivan wrote in his diary on 13 March.
"It looks like the award will be posthumous."
By now, Ivan couldn't stand any more. Outside Dzerkalnyy supermarket, he saw corpses neatly stacked under a wall. People who once queued for food were now in "the queue of the dead", waiting to be buried.
So on 15 March Ivan bundled four family members and his cat into his miraculously unscathed Skoda Fabia and joined a convoy for the tortuous journey north-west to government-held Zaporizhzhia.
At an observation point on Markelova St looking towards the port and the beach, Ivan allowed himself a brief moment of reflection.
"In my head I'm saying goodbye to this place," he writes in his diary. "I have a feeling we will never return here."
A day later, Mariia and five relatives also left by car, carrying just personal belongings and the family's dog. As they made their way out of Mariupol, their convoy came under attack and the cars had to accelerate out of danger, headed first to Zaporizhzhia, then to Dnipro.
The following day, Nataliia and Andreii left, after a neighbour offered them a space in his car. The couple eventually reached the city of Khmelnytskyi where they have been selling the family's coin collection in order to survive.
In that same convoy, Yevhen travelled with his wife and two other relatives. He's now in Dnipro, helping other residents who escaped Mariupol, and trying to reach those who remain.
Volodymyr, the paramedic, stayed in Mariupol as long as he could, to look after his elderly mother. But deprived of food and special medicine, she died. He then left the city on 21 April, and is volunteering at a hospital in Dnipro.
"There are thousands and thousands of families like mine," he says. "How many people have died? How many families have been lost?"
Two months after escaping, Ivan is still watching the death throes of Mariupol from the relative safety of Lviv.
In his diary's poignant epilogue, he writes of flashbacks, text messages about deaths or lucky escapes, and phone calls that go unanswered.
"The subscriber is out of range."
With additional reporting by Kateryna Khinkulova and Illia Tolstov
War in Ukraine: More coverage
- BUCHA: The children's camp that became an execution ground
- ANALYSIS: The spy war within the war
- FRONTLINE: Pinned down by Russian fire in key village
- READ MORE: Full coverage of the crisis