Hundreds of thousands of Brazilians flooded the streets on Sunday in the biggest ever protests calling for President Dilma Rousseff's removal, reflecting rising popular anger that could encourage Congress to impeach the leftist leader.
The demonstrations were the latest in a wave of anti-government rallies that lost momentum late last year but have regained strength as a sweeping corruption investigation nears Rousseff's inner circle.
From the Amazon jungle city of Manaus to the business hub of Sao Paulo and the capital Brasilia, protesters marched in a nationwide call for Rousseff to step down, raising pressure on lawmakers to back ongoing impeachment proceedings against her that just a few weeks ago appeared to be doomed.
Police estimates from more than 150 cities compiled by news website G1 showed around 3 million Brazilians participated in the demonstrations. Some police estimates of previous protests have proved to be exaggerated.
Polling firm Datafolha estimated 500,000 demonstrators in Sao Paulo, the biggest rally in the city's history and more than twice the size of a major protest a year ago. The military police put the figure at 1.4 million at the height of the demonstration.
Government sources contacted by Reuters acknowledged the demonstrations were bigger than anti-government rallies in March 2015, which gathered as many as 1 million people.
In the skyscraper-lined Avenue Paulista in Sao Paulo, a sea of protesters wearing Brazil's yellow-and-green national colors chanted "Dilma out" and waved banners that read "Stop the corruption" while music blared from nearby trucks.
"The country is at a standstill and we are fighting to keep our company afloat," said small business owner Monica Giana Micheletti, 49, at the Sao Paulo demonstration. "We have reached rock bottom."
Many blame Rousseff for sinking the economy into its worst recession in at least 25 years. Opinion polls show that more than half of Brazilians favor the impeachment of the president, re-elected for a second four-year term in 2014.
Rousseff, who insists she will not quit, is the latest leftist leader in Latin America to face upheaval as a decade-long commodities boom that fuelled breakneck growth and social spending comes to an abrupt end.
Ahead of the demonstrations, tensions were high after Sao Paulo state prosecutors requested on Thursday the arrest of Rousseff's predecessor and political mentor, Luiz Inacio Lula da Silva, on money-laundering charges. A judge still has to decide on the request, which can be rejected.
As in previous protests, Sunday's rallies were led by middle-class Brazilians angry over growing allegations of corruption in Rousseff's administration. No violence was reported.
Poor Brazilians, who form the base of the ruling Workers' Party support, have not turned out in great numbers in recent protests. But their support for Rousseff has faded as unemployment rises and inflation climbs.
"This government helped many people buy homes, cars and electronics, but we still don't have health, education and basic sanitation," said Paulo Santos, a waiter who stopped at the demonstration which packed the beach-front avenue in Rio de Janeiro before heading to work.
Many protesters voiced support for Sergio Moro, the judge overseeing the two-year-old investigation into a network of political kick-backs and bribes centered on state oil company Petrobras. Some held banners that read "We are all Moro" after the judge's uncompromising tactics have been criticized by the government.
The demonstrators took aim at politicians from across the spectrum, including Rousseff's opponents, as they vented their frustration with a ruling class that has been widely exposed in the graft probe, known as 'Operation Carwash'.
Dozens of companies and senior business executives have also been implicated.
The head of the opposition PSDB party, Aecio Neves, and several of his colleagues were insulted by protesters when they took part in the demonstration in Sao Paulo, local media reported.
"Brazil needs to find a new and virtuous path and we will help the country find that path," said Neves, who narrowly lost the 2014 election to Rousseff and has called for new polls.
In Brasilia, protesters inflated a giant doll of Lula wearing a striped prison uniform and chained to a ball that read "Operation Carwash". Police estimated about 100,000 protesters took part, but that figure could not be independently confirmed.
For Brasilia-based political analyst Leonardo Barreto, the massive scale of Sunday's demonstrations could accelerate impeachment hearings in Congress. "Today's protests give legitimacy to this process," he said. "If the government fails to react, impeachment will move faster."
Popular discontent grew in recent weeks after a ruling party lawmaker reportedly testified under a plea bargain and accused Rousseff and Lula of trying to hamper the Petrobras investigation.
The corruption scandal has already strained Rousseff's ties with her main coalition partner, the Brazilian Democratic Movement Party (PMDB).
At its national convention on Saturday, the PMDB said it would decide in a month whether to break with the government. Party insiders said the mood of the country would be decisive.
If Rousseff is impeached by Congress, the leader of the PMDB, Vice-President Michel Temer, would take office.
In an effort to analyse the fallout from the protests, Rousseff met with a handful of ministers at her home in Brasilia, a presidential aide said.
Rousseff's press office welcomed the peaceful nature of the demonstrations, saying it reflected the maturity of the country's democracy.
Small groups of a few hundreds of her supporters wearing red shirts also marched in several cities.
Shares in Brazilian companies and have surged in recent weeks as investors bet that a change in government would lift business and consumer confidence and rescue an economy that contracted 3.8 percent last year.
Political tensions have stalled Rousseff's legislative agenda, which included measures to limit public spending and overhaul a costly pension system to regain investors' trust.