A black-clad Iranian girl stands on top of an overturned garbage bin, waving her headscarf as it is engulfed by flames, amid chants of "death to the dictator."
A moment later, video shows, she crouches to collect another scarf, from a friend, which she will also set on fire in front of the protesters.
The girl was 16-year-old Nika Shahkarami, from Tehran. A few hours after these scenes were recorded on September 20, in videos exclusively obtained and verified by CNN, Nika went missing. And more than one week later, her family learned that she was dead.
Iranian authorities claimed Nika's body was found at the back of a courtyard on the morning of September 21. Her mother wasn't given access to identify her until 8 days later. CCTV footage released by the authorities timestamped just after midnight as September 20 became September 21 showed the figure of a masked person they said was Nika entering a building that was uninhabited, and still under construction in Tehran.
A Tehran prosecutor initially said she died after being thrown from the building's roof, and that her death "had no connection to the protests" of that day, but despite apparently declaring her death a homicide, he did not say whether there were suspects under investigation. State broadcasters reported that she "fell," but did not provide evidence to support the claim it was an accident.
On Wednesday, after CNN asked the government to comment on the evidence in this investigation, an Iranian media report quoted a Tehran prosecutor as saying that Nika's death was a suicide. Iranian authorities still have not responded to CNN's repeated inquiries about Nika's death.
Authorities never explained why Nika would enter that building on her own, and Nika's mother has said she doesn't believe the masked person is Nika. Her mother has said she believes Nika was killed by the authorities, but the authorities have never said whether Nika was in their custody at any point.
But dozens of videos and eyewitness accounts obtained exclusively by CNN indicate that Nika appears to have been chased and detained by Iranian security forces that night. One key eyewitness, Ladan, told CNN she saw Nika being taken into custody at the protest by "several large-bodied plainclothes security officers" who bundled her into a car.
Moments earlier, this witness, while stuck in Tehran traffic, filmed a video that purportedly shows Shahkarami ducking behind a white car and yelling "tekoon nakhor, tekoon nakhor" -- which means "don't move, don't move" -- to its driver before running away from the brief shelter it gave her.
Seven people who knew Nika and spoke to CNN confirmed it was her. The same footage, filmed at 8.37 p.m. on September 20, also shows anti-riot police on motorcycles, patrolling the area.
"I wanted to save her, but I couldn't," said Ladan. "There were about 20 or 30 Basijis on motorcycles on the sidewalk," she said, using the local name for the paramilitary organization that has been at the forefront of the state's crackdown on protesters.
"Shahkarami was throwing rocks at them. I was scared and I even went past her and said, 'Be careful dear!' because there were a number of plainclothes police in the streets going through the cars looking for her.
"Fifty meters ahead they got her," Ladan added.
Ladan came forward to CNN after realising that the teenager she had filmed and spoken to was the one whose death had been reported days later. CNN exclusively spoke to several witnesses who were at the Tehran protest on September 20 with the help of activist group 1500Tasvir.
Other videos, including the scarf-burning ones, are evidence that Nika was at the forefront of the protests earlier in the night, before the crackdown started -- fearlessly leading chants and throwing rocks, according to several testimonies.
That would have made her a target for security forces, including members of Iran's feared Basij militia, as they started to descend into the area around the University of Tehran and Keshavarz Boulevard where most of the protesters gathered that evening, witnesses said.
"I remember how brave she was because she would go up on the garbage bin and wouldn't come down. She also burned her head scarf," said Najmeh, a protester who was with Nika at the demonstration.
CNN is using pseudonyms for all of the witnesses quoted in this investigation, due to the risk to their safety.
Police 'firing tear gas and pellet shots'
Students had gathered near Laleh Park around 5 to 6 p.m. on September 20 to protest the death of Mahsa Amini, a 22-year-old Kurdish-Iranian woman who died last month in state custody after being detained by the country's morality police, allegedly for how she was dressed.
The scene was one that has become familiar in Tehran in recent weeks: young people, mostly women, chanting "death to the dictator," burning headscarves and throwing rocks toward security forces.
At one point, a trash bin was brought over and overturned to block the road. Nika hopped on top along with a couple of others, video footage showed.
"She burned her head scarf and waved it. I told her not to wave it because you could burn yourself, just hold it until it burns," said Nima, who was also at the protest and saw the events unfold. "Then she took the headscarves of the two friends who were with her and burned those as well."
In other videos from that evening geolocated and verified by CNN, Nika is shown hurling rocks at anti-riot police forces. She's carrying a distinctive CAT rucksack and wearing a black mask and hat on her head. Sounds that appear to be gunshots can be heard.
From 7 to 8 p.m., the security forces' crackdown intensified, witnesses said. "They were firing tear gas and pellet shots and grabbing protesters. Almost all of us were confronting them and running away," said Reza, another witness.
As anti-riot police and Basij forces filled the streets, protesters started to move in all directions to escape the crackdown.
Another witness, Dina, who spent some of the protest walking alongside Nika, told CNN she saw Nika in front of a gas station not far from the University of Tehran, where the group of protesters had gathered after fleeing tear gas launched by the security forces. Others managed to capture on video those being detained by what appeared to be plainclothes officers.
Reza added: "I saw with my own eyes security forces hitting women with batons, and they grabbed many of them and took them to police vans."
It is in this context of extreme repression of the protest that Nika was last seen by the witnesses who spoke to CNN -- and nine more days would pass before her family was given official word of her whereabouts. Videos verified and geolocated by CNN prove that the girl, in the last witness footage provided to CNN showing her alive, was hemmed in by security forces on three sides.
"I think Nika got stuck that night when we were running away. Because she was very young," Dina said.
Conflicting accounts
While Iranian authorities insist Nika died on the grounds of that uninhabited building, her mother Nasrin told Etemad, an independent Iranian newspaper, in an interview published on October 10 that she believes her daughter "was at the protests and killed there."
Iranian security forces arrested eight people who were workers in the building which Nika allegedly entered a few hours after eyewitnesses saw her at the September 20 protests, state-aligned news agency Tasnim reported on October 4. Tehran's prosecutor Ali Salehi said a judicial criminal case had been launched and expressed his condolences to Nika's family, state run IRNA said.
Mohammad Shahriari, the head of criminal prosecution of Tehran province, initially said Nika's injuries corresponded with having been "thrown down," citing an autopsy that revealed multiple fractures in the area of the pelvis, head, upper and lower limbs, hands, feet and hip, Tasnim reported.
He added that "an investigation showed this incident had no connection to the protests. No bullet holes were found on the body."
CNN has repeatedly sought comment from the Iranian authorities on whether Nika was detained at the protests that night and whether other women were assaulted and put in police vehicles. CNN also asked the Tehran prosecutor's office about the status of the criminal investigation into Nika's death. No responses were received prior to the publication of this story.
On Wednesday, the online news outlet Mizan, which is affiliated with Iran's judiciary, published a report saying that Nika's death had been a suicide, citing a prosecutor.
However, a death certificate first seen by BBC Persian and verified by CNN states that Shahkarami died from multiple injuries caused by blows with a hard object.
In the Etemad interview, Nasrin said she had spoken by phone with Shahkarami many times on the day she disappeared. The background noise during the calls indicated she and the other protesters were fleeing from security forces, Nasrin added.
Nika also mentioned a few locations she was in -- Enghelab Square, Keshavarz Boulevard and Valiasr street -- according to Nasrin, which match the videos geolocated by CNN.
Nasrin last spoke with her daughter just before midnight, she said, and after that, all her attempts to call Nika indicated that Nika's phone had been disconnected. Nika's Instagram and Telegram accounts were deleted, according to Nika's aunt and several protesters who spoke to CNN.
For days, her family says they went to police stations, jails, and hospitals looking for traces of her, all to no avail. Finally, on September 30, Nika's mother and brother were asked to identify Nika's corpse, she told BBC Persian.
On October 6, in an interview with Radio Farda, Nasrin claimed that while she and other members of the family were looking for Nika in the days after her disappearance, one person gave her Nika's national ID number and told her "the IRGC got her, they wanted to slowly interrogate her."
That matches what Shahkarami's aunt, Atash, told BBC Persian soon after she disappeared. "An unofficial source from the IRGC themselves got in touch with me and said, this kid was in our custody a week ago, and after we were done interrogating and building the case file, 1 or 2 days ago (she) was transferred to Evin prison," Atash said.
Atash and Nika's uncle, Mohsen, were subsequently arrested by Iranian security forces and forced to make a false statement, according to BBC Persian, citing a source close to the family. Following the BBC's reporting, when reached by CNN, Atash asked not to be contacted again, citing safety concerns.
While the family searches for answers, the people who were with Nika on that day are also still reeling from her death.
"The situation was very scary, and everyone thought of escaping," Dina said. "I can't forgive myself for Nika's death. She was a child."