Scope is the biggest factor: the number of pages, features, user roles and integrations.
Design depth matters too. A custom brand-led design takes more time than a template-based layout.
Platform choice, content preparation, payment and shipping integrations, and the SEO work required all change the estimate.
A written proposal with milestones is the best protection against surprise costs.
