1import{r as m,j as e}from"./react-vendor-DXWtfMZp.js";import{M as W}from"./MethodArt-Bgy9hzZT.js";import{Z as K,_ as A,$ as Z,a0 as o,a1 as D,a2 as S,a3 as V,a4 as F,a5 as X,a6 as q,a7 as ee,a8 as te,a9 as ae}from"./tanstack-CQ6rBF0J.js";import{S as B}from"./StructuredData-DAndFKAU.js";import"./ui-vendor-DL8nEvqa.js";import"./motion-utils-CiXnTxl2.js";function L({value:t}){const[s,i]=m.useState(t),n=m.useRef(t),l=m.useRef(null);return m.useEffect(()=>{if(window.matchMedia("(prefers-reduced-motion: reduce)").matches){i(t);return}const g=n.current,b=480,d=performance.now(),y=v=>{const f=Math.min(1,(v-d)/b),w=1-Math.pow(1-f,3);i(Math.round(g+(t-g)*w)),f<1?l.current=requestAnimationFrame(y):n.current=t};return l.current=requestAnimationFrame(y),()=>{l.current&&cancelAnimationFrame(l.current),n.current=t}},[t]),m.useEffect(()=>(n.current=t,()=>{l.current&&cancelAnimationFrame(l.current)}),[]),e.jsx("span",{className:"ag-num",children:s.toLocaleString("en-GB")})}function se(t){return Array.from(new Set(t))}function j({options:t,value:s,onChange:i}){return e.jsx("div",{className:"inline-flex flex-wrap gap-1 rounded-full border border-[#e3e3ea] bg-white p-1",children:t.map(n=>{const l=n.value===s;return e.jsx("button",{type:"button",onClick:()=>i(n.value),"aria-pressed":l,className:"rounded-full px-4 py-2 text-[13px] font-semibold transition-colors "+(l?"bg-[#2d313a] text-[#f0f0f5]":"text-[#636771] hover:text-[#2d313a]"),children:n.label},n.value)})})}function C({checked:t,onChange:s,label:i,hint:n}){return e.jsxs("button",{type:"button",role:"switch","aria-checked":t,onClick:()=>s(!t),className:"flex w-full items-center justify-between gap-3 rounded-2xl border border-[#e3e3ea] bg-white px-4 py-3 text-left",children:[e.jsxs("span",{children:[e.jsx("span",{className:"block text-sm font-semibold text-[#2d313a]",children:i}),e.jsx("span",{className:"block text-[13px] text-[#636771]",children:n})]}),e.jsx("span",{className:"relative inline-flex h-6 w-11 shrink-0 items-center rounded-full transition-colors "+(t?"bg-[#7d6635]":"bg-[#e3e3ea]"),children:e.jsx("span",{className:"inline-block h-5 w-5 transform rounded-full bg-white shadow transition-transform "+(t?"translate-x-5":"translate-x-0.5")})})]})}function T(t){if(t===0)return 0;const s=Math.pow(10,Math.floor(Math.log10(t))-2);return Math.round(t/s)*s}function O(t){return Math.round(t/5e3)*5e3}function ne(){const[t,s]=m.useState(K),[i,n]=m.useState("timber"),[l,x]=m.useState(!1),[g,b]=m.useState("new"),d=(a,r)=>
1s(p=>{let u={...p,[a]:r};return a==="storeys"&&(u={...u,storeys:Math.min(2,Math.max(1,Number(r)||1))}),a==="area"&&(u={...u,area:Math.min(500,Math.max(60,Number(r)||60))}),u}),y=a=>{const r=A(a,void 0);s(p=>({...p,projectType:a,vatCategory:r.default})),a!=="multi"&&b("new")},v=a=>{b(a);const r=A("multi",a);s(p=>({...p,vatCategory:r.default}))},f=A(t.projectType,t.projectType==="multi"?g:void 0),w=(a,r)=>{const p=Math.max(0,Math.min(100,Math.round(r)||0));s(u=>{const E=u.externalFinish,k=["brick","render","timber"].filter(Y=>Y!==a),I=100-p,R=Math.max(0,Math.min(100,I-(E[k[1]]||0))),$=Math.max(0,I-R);return{...u,externalFinish:{...E,[a]:p,[k[0]]:R,[k[1]]:$}}})},U=a=>s(r=>({...r,externalFinish:{...a}})),_=t.externalFinish.brick+t.externalFinish.render+t.externalFinish.timber,N=m.useMemo(()=>Z(t),[t]),P=[N.timber,N.masonry,N.sip],Q=Math.max(...P.map(a=>a.total)),c=N[i],z="/app?qs="+encodeURIComponent(JSON.stringify({method:i,area:t.area,storeys:t.storeys,spec:t.spec,region:t.region,glazing:t.glazing,route:t.route,projectType:t.projectType,vatCategory:t.vatCategory,sustainabilityPackage:t.sustainabilityPackage,ashp:t.ashp,externalWorks:t.externalWorks,externalFinish:t.externalFinish,financeMode:t.financeMode,financeAnnualRate:t.financeAnnualRate,constructionPeriodMonths:t.constructionPeriodMonths})),H="mailto:[email protected]?subject="+encodeURIComponent("AGORA Build Cost - estimate review")+"&body="+encodeURIComponent(`I've completed the AGORA Build Cost Tools quick guide. 2 3Construction cost incl. contingency (approx): `+o(T(c.constructionInclContingency))+` 4 5Please review my early-stage estimate.`),J=(t.area-60)/440*100;return e.jsx("section",{id:"calculator",className:"bp-grid border-y border-[#e3e3ea] bg-[#f0f0f5]",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-5 py-16 md:py-24",children:[e.jsxs("div",{className:"max-w-2xl",children:[e.jsx("p",{className:"text-[13px] font-semibold uppercase tracking-[0.16em] text-[#7d6635]",children:"Quick cost guide"}),e.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-3",children:[e.jsx("h2",{className:"text-4xl font-bold tracking-tight text-[#2d313a] md:text-5xl",children:"Get a quick build-cost indication"}),e.jsx("span",{className:"rounded-full bg-[#e9e2cf] px-3 py-1 text-[11px] font-bold uppercase tracking-[0.14em] text-[#5c4c28]",children:"Broad estimate"})]}),e.jsx("p",{className:"mt-4 max-w-xl text-base leading-relaxed text-[#636771]",children:"Enter a few headline details to generate a broad early-stage cost indication and compare timber frame, masonry and SIP construction. This quick guide uses limited information and is intended as a starting point only."})]}),e.jsxs("div",{className:"mt-12 grid gap-6 lg:grid-cols-12",children:[e.jsxs("div",{className:"lg:col-span-6",children:[e.jsx("p",{className:"text-[13px] font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"1 · Structural method"}),e.jsx("div",{className:"mt-3 grid gap-3",children:D.map(a=>{const r=i===a.id;return e.jsxs("button",{type:"button",onClick:()=>n(a.id),"aria-pressed":r,className:"flex items-center gap-4 roun
5ded-2xl border bg-white p-4 text-left transition-all "+(r?"border-[#7d6635] ring-2 ring-[#7d6635]/30":"border-[#e3e3ea] hover:border-[#7d6635]/40"),children:[e.jsx("span",{className:"h-16 w-20 shrink-0",children:e.jsx(W,{method:a.id})}),e.jsxs("span",{className:"min-w-0 flex-1",children:[e.jsx("span",{className:"block text-base font-bold text-[#2d313a]",children:a.name}),e.jsx("span",{className:"block text-[13px] leading-snug text-[#636771]",children:a.tagline})]}),e.jsx("span",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full border "+(r?"border-[#7d6635] bg-[#7d6635]":"border-[#c9cbd3]"),children:r&&e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-white"})})]},a.id)})}),e.jsxs("div",{className:"mt-7",children:[e.jsxs("div",{className:"flex items-baseline justify-between",children:[e.jsx("p",{className:"text-[13px] font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"2 · Floor area"}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("input",{type:"number",min:60,max:500,step:5,value:t.area,onChange:a=>d("area",Number(a.target.value)),"aria-label":"Gross internal floor area in square metres",className:"w-28 rounded-lg border border-[#e3e3ea] bg-white px-2 py-1 text-right text-lg font-bold text-[#2d313a] outline-none transition-colors focus:border-[#7d6635]"}),e.jsx("span",{className:"text-sm font-medium text-[#636771]",children:"m²"})]})]}),e.jsx("input",{type:"range",min:60,max:500,step:5,value:t.area,onChange:a=>d("area",Number(a.target.value)),className:"ag-slider mt-3",style:{"--fill":`${J}%`},"aria-label":"Gross internal floor area in square metres"}),e.jsxs("div",{className:"mt-1 flex justify-between text-[12px] text-[#636771]",children:[e.jsx("span",{children:"60 m²"}),e.jsx("span",{children:"500 m²"})]})]}),e.jsxs("div",{className:"mt-7",children:[e.jsx("p",{className:"text-[13px] font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"3 · External finish"}),e.jsx("p",{className:"mt-1 text-[12px] leading-relaxed text-[#636771]",children:"Allocate the net external-wall finish across brickwork, render and timber cladding. The total must always equal 100%."}),e.jsx("div",{className:"mt-3 space-y-2",children:[["brick","Brickwork"],["render","Render"],["timber","Timber cladding"]].map(([a,r])=>e.jsxs("label",{className:"flex items-center gap-3 rounded-xl border border-[#e3e3ea] bg-white px-4 py-3 text-[13px]",children:[e.jsx("span",{className:"min-w-0 flex-1 font-medium text-[#2d313a]",children:r}),e.jsx("input",{type:"number",min:0,max:100,step:5,className:"w-20 rounded-lg border border-[#e3e3ea] bg-white px-2 py-1 text-right font-bold text-[#2d313a] outline-none focus:border-[#7d6635]",value:t.externalFinish[a],onChange:p=>w(a,Number(p.target.value)),"aria-label":`${r} percentage`}),e.jsx("span",{className:"w-8 text-right font-semibold text-[#7d6635]",children:"%"})]},a))}),e.jsxs("p",{className:"mt-2 text-[13px] font-semibold text-[#2d313a]",children:["External finish allocation: ",_,"%"]}),e.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:[["100% brick",{brick:100,render:0,timber:0}],["100% render",{brick:0,render:100,timber:0}],["100% timber",{brick:0,render:0,timber:100}],["50/50 brick + render",{brick:50,render:50,timber:0}],["50/50 brick + timber",{brick:50,render:0,timber:50}],["Equal mix",{brick:34,render:33,timber:33}]].map(([a,r])=>e.jsx("button",{type:"button",onClick:()=>U(r),className:"rounded-full border border-[#e3e3ea] bg-white px-3 py-1.5 text-[12px] font-semibold text-[#7d6635] transition-colors hover:border-[#7d6635]",children:a},a))})]}),e.jsxs("div",{className:"mt-7 grid gap-5 sm:grid-cols-12",children:[e.jsxs("div",{className:"sm:col-span-4",children:[e.jsx("p",{className:"mb-2 text-[13px] font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"4 · Storeys"}),e.jsx(j,{options:[{value:"1",label:"1"},{value:"2",label:"2"}],value:String(t.storeys),onChange:a=>d("storeys",Number(a))})]}),e.jsxs("div",{className:"sm:col-span-8",children:[e.jsx("p",{className:"mb-2 text-[13px] font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"5 · Finish level"}),e.jsx(j,{options:[{value:"economy",label:"Economy"},{value:"standard",label:"Standard"},{value:"premium",label:"Premium"}],value:t.spec,onChange:a=>d("spec",a)})]})]}),e.jsxs("div",{className:"mt-7 grid gap-5 sm:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"region",className:"mb-2 block text-[13px] font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"6 · Region"}),e.jsx("select",{id:"region",value:t.region,onChange:a=>d("region",a.target.value),className:"w-full rounded-xl border border-[#e3e3ea] bg-white px-4 py-3 text-sm font-medium text-[#2d313a] outline-none transition-colors focus:border-[#7d6635]",children:Object.keys(S).map(a=>e.jsx("option",{value:a,children:S[a]},a))})]}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-2 text-[13px] font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"7 · Glazing"}),e.jsx(j,{options:[{value:"minimal",label:"Low"},{value:"standard",label:"Standard"},{value:"high",label:"High"}
5],value:t.glazing,onChange:a=>d("glazing",a)})]})]}),e.jsxs("div",{className:"mt-7 grid gap-5 sm:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"projectType",className:"mb-2 block text-[13px] font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"8 · Project type"}),e.jsx("select",{id:"projectType",value:t.projectType,onChange:a=>y(a.target.value),className:"w-full rounded-xl border border-[#e3e3ea] bg-white px-4 py-3 text-sm font-medium text-[#2d313a] outline-none transition-colors focus:border-[#7d6635]",children:Object.keys(V).map(a=>e.jsx("option",{value:a,children:V[a]},a))}),t.projectType==="multi"&&e.jsxs("div",{className:"mt-3",children:[e.jsx("label",{htmlFor:"multiSubtype",className:"mb-1 block text-[12px] font-semibold text-[#2d313a]",children:"What type of multi-unit development is proposed?"}),e.jsx("select",{id:"multiSubtype",value:g,onChange:a=>v(a.target.value),className:"w-full rounded-xl border border-[#e3e3ea] bg-white px-4 py-3 text-sm font-medium text-[#2d313a] outline-none transition-colors focus:border-[#7d6635]",children:Object.keys(F).map(a=>e.jsx("option",{value:a,children:F[a]},a))})]})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"vatCategory",className:"mb-2 block text-[13px] font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"9 · VAT treatment"}),e.jsx("select",{id:"vatCategory",value:t.vatCategory,onChange:a=>d("vatCategory",a.target.value),className:"w-full rounded-xl border border-[#e3e3ea] bg-white px-4 py-3 text-sm font-medium text-[#2d313a] outline-none transition-colors focus:border-[#7d6635]",children:f.allowed.map(a=>e.jsx("option",{value:a,children:X[a]},a))}),e.jsx("p",{className:"mt-1 text-[12px] text-[#636771]",children:"Indicative category only; not tax advice."}),e.jsx("p",{className:"mt-1 text-[12px] leading-relaxed text-[#7d6635]",children:f.note})]})]}),e.jsxs("div",{className:"mt-7",children:[e.jsx("p",{className:"text-[13px] font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"10 · Construction route"}),e.jsx("div",{className:"mt-3",children:e.jsx(j,{options:[{value:"selfbuild",label:"Self-Build"},{value:"developer",label:"Developer-Led"}],value:t.route,onChange:a=>d("route",a)})}),e.jsx("p",{className:"mt-2 text-[13px] text-[#636771]",children:"Select how the project is expected to be procured and managed."}),e.jsxs("details",{className:"group mt-1",children:[e.jsx("summary",{className:"cursor-pointer text-[13px] font-semibold text-[#7d6635]",children:"What does this change?"}),e.jsxs("div",{className:"mt-2 space-y-2 rounded-xl bg-white p-3 text-[13px] leading-relaxed text-[#636771]",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-[#2d313a]",children:q.selfbuild}),e.jsx("p",{children:"May achieve lower overall construction costs through direct appointment of trades, reduced main-contractor overhead and profit, management mark-ups and some procurement margins where the client directly appoints or manages trade packages. A default saving of around 5â10% is applied across procurement-sensitive elements, varying with project size, spec and complexity. Complex, poorly managed or highly bespoke self-build projects may not achieve the full saving."})]}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-[#2d313a]",children:q.developer}),e.jsx("p",{children:"Uses the calculator's baseline contractor rates, with allowances for main-contractor overheads, commercial and programme management, risk and profit. Larger repetitive developments can benefit from economies of scale; this tool models a single dwelling, so baseline rates apply."})]})]})]})]}),e.jsxs("div",{className:"mt-7",children:[e.jsx("p",{className:"text-[13px] font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"11 · Add-ons"}),e.jsxs("div",{className:"mt-3 grid gap-3",children:[e.jsxs("div",{className:"rounded-2xl border border-[#e3e3ea] bg-white p-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-sm font-semibold text-[#2d313a]",children:"Sustainability Systems Package"}),e.jsx("p",{className:"mt-1 text-[13px] leading-snug text-[#636771]",children:"Include a complete home energy package comprising solar panels, inverter, battery storage and an EV charger."})]}),e.jsx("button",{type:"button",role:"switch","aria-checked":t.sustainabilityPackage,"aria-label":"Sustainability Systems Package",onClick:()=>d("sustainabilityPackage",!t.sustainabilityPackage),className:"relative inline-flex h-6 w-11 shrink-0 items-center rounded-full transition-colors "+(t.sustainabilityPackage?"bg-[#7d6635]":"bg-[#e3e3ea]"),children:e.jsx("span",{className:"inline-block h-5 w-5 transform rounded-full bg-white shadow transition-transform "+(t.sustainabilityPackage?"translate-x-5":"translate-x-0.5")})})]}),e.jsxs("details",{className:"group mt-1",children:[e.jsx("summary",{className:"cursor-pointer text-[13px] font-semibold text-[#7d6635]",children:"What's included?"}),e.jsxs("div",{className:"mt-2 text-[13px] leading-relaxed text-[#636771]",children:[e.jsx("p",{children:"Package sizes scale automatically with house size and likely household energy demand (including EV charging and, if set, an air-source heat pump). No technical inputs are needed."}),e.jsxs("ul",{className:"mt-1 list-disc space-y-0.5 pl-4",children:[e.jsx("li",{children:"Jinko Tiger Neo 510W photovoltaic panels (or an AGORA-approved current direct equivalent)"}
5),e.jsx("li",{children:"Solar mounting system, DC and AC cabling, isolators and electrical protection"}),e.jsx("li",{children:"Solar monitoring"}),e.jsx("li",{children:"An appropriately sized compatible hybrid inverter"}),e.jsx("li",{children:"11kWh nominal home-battery storage allowance (with battery management and monitoring)"}),e.jsx("li",{children:"One myenergi Zappi 7kW single-phase smart EV charger"}),e.jsx("li",{children:"Dynamic load management and solar-surplus EV charging"}),e.jsx("li",{children:"Installation, testing, commissioning, certification and normal DNO application or notification"}),e.jsx("li",{children:"Scaffolding where not already included"})]}),e.jsx("p",{className:"mt-2",children:"The package does not include the air-source heat pump unless the separate ASHP option is selected."})]})]})]}),e.jsx(C,{checked:t.externalWorks,onChange:a=>d("externalWorks",a),label:"External works",hint:"Drives, paths, landscaping (drainage is in the base build)"}),e.jsx(C,{checked:t.associatedParking,onChange:a=>d("associatedParking",a),label:"Does the dwelling have associated parking?",hint:"Approved Document S EV provision applies where associated parking is provided. If no, the Part S EV allowance is not added."}),e.jsxs("div",{className:"rounded-2xl border border-[#e3e3ea] bg-white p-4",children:[e.jsx(C,{checked:t.ashp,onChange:a=>d("ashp",a),label:"Include an air-source heat pump in the construction estimate?",hint:"Replaces the baseline heating-system allowance with an air-source heat-pump package and applies the net cost adjustment."}),e.jsx("p",{className:"mt-2 text-[12px] leading-relaxed text-[#636771]",children:"The Sustainability Systems Package includes PV, a hybrid inverter, battery storage and an EV charger. It does not include an air-source heat pump unless this separate option is selected."}),e.jsxs("details",{className:"group mt-2",children:[e.jsx("summary",{className:"cursor-pointer text-[12px] font-semibold text-[#7d6635]",children:"What does the ASHP allowance include?"}),e.jsx("div",{className:"mt-2 space-y-2 text-[12px] leading-relaxed text-[#636771]",children:e.jsx("p",{children:"When selected, the separate ASHP allowance replaces the baseline heating system already included in the services rate. It covers the outdoor unit, indoor hydraulic equipment, hot-water cylinder, buffer vessel where required, pumps, valves, weather-compensated controls, pipework, insulation, electrical supply, base, condensate drainage, acoustic and vibration measures, commissioning, certification and heat emitters where selected. Only the net cost difference is applied, so no heating system is counted twice."})})]})]})]})]}),e.jsxs("div",{className:"mt-7",children:[e.jsx("p",{className:"text-[13px] font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"12 · Funding method"}),e.jsx("div",{className:"mt-3",children:e.jsx(j,{options:[{value:"cash",label:"Cash build"},{value:"finance",label:"Finance build"}],value:t.financeMode,onChange:a=>d("financeMode",a)})}),t.financeMode==="finance"?e.jsxs("div",{className:"mt-3 space-y-3 rounded-2xl border border-[#e3e3ea] bg-white p-4",children:[e.jsxs("label",{className:"block text-[13px]",children:[e.jsx("span",{className:"font-medium text-[#2d313a]",children:"Annual interest rate"}),e.jsx("input",{type:"number",min:0,max:30,step:.25,value:t.financeAnnualRate*100,onChange:a=>d("financeAnnualRate",Math.max(0,Number(a.target.value)||0)/100),className:"mt-1 w-28 rounded-lg border border-[#e3e3ea] px-2 py-1 text-right font-bold text-[#2d313a] outline-none focus:border-[#7d6635]","aria-label":"Annual interest rate (%)"}),e.jsx("span",{className:"ml-1 text-[#7d6635]",children:"%"})]}),e.jsxs("label",{className:"block text-[13px]",children:[e.jsx("span",{className:"font-medium text-[#2d313a]",children:"Expected construction period"}),e.jsx("input",{type:"number",min:1,max:60,value:t.constructionPeriodMonths,onChange:a=>d("constructionPeriodMonths",Math.max(1,Number(a.target.value)||12)),className:"mt-1 w-28 rounded-lg border border-[#e3e3ea] px-2 py-1 text-right font-bold text-[#2d313a] outline-none focus:border-[#7d6635]","aria-label":"Expected construction period (months)"}),e.jsx("span",{className:"ml-1 text-[#636771]",children:"months"})]}),e.jsx("p",{className:"text-[12px] leading-relaxed text-[#636771]",children:"Indicative finance interest is calculated on a staged drawdown at 50% average utilisation. Finance fees are excluded from the Quick Guide; use the detailed estimator for a full finance schedule."})]}):e.jsx("p",{className:"mt-2 text-[12px] text-[#7d6635]",children:"Finance costs excluded â cash-funded build selected."})]})]}),e.jsx("div",{className:"lg:col-span-6",children:e.jsxs("div",{className:"rounded-3xl border border-[#e3e3ea] bg-white p-6 shadow-sm md:p-8",children:[e.jsxs("div",{className:"flex items-baseline justify-between gap-4",children:[e.jsxs("div",{children:[e.jsxs("p",{className:"text-[13px] font-semibold uppercase tracking-[0.12em] text-[#7d6635]",children:[c.method.name," · quick indicative estimate"]}),e.jsxs("p",{className:"mt-1 text-3xl font-extrabold tracking-tight text-[#2d313a] md:text-4xl",children:["Approximately £",e.jsx(L,{value:T(l?c.constructionInclContingency+c.vatSummary.constructionVat:c.constructionInclContingency)})]})]}),e.jsxs("p",{className:"text-right text-sm text-[#636771]",children:[e.jsxs("span",{className:"block font-semibold text-[#2d313a]",children:["£",e.jsx(L,{value:l?(c.constructionInclContingency+c.vatSummary.constructionVat)/t.area:c.constructionPerM2InclContingency})," ","/ m²"]}),"construction incl. contingency"]})]}),e.jsxs("div",{className:"mt-3 inline-flex rounded-full border border-[#e3e3ea] bg-white p-1 text-[12px] font-semibold",children:[e.jsx("button",{type:"button",onClick:()=>x(!1),"aria-pressed":!l,className:"rounded-full px-3 py-1 transition-colors "+(l?"text-[#636771] hover:text-[#2d313a]":"bg-[#2d313a] text-white"),children:"Excl. VAT"}),e.jsx("button",{type:"button",onClick:()=>x(!0),"aria-pressed":l,className:"rounded-full px-3 py-1 transition-colors "+(l?"bg-[#2d313a] text-white":"text-[#636771] hover:text-[#2d313a]"),children:"Incl. VAT (est.)"})]}),e.jsxs("p",{className:"mt-2 text-[13px] text-[#636771]",children:["Indicative planning range"," ",e.jsxs("span",{className:"font-semibold text-[#2d313a]",children:[o(O(c.affordableRange[0]))," to ",o(O(c.affordableRange[1]))]})," ","· excluding land and VAT"]}),e.jsx("p",{className:"mt-1 text-[11px] text-[#636771]",children:"Indicative planning range, not a statistical confidence interval."}),e.jsxs("p",{className:"mt-1 text-[12px] font-semibold text-[#7d6635]",children:["VAT basis: ",c.vatSummary.basis]}),e.jsx("p",{className:"mt-2 text-[12px] leading-relaxed text-[#636771]",children:"Broad early-stage indication based on the limited information entered. The range widens where more is unknown, such as ground conditions, drainage, complex geometry, high glazing or existing-building work. This is a planning range, not a precision or confidence measurement."}),e.jsxs("details",{className:"group mt-2",children:[e.jsx("summary",{className:"cursor-pointer text-[12px] font-semibold text-[#7d6635]",children:"Why is my estimate range this wide?"}),e.jsxs("div",{className:"mt-2 space-y-2 text-[12px] leading-relaxed text-[#636771]",children:[e.jsx("p",{children:"The Quick Cost Guide works from a few broad input
5s, so a wide range is expected at this early stage. It normally does not yet account for:"}),e.jsxs("ul",{className:"list-disc space-y-0.5 pl-4",children:[e.jsx("li",{children:"Ground investigation"}),e.jsx("li",{children:"Measured building geometry"}),e.jsx("li",{children:"A confirmed drainage strategy"}),e.jsx("li",{children:"Utility information"}),e.jsx("li",{children:"A detailed specification"}),e.jsx("li",{children:"Supplier quotations"}),e.jsx("li",{children:"Structural information"}),e.jsx("li",{children:"Site-access information"})]}),e.jsx("p",{children:"The range narrows as those details are confirmed. Use the detailed estimator to add geometry, specification, renewable systems, known quotations and site conditions, which produces a more confident planning range."})]})]}),e.jsx("div",{className:"mt-6 space-y-3",children:P.map(a=>e.jsxs("button",{type:"button",onClick:()=>n(a.method.id),"aria-pressed":i===a.method.id,className:"block w-full text-left transition-opacity "+(i===a.method.id?"bg-[#f0f0f5]":""),children:[e.jsxs("div",{className:"flex items-baseline justify-between text-[13px]",children:[e.jsx("span",{className:"font-semibold text-[#2d313a]",children:a.method.short}),e.jsx("span",{className:"ag-num font-bold text-[#7d6635]",children:o(T(a.constructionInclContingency))})]}),e.jsx("div",{className:"mt-1 h-2.5 overflow-hidden rounded-full bg-[#f0f0f5]",children:e.jsx("div",{className:"h-full rounded-full transition-all duration-500 "+(i===a.method.id?"bg-[#7d6635]":"bg-[#b9bdc7]"),style:{width:`${a.total/Q*100}%`}})})]},a.method.id))}),e.jsx(ie,{rows:c,showVat:l,setShowVat:x}),e.jsxs("p",{className:"mt-4 text-[12px] leading-relaxed text-[#636771]",children:["Indicative structural-shell and weather-tight enclosure period of around"," ",c.method.programmeWeeks," weeks, with a design air permeability of"," ",c.method.airtightness," m³/(h·m²) at 50Pa, priced to a common wall U-value target. Actual performance depends on the complete wall build-up, insulation, thermal bridging, airtightness strategy, workmanship and compliance design, and varies by specification and procurement. A shorter shell period does not automatically reduce the overall project cost."]}),e.jsxs("details",{className:"group mt-2",children:[e.jsx("summary",{className:"cursor-pointer text-[12px] font-semibold text-[#7d6635]",children:"View rate assumptions"}),e.jsxs("div",{className:"mt-2 space-y-2 text-[12px] leading-relaxed text-[#636771]",children:[e.jsxs("p",{children:["The ",c.method.short," shell rate of £",c.method.shellPerM2," per m² of gross internal floor area (GIA) is an indicative planning rate. It includes the structural frame, external wall structure, insulation, internal lining, fire protection, airtightness materials, factory design, manufacture, delivery, crane or lifting, erection, scaffolding, temporary works and contractor overhead and profit. It does not include the external facing material (that is priced separately in the build-up)."]}),e.jsxs("p",{children:["Base date: ",c.rateReviewDate," · Model version ",c.rateSetVersion," · Region: ",S[t.region]," · Specification:"," ",ee[t.spec]," · Regulatory-performance target: common wall U-value · Source category: benchmark / indexed."]}),e.jsx("p",{children:"Masonry, timber frame and SIP rates are priced to a genuinely comparable scope so the comparison is meaningful. Rates are indicative, not quotations."})]})]}),e.jsxs("div",{className:"mt-6 rounded-2xl border border-[#e3e3ea] bg-[#f7f5ec] p-5",children:[e.jsx("p",{className:"text-sm font-bold text-[#2d313a]",children:"Need a more project-specific estimate?"}),e.jsx("p",{className:"mt-1 text-[13px] leading-relaxed text-[#636771]",children:"Our detailed estimator considers more information about your building, specification, renewable systems, known quotations, site conditions and project allowances."}),e.jsxs("a",{href:z,className:"mt-4 inline-flex items-center gap-2 rounded-full bg-[#7d6635] px-6 py-3 text-sm font-bold text-white transition-colors hover:bg-[#2d313a]",children:["Continue to the detailed estimator",e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:e.jsx("path",{d:"M3 8h10M9 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})})]})]}),e.jsxs("div",{className:"mt-6 rounded-2xl border border-[#e3e3ea] bg-white p-5",children:[e.jsx("p",{className:"text-sm font-bold text-[#2d313a]",children:"Would you like help developing the project?"}),e.jsx("p",{className:"mt-1 text-[13px] leading-relaxed text-[#636771]",children:"AGORA Architects can help test the brief, explore design options and plan the planning strategy, and coordinate the wider consultant team as the scheme develops."}),e.jsx("a",{href:H,className:"mt-4 inline-flex items-center gap-2 rounded-full bg-[#2d313a] px-6 py-3 text-sm font-bold text-white transition-colors hover:bg-[#7d6635]",children:"Ask AGORA to review this estimate"}),e.jsx("p",{className:"mt-2 text-[12px] text-[#636771]",children:"No sign-up is required to see your result. AGORA will receive only the estimate summary you choose to send."})]})]})})]})]})})}function ie({rows:t,showVat:s,setShowVat:i}){const n=t.constructionInclContingency>0?Math.round(t.professionalFees/t.constructionInclContingency*100):0,l=se(t.items.map(x=>x.label));return e.jsxs("div",{className:"mt-6",children:[e.jsx("p",{className:"mb-2 text-[13px] font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"How this estimate is built"}),t.sustainability&&e.jsx("p",{className:"mb-3 rounded-lg bg-[#f7f5ec] px-3 py-2 text-[12px] leading-relaxed text-[#7d6635]",children:t.sustainability.summary}),e.jsxs("div",{className:"divide-y divide-[#f0f0f5] border-y border-[#e3e3ea]",children:[l.map(x=>{const g=t.items.find(b=>b.label===x)?.value??0;return e.jsxs("div",{className:"flex items-baseline justify-between gap-3 py-2 text-[13px]",children:[e.jsx("span",{className:"text-[#636771]",children:x}),e.jsx("span",{className:"ag-num font-semibold text-[#2d313a]",children:o(g)})]},x)}),e.jsx(h,{label:"Preliminaries",v:t.prelims}),e.jsx(h,{label:"EV charge point (Part S regulatory baseline)",v:t.evBaseline})]}),e.jsxs("div",{className:"mt-3 space-y-1 text-[13px]",children:[e.jsx(G,{label:"Construction works & preliminaries",v:t.baseConstruction}),t.routePct>0?e.jsx(h,{label:t.routeLabel,v:t.routeAdjustment,accent:!0}):e.jsx("div",{className:"py-1 text-[13px] text-[#7d6635]",children:"Construction route: Developer-led â baseline contractor pricing used."}),t.sustainability&&e.jsxs(e.Fragment,{children:[e.jsx(h,{label:"Sustainability Systems Package",v:t.sustainabilityCost,accent:!0}),e.jsx(h,{label:"Part S EV baseline replaced",v:t.evBaselineRemoved})]}),t.ashpCost>0&&e.jsxs(e.Fragment,{children:[e.jsx(h,{label:"Baseline heating allowance removed",v:t.heatingAdjustment}),e.jsx(h,{label:"Air-source heat pump (replacement)",v:t.ashpCost,accent:!0})]}),e.jsx(h,{label:`External finish (${t.netWallArea} m² net wall)`,v:t.finishCost,accent:!0})]}),e.jsxs("div",{className:"mt-1 space-y-1 text-[13px]",children:[e.jsx(G,{label:"Construction subtotal (before contingency)",v:t.constructionSubtotal}),e.jsx(h,{label:`Construction contingency (${t.contingencyPct}%)`,v:t.contingency}),e.jsxs("div",{className:"flex items-baseline justify-between border-t border-[#e3e3ea] pt-2 text-sm",children:[e.jsx("span",{className:"font-semibold text-[#2d313a]",children:"Construction cost incl. contingency"}),e.jsx("span",{className:"ag-num font-bold text-[#2d313a]",children:o(t.constructionInclContingency)})]})]}),e.jsxs("p",{className:"mt-2 text-[12px] text-[#636771]",children:["Construction cost per m²: ",o(t.constructionPerM2ExclContingency)," before contingency · ",o(t.constructionPerM2InclContingency)," incl. contingency."]}),e.jsxs("div",{className:"mt-2 divide-y divide-[#f0f0f5] border-t border-[#e3e3ea]",children:[e.jsx(h,{label:`Professional & consultant fee allowance (${n}%)`,v:t.professionalFees}),e.jsxs("div",{className:"group mt-1",children:[e.jsx("button",{type:"button",className:"cursor-pointer text-[11px] font-semibold text-[#7d6635]",children:"Fee calculation basis"}),e.jsxs("p",{className:"mt-1 text-[11px] leading-relaxed text-[#636771]",children:[n,"% of the construction cost including contingency."]})]}),e.jsxs("div",{className:"flex items-baseline justify-between gap-3 py-2 text-[13px]",children:[e.jsx("span",{className:"text-[#636771]",children:"Statutory & surveys allowance"}),e.jsx("span",{className:"text-[12px] font-semibold text-[#7d6635]",children:"not included"})]})]}),e.jsxs("details",{className:"group mt-2",children:[e.jsx("summary",{className:"cursor-pointer text-[12px] font-semibold text-[#7d6635]",children:"What is included in the professional-fee allowance?"}),e.jsxs("div",{className:"mt-2 space-y-2 text-[12px] leading-relaxed text-[#636771]",children:[e.jsx("p",{children:"The Quick Cost Guide uses a fixed early-stage professional and consultant allowance (13% of the construction cost including contingency). Actual fees depend on project scope, complexity, procurement route and the services required."}),e.jsx("p",{className:"font-semibold text-[#2d313a]",children:"Included in the allowance"}),e.jsxs("ul",{className:"list-disc space-y-0.5 pl-4",children:[e.jsx("li",{children:"Architect"}),e.jsx("li",{children:"Structural engineer"}),e.jsx("li",{children:"Civil or drainage engineer"}),e.jsx("li",{children:"Energy assessment"}),e.jsx("li",{children:"Building control"}),e.jsx("li",{children:"Principal Designer duties where applicable"}),e.jsx("li",{children:"Basic specialist-consultant allowance"})]}),e.jsx("p",{className:"font-semibold text-[#2d313a]",children:"Potentially additional services"}),e.jsxs("ul",{className:"list-disc space-y-0.5 pl-4",children:[e.jsx("li",{children:"Planning consultant"}),e.jsx("li",{children:"Ecology"}),e.jsx("li",{children:"Arboriculture"}),e.jsx("li",{children:"Flood-risk assessment"}),e.jsx("li",{children:"Landscape architect"}),e.jsx("li",{children:"Quantity surveyor"}),e.jsx("li",{children:"Mechanical and electrical consultant"}),e.jsx("li",{children:"Ground investigation"}),e.jsx("li",{children:"Topographical survey"}),e.jsx("li",{children:"Point-cloud survey"}),e.jsx("li",{children:"Warranty"}),e.jsx("li",{children:"Planning fees"}),e.jsx("li",{children:"Statutory application fees"})]})]})]}),e.jsxs("div",{className:"mt-2 flex items-baseline justify-between pt-2 text-sm",children:[e.jsx("span",{className:"font-semibold text-[#2d313a]",children:"Known estimated project subtotal"}),e.jsx("span",{className:"ag-num text-lg font-extrabold text-[#2d313a]",children:o(t.totalProjectBudget)})]}),t.financeMode==="finance"&&e.jsxs("div",{className:"mt-1 flex items-baseline justify-between text-[13px]",children:[e.jsxs("span",{className:"text-[#636771]",children:["Indicative finance interest (",(t.financeAnnualRate*100).toFixed(2),"%)"]}),e.jsx("span",{className:"ag-num font-semibold text-[#7d6635]",children:o(t.financeInterest)})]}),t.financeMode==="finance"&&e.jsxs("div",{className:"mt-1 flex items-baseline justify-between border-t border-[#e3e3ea] pt-2 text-sm",children:[e.jsx("span",{className:"font-bold text-[#2d313a]",children:"Known estimated project subtotal (incl. finance)"}),e.jsx("span",{className:"ag-num text-lg font-extrabold text-[#2d313a]",children:o(t.totalFundingRequirement)})]}),e.jsx("p",{className:"mt-2 rounded-lg border border-[#e8c66a] bg-[#fdf7e3] px-3 py-2 text-[12px] leading-relaxed text-[#7a5a10]",children:"Incomplete project allowance: statutory charges, surveys and project-specific specialist reports have not yet been included. This is a known estimated subtotal, not a complete project budget."}),e.jsxs("p",{className:"mt-2 text-[12px] leading-relaxed text-[#636771]",children:["Excluding land and developer margin. The construction cost includes contingency but excludes professional, consultant, survey and statutory allowances, which are shown separately. ",e.jsx("span",{className:"font-semibold text-[#2d313a]",children:"VAT:"})," ",t.vatStatus.label,"."," ",t.vatStatus.note]}),t.financeMode==="finance"&&e.jsx("p",{className:"mt-1 text-[11px] text-[#636771]",children:"Finance assumptions are indicative and are not a finance offer. Finance interest is separate from the construction cost and does not affect the construction cost per m²."}),e.jsxs("p",{className:"mt-2 text-[11px] text-[#636771]",children:["Rates last reviewed: ",t.rateReviewDate," · Model version ",t.rateSetVersion]}),e.jsxs("div",{className:"mt-3 rounded-xl border border-[#e3e3ea] bg-[#f7f7fa] p-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx("span",{className:"text-[13px] font-semibold text-[#2d313a]",children:"VAT summary"}),e.jsxs("div",{className:"inline-flex rounded-full border border-[#e3e3ea] bg-white p-0.5 text-[11px] font-semibold",children:[e.jsx("button",{type:"button",onClick:()=>i(!1),"aria-pressed":!s,className:"rounded-full px-2.5 py-1 transition-colors "+(s?"text-[#636771] hover:text-[#2d313a]":"bg-[#2d313a] text-white"),children:"Excl. VAT"}),e.jsx("button",{type:"button",onClick:()=>i(!0),"aria-pressed":s,className:"rounded-full px-2.5 py-1 transition-colors "+(s?"bg-[#2d313a] text-white":"text-[#636771] hover:text-[#2d313a]"),children:"Incl. VAT (est.)"})]})]}),e.jsxs("details",{className:"group mt-2",children:[e.jsx("summary",{className:"cursor-pointer text-[12px] font-semibold text-[#7d6635]",children:"View per-line breakdown"}),e.jsxs("div",{className:"mt-2 space-y-1 text-[12px]",children:[e.jsx(M,{label:"Construction (excl. VAT)",excl:t.vatSummary.constructionExcl,vat:t.vatSummary.constructionVat}),e.jsx(M,{label:"Professional & consultant fees",excl:t.vatSummary.feesExcl,vat:t.vatSummary.feesVat}),e.jsx(M,{label:"Surveys & statutory",excl:t.vatSummary.statutoryExcl,vat:t.vatSummary.statutoryVat}),e.jsxs("div",{className:"flex items-baseline justify-between border-t border-[#e3e3ea] pt-1 font-semibold text-[#2d313a]",children:[e.jsx("span",{children:"Total (excl. VAT)"}),e.jsx("span",{className:"ag-num",children:o(t.vatSummary.totalExcl)})]}),e.jsxs("div",{className:"flex items-baseline justify-between text-[#636771]",children:[e.jsx("span",{children:"Estimated VAT"}),e.jsx("span",{className:"ag-num",children:o(t.vatSummary.totalVat)})]}),e.jsxs("div",{className:"flex items-baseline justify-between font-semibold text-[#2d313a]",children:[e.jsx("span",{children:"Total incl. estimated VAT"}),e.jsx("span",{className:"ag-num",children:o(t.vatSummary.totalIncl)})]})]}),e.jsx("p",{className:"mt-2 text-[11px] leading-relaxed text-[#636771]",children:t.vatSummary.basisNote}),e.jsx("p",{className:"mt-2 text-[11px] leading-relaxed text-[#636771]",children:"Qualifying construction services and qualifying building materials supplied as part of those services may be zero-rated for a qualifying new dwelling. Professional fees are normally standard-rated. Separately purchased goods, excluded works and non-qualifying services may attract VAT. See HMRC Notice 708 for the detailed rules."})]})]}),t.sustainability&&e.jsxs("div",{className:"mt-3 rounded-lg border border-[#e3e3ea] bg-[#f7f5ec] p-3",children:[e.jsx("p",{className:"text-[12px] leading-relaxed text-[#7d6635]",children:te}),e.jsxs("details",{className:"group mt-2",children:[e.jsx("summary",{className:"cursor-pointer text-[12px] font-semibold text-[#7d6635]",children:"What's included in the Sustainability Systems Package?"}),e.jsxs("div",{className:"mt-2 space-y-2 text-[12px] leading-relaxed text-[#636771]",children:[e.jsx("p",{className:"font-semibold text-[#2d313a]",children:"Included"}),e.jsx("ul",{className:"list-disc space-y-0.5 pl-4",children:t.sustainability.inclusions.map(x=>e.jsx("li",{children:x},x))}),e.jsx("p",{className:"font-semibold text-[#2d313a]",children:"Excluded"}),e.jsx("ul",{className:"list-disc space-y-0.5 pl-4",children:t.sustainability.exclusions.map(x=>e.jsx("li",{children:x},x))}),e.jsx("p",{className:"font-semibold text-[#2d313a]",children:"Roof-fit check"}),e.jsx("p",{children:ae})]})]})]}),e.jsxs("details",{className:"group mt-3 rounded-xl border border-[#e3e3ea] bg-[#f7f7fa] p-3",children:[e.jsx("summary",{className:"cursor-pointer text-[12px] font-semibold text-[#7d6635]",children:"Regulatory baseline and o
5ptional upgrades"}),e.jsxs("div",{className:"mt-2 space-y-1 text-[12px] leading-relaxed text-[#636771]",children:[e.jsx("p",{children:"Each system is shown as mandatory (regulatory baseline) or optional (upgrade/enhancement)."}),e.jsxs("div",{className:"mt-1 space-y-1",children:[e.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[e.jsx("span",{className:"text-[#636771]",children:"EV charging"}),e.jsx("span",{className:"text-right font-semibold text-[#2d313a]",children:t.regulatoryStatus.evCharger})]}),e.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[e.jsx("span",{className:"text-[#636771]",children:"Photovoltaic generation"}),e.jsx("span",{className:"text-right font-semibold text-[#2d313a]",children:t.regulatoryStatus.pv})]}),e.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[e.jsx("span",{className:"text-[#636771]",children:"Battery storage"}),e.jsx("span",{className:"text-right font-semibold text-[#2d313a]",children:t.regulatoryStatus.battery})]}),e.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[e.jsx("span",{className:"text-[#636771]",children:"Air-source heat pump"}),e.jsx("span",{className:"text-right font-semibold text-[#2d313a]",children:t.regulatoryStatus.ashp})]})]}),e.jsx("p",{className:"mt-2",children:"This is an indicative planning treatment, not a compliance certificate. Confirm the applicable Building Regulations position with your appointed building-control body."})]})]})]})}function h({label:t,v:s,accent:i}){const n=s<0?"â"+o(-s):o(s);return e.jsxs("div",{className:"flex items-baseline justify-between gap-3 py-2 text-[13px]",children:[e.jsx("span",{className:i?"font-semibold text-[#7d6635]":"text-[#636771]",children:t}),e.jsx("span",{className:"ag-num font-semibold "+(i?"text-[#7d6635]":"text-[#2d313a]"),children:n})]})}function G({label:t,v:s}){return e.jsxs("div",{className:"flex items-baseline justify-between gap-3 py-1 text-sm",children:[e.jsx("span",{className:"font-bold text-[#2d313a]",children:t}),e.jsx("span",{className:"ag-num font-bold text-[#2d313a]",children:o(s)})]})}function M({label:t,excl:s,vat:i}){return e.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[e.jsx("span",{className:"text-[#636771]",children:t}),e.jsxs("span",{className:"ag-num text-right",children:[e.jsx("span",{className:"text-[#2d313a]",children:o(s)}),i>0&&e.jsxs("span",{className:"ml-1 text-[#636771]",children:["+ ",o(i)," VAT"]})]})]})}const le=JSON.stringify({"@context":"https://schema.org","@type":"WebSite",name:"AGORA Build Cost Tools",url:"https://www.agoraarchitects.co.uk/insights/tools/build-cost-estimator",description:"Free early-stage house build cost calculator by AGORA Architects. Use the Quick Cost Guide for a broad indication, or the Detailed Build Cost Estimator for a more tailored planning estimate."}),re=JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"How accurate is the build cost estimator?",acceptedAnswer:{"@type":"Answer",text:"It provides an early-stage indicative range, not a quotation, tender or cost plan. It is designed to give a broad sense of likely cost at planning stage; the range widens where ground conditions, geometry, drainage and supplier pricing are not yet confirmed."}},{"@type":"Question",name:"Does the result include VAT?",acceptedAnswer:{"@type":"Answer",text:"The headline is shown excluding VAT, with a VAT basis and a per-line VAT summary, and estimated VAT can be toggled on. VAT treatment depends on the nature of the project, the supplier and the supply."}},{"@type":"Question",name:"Does it include professional fees?",acceptedAnswer:{"@type":"Answer",text:"Professional and consultant fees are shown separately from the construction cost. Actual fees depend on project scope, complexity, procurement and the services required."}},{"@type":"Question",name:"Does it include land?",acceptedAnswer:{"@type":"Answer",text:"No. Land, finance, legal fees and developer margin are excluded from the estimate."}},{"@type":"Question",name:"Can I use it for an extension or conversion?",acceptedA
5nswer:{"@type":"Answer",text:"Yes, but existing-building work carries a wider range and higher provisional allowances because more is unknown, and the result is not a simple new-build rate."}},{"@type":"Question",name:"Does completing the tool send my information to AGORA?",acceptedAnswer:{"@type":"Answer",text:"No. Estimates are calculated in your browser. Information is only shared if you choose to contact AGORA."}}]});function oe(){return e.jsxs("section",{id:"top",className:"relative overflow-hidden bg-[#2d313a] pt-28 pb-16 md:pt-36 md:pb-24",children:[e.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.16]",style:{backgroundImage:"linear-gradient(rgba(190,160,115,0.5) 1px, transparent 1px), linear-gradient(90deg, rgba(190,160,115,0.5) 1px, transparent 1px)",backgroundSize:"56px 56px"}}),e.jsx("div",{className:"relative mx-auto max-w-3xl px-5 text-center",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-[13px] font-semibold uppercase tracking-[0.18em] text-[#bea073]",children:"AGORA Build Cost Tools"}),e.jsx("h1",{className:"mt-4 text-4xl font-extrabold leading-[1.05] tracking-tight text-white md:text-5xl lg:text-6xl",children:"Get an early indication of what your project could cost."}),e.jsx("p",{className:"mx-auto mt-5 max-w-lg text-lg leading-relaxed text-[#c9ccd4]",children:"Start with our quick cost guide for an immediate indication, or use the detailed estimator for a more project-specific assessment based on your design, specification, site and construction choices."}),e.jsxs("div",{className:"mt-8 flex flex-col items-center gap-5 sm:flex-row sm:items-start sm:justify-center sm:gap-6",children:[e.jsxs("div",{children:[e.jsxs("a",{href:"/insights/tools/build-cost-estimator/app",className:"inline-flex items-center gap-2 rounded-full bg-[#bea073] px-7 py-3.5 text-sm font-bold text-[#2d313a] transition-all hover:-translate-y-0.5 hover:bg-white",children:["Open the detailed estimator",e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:e.jsx("path",{d:"M3 8h10M9 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})})]}),e.jsx("p",{className:"mt-2 text-[12px] text-[#aeb2bc]",children:"More project inputs · approximately 5â10 minutes"})]}),e.jsxs("div",{children:[e.jsx("a",{href:"#calculator",className:"inline-flex items-center gap-2 rounded-full border border-white/30 px-7 py-3.5 text-sm font-semibold text-white transition-colors hover:border-[#bea073] hover:text-[#bea073]",children:"Try the quick cost guide"}),e.jsx("p",{className:"mt-2 text-[12px] text-[#aeb2bc]",children:"High-level indication · approximately 30 seconds"})]})]}),e.jsx("p",{className:"mx-auto mt-6 max-w-lg text-[12px] leading-relaxed text-[#aeb2bc]",children:"For planning and information purposes only. These tools provide indicative early-stage estimates and do not replace detailed cost advice from a quantity surveyor, contractor or cost consultant."})]})})]})}function ce(){return e.jsx("section",{className:"bg-white",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-5 py-16 md:py-24",children:[e.jsxs("div",{className:"max-w-2xl",children:[e.jsx("p",{className:"text-[13px] font-semibold uppercase tracking-[0.16em] text-[#7d6635]",children:"Two ways to estimate"}),e.jsx("h2",{className:"mt-3 text-3xl font-bold tracking-tight text-[#2d313a] md:text-4xl",children:"Choose the level of detail you need"})]}),e.jsxs("div",{className:"mt-10 grid gap-6 md:grid-cols-2",children:[e.jsxs("div",{className:"flex flex-col rounded-3xl border border-[#e3e3ea] bg-white p-7 md:p-8",children:[e.jsx("span",{className:"self-start rounded-full bg-[#f0f0f5] px-3 py-1 text-[11px] font-bold uppercase tracking-[0.14em] text-[#636771]",children:"Quick guide"}),e.jsx("h3",{className:"mt-4 text-xl font-bold text-[#2d313a]",children:"Quick build-cost indication"}),e.jsx("p",{className:"mt-2 text-sm leading-relaxed text-[#636771]",children:"Enter a few basic project details to see a broad indicative cost range and compare common construction methods."}),e.jsxs("ul",{className:"mt-5 space-y-2 text-[13px] text-[#2d313a]",children:[e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-[#7d6635]",children:"â"}),"Best for an initial sense check"]}),e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-[#7d6635]",children:"â"}
5),"Approximately 30 seconds"]}),e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-[#7d6635]",children:"â"}),"Limited project inputs"]})]}),e.jsx("a",{href:"#calculator",className:"mt-7 inline-flex items-center justify-center gap-2 rounded-full border border-[#2d313a] px-6 py-3 text-sm font-semibold text-[#2d313a] transition-colors hover:border-[#7d6635] hover:text-[#7d6635]",children:"Use the quick cost guide"})]}),e.jsxs("div",{className:"flex flex-col rounded-3xl border border-[#2d313a] bg-[#2d313a] p-7 text-[#f0f0f5] shadow-xl md:p-8",children:[e.jsx("span",{className:"self-start rounded-full bg-[#bea073] px-3 py-1 text-[11px] font-bold uppercase tracking-[0.14em] text-[#2d313a]",children:"Detailed estimator"}),e.jsx("h3",{className:"mt-4 text-xl font-bold text-white",children:"Detailed build-cost estimator"}),e.jsx("p",{className:"mt-2 text-sm leading-relaxed text-[#c9ccd4]",children:"Work through your project's geometry, construction, envelope, renewable systems, known quotations, site conditions and financial allowances for a more tailored planning estimate."}),e.jsxs("ul",{className:"mt-5 space-y-2 text-[13px] text-[#f0f0f5]",children:[e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-[#bea073]",children:"â"}),"Best for early project planning"]}),e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-[#bea073]",children:"â"}),"Approximately 5â10 minutes"]}),e.jsxs("li",{className:"flex gap-2",children:[e.jsx("span",{className:"text-[#bea073]",children:"â"}),"More detailed project inputs"]})]}),e.jsxs("a",{href:"/insights/tools/build-cost-estimator/app",className:"mt-7 inline-flex items-center justify-center gap-2 rounded-full bg-[#bea073] px-6 py-3 text-sm font-bold text-[#2d313a] transition-all hover:-translate-y-0.5 hover:bg-white",children:["Open the detailed estimator",e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:e.jsx("path",{d:"M3 8h10M9 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})]}),e.jsx("p",{className:"mt-6 max-w-2xl text-[12px] leading-relaxed text-[#636771]",children:"Both tools provide early-stage planning information only. Neither replaces a quotation, tender, contractor price, quantity surveyor's cost plan or detailed cost analysis."})]})})}function de(){const[t,s]=m.useState(!1),i=m.useRef(null);return e.jsx("section",{id:"methods",className:"bg-white",children:e.jsx("div",{className:"mx-auto max-w-6xl px-5 py-16 md:py-24",children:e.jsxs("details",{ref:i,className:"group ag-slide",onToggle:()=>s(!!i.current?.open),children:[e.jsxs("summary",{"aria-expanded":t,className:"ag-slide-summary flex cursor-pointer list-none flex-col items-center gap-4 py-2 text-center",children:[e.jsx("h2",{className:"text-3xl font-bold tracking-tight text-[#2d313a] md:text-4xl",children:"Three ways to build a wall"}),e.jsx("p",{className:"max-w-md text-sm text-[#636771]",children:"Compare timber frame, masonry and SIP."}),e.jsx("span",{className:"ag-methods-arrow","aria-hidden":"true",children:e.jsx("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",children:e.jsx("path",{d:"M6 9l6 6 6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),e.jsx("div",{className:"ag-slide-inner",children:e.jsx("div",{className:"mt-10 divide-y divide-[#e3e3ea] border-y border-[#e3e3ea]",children:D.map(n=>e.jsxs("div",{className:"grid gap-6 py-8 md:grid-cols-12 md:items-center",children:[e.jsx("div",{className:"md:col-span-3",children:e.jsx("div",{className:"h-24 w-full max-w-[200px]",children:e.jsx(W,{method:n.id})})}),e.jsxs("div",{className:"md:col-span-5",children:[e.jsx("h3",{className:"text-xl font-bold text-[#2d313a]",children:n.name}),e.jsx("p",{className:"mt-2 text-sm leading-relaxed text-[#636771]",children:n.note}),e.jsxs("div",{className:"mt-4 grid grid-cols-2 gap-x-6 gap-y-1 text-[13px]",children:[e.jsx("span",{className:"text-[#636771]",children:"Shell & enclosure period (example)"}),e.jsxs("span",{className:"font-semibold text-[#2d313a]",children:["~",n.programmeWeeks," weeks"]}),e.jsx("span",{className:"text-[#636771]",title:"Air permeability measures air leakage through the external envelope at a pressure difference of 50Pa. A lower value indicates a more airtight envelope.",children:"Air permeability"}),e.jsxs("span",{className:"font-semibold text-[#2d313a]",title:"Air permeability measures air leakage through the external envelope at a pressure difference of 50Pa. A lower value indicates a more airtight envelope.",children:["~",n.airtightness," m³/(h·m²) at 50 Pa"]}),e.jsx("span",{className:"text-[#636771]",children:"U-value target (example)"}),e.jsxs("span",{className:"font-semibold text-[#2d313a]",children:[n.wallU," W/m²K"]}),e.jsx("span",{className:"text-[#636771]",children:"Embodied carbon"}),e.jsx("span",{className:"font-semibold text-[#2d313a]",children:n.embodied})]})]}),e.jsx("div",{className:"md:col-span-4",children:e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 md:grid-cols-1",children:[e.jsx("ul",{className:"space-y-1.5",children:n.pros.map(l=>e.jsxs("li",{className:"flex gap-2 text-[13px] text-[#2d313a]",children:[e.jsx("span",{className:"mt-0.5 text-[#7d6635]",children:"+"}),l]},l))}),e.jsx("ul",{className:"space-y-1.5",children:n.cons.map(l=>e.jsxs("li",{className:"flex gap-2 text-[13px] text-[#636771]",children:[e.jsx("span",{className:"mt-0.5",children:"-"}),l]},l))})]})})]},n.id))})})]})})})}function xe(){return e.jsx("section",{id:"basis",className:"bg-[#f0f0f5]",children:e.jsx("div",{className:"mx-auto max-w-6xl px-5 py-16 md:py-20",children:e.jsxs("div",{className:"grid gap-10 md:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-3xl font-bold tracking-tight text-[#2d313a] md:text-4xl",children:"A transparent model, not a black box"}),e.jsx("p",{className:"mt-5 max-w-lg text-base leading-relaxed text-[#636771]",children:"The Quick Cost Guide uses current regional benchmark rates and simplified elemental allowances to provide a rapid early indication. It normalises masonry, timber-frame and SIP options to a common example performance target so you can compare construction methods more fairly."}),e.jsx("p",{className:"mt-4 max-w-lg text-base leading-relaxed text-[#636771]",children:"The Detailed Estimator uses additional project information, including geometry, wall and roof quantities, glazing, ceiling heights, vaulted areas, specification, site conditions, renewable systems and known supplier quotations. Contingency, professional fees and the result range vary with the project information supplied. All assumptions remain visible and editable."}),e.jsx("p",{className:"mt-4 max-w-lg text-base leading-relaxed text-[#636771]",children:"Choosing a construction method changes the structure, wall assembly, fire and airtightness detailing, manufacture, delivery, erection and programme-related preliminaries â it does not change the common performance target used in the comparison."})]}),e.jsxs("div",{className:"rounded-3xl border border-[#e3e3ea] bg-white p-6 md:p-8",children:[e.jsx("h3",{className:"text-sm font-semibold uppercase tracking-[0.12em] text-[#2d313a]",children:"Basis of rates"}),e.jsxs("ul",{className:"mt-4 space-y-3 text-sm text-[#2d313a]",children:[e.jsxs("li",{className:"flex justify-between gap-4 border-b border-[#f0f0f5] pb-3",children:[e.jsx("span",{className:"text-[#636771]",children:"Masonry shell"}),e.jsx("span",{className:"font-semibold",children:"£300 / m²"})]}),e.jsxs("li",{className:"flex justify-between gap-4 border-b border-[#f0f0f5] pb-3",children:[e.jsx("span",{className:"text-[#636771]",children:"Timber frame shell"}),e.jsx("span",{className:"font-semibold",children:"£262 / m²"})]}),e.jsxs("li",{className:"flex justify-between gap-4 border-b border-[#f0f0f5] pb-3",children:[e.jsx("span",{className:"text-[#636771]",children:"SIP shell"}),e.jsx("span",{className:"font-semibold",children:"£288 / m²"})]}),e.jsxs("li",{className:"flex justify-between gap-4 border-b border-[#f0f0f5] pb-3",children:[e.jsx("span",{className:"text-[#636771]",children:"Services (M&E)"}),e.jsx("span",{className:"font-semibold",children:"£400 / m²"})]}),e.jsxs("li",{className:"flex justify-between gap-4 border-b border-[#f0f0f5] pb-3",children:[e.jsx("span",{className:"text-[#636771]",children:"Internal finishes"}),e.jsx("span",{className:"font-semibold",children:"£430 / m²"})]}),e.jsxs("li",{className:"flex justify-between gap-4",children:[e.jsx("span",{className:"text-[#636771]",children:"Preliminaries"}),e.jsx("span",{className:"font-semibold",children:"8.5% to 11%"})]})]})]})]})})})}function me(){return e.jsx("section",{className:"relative overflow-hidden bg-[#2d313a] [content-visibility:auto] [contain-intrinsic-size:auto_600px]",children:e.jsxs("div",{className:"mx-auto max-w-4xl px-5 py-20 text-center md:py-28",children:[e.jsx("h2",{className:"mx-auto mt-4 max-w-2xl text-3xl font-extrabold tracking-tight text-white md:text-5xl",children:"Turn the estimate into a real scheme."}),e.jsx("p",{className:"mx-auto mt-5 max-w-xl text-base leading-relaxed text-[#c9ccd4]",children:"Our team can help test the brief, explore design options and plan the planning strategy, and coordinate the wider consultant team as the project develops. New-builds, c
5onversions and whole-house projects across Norfolk and the East of England."}),e.jsxs("div",{className:"mt-9 flex flex-wrap items-center justify-center gap-3",children:[e.jsxs("a",{href:"mailto:[email protected]",className:"inline-flex items-center gap-2 rounded-full bg-[#bea073] px-7 py-3.5 text-sm font-bold text-[#2d313a] transition-all hover:-translate-y-0.5 hover:bg-white",children:["Book a Free Consultation",e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:e.jsx("path",{d:"M3 8h10M9 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})})]}),e.jsx("a",{href:"https://agoraarchitects.co.uk",className:"rounded-full border border-white/25 px-7 py-3.5 text-sm font-semibold text-white transition-colors hover:border-[#bea073] hover:text-[#bea073]",children:"Visit our studio"})]})]})})}function pe(){const t=[["How accurate is the build cost estimator?","It provides an early-stage indicative range, not a quotation, tender or cost plan. It is designed to give a broad sense of likely cost at planning stage; the range widens where ground conditions, geometry, drainage and supplier pricing are not yet confirmed."],["Does the result include VAT?","The headline is shown excluding VAT, with a VAT basis and a per-line VAT summary, and estimated VAT can be toggled on. VAT treatment depends on the nature of the project, the supplier and the supply."],["Does it include professional fees?","Professional and consultant fees are shown separately from the construction cost. Actual fees depend on project scope, complexity, procurement and the services required."],["Does it include land?","No. Land, finance, legal fees and developer margin are excluded from the estimate."],["Can I use it for an extension or conversion?","Yes, but existing-building work carries a wider range and higher provisional allowances because more is unknown, and the result is not a simple new-build rate."],["Does completing the tool send my information to AGORA?","No. Estimates are calculated in your browser. Information is only shared if you choose to contact AGORA."]];return e.jsx("section",{className:"bg-white [content-visibility:auto] [contain-intrinsic-size:auto_600px]",children:e.jsxs("div",{className:"mx-auto max-w-3xl px-5 py-16 md:py-20",children:[e.jsx("h2",{className:"text-3xl font-bold tracking-tight text-[#2d313a] md:text-4xl",children:"Frequently asked questions"}),e.jsx("p",{className:"mt-3 text-[15px] text-[#636771]",children:"A few quick answers about how the build cost tools work."}),e.jsx("div",{className:"mt-8 space-y-3",children:t.map(([s,i])=>e.jsxs("details",{className:"group rounded-2xl border border-[#e3e3ea] bg-white p-4",children:[e.jsx("summary",{className:"cursor-pointer text-[15px] font-semibold text-[#2d313a]",children:s}),e.jsx("p",{className:"mt-2 text-[14px] leading-relaxed text-[#636771]",children:i})]},s))}),e.jsxs("p",{className:"mt-8 text-sm leading-relaxed text-[#636771]",children:["The estimator provides indicative construction-cost guidance. It is not a fee quotation, a valuation or a project-specific cost plan. For how architectural fees themselves are structured, see our"," ",e.jsx("a",{href:"/insights/architect-fees-norfolk",className:"font-medium text-[#7d6635] underline underline-offset-2 hover:text-[#2d313a] transition-colors",children:"guide to architect fees in Norfolk"}),"."]})]})})}function ye(){return e.jsxs("main",{children:[e.jsx(B,{json:le}),e.jsx(B,{json:re}),e.jsx(oe,{}),e.jsx(ce,{}),e.jsx(ne,{}),e.jsx(de,{}),e.jsx(xe,{}),e.jsx(pe,{}),e.jsx(me,{})]})}export{ye as component};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.