BP strikes $7bn Brazil oil deal