Here is an exercise that might be helpful. As a developer, estimate was my number one fear, right before public speaking, and behind death. So I record myself in a self-zoom call explaining why I made the decision I made.
On the first recording, I rambled for 15 minutes why I think it will take n weeks and cost x dollars. Rewatching it was painful. But it gives you a good idea what to take out.
After the 10th recording, 2 minutes was enough to give the estimate and give a rough description of the work that needs to get done.
Also, you'll have to make 10 wrong estimates before you build up the skin you need to say you stand by your decision. Just because your clients are engineers, it doesn't mean they know what it takes for another team to do the work.