Manchester City have completed the signing of Portugal right-back Joao Cancelo from Juventus for £60m.
The agreement sees City full-back Danilo, 28, move in the opposite direction for a fee of £34.1m, the Brazilian signing a five-year contract with the Serie A side.
Cancelo, 25, joined Juventus from Valencia for £35m in 2018 after a season on loan at Inter Milan.
He has also played further forward as well as at left-back.
READ: Watford sign Danny Welbeck
Cancelo was part of the Portugal squad that won the Nations League in June although he did not play.
City signed Danilo from Real Madrid for £26.5m in 2017, with the Brazilian making 22 league starts in 60 appearances for the Blues across all competitions.
He has been involved in back-to-back Premier League title wins under manager Pep Guardiola but has rarely been viewed as a first choice.