Design for when a company can edit a client information, but client has a private profile
A staff has all of the Person table columns, and more.


How much more ? 4-5 column extra ? 
I suggest try to keep both table same with more column as additional. along with ClientType Column int.

OR

Client Info table means ,those minimum info is need to become client.
Same thing is true for Staff too .Isn't it ? So Staff info will be maintain in 2 tables.One which is necessary to become client will be in client Table.Rest in Staff table.

Now as per rule Company can change same fields for both Client and Staff.
So may be Staff info is edited from 2 place,but both are 2 diff. thing.

So there will be Profile table for both Staff and Client.

Profile
 -Id
 -Name
 -Email
-- ClientType int not null (1=Client,2=Staff,3=Client who do not have profile)

Staff Table
It contain info of Staff table which cannot be edited by company.but can be edited by Admin

Person (basically a clone of the client's profile at first)
 -Id
 -Name
 -Email
 -Profile Id (not nullable)
-- ClientType (Denormalization)

CompanyClient
 -Company Id
 -Person Id
 --ClientType (Denormalization)

Rating Table
--RatingID
--PersonID
--Observatiion
--Rating


This is not my final design .It all depend upon MIS report and frequency of use.