The fireworks had just ended when Robert Green, drink in hand on the beach, heard the mumbling, the odd sound of people murmuring about something they couldn't quite fathom.
Green turned to face the promenade where thousands had gathered to celebrate Bastille Day. That's when he noticed the white tractor-trailer eerily moving. The headlights were off. The driver didn't honk the horn.
It was quiet but big, 19 tons lurching forward not on the street, but on a walkway.
"I thought to myself, 'That's weird, I wonder what he's doing driving through the crowd?'" Green said. "Then I saw him swerve right and then left."
Then the vehicle began to accelerate, and Green felt the wind on his body as the truck, now speeding, flew past.
Then he heard the shrieks and saw the bodies, so many bodies. He ran.
It would soon be clear that Mohamed Lahouaiej Bouhlel had rented the refrigerated truck Monday and parked it a few miles away. By around 10:30 p.m. Thursday, the truck was parked near the Promenade des Anglais, a showcase of neon-lit beachside resorts and palm trees. It was about 10:45 p.m. when he launched his assault near a children's hospital.
"I don't think anyone could believe what they were seeing at the time," Green said Friday. "There were children of all ages – babies, toddlers, all ages – and they were being picked up by their parents and dragged off the streets." The 33-year-old bartender had spent the day at a pool party at the Radisson Blu before drinks at the Florida Beach restaurant, just blocks from the promenade. More than 30,000 had gathered for the festivities.
According to French press reports, one of the first victims to die was a Muslim woman. At least 84 were killed. More than 200 were injured.
"I saw five or six dead on the left and two on the right, I saw one guy had been torn in half," Green said. "One woman was hysterical because she saw one of the bodies was someone she knew. Someone else was doing CPR on another of the bodies, but he was missing half his legs."
Fatima Charrihi, a mother of seven and Nice resident, died as her husband was just 50 feet ahead of her and watched the truck "smashing things to pieces." Some victims perished under the truck's wheels, others were sent flying through the air.
Bouhlel accelerated up to an estimated 30 mph. He passed the Centre Universitaire Méditerranéen and the High Club, where DJs were scheduled to play until 5 a.m.
"It was like the running of the bulls," said Michael Bordieri, who had just arrived on vacation from New York with his partner, Andrew Feda. They had watched the fireworks, and as they walked back to their hotel, they saw hordes of people running towards them.
Bordieri checked Twitter. Multiple tweets reported, "shooter in Nice." Minutes later, Bordieri and Feda heard gunfire. They took refuge for a few minutes in a nearby hotel, then at a restaurant where about 25 other people were hunkering down.
The truck cut a bloody swath through the crowd, with some people desperately leaping aside, even running into the water to escape, but scores of others could not get away.
"Everybody was looking at the fireworks. Then the next thing we knew, there was a noise behind us, and a truck drove straight past us," said Philip Ezergailis, a 23-year-old bartender from Galway, Ireland. "Then it started speeding up and hitting people, so we realized it was an attack."
Ezergailis spoke Friday, his eyes bloodshot, his voice faltering from exhaustion. "I ran over to see if I could help, but I just saw bodies and body parts lying everywhere," he said.
Near the Hotel Negresco, more than halfway through the attack, Bouhlel exchanged gunfire with police, still ramming through the crowds.
Candice Chauvel had just left the fireworks show at Neptune Beach a few seconds earlier, and started to cross the promenade to her home on Rue de France, a block north. Her 4-year-old son, Romeo, was on his kick scooter, weaving through the crowd after his first Bastille Day in Nice. Chauvel and her husband had moved to the city just last month for its reputation: cleaner than Paris, safer too.
"The crowd was calm and then it went crazy," she said, describing the moment after the truck began to plow through the people behind her. "A man was shouting, 'Shooting, shooting! Terrorist!'"
"We started running, so many people were confused. Romeo fell to the ground, I picked him up and picked his scooter up and ran home as fast as I could," Chauvel said.
The truck kept going, flying past the Westminster Hotel and Spa, killing 20 by Le Royal Hotel.
In front of the Casino du Palais, police finally shot Bouhlel dead, leaving the truck riddled with at least a dozen bullets. He had traveled more than a mile.
Chauvel got to her second-floor apartment minutes later, where she found her frantic husband, Antoine Chauvel, opening the door to go look for his wife and child after hearing the screams from his balcony.
"I could see people running from the beach to my road. I'm shouting outside, 'What is going on! What is going on!' Nobody is giving me an answer," said Antoine Chauvel, who had stayed at home to take care of the couple's toddler.
Candice, in shock, tried to soothe Romeo's tears and get him to bed. Eventually, he slept.
"Then I just broke down crying," she said.
Her husband, a freelance photographer, rushed to document the carnage, where he saw injured victims soaked in blood as they were walked away from the scene and white sheets, stained with blood, flung over bodies.
By Friday, Nice was, as Antoine Chauvel put, "at once different and the same."
The butcher shop on Rue de France, a block from the attack scene, had opened. The coffee and tea shop was still serving patrons.
The glittering beaches by the site of the attack were closed and deserted but, along Nice's three-mile beachfront, sunbathers were still out on the southwestern and eastern sands.
In a country that's endured other deadly attacks, residents were mourning while trying to move forward. So were tourists, who provide a bulk of the city's business.
In a small nod to a vanished normality, South African tourist Francois Nel returned to the cafe overlooking the promenade that he, with other patrons, had fled pell-mell as the attack unfolded.
He wanted, Nel said, to settle his bill.
Special correspondent Harvey reported from Nice, France. Kaleem reported from Los Angeles. Times staff writers Matt Hamilton, Alexandra Zavis and Ann M. Simmons in Los Angeles contributed to this report.