Variable scaling?

Im trying to figure out of this is possible, but i have a complex rectangular surface and i would like to taper its height at it’s 2 sides but I’m unsure how to do it.

This is a simplified example and it’s not as easy as just cutting it because then i lose the details on the surface.

Would it require grasshopper? if so im not too familiar with it and if it’s easy enough with a guide, i could look into it.

Any reason you don’t just model that in? If you’re extruding that profile why don’t you make the profile match what you want?

Thanks, while I can’t share the file, the illustration is wildly simplified and not an extrudable surface. There’s a lot more details along the other axis.

Additionally, I tried flowalongsurface and then cutting afterwards but i lose all the details under the red line so that wasnt acceptable either.

cagedit maybe?
cageedit > bounding box > world > however many points you need to get best adjustment resolution.

wow i did not know about this feature. this seems to be a good solution in the short time i played with it. Thank you!