At first glance, there is no sign of a demonstration at the central square of Rostov-on-Don, a southwestern Russian city near the border with Ukraine.
Just a scattering of young people wearing headphones and hanging around on their own, studiously avoiding the clusters of police officers surveying the scene.
But these young Russians are here because of a call on messaging app Telegram to protest against Russia’s invasion of Ukraine.
After an hour of standing around in the cold, furtively trying to catch each other’s eyes, some discreetly form tiny groups and exchange a few muttered words. No slogans, no banners, no chants.
The police conduct ID checks on those who linger too long. Journalists have their papers scrutinised and photocopied. Security agents wearing civilian clothing home in as soon as a reporter’s microphone appears.
Russians have turned out en masse in big cities like Moscow and Saint Petersburg to protest against the war despite hundreds of arrests.
In Rostov, far from the relative safety in numbers, the handful prepared to protest are brave and terrified in equal measure.
Clutching coffees to warm their hands, a young couple readily agrees to be interviewed on camera.
“Yes, please talk to us,” says 30-year-old theatre technician Nikolai Kovaschevich.
– ‘Everyone’s frightened’ –
“Threatening the world with nuclear weapons won’t get us anywhere,” he says.
“It’s a dead end. There’ll be no future. There’ll be no children born. There’ll be no tomorrow, in fact,” he concludes, visibly upset.
His partner, 29-year-old vlogger Margarita Khaishbasheva, waves her arm around the empty square.
“Everyone’s frightened. Everyone’s scared of being jailed (or) getting huge fines they can’t pay.”
“We live in a police state. People live in terrible fear,” she says, her voice cracking with emotion.
Standing alone a few metres away, Anton declines to give his surname. The 23-year-old English literature student is scared of being caught out by plain-clothes security officers and asks us for “proof you really work for AFP” before opening up.
Yet when a shaven-headed man in a black beanie zones in on us and pointedly stares, and a policeman asks for our papers for the second time in less than an hour, the young student stays by our side.
Anton hails from Lugansk, Ukrainian territory held by Kremlin-backed separatists just 200 kilometres (124 miles) north of Rostov.
“No one I know agrees (with the invasion of Ukraine),” he confides.
“No one wants these people to die. But only a few of us are prepared to do anything, to speak out or help. The others aren’t.”
– ‘An insane war’ –
Nikolai Zima, 18, is studying business. He was still underage when he started attending meetings in support of Russian opposition leader Alexei Navalny, who was poisoned and then jailed in what his supporters say is punishment for standing up to President Vladimir Putin.
Today Zima says he is “ready to go to war” if he is called up.
“If we are attacked, yes, I’m ready to go,” he says. “But not against Ukraine or other sister nations.”
“This is an insane war. I’m totally against it. I can’t remain indifferent,” he says, casting round at the deserted square.
Irina Aroyan, who is there with her teenage son, is the only person carrying a “sign” — a bow tied to her bag in the blue and yellow colours of the Ukrainian flag.
“I am ashamed of my country and my army, who aren’t protecting anyone and who are attacking another country,” the 52-year-old says.
Once an independent journalist, Aroyan now teaches English to young people “to make ends meet”.
During the lessons she talks politics. “Unfortunately, all we have in Russia is propaganda and pro-Kremlin television,” she says.
Of her 10 students, eight have told her they support the war.
“Sadly, 80 percent of young people are victims of this propaganda. They have no idea what’s going on in the world.”