Tear gas in the morning, fireworks in the evening. It was a day of contrasts in Brazil as the country opened the World Cup with clashes between riot police and protesters in Sao Paulo, before wild street celebrations when the "selecao" beat Croatia 3-1 after coming from behind.
The fireworks that exploded over the mega-city after each goal for Brazil made the tear gas and clashes just up the road from Corinthians Arena seem so much more distant.
Bars overflowed with people into the streets. Pharmacists switched their stores' televisions to the game. Fuel station workers sat on plastic chairs, watching a flat-screen TV tied to the back of a car.
After months of violent protests over the $11 billion cost of hosting the World Cup, some who watched the victory with 300 others in a Sao Paulo street bedecked in yellow and green banners voiced hope such victories could tame the street rage.
"This joy will be a contagion that will spread to all Brazilians," Jonathan de Jesus Silva, 21, a nursing student wearing a Brazil jersey, said as he jumped and laughed with friends.
"This happiness will help bring a better climate." Vera Lucia, 53, a bank worker wearing a yellow top, said it was time for Brazilians to rally behind the tournament.
"The victory will improve the mood a bit. I'm against opportunistic protests. Now is not the time to protest during an international event. The problems like bad hospitals date from before the World Cup," she said.
Others, in a packed bar in the capital Brasilia, agreed. "Despite the complaints and the protests, the Brazilian people believe a lot in football. Here we are, all supporting the team," said Vanessa Silva, a 31-year-old banker wearing a yellow and green scarf -- the national team colours.
Fireworks also exploded over Rio de Janeiro's Copacabana beach as throngs watched the game on big screens in the streets of the city.
At the famed beach itself, thirsty fans were heaven-sent for entrepreneurs as thousands massed at the fan fest there.
"We're doing great business today -- and we can watch the action on the big screen so we're not missing anything," Carla De Freitas, running a makeshift bar with husband Antonio, said.
"I reckon we shall take more than 2,000 reais ($850) today. That compares, for example, to a Saturday or Sunday when we'd normally take home around 200. All in all, a good day's work!"
Before the game, around 1,000 protesters sought to revive the momentum of the million-strong demonstrations that shook Brazil last year during the Confederations Cup -- a World Cup dress rehearsal -- shouting "FIFA go home!"
Later, a few dozen protesters went around Rio taunting those watching the game, chanting "there won't be a cup" and shouting obscenities when Brazil scored.
In the evening, a few demonstrators fleeing police after trying to burn rubbish bins were hit by riot police with truncheons.
Earlier, in Sao Paulo, clashes forced the Brazilian team bus to change its route to the stadium after riot police chased a dozen protesters down a busy avenue, firing tear gas at incoming traffic. Cars bedecked in Brazilian flags swerved to avoid the trouble.
Large groups of fans who had lined the street to see their heroes left disappointed.
Riot police fired rubber bullets, stun grenades and tear gas to disperse a few dozen radical, masked protesters known as the Black Bloc who were tossing rocks and set trash bags on fire in the street.
Between rounds of tear gas, a man stuck his head out of his apartment window and shouted a message capturing the divide troubling Brazil on the big kick-off: "Today there will be a Cup!"