Geometry, join by intersection

That certainly is not the case.

However you might have an easier time with a less complex logic flow. Try this:

  1. Offset your edges by your given distances.
  2. Build a surface from the original outline of the site.
  3. Extend each start and end of the curves by 2x the largest offset so they are longer than they need to be.
  4. Extrude the extended lines along the Z axis into surfaces.
  5. Join the surfaces into one Polysurface.
  6. Split the surface that was created with the original outlines into a series of resulting zones.
  7. Find the point at parameter 0.5,0.5 on the original surface.
  8. Filter our the split surfaces which don’t touch the previous midpoint.