Step one: clarify, don't refuse
When a client requests a change, first understand whether it's a small tweak or one that genuinely affects the timeline and cost. Many requests look big at first glance but are easy to absorb.
How to communicate the impact
Be explicit: "I can do that, but it means X extra days / Y extra cost." Avoid silently accepting it and trying to make up the lost time with lower quality elsewhere in the project.
Document the change
Any accepted scope change deserves to be noted in the project, not just discussed verbally, useful both for you and as protection in case of a later dispute.
Bottom line
Scope changes aren't the problem, the lack of clarity about their impact is. Stay open to change, but explicit about cost.