It depends on the scope. A focused landing page, a fully bespoke website and an e-commerce build are very different pieces of work, and the same is true of ongoing support, SEO and Studio retainers, so every engagement is quoted individually after a short conversation about what you need, and confirmed in a written proposal before anything starts.
However a project is priced, we break it into milestones — each with a fixed price tied to a working deliverable. You never pay 50% of the total cost up front. Instead, you pay 50% of the first milestone to start it. When that milestone is complete, you pay the remaining 50% of it together with the 50% deposit on the next milestone — and that's what unlocks the next phase of work. The pattern continues until the final milestone is delivered, at which point you pay the remaining 50% of it.
The effect: cash flow stays smooth, you always see a working deliverable before paying for the next, and we never carry more than half a milestone of unbilled work.