How do I cater for these changes
If by cater you mean to accommodate, then hourly. You can allow, say, a marginal estimate. I recommend against the "opaque" fixed bid. So you would have X hours, detail of deliverables, hours +/- ten percent, three hours, or what have you.
Fixed bid where you pitch it like "I'll paint any car, any color, for just $69.95. Drive it, haul it, heck I'll come to your house...." That's common. But break out hourly, break out anything that has to be bought for the project, like a control or a stock photo price."
What you want to do is let the client know they have three hours for anything not covered explicitly in the spec. They get some comfort, you get some control. Everybody's happy.
The secret is itemize, itemize, itemize.
I'm having trouble as to what constitutes the Project Spec
You can write a fifty page, bound and collated spec ...with bar graphs, waterfall charts, and pie graphs, function points and unit tests ....the client will come back with "that's was included in the spec." Rest assured, they have never opened the thing when they say this. And they have no intention of looking at it, ever.
If and when you have a good idea of, say, the top five cost overruns for whatever you're doing, you can try out a list of what's not included.
Otherwise, your agreement clearly states you agree to walk my dog. And you will be astounded as I twist and turn a simple, clear, sentence in whatever you write, to come out any way I want it to. (Don't forget your scooper and plastic baggie).
Yes of course that's not what the terms and conditions actually mean ....what's your point?