Is it possible to give users different roles/profiles on different part of the website?
A widely accepted solution for this would be using the Organic Groups module.

With this module, you can define different access settings and local roles for a given group type, and for all the nodes associated to it (this would be the "inheritance" you are looking for).

It is not the simplest module to use, though. You can find some "getting started" documentation here: https://www.drupal.org/node/861418