PageSourceSearch

https://scrollstop.com/assets/commercials-DhGSZMJN.js

js scrollstop.com collected 2026-09-25 20:39:16 UTC 33,522 bytes, 1 lines download raw bytes

1import{c as S,r as j,j as e,m as w,A as R,Z as E,U as F,l as D,b as T}from"./index-dt5w-xvv.js";import{S as O}from"./sparkles-CWq46UWI.js";import{C as L}from"./calculator-B6Dv6meB.js";import{T as I}from"./target-DyCkpV81.js";import{S as _}from"./send-aaIZqwn6.js";const q=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],U=S("chevron-right",q);const V=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],G=S("circle-check",V);const H=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],W=S("cpu",H);const K=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 3v18",key:"bbkbws"}],["path",{d:"M3 7.5h4",key:"zfgn84"}],["path",{d:"M3 12h18",key:"1i2n21"}],["path",{d:"M3 16.5h4",key:"1230mu"}],["path",{d:"M17 3v18",key:"in4fa5"}],["path",{d:"M17 7.5h4",key:"myr1c1"}],["path",{d:"M17 16.5h4",key:"go4c1d"}]],z=S("film",K);const Q=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Y=S("info",Q),g={baseManagement:6500,perPlatform:1200,perCreatorByTier:{nano:250,micro:600,mid:1800,macro:6500,hero:22e3},sparkCodeFee:150,licensingPerCreator:400,mediaMgmtPctOfSpend:[.08,.14],strategyComplexityMult:{light:1,standard:1.15,deep:1.35},hoursRate:145,commitmentDiscount:{6:0,9:.04,12:.08,18:.12,24:.16},variance:.18},h={perCreatorByTier:{nano:250,micro:600,mid:1800,macro:6500,hero:22e3},storyboardFee:220,editRoundFee:90,whitelistingPerCreator:350,licensingByDuration:{"3m":300,"6m":550,"12m":950,perpetual:2200},mgmtPctOfCreatorSpend:[.18,.28],outreachComplexityMult:{easy:1,standard:1.15,hard:1.4},approvalComplexityMult:{light:1,standard:1.1,deep:1.25},reportingByDepth:{snapshot:0,standard:450,deep:1400},variance:.2},v={baseManagement:4800,perPlatform:950,mgmtPctOfSpend:[.07,.13],creativeTestingFee:35,reportingByDepth:{snapshot:0,standard:600,deep:1800},performanceFeePctResults:[.06,.12],hybridResultsPct:.05,commitmentDiscount:g.commitmentDiscount,variance:.18},N={managementBase:1800,managementPerVolumeTier:220,spendPerCreativeByFormat:{ugc:320,statics:140,gifs:180,scripts:280,"creator-led":850,"brand-led":2400},editComplexityMult:{light:1,standard:1.2,premium:1.55},rushMult:{standard:1,expedited:1.2,urgent:1.45},variance:.2},Z="Subject to minimum spend. Final commercials confirmed after a 30-minute consultation.",x=(s,a)=>`£${Math.round(s).toLocaleString()} – £${Math.round(a).toLocaleString()}`,M=(s,a)=>[s*(1-a),s*(1+a)];function J(){return e.jsxs("section",{className:"relative pt-40 pb-24 px-6 overflow-hidden",children:[e.jsxs("div",{className:"absolute inset-0 pointer-events-none",children:[e.jsx("div",{className:"absolute -top-32 -left-32 w-[600px] h-[600px] rounded-full",style:{background:"radial-gradient(circle, rgba(89,0,255,0.35), transparent 70%)",filter:"blur(60px)"}}),e.jsx("div",{className:"absolute -bottom-40 -right-32 w-[700px] h-[700px] rounded-full",style:{background:"radial-gradient(circle, rgba(0,255,255,0.25), transparent 70%)",filter:"blur(80px)"}})]}),e.jsxs("div",{className:"relative max-w-6xl mx-auto text-center",children:[e.jsxs(w.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6},className:"inline-flex items-center gap-2 glass px-4 py-2 rounded-pill text-xs uppercase tracking-widest font-bold mb-8",children:[e.jsx(O,{className:"w-3 h-3 text-accent-cyan"})," Commercial Framework"]}),e.jsxs(w.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.7,delay:.1},className:"text-5xl md:text-8xl font-black tracking-tighter uppercase leading-[0.85]",children:["Commercials built around ",e.jsx("span",{className:"italic text-accent-cyan text-glow-cyan",children:"outcomes"}),",",e.jsx("br",{}),"not rate cards."]}),e.jsx(w.p,{initial:{opacity:0,y:20}
1,animate:{opacity:1,y:0},transition:{duration:.7,delay:.25},className:"mt-8 max-w-3xl mx-auto text-lg md:text-xl text-white/70 font-medium leading-relaxed",children:"Every SCROll STOP engagement is scoped around the variables that actually drive performance: strategy, creative, creators, media spend, management complexity, timelines and growth targets."}),e.jsxs(w.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.7,delay:.4},className:"mt-10 flex flex-wrap gap-4 justify-center",children:[e.jsxs("a",{href:"#builder",className:"inline-flex items-center gap-3 bg-accent-cyan text-brand-black font-black uppercase tracking-tight px-8 py-4 rounded-pill glow-cyan hover:scale-[1.02] transition-transform",children:[e.jsx(L,{className:"w-5 h-5"})," Build an estimate"]}),e.jsxs("a",{href:"#quote",className:"inline-flex items-center gap-3 glass px-8 py-4 rounded-pill font-black uppercase tracking-tight hover:bg-white/10 transition-colors",children:["Request a full quote ",e.jsx(R,{className:"w-5 h-5"})]})]}),e.jsxs(w.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.7,delay:.55},className:"mt-14 max-w-3xl mx-auto glass rounded-card p-6 text-left flex gap-4",children:[e.jsx(Y,{className:"w-6 h-6 text-accent-cyan shrink-0 mt-0.5"}),e.jsxs("p",{className:"text-sm md:text-base text-white/75 leading-relaxed",children:["Our calculators provide ",e.jsx("span",{className:"text-white font-bold",children:"directional pricing only"}),". Final commercial proposals are built after a 30-minute consultation and review of your growth targets, media infrastructure, creator requirements and operating complexity."]})]})]})]})}const $=[{icon:E,text:"text-accent-cyan",bg:"bg-accent-cyan/15",iconText:"text-accent-cyan",title:"Reactor Engine",what:"Our flagship performance engine — strategy, creative, creators and paid media operating as one closed loop.",affects:["Commitment length","Number of platforms","Creator volume & tier mix","Paid media spend & targets","Strategy depth"],min:"Minimum 6-month commitment. Eligibility subject to audit.",fit:"Brands ready to make creator-led performance their primary growth channel."},{icon:F,text:"text-accent-pink",bg:"bg-accent-pink/15",iconText:"text-accent-pink",title:"Influencer Marketing",what:"End-to-end creator campaigns — sourcing, negotiation, contracting, production oversight, reporting.",affects:["Creator tier & volume","Geography & vertical","Licensing & usage rights","Approval & reporting depth"],min:"Minimum campaign spend applies. Scales by creator tier.",fit:"Brands launching seasonal pushes, product drops, or category entries."},{icon:I,text:"text-accent-light-purple",bg:"bg-accent-light-purple/15",iconText:"text-accent-light-purple",title:"Paid Media",what:"Performance-obsessed paid social and search management across the platforms where your audience converts.",affects:["Monthly ad spend","Number of platforms","Creative testing volume","Performance fee model"],min:"Media spend runs through your ad account — not SCROll STOP.",fit:"Brands with creative supply but underperforming media operations."},{icon:z,text:"text-accent-magenta",bg:"bg-accent-magenta/15",iconText:"text-accent-magenta",title:"Content Production",what:"Scroll-stopping UGC, creator-led, and brand-led creative — built at the volume modern algorithms reward.",affects:["Monthly volume","Format mix","Edit complexity","Delivery speed"],min:"Minimum monthly volume per format.",fit:"Brands feeding paid media, organic, or retail channels with always-on creative."},{icon:D,text:"text-accent-blue",bg:"bg-accent-blue/15",iconText:"text-accent-blue",title:"Social Media Management",what:"Always-on organic that compounds — calendar, community, publishing and category authority.",affects:["Platforms managed","Posting cadence","Community volume","Reporting depth"],min:"Minimum 3-month commitment.",fit:"Brands ready to treat organic as a performance channel, not a billboard."},{icon:W,text:"text-accent-purple",bg:"bg-accent-purple/15",iconText:"text-accent-purple",title:"AI / Automations",what:"Operational leverage — workflow automation, creative iteration, reporting and intelligence systems.",affects:["Number of workflows","Integrations required","Custom model work","Maintenance scope"],min:"Scoped per engagement.",fit:"Teams ready to compress hours, not headcount."}];function X({s,idx:a}){const o=s.icon;return e.jsxs(w.div,{initial:{opacity:0,y:30},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-80px"},transition:{duration:.5,delay:a*.05},className:"glass rounded-card p-8 flex flex-col group hover:bg-white/[0.07] transition-colors",children:[e.jsx("div",{className:`w-14 h-14 roun
1ded-2xl ${s.bg} flex items-center justify-center mb-6`,children:e.jsx(o,{className:`w-7 h-7 ${s.iconText}`})}),e.jsx("h3",{className:"text-3xl font-black tracking-tighter uppercase mb-3",children:s.title}),e.jsx("p",{className:"text-white/70 text-sm leading-relaxed mb-6",children:s.what}),e.jsxs("div",{className:"mb-5",children:[e.jsx("div",{className:"text-xs uppercase tracking-widest text-white/40 font-bold mb-2",children:"What affects pricing"}),e.jsx("ul",{className:"space-y-1.5",children:s.affects.map(n=>e.jsxs("li",{className:"text-sm text-white/80 flex items-start gap-2",children:[e.jsx(U,{className:`w-4 h-4 ${s.iconText} shrink-0 mt-0.5`})," ",n]},n))})]}),e.jsxs("div",{className:"mt-auto space-y-4",children:[e.jsxs("div",{className:"border-t border-white/10 pt-4 text-xs text-white/60",children:[e.jsx("div",{className:"font-bold text-white/80 mb-1",children:"Minimum spend"}),s.min]}),e.jsxs("div",{className:"text-xs text-white/60",children:[e.jsx("div",{className:"font-bold text-white/80 mb-1",children:"Best fit"}),s.fit]}),e.jsxs("a",{href:"#builder",className:`inline-flex items-center gap-2 ${s.text} font-black uppercase text-sm tracking-tight group/cta`,children:["Build estimate ",e.jsx(R,{className:"w-4 h-4 transition-transform group-hover/cta:translate-x-1"})]})]})]})}function ee(){return e.jsx("section",{className:"px-6 py-24",children:e.jsxs("div",{className:"max-w-7xl mx-auto",children:[e.jsxs("div",{className:"mb-16",children:[e.jsx("div",{className:"text-xs uppercase tracking-widest text-accent-cyan font-bold mb-4",children:"01 — The Offering"}),e.jsxs("h2",{className:"text-4xl md:text-7xl font-black tracking-tighter uppercase max-w-4xl",children:["Six services. One ",e.jsx("span",{className:"italic text-accent-pink",children:"operating system."})]})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:$.map((s,a)=>e.jsx(X,{s,idx:a},s.title))})]})})}function r({label:s,children:a,hint:o}){return e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs uppercase tracking-widest text-white/50 font-bold mb-2",children:s}),a,o&&e.jsx("p",{className:"text-[11px] text-white/40 mt-1",children:o})]})}function m({value:s,onChange:a,min:o,max:n,step:i=1,format:t}){return e.jsxs("div",{children:[e.jsx("input",{type:"range",min:o,max:n,step:i,value:s,onChange:c=>a(Number(c.target.value)),className:"w-full accent-accent-cyan"}),e.jsx("div",{className:"text-sm font-bold text-accent-cyan mt-1",children:t?t(s):s})]})}function d({value:s,onChange:a,options:o}){return e.jsx("select",{value:String(s),onChange:n=>{const i=n.target.value,t=typeof s=="number"?Number(i):i;a(t)},className:"w-full glass rounded-xl px-4 py-3 text-sm font-semibold bg-white/[0.04] border border-white/10 focus:outline-none focus:border-accent-cyan",children:o.map(n=>e.jsx("option",{value:String(n.value),className:"bg-brand-black",children:n.label},String(n.value)))})}function C({value:s,onChange:a,label:o}){return e.jsxs("button",{type:"button",onClick:()=>a(!s),className:`w-full flex items-center justify-between glass rounded-xl px-4 py-3 text-sm font-semibold transition-colors ${s?"bg-accent-cyan/15 border-accent-cyan/40":"bg-white/[0.04]"}`,children:[e.jsx("span",{children:o}),e.jsx("span",{className:`relative w-10 h-5 rounded-full transition-colors ${s?"bg-accent-cyan":"bg-white/20"}`,children:e.jsx("span",{className:`absolute top-0.5 w-4 h-4 rounded-full bg-brand-black transition-transform ${s?"translate-x-5":"translate-x-0.5"}`})})]})}function f({label:s,value:a,accent:o=!1}){return e.jsxs("div",{className:`flex items-baseline justify-between py-3 ${o?"border-t-2 border-accent-cyan mt-2 pt-4":"border-t border-white/10"}`,children:[e.jsx("span",{className:`text-sm ${o?"font-black uppercase tracking-tight text-white":"text-white/70"}`,children:s}),e.jsx("span",{className:`${o?"text-2xl md:text-3xl font-black text-accent-cyan text-glow-cyan":"text-base font-bold text-white"}`,children:a})]})}function te({onSummary:s}){const[a,o]=j.useState({months:12,geo:"UK",platforms:2,hasAdsMgr:!0,auditDone:!1,spend:25e3,targetROAS:3,goal:"Revenue",creators:8,tier:"micro",licensing:!0,spark:!0,contentVolume:30,strategy:"standard",hours:40}),n=(t,c)=>o(l=>({...l,[t]:c})),i=j.useMemo(()=>{const c=(g.baseManagement+a.platforms*g.perPlatform+a.hours*g.hoursRate)*g.strategyComplexityMult[a.strategy],p=g.perCreatorByTier[a.tier]*a.creators+a.contentVolume*180+(a.licensing?a.creators*g.licensingPerCreator:0)+(a.spark?a.creators*g.sparkCodeFee:0),b=a.spend*g.mediaMgmtPctOfSpend[
10],y=a.spend*g.mediaMgmtPctOfSpend[1],u=1-(g.commitmentDiscount[a.months]??0),k=(c+p+b)*u*(1-g.variance),A=(c+p+y)*u*(1+g.variance),B=a.hasAdsMgr&&a.auditDone&&a.months>=6&&a.spend>=15e3;return{mgmt:M(c*u,g.variance),content:M(p*u,g.variance),media:[b*u,y*u],total:[k,A],eligible:B}},[a]);return j.useEffect(()=>{s(`Reactor Engine · ${a.months}mo · ${a.platforms} platform(s) · £${a.spend.toLocaleString()} spend · ${a.creators}× ${a.tier} creators · Est total ${x(...i.total)}/mo`)},[a,i,s]),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_440px] gap-8",children:[e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(r,{label:"Commitment length",children:e.jsx(d,{value:a.months,onChange:t=>n("months",t),options:[6,9,12,18,24].map(t=>({value:t,label:`${t} months`}))})}),e.jsx(r,{label:"Market / geography",children:e.jsx(d,{value:a.geo,onChange:t=>n("geo",t),options:["UK","EU","US","APAC","Global"].map(t=>({value:t,label:t}))})}),e.jsx(r,{label:"Platforms",children:e.jsx(m,{value:a.platforms,onChange:t=>n("platforms",t),min:1,max:6})}),e.jsx(r,{label:"Goal",children:e.jsx(d,{value:a.goal,onChange:t=>n("goal",t),options:["Views","Traffic","Conversions","Installs","Revenue"].map(t=>({value:t,label:t}))})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsx(C,{value:a.hasAdsMgr,onChange:t=>n("hasAdsMgr",t),label:"Existing ads manager"}),e.jsx(C,{value:a.auditDone,onChange:t=>n("auditDone",t),label:"Audit available"}),e.jsx(C,{value:a.licensing,onChange:t=>n("licensing",t),label:"Licensing / whitelisting"}),e.jsx(C,{value:a.spark,onChange:t=>n("spark",t),label:"Spark codes required"})]}),e.jsx(r,{label:"Monthly ad spend",hint:"Spend runs through your own ad account.",children:e.jsx(m,{value:a.spend,onChange:t=>n("spend",t),min:5e3,max:5e5,step:1e3,format:t=>`£${t.toLocaleString()}`})}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(r,{label:"Target ROAS",children:e.jsx(m,{value:a.targetROAS,onChange:t=>n("targetROAS",t),min:1,max:10,step:.1,format:t=>`${t.toFixed(1)}x`})}),e.jsx(r,{label:"Creator volume",children:e.jsx(m,{value:a.creators,onChange:t=>n("creators",t),min:1,max:50})}),e.jsx(r,{label:"Creator tier mix",children:e.jsx(d,{value:a.tier,onChange:t=>n("tier",t),options:Object.keys(g.perCreatorByTier).map(t=>({value:t,label:t.toUpperCase()}))})}),e.jsx(r,{label:"Content volume / month",children:e.jsx(m,{value:a.contentVolume,onChange:t=>n("contentVolume",t),min:5,max:200})}),e.jsx(r,{label:"Strategy complexity",children:e.jsx(d,{value:a.strategy,onChange:t=>n("strategy",t),options:[{value:"light",label:"Light"},{value:"standard",label:"Standard"},{value:"deep",label:"Deep"}]})}),e.jsx(r,{label:"Management hours / month",children:e.jsx(m,{value:a.hours,onChange:t=>n("hours",t),min:10,max:200})})]})]}),e.jsxs(P,{children:[e.jsx(f,{label:"Management range",value:x(...i.mgmt)}),e.jsx(f,{label:"Creator / content range",value:x(...i.content)}),e.jsx(f,{label:"Paid media management",value:x(...i.media)}),e.jsx(f,{label:"Recommended commitment",value:`${a.months} months`}),e.jsx(f,{label:"Total monthly investment",value:x(...i.total),accent:!0}),e.jsxs("div",{className:`mt-5 p-4 rounded-2xl text-sm leading-relaxed ${i.eligible?"bg-accent-cyan/10 border border-accent-cyan/40":"bg-white/[0.04] border border-white/10"}`,children:[e.jsxs("div",{className:"flex items-center gap-2 font-black uppercase tracking-tight mb-1",children:[e.jsx(O,{className:`w-4 h-4 ${i.eligible?"text-accent-cyan":"text-white/40"}`}),i.eligible?"Reactor eligible":"Reactor pending"]}),e.jsx("p",{className:"text-white/70 text-xs",children:"Guaranteed results may be available if SCROll STOP controls strategy, creative and paid media, and current ads infrastructure has been audited."})]})]})]})}function ae({onSummary:s}){const[a,o]=j.useState({geo:"UK",platform:"TikTok",vertical:"Beauty",tier:"micro",count:10,spendPer:800,alignment:7,bio:!0,spark:!0,storyboard:!1,rounds:2,whitelisting:!1,licensing:"6m",outreach:"standard",approval:"standard",reporting:"standard"}),n=(t,c)=>o(l=>({...l,[t]:c})),i=j.useMemo(()=>{const t=a.count*Math.max(h.perCreatorByTier[a.tier],a.spendPer),c=(a.storyboard?h.storyboardFee*a.count:0)+a.rounds*h.editRoundFee*a.count+(a.whitelisting?h.whitelistingPerCreator*a.count:0)+h.licensingByDuration[a.licensing]*a.count+h.reportingByDepth[a.reporting],l=t*h.mgmtPctOfCreatorSpend[0]*h.outreachComplexityMult[a.outreach]*h.approvalComplexityMult[a.approval],p=t*h.mgmtPctOfCreatorSpend[1]*h.outreachComplexityMult[a.outreach]*h.approvalComplexityMult[a.approval],b=(t+c+l)*(1-h.variance),y=(t+c+p)*(1+h.variance),u=Math.min(100,Math.round((h.outreachComplexityMult[a.outreach]+h.approvalComplexityMult[a.approval])*30+a.count*.5+(10-a.alignment)*3));return{creator:[t*.9,t*1.1],mgmt:[l,p],licensing:[c*.9,c*1.1],total:[b,y],opsScore:u}},[a]);return j.useEffect(()=>{s(`Influencer · ${a.platform} · ${a.count}× ${a.tier} · ${a.geo} · Est total ${x(...i.total)}`)},[a,i,s]),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_440px] gap-8",children:[e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(r,{label:"Geography",children:e.jsx(d,{value:a.geo,onChange:t=>n("geo",t),options:["UK","EU","US","APAC","Global"].map(t=>({value:t,label:t}))})}),e.jsx(r,{label:"Platform",children:e.jsx(d,{value:a.platform,onChange:t=>n("platform",t),options:["TikTok","Instagram","YouTube Shorts","Meta","Multi-platform"].map(t=>({value:t,label:t}))})}),e.jsx(r,{label:"Consumer vertical",children:e.jsx(d,{value:a.vertical,onCh
1ange:t=>n("vertical",t),options:["Beauty","Fashion","Tech","Apps","FMCG","Wellness","Other"].map(t=>({value:t,label:t}))})}),e.jsx(r,{label:"Creator tier",children:e.jsx(d,{value:a.tier,onChange:t=>n("tier",t),options:Object.keys(h.perCreatorByTier).map(t=>({value:t,label:t.toUpperCase()}))})}),e.jsx(r,{label:"Number of creators",children:e.jsx(m,{value:a.count,onChange:t=>n("count",t),min:1,max:80})}),e.jsx(r,{label:"Spend per creator",children:e.jsx(m,{value:a.spendPer,onChange:t=>n("spendPer",t),min:100,max:25e3,step:100,format:t=>`£${t.toLocaleString()}`})}),e.jsx(r,{label:"Audience alignment (1–10)",children:e.jsx(m,{value:a.alignment,onChange:t=>n("alignment",t),min:1,max:10})}),e.jsx(r,{label:"Edit rounds",children:e.jsx(m,{value:a.rounds,onChange:t=>n("rounds",t),min:0,max:6})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsx(C,{value:a.bio,onChange:t=>n("bio",t),label:"Link-in-bio required"}),e.jsx(C,{value:a.spark,onChange:t=>n("spark",t),label:"Spark codes required"}),e.jsx(C,{value:a.storyboard,onChange:t=>n("storyboard",t),label:"Storyboarding"}),e.jsx(C,{value:a.whitelisting,onChange:t=>n("whitelisting",t),label:"Whitelisting"})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[e.jsx(r,{label:"Licensing duration",children:e.jsx(d,{value:a.licensing,onChange:t=>n("licensing",t),options:[{value:"3m",label:"3 months"},{value:"6m",label:"6 months"},{value:"12m",label:"12 months"},{value:"perpetual",label:"Perpetual"}]})}),e.jsx(r,{label:"Outreach difficulty",children:e.jsx(d,{value:a.outreach,onChange:t=>n("outreach",t),options:[{value:"easy",label:"Easy"},{value:"standard",label:"Standard"},{value:"hard",label:"Hard"}]})}),e.jsx(r,{label:"Approval complexity",children:e.jsx(d,{value:a.approval,onChange:t=>n("approval",t),options:[{value:"light",label:"Light"},{value:"standard",label:"Standard"},{value:"deep",label:"Deep"}]})}),e.jsx(r,{label:"Reporting depth",children:e.jsx(d,{value:a.reporting,onChange:t=>n("reporting",t),options:[{value:"snapshot",label:"Snapshot"},{value:"standard",label:"Standard"},{value:"deep",label:"Deep dive"}]})})]})]}),e.jsxs(P,{children:[e.jsx(f,{label:"Creator budget",value:x(...i.creator)}),e.jsx(f,{label:"Management",value:x(...i.mgmt)}),e.jsx(f,{label:"Licensing / usage",value:x(...i.licensing)}),e.jsx(f,{label:"Total campaign estimate",value:x(...i.total),accent:!0}),e.jsxs("div",{className:"mt-5 p-4 rounded-2xl bg-white/[0.04] border border-white/10",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("span",{className:"text-xs uppercase tracking-widest font-bold text-white/60",children:"Ops complexity"}),e.jsxs("span",{className:"text-sm font-black text-accent-pink",children:[i.opsScore,"/100"]})]}),e.jsx("div",{className:"h-2 rounded-full bg-white/10 overflow-hidden",children:e.jsx("div",{className:"h-full bg-gradient-to-r from-accent-cyan via-accent-light-purple to-accent-pink",style:{width:`${i.opsScore}%`}})})]})]})]})}function ne({onSummary:s}){const[a,o]=j.useState({months:12,spend:5e4,revenueTarget:2e5,currentROAS:1.8,targetROAS:3.5,platforms:2,testing:30,reporting:"standard",hours:60,feeModel:"spend"}),n=(t,c)=>o(l=>({...l,[t]:c})),i=j.useMemo(()=>{const t=v.baseManagement+a.platforms*v.perPlatform+a.hours*g.hoursRate*.7,c=t+a.spend*v.mgmtPctOfSpend[0]+a.testing*v.creativeTestingFee,l=t+a.spend*v.mgmtPctOfSpend[1]+a.testing*v.creativeTestingFee+v.reportingByDepth[a.reporting],p=1-(v.commitmentDiscount[a.months]??0);let b=0,y=0;const u=Math.max(0,a.spend*a.targetROAS-a.spend*a.currentROAS);return a.feeModel==="results"&&(b=u*v.performanceFeePctResults[0],y=u*v.performanceFeePctResults[1]),a.feeModel==="hybrid"&&(b=u*v.hybridResultsPct,y=u*(v.hybridResultsPct+.03)),{mgmt:[c*p*(1-v.variance),l*p*(1+v.variance)],perf:[b,y],total:[(c+b)*p*(1-v.variance),(l+y)*p*(1+v.variance)]}},[a]);return j.useEffect(()=>{s(`Paid Media · ${a.months}mo · £${a.spend.toLocaleString()} spend · ${a.targetROAS}x ROAS · ${a.feeModel} fee · Est total ${x(...i.total)}/mo`)},[a,i,s]),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_440px] gap-8",children:[e.jsx("div",{className:"space-y-5",children:e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(r,{label:"Commitment length",children:e.jsx(d,{value:a.months,onChange:t=>n("months",t),options:[6,9,12,18,24].map(t=>({value:t,label:`${t} months`}))})}),e.jsx(r,{label:"Platforms",children:e.jsx(m,{value:a.platforms,onChange:t=>n("platforms",t),min:1,max:6})}),e.jsx(r,{label:"Monthly ad spend",hint:"Through your own ad account.",children:e.jsx(m,{value:a.spend,onChange:t=>n("spend",t),min:1e4,max:1e6,step:5e3,format:t=>
1`£${t.toLocaleString()}`})}),e.jsx(r,{label:"Monthly revenue target",children:e.jsx(m,{value:a.revenueTarget,onChange:t=>n("revenueTarget",t),min:2e4,max:5e6,step:1e4,format:t=>`£${t.toLocaleString()}`})}),e.jsx(r,{label:"Current ROAS",children:e.jsx(m,{value:a.currentROAS,onChange:t=>n("currentROAS",t),min:.5,max:10,step:.1,format:t=>`${t.toFixed(1)}x`})}),e.jsx(r,{label:"Target ROAS",children:e.jsx(m,{value:a.targetROAS,onChange:t=>n("targetROAS",t),min:1,max:12,step:.1,format:t=>`${t.toFixed(1)}x`})}),e.jsx(r,{label:"Creative tests / month",children:e.jsx(m,{value:a.testing,onChange:t=>n("testing",t),min:5,max:300})}),e.jsx(r,{label:"Management hours / month",children:e.jsx(m,{value:a.hours,onChange:t=>n("hours",t),min:20,max:300})}),e.jsx(r,{label:"Reporting depth",children:e.jsx(d,{value:a.reporting,onChange:t=>n("reporting",t),options:[{value:"snapshot",label:"Snapshot"},{value:"standard",label:"Standard"},{value:"deep",label:"Deep"}]})}),e.jsx(r,{label:"Performance fee model",children:e.jsx(d,{value:a.feeModel,onChange:t=>n("feeModel",t),options:[{value:"spend",label:"% of spend"},{value:"results",label:"% of results"},{value:"hybrid",label:"Hybrid"}]})})]})}),e.jsxs(P,{children:[e.jsx(f,{label:"Management fee range",value:x(...i.mgmt)}),e.jsx(f,{label:"Performance fee estimate",value:a.feeModel==="spend"?"Included":x(...i.perf)}),e.jsx(f,{label:"Recommended term",value:`${a.months} months`}),e.jsx(f,{label:"Total monthly management",value:x(...i.total),accent:!0}),e.jsx("p",{className:"mt-4 text-xs text-white/50 leading-relaxed",children:"Media spend goes through your ad account / card, not SCROll STOP. Data stays with you."})]})]})}function se({onSummary:s}){const[a,o]=j.useState({volume:30,mgmtCost:4,spendPer:320,edit:"standard",formats:{ugc:!0,statics:!0,gifs:!1,scripts:!1,"creator-led":!1,"brand-led":!1},speed:"standard"}),n=(t,c)=>o(l=>({...l,[t]:c})),i=j.useMemo(()=>{const t=Object.entries(a.formats).filter(([u,k])=>k).map(([u])=>u),l=((t.length?t.reduce((u,k)=>u+N.spendPerCreativeByFormat[k],0)/t.length:a.spendPer)+a.spendPer)/2,p=N.managementBase+a.mgmtCost*N.managementPerVolumeTier*a.volume*.1,b=l*a.volume*N.editComplexityMult[a.edit]*N.rushMult[a.speed],y=p+b;return{mgmt:M(p,N.variance),production:M(b,N.variance),total:M(y,N.variance),formats:t}},[a]);return j.useEffect(()=>{s(`Content · ${a.volume}/mo · formats: ${i.formats.join(", ")||"—"} · Est total ${x(...i.total)}/mo`)},[a,i,s]),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_440px] gap-8",children:[e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(r,{label:"Monthly creative volume",children:e.jsx(m,{value:a.volume,onChange:t=>n("volume",t),min:5,max:300})}),e.jsx(r,{label:"Management cost (1–10)",children:e.jsx(m,{value:a.mgmtCost,onChange:t=>n("mgmtCost",t),min:1,max:10})}),e.jsx(r,{label:"Average spend per creative",children:e.jsx(m,{value:a.spendPer,onChange:t=>n("spendPer",t),min:80,max:5e3,step:20,format:t=>`£${t.toLocaleString()}`})}),e.jsx(r,{label:"Edit complexity",children:e.jsx(d,{value:a.edit,onChange:t=>n("edit",t),options:[{value:"light",label:"Light"},{value:"standard",label:"Standard"},{value:"premium",label:"Premium"}]})}),e.jsx(r,{label:"Delivery speed",children:e.jsx(d,{value:a.speed,onChange:t=>n("speed",t),options:[{value:"standard",label:"Standard"},{value:"expedited",label:"Expedited"},{value:"urgent",label:"Urgent"}]})})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs uppercase tracking-widest text-white/50 font-bold mb-2",children:"Format mix"}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-3",children:Object.keys(a.formats).map(t=>e.jsx(C,{value:a.formats[t],onChange:c=>n("formats",{...a.formats,[t]:c}),label:t.toUpperCase()},t))})]})]}),e.jsxs(P,{children:[e.jsx(f,{label:"Management",value:x(...i.mgmt)}),e.jsx(f,{label:"Production",value:x(...i.production)}),e.jsx(f,{label:"Total monthly",value:x(...i.total),accent:!0}),e.jsx("p",{className:"mt-4 text-xs text-white/50 leading-relaxed",children:"Formula: management cost × volume 
1+ spend per creative × format × edit × delivery."})]})]})}function P({children:s}){return e.jsxs(w.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},className:"glass rounded-card p-7 h-fit sticky top-28",children:[e.jsx("div",{className:"text-xs uppercase tracking-widest text-accent-cyan font-bold mb-1",children:"Directional estimate"}),e.jsx("h3",{className:"text-2xl font-black tracking-tighter uppercase mb-4",children:"Your range"}),s,e.jsx("p",{className:"mt-5 text-[11px] text-white/40 leading-relaxed",children:Z})]})}const le=[{id:"reactor",label:"Reactor Engine"},{id:"influencer",label:"Influencer"},{id:"paid",label:"Paid Media"},{id:"content",label:"Content"}];function re({onSummary:s}){const[a,o]=j.useState("reactor");return e.jsx("section",{id:"builder",className:"px-6 py-24 border-t border-white/5",children:e.jsxs("div",{className:"max-w-7xl mx-auto",children:[e.jsxs("div",{className:"mb-12",children:[e.jsx("div",{className:"text-xs uppercase tracking-widest text-accent-pink font-bold mb-4",children:"02 — Build Your Estimate"}),e.jsxs("h2",{className:"text-4xl md:text-7xl font-black tracking-tighter uppercase max-w-4xl",children:["Move the dials. ",e.jsx("span",{className:"italic text-accent-cyan",children:"Watch the math."})]})]}),e.jsx("div",{className:"flex flex-wrap gap-2 mb-10 glass rounded-pill p-2 w-fit",children:le.map(n=>e.jsx("button",{onClick:()=>o(n.id),className:`px-5 py-2.5 rounded-pill text-sm font-black uppercase tracking-tight transition-all ${a===n.id?"bg-accent-cyan text-brand-black":"text-white/60 hover:text-white"}`,children:n.label},n.id))}),e.jsx(T,{mode:"wait",children:e.jsxs(w.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.25},children:[a==="reactor"&&e.jsx(te,{onSummary:s}),a==="influencer"&&e.jsx(ae,{onSummary:s}),a==="paid"&&e.jsx(ne,{onSummary:s}),a==="content"&&e.jsx(se,{onSummary:s})]},a)})]})})}function ie({summary:s}){const[a,o]=j.useState(!1),[n,i]=j.useState({name:"",brand:"",website:"",email:"",revenue:"<£100k",spend:"<£25k",goal:"Revenue",service:"Reactor Engine"}),t=(l,p)=>i(b=>({...b,[l]:p})),c=async l=>{l.preventDefault(),console.log("Quote request:",{...n,summary:s}),o(!0)};return e.jsx("section",{id:"quote",className:"px-6 py-24 border-t border-white/5",children:e.jsxs("div",{className:"max-w-5xl mx-auto",children:[e.jsxs("div",{className:"text-center mb-12",children:[e.jsx("div",{className:"text-xs uppercase tracking-widest text-accent-cyan font-bold mb-4",children:"03 — Quote Capture"}),e.jsxs("h2",{className:"text-4xl md:text-6xl font-black tracking-tighter uppercase",children:["Book a ",e.jsx("span",{className:"italic text-accent-cyan",children:"30-minute"})," consult."]}),e.jsx("p",{className:"mt-5 max-w-2xl mx-auto text-white/70",children:"We'll walk through your estimate, pressure-test assumptions, and deliver a scoped quote."})]}),e.jsx(T,{mode:"wait",children:a?e.jsxs(w.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:"glass rounded-card p-12 text-center",children:[e.jsx(G,{className:"w-16 h-16 text-accent-cyan mx-auto mb-6"}),e.jsx("h3",{className:"text-3xl font-black uppercase tracking-tight mb-3",children:"Request received."}),e.jsx("p",{className:"text-white/70",children:"Our partnerships team will be in touch within one working day."})]},"done"):e.jsxs(w.form,{onSubmit:c,initial:{opacity:0}
1,animate:{opacity:1},className:"glass rounded-card p-8 md:p-10 grid grid-cols-1 md:grid-cols-2 gap-5",children:[[["name","Name"],["brand","Brand"],["website","Website"],["email","Email"]].map(([l,p])=>e.jsx(r,{label:p,children:e.jsx("input",{required:!0,type:l==="email"?"email":"text",value:n[l],onChange:b=>t(l,b.target.value),maxLength:200,className:"w-full glass rounded-xl px-4 py-3 text-sm font-semibold bg-white/[0.04] border border-white/10 focus:outline-none focus:border-accent-cyan"})},l)),e.jsx(r,{label:"Monthly revenue band",children:e.jsx(d,{value:n.revenue,onChange:l=>t("revenue",l),options:["<£100k","£100k–£500k","£500k–£2M","£2M–£10M","£10M+"].map(l=>({value:l,label:l}))})}),e.jsx(r,{label:"Monthly ad spend",children:e.jsx(d,{value:n.spend,onChange:l=>t("spend",l),options:["<£25k","£25k–£100k","£100k–£500k","£500k+"].map(l=>({value:l,label:l}))})}),e.jsx(r,{label:"Primary goal",children:e.jsx(d,{value:n.goal,onChange:l=>t("goal",l),options:["Views","Traffic","Conversions","Installs","Revenue"].map(l=>({value:l,label:l}))})}),e.jsx(r,{label:"Service interest",children:e.jsx(d,{value:n.service,onChange:l=>t("service",l),options:$.map(l=>({value:l.title,label:l.title}))})}),e.jsx("div",{className:"md:col-span-2",children:e.jsx(r,{label:"Calculator summary (auto-attached)",children:e.jsx("textarea",{readOnly:!0,value:s,rows:2,className:"w-full glass rounded-xl px-4 py-3 text-xs font-mono bg-white/[0.04] border border-white/10 text-white/70"})})}),e.jsx("div",{className:"md:col-span-2 flex justify-end",children:e.jsxs("button",{type:"submit",className:"inline-flex items-center gap-3 bg-accent-cyan text-brand-black font-black uppercase tracking-tight px-8 py-4 rounded-pill glow-cyan hover:scale-[1.02] transition-transform",children:[e.jsx(_,{className:"w-5 h-5"})," Book 30-minute quote consult"]})})]},"form")})]})})}function ue(){const[s,a]=j.useState("");return e.jsxs("main",{className:"bg-brand-black text-white min-h-screen",children:[e.jsx(J,{}),e.jsx(ee,{}),e.jsx(re,{onSummary:a}),e.jsx(ie,{summary:s})]})}export{ue 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.