{"version":3,"file":"shared.DwcCXCFb.mjs","names":["React.useState","React.useRef","c","p","_Fragment","React.useRef","p","DEFAULTS","React.useState","React.useMemo","DEFAULTS","React.useRef","React.useState","DEFAULTS","React.useRef","p","DEFAULTS","React.useRef","React.useState","React.useCallback","EASE","c","_Fragment","React.useRef","React.useMemo","React.Fragment","__esmMin","le","init_ssg_sandbox_shims","ne","x","l","_e","pe","p","c","init_jsx_runtime","ce","init_npm_react_18_3_1","de","window","useInView","useReducedMotion","motion","init_framer_motion_DhsWWWsN","RenderTarget","addPropertyControls","ControlType","init_framer_CaDWdxiz","tangents","n","d","m","i","a","b","h","t","linePath","s","yAt","t2","t3","toPts","vals","w","padTop","v","min","max","padBottom","useSize","setS","init","el","ref","set","ro","LineChart","box","left","yLabels","bottom","xLabels","W","H","pts","series","y","ruleC","dark","RULE","labC","CAPTION","cx","cy","callout","clipW","clamp01","draw","id","k","o","c$3","j","grid","g","FONT","areaPath","INK","Spark","p$3","color","color2","Segmented","items","active","MUTED","it","IconTile","c1","c2","TILE_COLS","colour","size","GLYPHS","glyph","SpectrumGlow","blobs","bezier","p1x","bx","p2x","ax","p1y","by","p2y","ay","sx","sy","dx","e","BODY","DISPLAY","easeOut","beat","fmt","init_ChartKit","base","falloff","a0","rise","a1","DomeGlow","cv","dpr","ctx","off","octx","R","hatch","lineRGB","sampleRim","clamp","streakPeak","rimY","spawn","now","t00","streaks","tinted","cg","PALETTES","target","cur","move","r","still","follow","last","frame","dt","ci","STAGGER","LIGHT_X","pi","easeTravel","la","lx","ly","ga","gh","gl","hatching","lines","end","u","sg","ground","gi","raf","on","loop","io","start","stop","SpectrumHorizon","p$2","DEFAULTS$4","incoming","root","haloRef","wipeRef","streakRefs","setBox","setNow","block","outside","isLightCol","WHITE","MIDNIGHT","isLight","discLight","light","lightSet","domeHeight","D","RIM","SPECTRUM","conicOf","lineAlpha","lineBg","deg","glowBg","tick","curI","prevI","autoX","f","lightDeg","apply","top","rp","q","halo","wipe","els","demo","fx","op","yEnd","n0","st","solid","GRAIN","circle","inset","band","HALO","RIM_MASK","win","TABLE","init_SpectrumHorizon","d0","h0","d1","h1","rgb","col","gg","bb","hex","paintRing","grad","pct","prog","at","TX","TY","TW","TH","colourAt","useGlowLap","opts","host","lapMs","ss","paint","rings","t0","visible","cyc","running","hovering","lapsDone","fin","fout","lap","enter","leave","fired","sraf","check","mid","onScroll","GlowRing","uid","width","GlowBorder","DEFAULTS$3","findHost","cs","me","measure","hr","mr","SINGLE","TC","init_GlowBorder","tr","ParticleWave","DEFAULTS$2","cvRef","mx","my","tx","ty","mInf","mTarget","shape","pal","tintPal","PAL","dens","cols","rows","N","U","V","J","K","hash","styles","palAt","bucketX","order","field","wx","z","wz","sz","bl","RR","ocy","tc","th","twist","spread","lift","near","ai","X","Y","Z","sx0","hn","centerY","centerZ","depth","across","list","onMove","bleed","mixC","parseC","init_ParticleWave","str","lit","HomeStatsStories","p$1","DEFAULTS$1","picked","SLOTS","NAMES","cases","CASES","nm","setW","idx","setIdx","vis","setVis","wide","narrow","px","perRow","display","per","HW","rowEls","heads","elapsed","idxRef","held","stopped","setStopped","geo","tab","row","rw","hubAt","glide","pick","to","from","step","story","anim","EASE$1","c$1","c$2","brand","sk","sub","panel","SHAPES","domeH","CSS","span","HUB","init_HomeStatsStories","segment","out","text","chunk","accent","clean","HousingReveal","props","DEFAULTS","inView","reduce","onCanvas","show","segments","plain","wordCount","colourAccent","accentStyle","hidden","word","key","index","duration","EASE","stagger","Tag","tag","headingFont","justify","align","settle","style","srOnly","showDot","Dot","dotColor","accentColor","si","wi","subtitle","subtitleColor","subtitleFont","animate","init_HousingReveal_2"],"sources":["https:/framerusercontent.com/modules/AX8bdKyUBhueQbZhwj6K/8VeGi9z1QE09gnbS3UgV/ChartKit.js","https:/framerusercontent.com/modules/WEa4oLdXqK9agTLFNYDx/uyuUjAO6JCilQo1lLA33/SpectrumHorizon.js","https:/framerusercontent.com/modules/PRWMliUF8cCFzhjeT15y/O0tqB77cSXJij0KejgND/GlowBorder.js","https:/framerusercontent.com/modules/2fCdMwoD3mjJaQaIrhpV/rz6HyKzoAicStNqcgX4A/ParticleWave.js","https:/framerusercontent.com/modules/FGkMVomxDVTpSc60Anzo/HUYaAloe3fBDRZO7zvNb/HomeStatsStories.js","https:/framerusercontent.com/modules/PKdarxESmin4hMoMgBkj/UG7ta1gIbhpB4UcjpN2j/HousingReveal_2.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";/*\n * ChartKit: shared pieces for premium charts and stat cards (vault entry \"Premium charts and stats\",\n * 3 Nov 2026). Smooth monotone lines with a soft gradient fill, one callout, hatched bars, sparklines\n * and count-ups. Mostly monochrome: colour goes to one series only.\n * Not a component: graphics import it with `import { ... } from \"./ChartKit.tsx\"`.\n */export const INK=\"#1C1817\",BODY=\"#4F4B48\",MUTED=\"#8A857F\",CAPTION=\"#B3AEA9\",RULE=\"rgba(28,24,23,0.07)\";export const DISPLAY='\"Inter Display\", \"Inter\", system-ui, sans-serif';export const FONT='\"Inter\", system-ui, sans-serif';// Fritsch-Carlson monotone tangents, so the curve never overshoots between points.\nfunction tangents(p){const n=p.length,d=[],m=[];for(let i=0;i<n-1;i++)d.push((p[i+1][1]-p[i][1])/Math.max(1e-6,p[i+1][0]-p[i][0]));m[0]=d[0];m[n-1]=d[n-2];for(let i=1;i<n-1;i++)m[i]=d[i-1]*d[i]<=0?0:(d[i-1]+d[i])/2;for(let i=0;i<n-1;i++){if(d[i]===0){m[i]=0;m[i+1]=0;continue;}const a=m[i]/d[i],b=m[i+1]/d[i],h=a*a+b*b;if(h>9){const t=3/Math.sqrt(h);m[i]=t*a*d[i];m[i+1]=t*b*d[i];}}return m;}/** Smooth path through points (already in pixel space). */export function linePath(p){if(p.length<2)return\"\";const m=tangents(p);let s=`M${p[0][0].toFixed(1)} ${p[0][1].toFixed(1)}`;for(let i=0;i<p.length-1;i++){const h=(p[i+1][0]-p[i][0])/3;s+=`C${(p[i][0]+h).toFixed(1)} ${(p[i][1]+m[i]*h).toFixed(1)} ${(p[i+1][0]-h).toFixed(1)} ${(p[i+1][1]-m[i+1]*h).toFixed(1)} ${p[i+1][0].toFixed(1)} ${p[i+1][1].toFixed(1)}`;}return s;}export const areaPath=(p,base)=>p.length<2?\"\":`${linePath(p)}L${p[p.length-1][0]} ${base}L${p[0][0]} ${base}Z`;/** y of the smooth curve at x (Hermite on the same tangents), for callout dots that sit on the line. */export function yAt(p,x){const m=tangents(p);let i=0;while(i<p.length-2&&x>p[i+1][0])i++;const h=p[i+1][0]-p[i][0],t=Math.max(0,Math.min(1,(x-p[i][0])/h));const t2=t*t,t3=t2*t;return(2*t3-3*t2+1)*p[i][1]+(t3-2*t2+t)*h*m[i]+(-2*t3+3*t2)*p[i+1][1]+(t3-t2)*h*m[i+1];}/** Map data values to pixel points inside a box. */export function toPts(vals,w,h,min,max,padTop=0,padBottom=0){const n=vals.length;return vals.map((v,i)=>[i/(n-1)*w,padTop+(1-(v-min)/Math.max(1e-6,max-min))*(h-padTop-padBottom)]);}export const clamp01=x=>Math.max(0,Math.min(1,x));export const easeOut=x=>1-Math.pow(1-clamp01(x),3);/** progress of a beat, eased out */export const beat=(t,a,b)=>easeOut((t-a)/Math.max(1,b-a));export const fmt=n=>Math.round(n).toLocaleString(\"en-GB\");/** Measured size of an element. */export function useSize(ref,init={w:600,h:400}){const[s,setS]=React.useState(init);React.useLayoutEffect(()=>{const el=ref.current;if(!el)return;const set=(w,h)=>w>1&&h>1&&setS({w:Math.round(w),h:Math.round(h)});set(el.offsetWidth,el.offsetHeight);if(typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(([e])=>set(e.contentRect.width,e.contentRect.height));ro.observe(el);return()=>ro.disconnect();},[]);return s;}/** Diagonal hatch fill for \"other\" or \"previous\" bars. */export function Hatch({id,color=\"rgba(28,24,23,0.16)\",gap=6}){return /*#__PURE__*/_jsxs(\"pattern\",{id:id,width:gap,height:gap,patternUnits:\"userSpaceOnUse\",patternTransform:\"rotate(45)\",children:[/*#__PURE__*/_jsx(\"rect\",{width:gap,height:gap,fill:\"rgba(28,24,23,0.025)\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"0\",y1:\"0\",x2:\"0\",y2:gap,stroke:color,strokeWidth:\"1.2\"})]});}/**\n * A smooth line chart that fills its box. `draw` (0..1) reveals it left to right; `callout` puts one\n * ring dot on series 0 at index i (fractional ok) with a soft guide and an HTML tooltip.\n */export function LineChart({series,min,max,draw=1,grid=4,yLabels,xLabels,callout,dark=false,padTop=14,id}){const box=React.useRef(null);const{w,h}=useSize(box,{w:500,h:220});const left=yLabels?40:0,bottom=xLabels?24:0;const W=Math.max(10,w-left),H=Math.max(10,h-bottom);const pts=series.map(s=>toPts(s.vals,W,H,min,max,padTop,2).map(([x,y])=>[x+left,y]));const ruleC=dark?\"rgba(255,255,255,0.07)\":RULE;const labC=dark?\"#9C9A97\":CAPTION;let cx=0,cy=0;if(callout){const n=series[0].vals.length;cx=left+callout.i/(n-1)*W;cy=yAt(pts[0],cx);}const clipW=left+W*clamp01(draw);return /*#__PURE__*/_jsxs(\"div\",{ref:box,style:{position:\"relative\",width:\"100%\",height:\"100%\"},children:[/*#__PURE__*/_jsxs(\"svg\",{width:w,height:h,style:{position:\"absolute\",inset:0,overflow:\"visible\"},\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsx(\"clipPath\",{id:`${id}-clip`,children:/*#__PURE__*/_jsx(\"rect\",{x:\"0\",y:\"-20\",width:clipW,height:h+40})}),series.map((s,k)=>/*#__PURE__*/_jsxs(\"linearGradient\",{id:`${id}-f${k}`,x1:\"0\",x2:\"0\",y1:\"0\",y2:\"1\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0\",stopColor:s.color,stopOpacity:dark?.32:.16}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:s.color,stopOpacity:\"0\"})]},k)),series.map((s,k)=>s.stops?/*#__PURE__*/_jsx(\"linearGradient\",{id:`${id}-s${k}`,gradientUnits:\"userSpaceOnUse\",x1:left,x2:left+W,y1:\"0\",y2:\"0\",children:s.stops.map(([o,c],j)=>/*#__PURE__*/_jsx(\"stop\",{offset:o,stopColor:c},j))},`s${k}`):null),/*#__PURE__*/_jsxs(\"linearGradient\",{id:`${id}-fade`,x1:\"0\",x2:\"0\",y1:\"0\",y2:\"1\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0\",stopColor:\"#fff\",stopOpacity:dark?.34:.2}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:\"#fff\",stopOpacity:\"0\"})]}),/*#__PURE__*/_jsx(\"mask\",{id:`${id}-m`,maskUnits:\"userSpaceOnUse\",x:\"0\",y:\"0\",width:w,height:h,children:/*#__PURE__*/_jsx(\"rect\",{x:\"0\",y:\"0\",width:w,height:H,fill:`url(#${id}-fade)`})})]}),Array.from({length:grid+1}).map((_,g)=>{const y=padTop+g/grid*(H-padTop-2);return /*#__PURE__*/_jsx(\"line\",{x1:left,x2:w,y1:y,y2:y,stroke:ruleC,strokeWidth:\"1\"},g);}),yLabels?.map((l,g)=>/*#__PURE__*/_jsx(\"text\",{x:0,y:padTop+g/(yLabels.length-1)*(H-padTop-2)+4,fontSize:\"11\",fill:labC,fontFamily:FONT,children:l},g)),xLabels?.map((l,g)=>/*#__PURE__*/_jsx(\"text\",{x:left+g/(xLabels.length-1)*W,y:h-4,fontSize:\"11\",fill:labC,fontFamily:FONT,textAnchor:g===0?\"start\":g===xLabels.length-1?\"end\":\"middle\",children:l},g)),/*#__PURE__*/_jsxs(\"g\",{clipPath:`url(#${id}-clip)`,children:[series.map((s,k)=>s.fill?/*#__PURE__*/_jsx(\"path\",{d:areaPath(pts[k],H),fill:s.stops?`url(#${id}-s${k})`:`url(#${id}-f${k})`,mask:s.stops?`url(#${id}-m)`:undefined,opacity:s.opacity??1},`a${k}`):null),series.map((s,k)=>({s,k})).reverse().map(({s,k})=>/*#__PURE__*/_jsx(\"path\",{d:linePath(pts[k]),fill:\"none\",stroke:s.color,strokeWidth:s.width??2,strokeLinecap:\"round\",strokeDasharray:s.dashed?\"2 5\":undefined,opacity:s.opacity??1,style:s.stops?{stroke:`url(#${id}-s${k})`}:undefined},`l${k}`))]}),callout&&callout.show>0?/*#__PURE__*/_jsxs(\"g\",{opacity:callout.show,children:[/*#__PURE__*/_jsx(\"circle\",{cx:cx,cy:cy,r:\"10\",fill:series[0].color,opacity:\"0.18\"}),/*#__PURE__*/_jsx(\"circle\",{cx:cx,cy:cy,r:\"5.5\",fill:dark?\"#18181A\":\"#fff\",stroke:series[0].color,strokeWidth:\"2\"})]}):null]}),callout&&callout.show>0?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:Math.min(Math.max(cx,70),w-70),top:cy-14,transform:`translate(-50%, -100%) translateY(${(1-callout.show)*6}px)`,opacity:callout.show,padding:\"7px 11px\",borderRadius:10,whiteSpace:\"nowrap\",fontFamily:FONT,fontSize:12.5,fontWeight:600,letterSpacing:\"-0.01em\",fontVariantNumeric:\"tabular-nums\",...callout.style===\"light\"?{background:\"#fff\",color:INK,boxShadow:\"0 1px 2px rgba(10,10,11,0.06), 0 12px 28px -12px rgba(10,10,11,0.3)\"}:{background:dark?\"#fff\":INK,color:dark?INK:\"#fff\",boxShadow:\"0 12px 28px -12px rgba(10,10,11,0.45)\"}},children:callout.label}):null]});}/** A sparkline with the same soft fill, for stat cards. */export function Spark({vals,color,color2,draw=1,id,dark=false}){const box=React.useRef(null);const{w,h}=useSize(box,{w:120,h:40});const mn=Math.min(...vals),mx=Math.max(...vals);const p=toPts(vals,w,h,mn,mx,3,3);return /*#__PURE__*/_jsx(\"div\",{ref:box,style:{position:\"relative\",width:\"100%\",height:\"100%\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:w,height:h,style:{position:\"absolute\",inset:0,overflow:\"visible\"},\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsx(\"clipPath\",{id:`${id}-c`,children:/*#__PURE__*/_jsx(\"rect\",{x:\"-4\",y:\"-4\",width:(w+8)*clamp01(draw),height:h+8})}),/*#__PURE__*/_jsxs(\"linearGradient\",{id:`${id}-g`,x1:\"0\",x2:\"0\",y1:\"0\",y2:\"1\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0\",stopColor:color,stopOpacity:dark?.3:.18}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:color,stopOpacity:\"0\"})]})]}),/*#__PURE__*/_jsxs(\"g\",{clipPath:`url(#${id}-c)`,children:[/*#__PURE__*/_jsx(\"path\",{d:areaPath(p,h),fill:`url(#${id}-g)`}),/*#__PURE__*/_jsxs(\"linearGradient\",{id:`${id}-l`,x1:\"0\",x2:\"1\",y1:\"0\",y2:\"0\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0\",stopColor:color2||color}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:color})]}),/*#__PURE__*/_jsx(\"path\",{d:linePath(p),fill:\"none\",stroke:`url(#${id}-l)`,strokeWidth:\"1.75\",strokeLinecap:\"round\"})]})]})});}/** Small up or down arrow for deltas. */export function Delta({up,text,color}){return /*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:4,fontSize:12.5,fontWeight:600,color,fontVariantNumeric:\"tabular-nums\"},children:[/*#__PURE__*/_jsx(\"svg\",{width:\"10\",height:\"10\",viewBox:\"0 0 10 10\",\"aria-hidden\":\"true\",style:{transform:up?\"none\":\"rotate(180deg)\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 8.5V1.5M1.8 4.6L5 1.5l3.2 3.1\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.6\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})}),text]});}/** Segmented control, as real UI chrome. */export function Segmented({items,active,dark=false}){return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-flex\",padding:3,borderRadius:10,background:dark?\"rgba(255,255,255,0.06)\":\"rgba(28,24,23,0.045)\",border:dark?\"1px solid rgba(255,255,255,0.08)\":\"1px solid rgba(28,24,23,0.05)\"},children:items.map((it,i)=>/*#__PURE__*/_jsx(\"span\",{style:{padding:\"5px 10px\",borderRadius:7,fontSize:12,fontWeight:i===active?600:500,color:i===active?dark?\"#fff\":INK:dark?\"#9C9A97\":MUTED,background:i===active?dark?\"rgba(255,255,255,0.1)\":\"#fff\":\"transparent\",boxShadow:i===active&&!dark?\"0 1px 2px rgba(10,10,11,0.08)\":\"none\"},children:it},it))});}/** Gradient icon tile in the GlassIcon (housing steps) style: one logo colour, white glyph, soft glow. */export const TILE_COLS={Blue:[\"#52ADFF\",\"#1868DB\"],Green:[\"#2BD28F\",\"#00AF70\"],Yellow:[\"#FFD04D\",\"#FF9F43\"],Coral:[\"#FF9A7A\",\"#FF715A\"]};export const GLYPHS={Bolt:/*#__PURE__*/_jsx(\"path\",{d:\"M13 2.5L5 13.5h6l-1 8 8-11h-6z\"}),Phone:/*#__PURE__*/_jsx(\"path\",{d:\"M6.5 4h3l1.5 4-2 1.3a10 10 0 0 0 5.7 5.7L16 13l4 1.5v3a2 2 0 0 1-2.2 2A15.5 15.5 0 0 1 4.5 6.2 2 2 0 0 1 6.5 4z\"}),Sms:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"rect\",{x:\"4\",y:\"5\",width:\"16\",height:\"12\",rx:\"3\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M8 17l-2 3v-3M8 10h8M8 13h5\"})]}),Shield:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 3l7 2.7v5.6c0 4.3-2.9 7.6-7 9.2-4.1-1.6-7-4.9-7-9.2V5.7z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M9 12l2.1 2.1L15.2 10\"})]}),Heart:/*#__PURE__*/_jsx(\"path\",{d:\"M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z\"}),Record:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M6 3h9l4 4v14H6z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M14 3v5h5M9 13h7M9 17h5\"})]}),Chart:/*#__PURE__*/_jsx(\"path\",{d:\"M4 19h16M6 15l4-5 3 3 5-7\"}),Clock:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"8.5\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 7.5V12l3 2\"})]}),Flag:/*#__PURE__*/_jsx(\"path\",{d:\"M5 21V4M5 4h11l-2 4 2 4H5\"})};export function IconTile({glyph,colour=\"Blue\",size=30}){const[c1,c2]=TILE_COLS[colour]||TILE_COLS.Blue;return /*#__PURE__*/_jsxs(\"span\",{style:{position:\"relative\",width:size,height:size,flex:\"none\",borderRadius:size*.32,display:\"grid\",placeItems:\"center\",overflow:\"hidden\",background:`linear-gradient(135deg, ${c1}, ${c2})`,boxShadow:`0 8px 18px -8px ${c2}CC, inset 0 0 0 1px rgba(255,255,255,0.35)`},children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",inset:0,background:\"linear-gradient(160deg, rgba(255,255,255,0.35), rgba(255,255,255,0) 55%)\"}}),/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",width:size*.55,height:size*.55,fill:\"none\",stroke:\"#fff\",strokeWidth:\"1.9\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",style:{position:\"relative\"},children:GLYPHS[glyph]||GLYPHS.Chart})]});}/** Soft logo-colour glows drifting behind frosted cards (light grounds), two at a time, cycling the spectrum. */export function SpectrumGlow({opacity=.22,blobs=[{x:30,y:70,w:60},{x:72,y:34,w:58}],id=\"sg\"}){return /*#__PURE__*/_jsxs(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,overflow:\"hidden\",pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                @keyframes ${id}-hue { 0%, 100% { background-color: #52ADFF } 25% { background-color: #00AF70 } 50% { background-color: #FFD04D } 75% { background-color: #FF715A } }\n                @keyframes ${id}-drift { from { transform: translate(-50%, -50%) translate(-8%, 5%) scale(1) } to { transform: translate(-50%, -50%) translate(9%, -6%) scale(1.12) } }\n            `}),blobs.map((b,k)=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:`${b.x}%`,top:`${b.y}%`,width:`${b.w}%`,aspectRatio:\"1 / 1\",borderRadius:\"50%\",filter:\"blur(56px)\",opacity,transform:\"translate(-50%, -50%)\",animation:`${id}-hue 18s linear ${-k*4.5}s infinite, ${id}-drift ${19+k*4}s ease-in-out ${-k*3}s infinite alternate`}},k))]});}/* ---------------------------------------------------------------------------------------------\n * PinChart (11 Nov 2026): interactive line chart from the vault entry \"Chart hover and pin\".\n * Hover (mouse) previews the nearest point with a ring dot and a light tooltip; click, tap or the\n * arrow keys pin a point (solid dot, inverted tooltip) and report it so the card's headline figure\n * can follow. No vertical guide under the dot (Ethan, 3 Nov 2026). Tooltips flip at the edges and\n * drop below the dot near the top. The x labels are buttons: start, end and the pinned point show.\n * `draw` reveals the lines left to right, `fill` fades the area in after them, `reveal` brings the\n * default pin in; interaction switches on once `active` is true.\n * ------------------------------------------------------------------------------------------- *//** cubic-bezier easing, solved for x (Newton steps). `settle` is the one curve: fast start, soft end. */export function bezier(p1x,p1y,p2x,p2y){const cx=3*p1x,bx=3*(p2x-p1x)-cx,ax=1-cx-bx;const cy=3*p1y,by=3*(p2y-p1y)-cy,ay=1-cy-by;const sx=t=>((ax*t+bx)*t+cx)*t;const sy=t=>((ay*t+by)*t+cy)*t;const dx=t=>(3*ax*t+2*bx)*t+cx;return x=>{x=clamp01(x);let t=x;for(let i=0;i<8;i++){const e=sx(t)-x,d=dx(t);if(Math.abs(e)<1e-5||Math.abs(d)<1e-6)break;t=clamp01(t-e/d);}return sy(t);};}export const settle=bezier(.2,.8,.2,1);/** A number that glides to its target (600 ms, settle curve), for figures that follow a pin. */export function useTween(target,ms=600){const[v,setV]=React.useState(target);const from=React.useRef(target);React.useEffect(()=>{if(typeof window===\"undefined\")return setV(target);const a=from.current,start=performance.now();let raf=0;const step=now=>{const p=clamp01((now-start)/ms);const x=a+(target-a)*settle(p);from.current=x;setV(x);if(p<1)raf=requestAnimationFrame(step);};raf=requestAnimationFrame(step);return()=>cancelAnimationFrame(raf);},[target]);return v;}export function PinChart({id,series,min,max,labels,tip,draw=1,fill=1,reveal=1,active=true,dark=false,grid=3,padTop=30,defaultPin=null,onPin,ariaLabel}){const box=React.useRef(null);const{w,h}=useSize(box,{w:320,h:160});const n=series[0].vals.length;const LAB=22;const H=Math.max(10,h-LAB);const pts=series.map(s=>toPts(s.vals,w,H,min,max,padTop,2));const[pin,setPin]=React.useState(defaultPin);const[hov,setHov]=React.useState(null);const choose=i=>{setPin(i);onPin?.(i);};const at=clientX=>{const r=box.current.getBoundingClientRect();return Math.max(0,Math.min(n-1,Math.round((clientX-r.left)/Math.max(1,r.width)*(n-1))));};const c0=series[0].color;const ruleC=dark?\"rgba(255,255,255,0.07)\":RULE;const labC=dark?\"#9C9A97\":CAPTION;const cell=dark?\"#18181A\":\"#fff\";const showHov=active&&hov!==null&&hov!==pin;const pinOp=pin===null?0:active?1:pin===defaultPin?reveal:0;const ends=new Set([0,n-1].filter(e=>pin===null||Math.abs(e-pin)>2||e===pin));if(pin!==null)ends.add(pin);const tipBox=(i,kind,op)=>{const x=pts[0][i][0],y=pts[0][i][1];const f=x/Math.max(1,w);const below=y<58;const tx=f>.82?\"calc(-100% + 14px)\":f<.18?\"-14px\":\"-50%\";const ty=below?\"16px\":\"calc(-100% - 16px)\";const t=tip(i);const pinned=kind===\"pin\";const look=dark?pinned?{background:\"#fff\",color:INK,boxShadow:\"0 14px 30px -14px rgba(0,0,0,0.6)\"}:{background:\"rgba(24,24,26,0.82)\",color:\"#fff\",border:\"1px solid rgba(255,255,255,0.12)\",backdropFilter:\"blur(12px)\",WebkitBackdropFilter:\"blur(12px)\",boxShadow:\"0 14px 30px -14px rgba(0,0,0,0.6)\"}:pinned?{background:INK,color:\"#fff\",boxShadow:\"0 14px 30px -14px rgba(10,10,11,0.45)\"}:{background:\"rgba(255,255,255,0.96)\",color:INK,border:`1px solid ${RULE}`,boxShadow:\"0 1px 2px rgba(10,10,11,0.05), 0 14px 30px -16px rgba(10,10,11,0.3)\"};const subC=dark?pinned?MUTED:\"#9C9A97\":pinned?\"rgba(255,255,255,0.65)\":MUTED;return /*#__PURE__*/_jsxs(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",left:x,top:y,transform:`translate(${tx}, ${ty})`,opacity:op,transition:\"opacity 0.16s\",pointerEvents:\"none\",zIndex:pinned?3:4,padding:\"7px 11px\",borderRadius:10,whiteSpace:\"nowrap\",fontFamily:FONT,letterSpacing:\"-0.01em\",fontVariantNumeric:\"tabular-nums\",...look},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,fontWeight:600},children:t.value}),t.sub?/*#__PURE__*/_jsx(\"div\",{style:{fontSize:11.5,fontWeight:500,color:subC,marginTop:2},children:t.sub}):null]},kind);};return /*#__PURE__*/_jsxs(\"div\",{ref:box,style:{position:\"relative\",width:\"100%\",height:\"100%\"},children:[/*#__PURE__*/_jsxs(\"svg\",{width:w,height:H,style:{position:\"absolute\",left:0,top:0,overflow:\"visible\"},\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsx(\"clipPath\",{id:`${id}-clip`,children:/*#__PURE__*/_jsx(\"rect\",{x:\"-4\",y:\"-20\",width:(w+8)*clamp01(draw),height:H+40})}),series.map((s,k)=>/*#__PURE__*/_jsxs(\"linearGradient\",{id:`${id}-f${k}`,x1:\"0\",x2:\"0\",y1:\"0\",y2:\"1\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0\",stopColor:s.color,stopOpacity:dark?.32:.16}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:s.color,stopOpacity:\"0\"})]},k)),series.map((s,k)=>s.stops?/*#__PURE__*/_jsx(\"linearGradient\",{id:`${id}-s${k}`,gradientUnits:\"userSpaceOnUse\",x1:\"0\",x2:w,y1:\"0\",y2:\"0\",children:s.stops.map(([o,c],j)=>/*#__PURE__*/_jsx(\"stop\",{offset:o,stopColor:c},j))},`s${k}`):null),/*#__PURE__*/_jsxs(\"linearGradient\",{id:`${id}-fade`,x1:\"0\",x2:\"0\",y1:\"0\",y2:\"1\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0\",stopColor:\"#fff\",stopOpacity:dark?.34:.2}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:\"#fff\",stopOpacity:\"0\"})]}),/*#__PURE__*/_jsx(\"mask\",{id:`${id}-m`,maskUnits:\"userSpaceOnUse\",x:\"0\",y:\"0\",width:w,height:H,children:/*#__PURE__*/_jsx(\"rect\",{x:\"0\",y:\"0\",width:w,height:H,fill:`url(#${id}-fade)`})})]}),Array.from({length:grid+1}).map((_,g)=>{const y=padTop+g/grid*(H-padTop-2);return /*#__PURE__*/_jsx(\"line\",{x1:0,x2:w,y1:y,y2:y,stroke:ruleC,strokeWidth:\"1\"},g);}),/*#__PURE__*/_jsxs(\"g\",{clipPath:`url(#${id}-clip)`,children:[/*#__PURE__*/_jsx(\"g\",{opacity:clamp01(fill),children:series.map((s,k)=>s.fill?/*#__PURE__*/_jsx(\"path\",{d:areaPath(pts[k],H),fill:s.stops?`url(#${id}-s${k})`:`url(#${id}-f${k})`,mask:s.stops?`url(#${id}-m)`:undefined,opacity:s.opacity??1},`a${k}`):null)}),series.map((s,k)=>({s,k})).reverse().map(({s,k})=>/*#__PURE__*/_jsx(\"path\",{d:linePath(pts[k]),fill:\"none\",stroke:s.color,strokeWidth:s.width??2,strokeLinecap:\"round\",strokeDasharray:s.dashed?\"2 5\":undefined,opacity:s.opacity??1,style:s.stops?{stroke:`url(#${id}-s${k})`}:undefined},`l${k}`))]}),showHov?/*#__PURE__*/_jsx(\"circle\",{cx:pts[0][hov][0],cy:pts[0][hov][1],r:\"5\",fill:cell,stroke:c0,strokeWidth:\"2\"}):null,pin!==null?/*#__PURE__*/_jsxs(\"g\",{opacity:pinOp,style:{transition:\"opacity 0.16s\"},children:[/*#__PURE__*/_jsx(\"circle\",{cx:pts[0][pin][0],cy:pts[0][pin][1],r:\"11\",fill:c0,opacity:\"0.2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:pts[0][pin][0],cy:pts[0][pin][1],r:\"5.5\",fill:c0,stroke:cell,strokeWidth:\"2\"})]}):null]}),pin!==null?tipBox(pin,\"pin\",showHov?0:pinOp):null,hov!==null?tipBox(hov,\"hov\",showHov?1:0):null,/*#__PURE__*/_jsx(\"div\",{role:\"group\",tabIndex:active?0:-1,\"aria-label\":`${ariaLabel||\"Chart\"}. Hover to preview a point, click or use the arrow keys to pin it.`,onPointerMove:e=>active&&e.pointerType===\"mouse\"&&setHov(at(e.clientX)),onPointerLeave:()=>setHov(null),onClick:e=>{if(!active)return;const i=at(e.clientX);choose(pin===i?null:i);},onKeyDown:e=>{if(!active||e.key!==\"ArrowLeft\"&&e.key!==\"ArrowRight\")return;e.preventDefault();const d=e.key===\"ArrowRight\"?1:-1;const base=pin===null?d>0?-1:n:pin;choose(Math.max(0,Math.min(n-1,base+d)));},style:{position:\"absolute\",left:0,right:0,top:0,height:H,cursor:active?\"pointer\":\"default\",outlineOffset:3,borderRadius:8,touchAction:\"pan-y\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,bottom:0,height:LAB},children:labels.map((l,i)=>{const f=i/(n-1);const on=i===pin;return /*#__PURE__*/_jsx(\"button\",{type:\"button\",tabIndex:-1,\"aria-label\":`${l}: ${typeof tip(i).value===\"string\"?tip(i).value:\"\"}`,\"aria-pressed\":on,onMouseEnter:()=>active&&setHov(i),onMouseLeave:()=>setHov(null),onClick:()=>active&&choose(on?null:i),style:{position:\"absolute\",bottom:0,left:`${f*100}%`,transform:`translateX(${f<.05?\"0\":f>.95?\"-100%\":\"-50%\"})`,height:LAB,minWidth:18,padding:\"0 2px\",border:0,background:\"transparent\",cursor:active?\"pointer\":\"default\",fontFamily:FONT,fontSize:11,fontWeight:on?600:500,fontVariantNumeric:\"tabular-nums\",color:on?dark?\"#fff\":INK:labC,opacity:ends.has(i)?1:0,transition:\"opacity 0.16s, color 0.16s\"},children:l},i);})})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"SpectrumGlow\":{\"type\":\"reactComponent\",\"name\":\"SpectrumGlow\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"bezier\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"settle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PinChart\":{\"type\":\"reactComponent\",\"name\":\"PinChart\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"toPts\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Delta\":{\"type\":\"reactComponent\",\"name\":\"Delta\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"clamp01\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GLYPHS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Series\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"beat\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DISPLAY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"LineChart\":{\"type\":\"reactComponent\",\"name\":\"LineChart\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"FONT\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"INK\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useTween\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"linePath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"IconTile\":{\"type\":\"reactComponent\",\"name\":\"IconTile\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Spark\":{\"type\":\"reactComponent\",\"name\":\"Spark\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Hatch\":{\"type\":\"reactComponent\",\"name\":\"Hatch\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"areaPath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PinTip\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Segmented\":{\"type\":\"reactComponent\",\"name\":\"Segmented\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"fmt\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"easeOut\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RULE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"yAt\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CAPTION\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BODY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MUTED\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TILE_COLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSize\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ChartKit.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useReducedMotion}from\"framer-motion\";/*\n * SpectrumHorizon: the housing dome, 1:1 (Ethan, 2 Nov 2026: \"all instances of this dome effect\n * need to be practically the same\"). Every layer, value and timing is copied from HousingDome.tsx:\n * 8px hatching at 3.5% white, six falling light streaks, the halo ring, the dome disc with its faint\n * top edge, and the conic spectrum rim (soft glow plus sharp line, three blurred light layers in a\n * 60deg window that moves to a new spot every 4.2s), wiped in left to right as the frame scrolls in.\n * Only the globe, pop-ups, headline and boxes are left out. Geometry is the dome's: the circle's\n * chord at the bottom edge equals the width, the dome height comes from Attio's table (capped to the\n * frame), so the rim runs into both bottom corners exactly as on the housing page.\n * Place as the bottom layer of a frame: Position Absolute, pinned to all four edges, width and\n * height 100%. Put content above it with a higher z-index. Canvas and reduced motion show it whole.\n * Colour (11 Nov 2026): Spectrum is the standard rim. Blue, Green, Orange and Red are one-hue versions\n * for product pages, each still a gradient (light on the right, deep on the left, as the spectrum runs),\n * and in those the falling lines take the rim colour above where they land.\n * Background and Theme (11 Nov 2026, Ethan: every dome section gets the login screen's options): Background Dome\n * or Glow (the home-2026 Dome (spectrum glow), drawn on a canvas by DomeGlow, also used by LoginScreen).\n * Theme Light or Dark now also switches Ground and Outside to white or Midnight when they don't match.\n */const clamp=(x,a=0,b=1)=>Math.max(a,Math.min(b,x));export const PALETTES={Spectrum:[[0,\"#A9D34F\"],[16,\"#00AF70\"],[44,\"#52ADFF\"],[180,\"#52ADFF\"],[180.01,\"#FF715A\"],[296,\"#FF715A\"],[342,\"#FFD04D\"],[360,\"#A9D34F\"]],Blue:[[0,\"#52ADFF\"],[16,\"#6CBBFF\"],[44,\"#94CFFF\"],[180,\"#94CFFF\"],[180.01,\"#1868DB\"],[296,\"#1868DB\"],[342,\"#3A90F2\"],[360,\"#52ADFF\"]],Green:[[0,\"#00AF70\"],[16,\"#45BF73\"],[44,\"#A9D34F\"],[180,\"#A9D34F\"],[180.01,\"#007A55\"],[296,\"#00845B\"],[342,\"#009F67\"],[360,\"#00AF70\"]],Orange:[[0,\"#FF9838\"],[16,\"#FFAA40\"],[44,\"#FFD04D\"],[180,\"#FFD04D\"],[180.01,\"#EE5A14\"],[296,\"#F26419\"],[342,\"#FA8030\"],[360,\"#FF9838\"]],Red:[[0,\"#F2434B\"],[16,\"#FF5C58\"],[44,\"#FF8F7C\"],[180,\"#FF8F7C\"],[180.01,\"#B3112E\"],[296,\"#C41C35\"],[342,\"#E0333F\"],[360,\"#F2434B\"]]};export const conicOf=c=>`conic-gradient(from 0deg at 50% 50%, ${(PALETTES[c]||PALETTES.Spectrum).map(([d,h])=>`${h} ${d}deg`).join(\", \")})`;// the palette colour at an angle, as \"r,g,b\"\nexport const sampleRim=(c,deg)=>{const st=PALETTES[c]||PALETTES.Spectrum;const d=(deg%360+360)%360;let i=1;while(i<st.length-1&&st[i][0]<d)i++;const[d0,h0]=st[i-1],[d1,h1]=st[i];const t=d1>d0?clamp((d-d0)/(d1-d0)):0;const rgb=h=>{const v=parseInt(h.slice(1),16);return[v>>16&255,v>>8&255,v&255];};const a=rgb(h0),b=rgb(h1);return a.map((x,k)=>Math.round(x+(b[k]-x)*t)).join(\",\");};const SPECTRUM=conicOf(\"Spectrum\");const RIM_MASK=\"conic-gradient(from 0deg at 50% 50%, rgba(0,0,0,0.4) 0deg, #000 35deg, #000 325deg, rgba(0,0,0,0.4) 360deg)\";const HALO=\"radial-gradient(circle closest-side, transparent 64%, rgba(255,255,255,0.04) 71%, rgba(255,255,255,0.12) 74.5%, rgba(255,255,255,0.16) 75.5%, rgba(255,255,255,0.125) 77.5%, rgba(255,255,255,0.07) 80.5%, rgba(255,255,255,0.035) 85%, rgba(255,255,255,0.016) 91%, transparent 98%)\";const TABLE=[[390,109.2],[820,200],[1052,264],[1392,352]];const domeHeight=w=>{if(w<=TABLE[0][0])return TABLE[0][1];for(let i=1;i<TABLE.length;i++)if(w<=TABLE[i][0]){const a=TABLE[i-1],b=TABLE[i],t=(w-a[0])/(b[0]-a[0]);return a[1]+(b[1]-a[1])*t;}return TABLE[TABLE.length-1][1];};const easeTravel=x=>{const t=clamp(x);return t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2;};const LIGHT_X=[.12,.7,.24,.52];const STAGGER=4200;// ---- Glow (moved here from LoginScreen, 11 Nov 2026): the home-2026 \"Dome (spectrum glow)\" backdrop\n// (HousingDome_2, backdrop \"Dome glow\"), redrawn for a frame of any size. Used by Background Glow below and by LoginScreen. Light is drawn as white alpha on an offscreen layer, then coloured by the dome's\n// conic spectrum (source-in), so the falloff stays one smooth gradient while the colour changes round the\n// rim. Many eased stops per gradient so it never bands. Hatching and falling lines sit outside the planet.\nfunction falloff(g,a0,k=4.2,n=28){for(let i=0;i<=n;i++){const t=i/n;g.addColorStop(t,`rgba(255,255,255,${(a0*Math.exp(-k*t)*(1-t*t)).toFixed(4)})`);}}function rise(g,a1,p=3,n=24){for(let i=0;i<=n;i++){const t=i/n;g.addColorStop(t,`rgba(255,255,255,${(a1*Math.pow(t,p)).toFixed(4)})`);}}export function DomeGlow({W,H,v,ground,dark,still,colour,follow=true,hatching=true,lines=true}){const ref=React.useRef(null);React.useEffect(()=>{const cv=ref.current;if(!cv||W<2||H<2||typeof document===\"undefined\")return;const dpr=Math.min(2,window.devicePixelRatio||1);cv.width=Math.round(W*dpr);cv.height=Math.round(H*dpr);const ctx=cv.getContext(\"2d\");const off=document.createElement(\"canvas\");off.width=cv.width;off.height=cv.height;const octx=off.getContext(\"2d\");if(!ctx||!octx)return;const R=(W*W/4+v*v)/(2*v);const cx=W/2,cy=H-v+R;// white grounds take the glow a little softer so the spectrum reads as light, not paint\nconst k=dark?1:.8;const hatch=dark?\"rgba(255,255,255,0.075)\":\"rgba(0,0,36,0.035)\";// Spectrum keeps the standard lines (white on Midnight, blue on white); one-hue sets tint each line\n// with the rim colour above where it lands\nconst lineRGB=x=>colour===\"Spectrum\"?dark?\"255,255,255\":\"82,173,255\":sampleRim(colour,Math.asin(clamp((x-cx)/R,-1,1))*180/Math.PI);const streakPeak=dark?.75:.55;const rimY=x=>cy-Math.sqrt(Math.max(0,R*R-(x-cx)*(x-cx)));const spawn=now=>{const x=8*Math.floor(Math.random()*(W/8-1))+7.5;return{x,rgb:lineRGB(x),sx:.5+Math.random()*.46,len:360*(.35+Math.random()*.65),y0:-(230+Math.random()*200),speed:185+Math.random()*115,peak:.17+Math.random()*.1,t0:now+Math.random()*1500};};const t00=performance.now();const streaks=Array.from({length:6},()=>spawn(t00-Math.random()*6e3));const tinted=draw=>{octx.setTransform(dpr,0,0,dpr,0,0);octx.globalCompositeOperation=\"source-over\";octx.clearRect(0,0,W,H);draw(octx);octx.globalCompositeOperation=\"source-in\";const cg=octx.createConicGradient?octx.createConicGradient(-Math.PI/2,cx,cy):null;if(cg){for(const[d,c]of PALETTES[colour]||PALETTES.Spectrum)cg.addColorStop(d/360,c);octx.fillStyle=cg;}else octx.fillStyle=\"#52ADFF\";octx.fillRect(0,0,W,H);ctx.setTransform(1,0,0,1,0,0);ctx.drawImage(off,0,0);ctx.setTransform(dpr,0,0,dpr,0,0);};// the light patch: drifts to the cursor (as Follow cursor on the CTA domes), else moves on its own\nlet target=null;let cur=.5;const move=e=>{const r=cv.getBoundingClientRect();target=clamp((e.clientX-r.left)/Math.max(1,r.width),.06,.94);};if(!still&&follow)window.addEventListener(\"pointermove\",move,{passive:true});let last=0;const frame=now=>{const dt=last?Math.min(64,now-last):16;last=now;if(still)cur=.5;else if(target!==null)cur+=(target-cur)*(1-Math.pow(1-.035,dt/50));else{const ci=Math.floor(now/STAGGER)%LIGHT_X.length,pi=(ci+LIGHT_X.length-1)%LIGHT_X.length;cur=LIGHT_X[pi]+(LIGHT_X[ci]-LIGHT_X[pi])*easeTravel(now%STAGGER/900);}const la=Math.asin(clamp((cur-.5)*W/R,-1,1));const lx=cx+Math.sin(la)*R,ly=cy-Math.cos(la)*R;ctx.setTransform(dpr,0,0,dpr,0,0);ctx.globalCompositeOperation=\"source-over\";ctx.clearRect(0,0,W,H);// atmosphere, haze and the drifting light window, all one smooth falloff, coloured by the spectrum\ntinted(g=>{const ga=g.createRadialGradient(cx,cy,R*.96,cx,cy-R*.2,R*1.44);falloff(ga,.9*k,3.6);g.fillStyle=ga;g.fillRect(0,0,W,H);const gh=g.createRadialGradient(cx,cy,R*.98,cx,cy-R*.3,R*1.55);falloff(gh,.42*k,2.6);g.fillStyle=gh;g.fillRect(0,0,W,H);const gl=g.createRadialGradient(lx,ly,0,lx,ly,R*.45);falloff(gl,.55*k,3);g.fillStyle=gl;g.fillRect(0,0,W,H);});// hatching and falling lines, outside the planet only\nctx.save();ctx.beginPath();ctx.rect(0,0,W,H);ctx.arc(cx,cy,R,0,Math.PI*2,true);ctx.clip();ctx.fillStyle=hatch;if(hatching)for(let x=7;x<W;x+=8)ctx.fillRect(x,0,1,H);if(lines)streaks.forEach((s,i)=>{let y=s.y0+(now-s.t0)/1e3*s.speed;const end=rimY(s.x);if(!still&&y>end){streaks[i]=s=spawn(now);y=s.y0;}if(still){y=end-s.len-40-i*20;}if(!still&&now<s.t0)return;const u=clamp((y-s.y0)/Math.max(1,end-s.y0));const a=still?s.peak*.6:s.peak*Math.pow(Math.sin(Math.PI*u),1.2);const sg=ctx.createLinearGradient(0,y,0,y+s.len);sg.addColorStop(0,`rgba(${s.rgb},0)`);sg.addColorStop(.5,`rgba(${s.rgb},${(streakPeak*a).toFixed(3)})`);sg.addColorStop(1,`rgba(${s.rgb},0)`);ctx.fillStyle=sg;ctx.fillRect(s.x,y,2*s.sx,s.len);});ctx.restore();// the planet, with spectrum light scattering in from the rim and a fine limb with a soft bloom\nctx.save();ctx.beginPath();ctx.arc(cx,cy,R,0,Math.PI*2);ctx.clip();ctx.fillStyle=ground;ctx.fillRect(0,0,W,H);ctx.restore();tinted(g=>{g.save();g.beginPath();g.arc(cx,cy,R,0,Math.PI*2);g.clip();const gi=g.createRadialGradient(cx,cy+R*.18,R*.55,cx,cy,R);rise(gi,dark?.3:.18,3.6);g.fillStyle=gi;g.fillRect(0,0,W,H);g.restore();g.strokeStyle=\"rgba(255,255,255,1)\";g.lineWidth=1.6;g.shadowColor=\"rgba(255,255,255,1)\";g.shadowBlur=14;g.beginPath();g.arc(cx,cy,R-.5,Math.PI,Math.PI*2);g.stroke();g.shadowBlur=0;});};let raf=0;let on=true;const loop=now=>{frame(now);if(on)raf=requestAnimationFrame(loop);};// paused while off screen\nlet io=null;const start=()=>{if(!raf)raf=requestAnimationFrame(loop);};const stop=()=>{cancelAnimationFrame(raf);raf=0;last=0;};if(still)frame(t00);else if(typeof IntersectionObserver!==\"undefined\"){io=new IntersectionObserver(([e])=>e.isIntersecting?start():stop(),{threshold:0});io.observe(cv);}else start();return()=>{on=false;stop();io?.disconnect();window.removeEventListener(\"pointermove\",move);};},[W,H,v,ground,dark,still,colour,follow,hatching,lines]);return /*#__PURE__*/_jsx(\"canvas\",{ref:ref,\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,top:0,width:W,height:H,display:\"block\"}});}export const GRAIN=\"url(\\\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>\\\")\";// Framer passes colours bound to a style as var(--token-id, colour): read the fallback, never the token id\nexport const solid=col=>{const c=String(col||\"\");const m=c.match(/^var\\([^,]+,\\s*(.+)\\)$/);return m?m[1].trim():c;};export const isLightCol=col=>{const g=solid(col);let r=0,gg=0,bb=0;const hex=g.match(/#([0-9a-f]{3,8})\\b/i);if(hex){const h=hex[1];const v=parseInt(h.length<=4?h.slice(0,3).split(\"\").map(x=>x+x).join(\"\"):h.slice(0,6),16);r=v>>16&255;gg=v>>8&255;bb=v&255;}else{const m=g.match(/rgba?\\(\\s*([\\d.]+)[,\\s]+([\\d.]+)[,\\s]+([\\d.]+)/i);if(m){r=+m[1];gg=+m[2];bb=+m[3];}else if(/white/i.test(g))return true;}return r*.3+gg*.59+bb*.11>150;};const WHITE=\"#FFFFFF\",MIDNIGHT=\"#0A0A0B\";const DEFAULTS={ground:\"#000024\",domeScale:1,maxHeight:60,streaks:true,hatch:true,halo:true,reveal:true,follow:false,outside:\"\",theme:\"Auto\",colour:\"Spectrum\",backdrop:\"Dome\"};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 600\n */export default function SpectrumHorizon(incoming){const p={...DEFAULTS};for(const k in incoming)if(incoming[k]!==undefined)p[k]=incoming[k];const reduce=useReducedMotion();const still=reduce||RenderTarget.current()===RenderTarget.canvas;const root=React.useRef(null);const haloRef=React.useRef(null);const wipeRef=React.useRef(null);const streakRefs=React.useRef([]);const[box,setBox]=React.useState({w:1200,h:600});const[now,setNow]=React.useState(0);React.useLayoutEffect(()=>{const el=root.current;if(!el)return;const set=(w,h)=>w>1&&h>1&&setBox({w:Math.round(w),h:Math.round(h)});set(el.offsetWidth,el.offsetHeight);if(typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(([e])=>set(e.contentRect.width,e.contentRect.height));ro.observe(el);return()=>ro.disconnect();},[]);const W=box.w,block=box.h;// light grounds get ink hatching, blue streaks, a dark-tinted halo and an ink edge\n// Outside (6 Nov 2026): optional colour around the dome. Empty means the ground colour, as before.\n// The hatching, streaks and halo follow the outside colour; the disc and its edge follow the ground.\n// Theme Light or Dark (11 Nov 2026) also sets the colours: if Ground and Outside don't match the theme\n// they switch to white or Midnight, so one control flips a section. Matching colours (a bound style,\n// a white page round a navy disc) are kept as set. Auto reads the colours as before.\nlet ground=String(p.ground);let outside=p.outside?String(p.outside):ground;if(p.theme===\"Light\"&&!isLightCol(outside)){ground=WHITE;outside=WHITE;}if(p.theme===\"Dark\"&&isLightCol(outside)){ground=MIDNIGHT;outside=MIDNIGHT;}const isLight=isLightCol;const discLight=isLight(ground);// Theme (7 Nov 2026): Auto reads the colours as before; Dark is for navy CTAs, with the hatching and\n// falling lines brighter so they read on navy as they do in the dome section; Light forces the ink set\nconst dark=p.theme===\"Dark\";const light=isLight(outside);const lightSet=p.theme===\"Dark\"?false:p.theme===\"Light\"?true:light;const v=Math.min(domeHeight(W)*p.domeScale,block*p.maxHeight/100);const R=(W*W/4+v*v)/(2*v);const D=2*R;const bottom=-(D-v);const H=D*1.3;const colour=PALETTES[p.colour]?p.colour:\"Spectrum\";const RIM=colour===\"Spectrum\"?SPECTRUM:conicOf(colour);// one-hue sets tint each falling line with the rim colour above where it lands\nconst lineAlpha=lightSet?.55:dark?.75:.5;const lineBg=x=>{if(colour===\"Spectrum\")return lightSet?\"linear-gradient(transparent, rgba(82,173,255,0.55) 50%, transparent)\":`linear-gradient(transparent, rgba(255,255,255,${dark?.75:.5}) 50%, transparent)`;const deg=Math.asin(clamp((x-W/2)/R,-1,1))*180/Math.PI;return`linear-gradient(transparent, rgba(${sampleRim(colour,deg)},${lineAlpha}) 50%, transparent)`;};// the light window moves between four spots, one every 4.2s, as on the housing dome\nconst glowBg=p.backdrop===\"Glow\";React.useEffect(()=>{if(still||glowBg)return;let raf=0,last=0,on=true;const tick=t=>{if(t-last>50){last=t;setNow(t);}if(on)raf=requestAnimationFrame(tick);};const el=root.current;let io=null;const start=()=>{if(!raf)raf=requestAnimationFrame(tick);};const stop=()=>{cancelAnimationFrame(raf);raf=0;};if(el&&typeof IntersectionObserver!==\"undefined\"){io=new IntersectionObserver(([e])=>e.isIntersecting?start():stop(),{threshold:0});io.observe(el);}else start();return()=>{on=false;stop();io?.disconnect();};},[still,glowBg]);const t=still?STAGGER*.5:now;const curI=Math.floor(t/STAGGER)%LIGHT_X.length;const prevI=(curI+LIGHT_X.length-1)%LIGHT_X.length;const autoX=LIGHT_X[prevI]+(LIGHT_X[curI]-LIGHT_X[prevI])*easeTravel(t%STAGGER/900);// Follow cursor (3 Nov 2026): the light window drifts slowly towards the pointer's x instead of\n// moving on its own; it eases about 3.5% of the way per 50ms frame, so it lags and glides\nconst follow=React.useRef({target:null,cur:.5});React.useEffect(()=>{if(!p.follow||still||typeof window===\"undefined\")return;const move=e=>{const el=root.current;if(!el)return;const r=el.getBoundingClientRect();if(follow.current.target===null)follow.current.cur=autoX;follow.current.target=clamp((e.clientX-r.left)/Math.max(1,r.width),.06,.94);};window.addEventListener(\"pointermove\",move,{passive:true});return()=>window.removeEventListener(\"pointermove\",move);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[p.follow,still]);const f=follow.current;if(p.follow&&!still&&f.target!==null)f.cur+=(f.target-f.cur)*.035;const lx=p.follow&&!still&&f.target!==null?f.cur:autoX;const lightDeg=Math.asin(clamp((lx-.5)*W/R,-1,1))*180/Math.PI;// scroll reveal: halo scale and rim wipe, as on the housing dome\nReact.useEffect(()=>{const apply=()=>{const el=root.current;if(!el)return;const top=el.getBoundingClientRect().top/Math.max(1,window.innerHeight)*900;const on=still||!p.reveal;const rp=on?1:clamp((.545*900-top)/410);const q=on?1:Math.pow(clamp((400-top)/400),1.24);const halo=haloRef.current;if(halo){halo.style.opacity=String(q);halo.style.transform=q>=1?\"none\":`scale(${.84+.16*q})`;}const wipe=wipeRef.current;if(wipe){wipe.style.clipPath=`inset(-64px calc(${(1-rp)*100}% - ${64*rp}px) -64px -64px)`;wipe.style.opacity=String(rp);}};apply();window.addEventListener(\"scroll\",apply,{passive:true});window.addEventListener(\"resize\",apply);return()=>{window.removeEventListener(\"scroll\",apply);window.removeEventListener(\"resize\",apply);};},[still,W,block,p.reveal]);// six streaks falling onto the apex, each on a hatch line\nReact.useEffect(()=>{const els=streakRefs.current;if(!p.streaks)return;if(still){const demo=[[.12,.2,.7,.8],[.34,.22,.8,.6],[.52,.17,.6,.9],[.7,.2,.9,.5],[.86,.14,.7,.7],[.22,.1,.6,.5]];els.forEach((el,i)=>{if(!el)return;const[fx,op,sx,sy]=demo[i];const x=Math.round(fx*W/8)*8+7.2;el.style.background=lineBg(x);el.style.transform=`translate3d(${x}px, ${block-v-360*sy-40-i*20}px, 0) scaleX(${sx}) scaleY(${sy})`;el.style.opacity=String(op*.6);});return;}const yEnd=block-v;const spawn=n=>({x:8*Math.floor(Math.random()*(W/8-1))+7.2,sx:.5+Math.random()*.46,sy:.35+Math.random()*.65,y0:-(230+Math.random()*200),speed:185+Math.random()*115,peak:.17+Math.random()*.1,t0:n+Math.random()*1500});const n0=performance.now();const st=els.map(()=>spawn(n0-Math.random()*6e3));els.forEach((el,i)=>{if(el)el.style.background=lineBg(st[i].x);});let raf=0,on=true;const tick=n=>{els.forEach((el,i)=>{if(!el)return;let s=st[i];let y=s.y0+(n-s.t0)/1e3*s.speed;if(y>yEnd){st[i]=s=spawn(n);y=s.y0;el.style.background=lineBg(s.x);}if(n<s.t0){el.style.opacity=\"0\";return;}const u=clamp((y-s.y0)/(yEnd-s.y0));el.style.transform=`translate3d(${s.x}px, ${y}px, 0) scaleX(${s.sx}) scaleY(${s.sy})`;el.style.opacity=String(s.peak*Math.pow(Math.sin(Math.PI*u),1.2));});if(on)raf=requestAnimationFrame(tick);};const el=root.current;let io=null;const start=()=>{if(!raf)raf=requestAnimationFrame(tick);};const stop=()=>{cancelAnimationFrame(raf);raf=0;};if(el&&typeof IntersectionObserver!==\"undefined\"){io=new IntersectionObserver(([e])=>e.isIntersecting?start():stop(),{threshold:0});io.observe(el);}else start();return()=>{on=false;stop();io?.disconnect();};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[still,W,block,v,p.streaks,colour,lightSet,dark]);if(glowBg){return /*#__PURE__*/_jsxs(\"div\",{ref:root,\"aria-hidden\":\"true\",style:{...incoming.style,position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",pointerEvents:\"none\",background:outside},children:[/*#__PURE__*/_jsx(DomeGlow,{W:W,H:block,v:v,ground:solid(ground),dark:!lightSet,still:still,colour:colour,follow:p.follow,hatching:p.hatch,lines:p.streaks}),!lightSet?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:GRAIN,backgroundSize:\"160px 160px\",opacity:.05,mixBlendMode:\"overlay\"}}):null]});}const circle=inset=>({position:\"absolute\",left:\"50%\",marginLeft:-D/2,bottom:bottom+inset,width:D,height:D});const band=Math.min(640,block);return /*#__PURE__*/_jsxs(\"div\",{ref:root,\"aria-hidden\":\"true\",style:{...incoming.style,position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",pointerEvents:\"none\",background:outside},children:[p.hatch?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:lightSet?\"repeating-linear-gradient(to right, rgba(0,0,36,0.035) 0 1px, transparent 1px 8px)\":`repeating-linear-gradient(to right, rgba(255,255,255,${dark?.075:.035}) 0 1px, transparent 1px 8px)`}}):null,p.streaks?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,overflow:\"hidden\"},children:Array.from({length:6}).map((_,i)=>/*#__PURE__*/_jsx(\"div\",{ref:e=>{streakRefs.current[i]=e;},style:{position:\"absolute\",left:0,top:0,width:2,height:360,opacity:0,transformOrigin:\"0 0\",willChange:\"transform, opacity\",background:lineBg(W/2)}},i))}):null,p.halo?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,bottom:0,height:band,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{ref:haloRef,style:{position:\"absolute\",left:\"50%\",marginLeft:-H/2,width:H,height:H,bottom:bottom-(H-D)/2,backgroundImage:lightSet?HALO.replace(/255,255,255/g,\"0,0,36\"):HALO,opacity:still?1:0,willChange:\"transform, opacity\"}})}):null,/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,bottom:0,height:band,overflow:\"hidden\"},children:/*#__PURE__*/_jsxs(\"div\",{style:circle(0),children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,borderRadius:\"50%\",background:ground}}),/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 1000 1000\",preserveAspectRatio:\"xMidYMid meet\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",overflow:\"visible\"},children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"linearGradient\",{id:\"shz-edge\",x1:\"0\",x2:\"0\",y1:\"0\",y2:\"1\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0\",stopColor:discLight?\"#000024\":\"#ffffff\",stopOpacity:discLight?.18:.5}),/*#__PURE__*/_jsx(\"stop\",{offset:\"0.33\",stopColor:\"#2C2960\",stopOpacity:\"0\"})]})}),/*#__PURE__*/_jsx(\"circle\",{cx:\"500\",cy:\"500\",r:\"500\",fill:\"none\",stroke:\"url(#shz-edge)\",strokeWidth:\"1.5\",vectorEffect:\"non-scaling-stroke\"})]})]})}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:0,right:0,bottom:0,height:band,overflow:\"hidden\",WebkitMaskImage:\"linear-gradient(to top, transparent 0, #000 64px)\",maskImage:\"linear-gradient(to top, transparent 0, #000 64px)\"},children:[/*#__PURE__*/_jsx(\"div\",{ref:wipeRef,style:{position:\"absolute\",inset:0,clipPath:still||!p.reveal?\"inset(-64px -64px -64px -64px)\":\"inset(-64px calc(100% + 0px) -64px -64px)\",opacity:still||!p.reveal?1:0,willChange:\"opacity\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:-32,overflow:\"hidden\",filter:\"saturate(1.2)\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,overflow:\"hidden\",filter:\"blur(10px)\",opacity:.45},children:/*#__PURE__*/_jsx(\"div\",{style:circle(32),children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:-3,borderRadius:\"50%\",backgroundImage:RIM,WebkitMaskImage:RIM_MASK,maskImage:RIM_MASK}})})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,overflow:\"hidden\",filter:\"blur(2px)\"},children:/*#__PURE__*/_jsx(\"div\",{style:circle(32),children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:-2,borderRadius:\"50%\",backgroundImage:RIM,WebkitMaskImage:RIM_MASK,maskImage:RIM_MASK}})})}),[{blur:30,op:.5,inset:-12,sat:1.9},{blur:12,op:.95,inset:-5,sat:1.8},{blur:1.6,op:1,inset:-2,sat:1.5}].map((l,i)=>{const win=`conic-gradient(from ${lightDeg-30}deg at 50% 50%, transparent 0deg, #000 30deg, transparent 60deg)`;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,overflow:\"hidden\",filter:`blur(${l.blur}px) saturate(${l.sat}) brightness(1.12)`,opacity:l.op},children:/*#__PURE__*/_jsx(\"div\",{style:circle(32),children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:l.inset,borderRadius:\"50%\",backgroundImage:RIM,WebkitMaskImage:win,maskImage:win}})})},i);})]})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:-32,overflow:\"hidden\",filter:\"blur(0.5px)\"},children:/*#__PURE__*/_jsx(\"div\",{style:circle(32),children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,borderRadius:\"50%\",background:ground}})})})]})]});}SpectrumHorizon.defaultProps=DEFAULTS;addPropertyControls(SpectrumHorizon,{backdrop:{type:ControlType.Enum,title:\"Background\",options:[\"Dome\",\"Glow\"],displaySegmentedControl:true,description:\"Dome is the CTA dome. Glow is the home-2026 Dome (spectrum glow): a big smooth glow round a solid planet.\"},ground:{type:ControlType.Color,title:\"Ground\"},domeScale:{type:ControlType.Number,title:\"Dome size\",min:.4,max:1.6,step:.05},maxHeight:{type:ControlType.Number,title:\"Max height\",min:20,max:90,step:1,unit:\"%\"},streaks:{type:ControlType.Boolean,title:\"Falling lines\"},hatch:{type:ControlType.Boolean,title:\"Hatching\"},halo:{type:ControlType.Boolean,title:\"Halo\",hidden:p=>p.backdrop===\"Glow\"},reveal:{type:ControlType.Boolean,title:\"Wipe on scroll\",hidden:p=>p.backdrop===\"Glow\"},follow:{type:ControlType.Boolean,title:\"Follow cursor\",description:\"The light on the rim drifts slowly towards the cursor instead of moving on its own\"},colour:{type:ControlType.Enum,title:\"Colour\",options:[\"Spectrum\",\"Blue\",\"Green\",\"Orange\",\"Red\"],description:\"Spectrum is the standard rim. The others are one-hue gradients for product pages; the falling lines follow the rim colour.\"},theme:{type:ControlType.Enum,title:\"Theme\",options:[\"Auto\",\"Light\",\"Dark\"],displaySegmentedControl:true,description:\"Light: white section, ink lines. Dark: Midnight section, brighter lines. If Ground doesn't match the theme it switches to white or Midnight. Auto reads Ground as set.\"},outside:{type:ControlType.Color,title:\"Outside\",description:\"Optional colour around the dome (the dome itself keeps Ground). Leave empty to match Ground.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"sampleRim\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PALETTES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"SpectrumHorizon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1200\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"600\",\"framerContractVersion\":\"1\"}},\"DomeGlow\":{\"type\":\"reactComponent\",\"name\":\"DomeGlow\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"RimColour\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"solid\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GRAIN\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"conicOf\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isLightCol\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SpectrumHorizon.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useReducedMotion}from\"framer-motion\";const TX=[[0,0],[43,100],[50,100],[93,0],[100,0]];const TY=[[0,0],[43,0],[50,100],[93,100],[100,0]];const TW=[[0,90],[41,90],[43,22],[50,22],[52,90],[91,90],[93,22],[98,22],[100,90]];const TH=[[0,12],[41,12],[43,24],[50,24],[52,12],[91,12],[93,24],[98,24],[100,12]];const TC=[[0,[24,104,219]],[23,[22,163,74]],[50,[234,179,8]],[73,[220,38,38]],[100,[24,104,219]]];const at=(tr,pct)=>{for(let i=1;i<tr.length;i++)if(pct<=tr[i][0]){const a=tr[i-1],b=tr[i];const f=(pct-a[0])/Math.max(1e-6,b[0]-a[0]);return a[1]+(b[1]-a[1])*f;}return tr[tr.length-1][1];};const colourAt=pct=>{for(let i=1;i<TC.length;i++)if(pct<=TC[i][0]){const a=TC[i-1],b=TC[i];const f=(pct-a[0])/(b[0]-a[0]);return`rgb(${a[1].map((v,k)=>Math.round(v+(b[1][k]-v)*f)).join(\",\")})`;}return\"rgb(24,104,219)\";};/** Paints a ring group at lap progress prog (0-1) with opacity op. */function paintRing(g,prog,op){if(!g)return;g.style.opacity=String(op);if(op<=0)return;const w=Number(g.dataset.w||0),h=Number(g.dataset.h||0);const grad=g.querySelector(\"radialGradient\");if(!grad)return;const pct=prog*100;const x=at(TX,pct)/100*w,y=at(TY,pct)/100*h;grad.setAttribute(\"gradientTransform\",`translate(${x.toFixed(2)} ${y.toFixed(2)}) scale(${at(TW,pct).toFixed(2)} ${at(TH,pct).toFixed(2)})`);const c=g.dataset.colour||colourAt(pct);grad.querySelectorAll(\"stop\").forEach(s=>s.setAttribute(\"stop-color\",c));}/** Drives the lap on the given ring groups. */export function useGlowLap(host,rings,opts={}){const reduce=useReducedMotion();const still=reduce||RenderTarget.current()===RenderTarget.canvas;React.useEffect(()=>{const target=opts.target&&opts.target()||host.current;if(!target||still)return;const lapMs=opts.lapMs??7e3;const ss=x=>{const t=Math.max(0,Math.min(1,x));return t*t*(3-2*t);};const paint=(prog,op)=>rings.forEach(r=>paintRing(r.current,prog,op));paint(0,0);if(opts.mode===\"Loop\"){let raf=0,t0=performance.now(),visible=false;const tick=now=>{const cyc=(now-t0)/lapMs%2;if(cyc<1)paint(cyc,ss(cyc/.12)*ss((1-cyc)/.14));else paint(0,0);if(visible)raf=requestAnimationFrame(tick);};const io=typeof IntersectionObserver!==\"undefined\"?new IntersectionObserver(([e])=>{visible=e.isIntersecting;if(visible&&!raf){t0=performance.now();raf=requestAnimationFrame(tick);}if(!visible){cancelAnimationFrame(raf);raf=0;paint(0,0);}},{threshold:0}):null;if(io)io.observe(target);else{visible=true;raf=requestAnimationFrame(tick);}return()=>{cancelAnimationFrame(raf);io?.disconnect();};}let running=false,hovering=false,raf=0,start=0,lapsDone=0;const frame=now=>{const p=(now-start)/lapMs;if(p>=1){if(hovering){start=now;lapsDone++;raf=requestAnimationFrame(frame);return;}running=false;lapsDone=0;paint(0,0);return;}const fin=lapsDone===0?ss(p/.12):1;const fout=hovering?1:ss((1-p)/.14);paint(p,fin*fout);raf=requestAnimationFrame(frame);};const lap=()=>{if(running)return;running=true;start=performance.now();raf=requestAnimationFrame(frame);};const enter=()=>{hovering=true;lap();};const leave=()=>{hovering=false;};if(opts.hover!==false){target.addEventListener(\"pointerenter\",enter);target.addEventListener(\"pointerleave\",leave);}let fired=false,sraf=0;const check=()=>{sraf=0;if(fired)return;const r=target.getBoundingClientRect();const mid=(window.innerHeight||900)/2;if(r.height>0&&r.top+r.height/2<=mid&&r.bottom>0){fired=true;lap();window.removeEventListener(\"scroll\",onScroll);}};const onScroll=()=>{if(!sraf)sraf=requestAnimationFrame(check);};if(opts.inView!==false){window.addEventListener(\"scroll\",onScroll,{passive:true});setTimeout(check,400);}return()=>{cancelAnimationFrame(raf);cancelAnimationFrame(sraf);target.removeEventListener(\"pointerenter\",enter);target.removeEventListener(\"pointerleave\",leave);window.removeEventListener(\"scroll\",onScroll);};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[still]);}let uid=0;/** The ring: one stroke on the border of a w x h box (radius r) at (x, y), painted by a moving radial glow. */export function GlowRing({w,h,r,x=0,y=0,width=2,rings,colour}){const id=React.useMemo(()=>`gb${++uid}`,[]);if(w<2||h<2)return null;return /*#__PURE__*/_jsx(\"svg\",{\"aria-hidden\":\"true\",width:w,height:h,viewBox:`0 0 ${w} ${h}`,style:{position:\"absolute\",left:x,top:y,overflow:\"visible\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsxs(\"g\",{ref:rings[0],\"data-w\":w,\"data-h\":h,\"data-colour\":colour||undefined,style:{opacity:0},children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"radialGradient\",{id:id,gradientUnits:\"userSpaceOnUse\",cx:\"0\",cy:\"0\",r:\"1\",gradientTransform:\"translate(0 0) scale(90 12)\",children:[/*#__PURE__*/_jsx(\"stop\",{offset:\"0\",stopColor:\"#1868DB\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"0.7\",stopColor:\"#1868DB\",stopOpacity:\"0\"})]})}),/*#__PURE__*/_jsx(\"rect\",{x:width/2,y:width/2,width:w-width,height:h-width,rx:Math.max(0,r-width/2),ry:Math.max(0,r-width/2),fill:\"none\",stroke:`url(#${id})`,strokeWidth:width})]})});}// \"line\" not \"width\": Framer passes its own layout width prop into every component\n// colour (11 Nov 2026, MAIA revamp): \"Spectrum\" (default, unchanged) runs the lap through the logo colours; \"MAIA blue\" keeps it #096CED\nconst DEFAULTS={mode:\"Once\",lapSeconds:7,onView:true,onHover:true,line:2,colour:\"Spectrum\"};const SINGLE={\"MAIA blue\":\"#096CED\"};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 40\n * @framerIntrinsicHeight 40\n */export default function GlowBorder(incoming){const p={...DEFAULTS};for(const k in incoming)if(incoming[k]!==undefined)p[k]=incoming[k];const root=React.useRef(null);const g=React.useRef(null);const[box,setBox]=React.useState({x:0,y:0,w:0,h:0,r:12});const findHost=()=>{let el=root.current?.parentElement||null;for(let i=0;i<5&&el;i++){const cs=getComputedStyle(el);if(parseFloat(cs.borderTopLeftRadius)>0||parseFloat(cs.borderTopWidth)>0)return el;el=el.parentElement;}return root.current?.parentElement?.parentElement||null;};React.useLayoutEffect(()=>{const host=findHost();const me=root.current;if(!host||!me)return;const measure=()=>{const hr=host.getBoundingClientRect(),mr=me.getBoundingClientRect();setBox({x:hr.left-mr.left,y:hr.top-mr.top,w:hr.width,h:hr.height,r:parseFloat(getComputedStyle(host).borderTopLeftRadius)||12});};measure();if(typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(measure);ro.observe(host);ro.observe(me);return()=>ro.disconnect();// eslint-disable-next-line react-hooks/exhaustive-deps\n},[]);useGlowLap(root,[g],{lapMs:p.lapSeconds*1e3,inView:p.onView,hover:p.onHover,mode:p.mode,target:findHost});return /*#__PURE__*/_jsx(\"div\",{ref:root,\"aria-hidden\":\"true\",style:{...incoming.style,position:\"relative\",width:\"100%\",height:\"100%\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(GlowRing,{x:box.x,y:box.y,w:box.w,h:box.h,r:box.r,width:Number(p.line)||2,rings:[g],colour:SINGLE[p.colour]})});}GlowBorder.defaultProps=DEFAULTS;addPropertyControls(GlowBorder,{mode:{type:ControlType.Enum,title:\"Mode\",options:[\"Once\",\"Loop\"],displaySegmentedControl:true,description:\"Once: a lap at mid-screen and on hover. Loop: one lap on, one lap off, while on screen\"},lapSeconds:{type:ControlType.Number,title:\"Lap\",min:2,max:14,step:.5,unit:\"s\"},line:{type:ControlType.Number,title:\"Line\",min:1,max:3,step:.5,unit:\"px\"},onView:{type:ControlType.Boolean,title:\"Once in view\",hidden:p=>p.mode===\"Loop\"},onHover:{type:ControlType.Boolean,title:\"On hover\",hidden:p=>p.mode===\"Loop\"},colour:{type:ControlType.Enum,title:\"Colour\",options:[\"Spectrum\",\"MAIA blue\"]}});\nexport const __FramerMetadata__ = {\"exports\":{\"useGlowLap\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"GlowBorder\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"40\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicWidth\":\"40\",\"framerSupportedLayoutWidth\":\"any\"}},\"GlowRing\":{\"type\":\"reactComponent\",\"name\":\"GlowRing\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GlowBorder.map","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useReducedMotion}from\"framer-motion\";/*\n * ParticleWave: a waveform made of thousands of fine particles (Ethan, 2 Nov 2026), the premium\n * sibling of SignalWave, in the same particle language as the stats section. A surface of dots seen\n * in perspective, moved by layered travelling waves plus a slow domain warp, so it flows and folds\n * rather than bobbing; crests catch the light, the far side fades into depth. The cursor gently\n * lifts the surface where it passes.\n * Shapes:  Terrain (a wide field of hills), Swell (one long dune rolling through), Ribbon (a twisting\n *          band), Drift (the band dissolved into loose particles), Orbit (7 Nov 2026: the Drift band bent\n *          into an open arc round a circle that slowly turns, for wrapping a globe; Ring size, Ring centre\n *          and Tilt place it, sized from the shorter side of the box. Sit it behind the round thing.\n *          Bleed (7 Nov, round 16) lets the particles draw that many px past the box on every side, so\n *          the loose edge of the ring never meets a hard clip; the ring is still placed by the box).\n * Colours: White, Spectrum (the logo colours across the width), Blue, Green, Ink (navy dots for white\n *          grounds), Custom (10 Nov 2026, home Stories v2: a gradient built round the Tint colour, a pale\n *          tint, the colour lifted to full brightness, a deeper shade and back, across the width, so a\n *          customer's brand colour reads on a dark ground even when the colour itself is dark).\n * Place as a background layer (Position Absolute, pinned, 100% x 100%) or in flow. Transparent\n * ground. One canvas, pauses off-screen; canvas and reduced motion draw one still frame.\n */const DEFAULTS={shape:\"Terrain\",colours:\"White\",density:1,size:1,speed:1,opacity:1,cursor:true,fadeEdges:true,ring:.95,ringY:.5,tilt:0,bleed:0,tint:\"#1868DB\"};const PAL={White:[[255,255,255]],Spectrum:[[82,173,255],[0,175,112],[169,211,79],[255,208,77],[255,113,90]],Blue:[[140,200,255],[24,104,219]],Green:[[120,255,170],[0,175,112]],Ink:[[0,0,36]]};const mixC=(a,b,t)=>a.map((v,i)=>Math.round(v+(b[i]-v)*t));const palAt=(pal,u)=>{if(pal.length===1)return pal[0];const x=Math.max(0,Math.min(.9999,u))*(pal.length-1),i=Math.floor(x);return mixC(pal[i],pal[i+1],x-i);};// Custom: parse the Tint (hex or rgb/rgba), lift it so its brightest channel reaches about 235, then\n// build the gradient: pale tint, lifted colour, deeper shade, lifted colour, softer tint.\nconst parseC=v=>{const str=String(v||\"\").trim();const hex=str.match(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i);if(hex){const h=hex[1].length===3?hex[1].split(\"\").map(x=>x+x).join(\"\"):hex[1];return[0,2,4].map(i=>parseInt(h.slice(i,i+2),16));}const n=str.match(/[\\d.]+/g);return n&&n.length>=3?n.slice(0,3).map(x=>Math.max(0,Math.min(255,Math.round(Number(x))))):[24,104,219];};const tintPal=v=>{const c=parseC(v),top=Math.max(1,...c),lit=c.map(x=>Math.round(Math.min(255,x*235/top)));return[mixC(lit,[255,255,255],.6),lit,mixC(lit,[0,0,0],.3),lit,mixC(lit,[255,255,255],.35)];};const hash=n=>{let x=n*2654435761>>>0;x^=x>>>15;x=Math.imul(x,2246822519)>>>0;x^=x>>>13;return(x>>>0)/4294967296;};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 600\n */export default function ParticleWave(incoming){const p={...DEFAULTS};for(const k in incoming)if(incoming[k]!==undefined)p[k]=incoming[k];const reduce=useReducedMotion();const still=reduce||RenderTarget.current()===RenderTarget.canvas;const cvRef=React.useRef(null);React.useEffect(()=>{const cv=cvRef.current;const ctx=cv?.getContext(\"2d\");if(!cv||!ctx)return;let W=0,H=0,dpr=1,raf=0,last=0,visible=true;let mx=-9999,my=-9999,tx=-9999,ty=-9999,mInf=0,mTarget=0;const shape=String(p.shape),pal=p.colours===\"Custom\"?tintPal(p.tint):PAL[p.colours]||PAL.White;const ink=p.colours===\"Ink\";const dens=Math.max(.3,Math.min(2.5,Number(p.density)||1));// grid of particles in surface space (u across, v into depth), with stable jitter\nconst band=shape===\"Ribbon\"||shape===\"Drift\"||shape===\"Orbit\";const cols=Math.round((shape===\"Orbit\"?420:band?320:210)*Math.sqrt(dens));const rows=Math.round((band?80:150)*Math.sqrt(dens));const N=cols*rows;const U=new Float32Array(N),V=new Float32Array(N),J=new Float32Array(N),K=new Float32Array(N);for(let r=0,i=0;r<rows;r++)for(let c=0;c<cols;c++,i++){U[i]=c/(cols-1);V[i]=r/(rows-1);J[i]=hash(i*3+1);K[i]=hash(i*7+5);}// colour and alpha buckets so fillStyle changes stay few\nconst CB=24,AB=10;const styles=[];for(let c=0;c<CB;c++){const rgb=palAt(pal,c/(CB-1));styles.push(Array.from({length:AB},(_,a)=>`rgba(${rgb[0]},${rgb[1]},${rgb[2]},${((a+1)/AB).toFixed(2)})`));}const bucketX=new Float32Array(N*3)// x, y, alpha per particle each frame\n;const order=Array.from({length:CB*AB},()=>[]);const size=()=>{W=cv.offsetWidth;H=cv.offsetHeight;if(W<2||H<2)return;dpr=Math.min(window.devicePixelRatio||1,2);cv.width=Math.round(W*dpr);cv.height=Math.round(H*dpr);ctx.setTransform(dpr,0,0,dpr,0,0);draw(performance.now());};// the surface height at (x, z) and time t: travelling waves plus a slow domain warp\nconst field=(x,z,t)=>{const wx=x+.35*Math.sin(z*1.7+t*.21)+.18*Math.sin(z*3.1-t*.17);const wz=z+.25*Math.sin(x*1.3-t*.15);let h=.6*Math.sin(wx*1.6+t*.38+Math.sin(wz*.7+t*.1)*1.1);h+=.32*Math.sin(wx*2.9-wz*1.5-t*.29);h+=.08*Math.sin(wx*5.3+wz*3.4+t*.5);h+=.4*Math.sin(wz*2.4+t*.26)*Math.cos(wx*1.1-t*.12);return h;};const draw=now=>{if(W<2)return;const t=(still?12:now/1e3)*Number(p.speed||1);ctx.clearRect(0,0,W,H);for(const o of order)o.length=0;mInf+=(mTarget-mInf)*.03;if(tx>-9e3){mx=mx<-9e3?tx:mx+(tx-mx)*.08;my=my<-9e3?ty:my+(ty-my)*.08;}const f=Math.min(W,H*1.8)*.95;const cx=W/2;const sz=Math.max(.5,Number(p.size)||1);// Orbit: ring radius in px from the shorter side, centre, tilt (squashes it into an ellipse)\n// with Bleed the canvas is larger than the box by bl on each side; place the ring by the box\nconst bl=shape===\"Orbit\"?Math.max(0,Number(p.bleed)||0):0;const RR=Math.min(W-2*bl,H-2*bl)/2*Math.max(.3,Number(p.ring)||.95);const ocy=bl+(H-2*bl)*(Number(p.ringY)||.5),tc=Math.cos((Number(p.tilt)||0)*Math.PI/180);for(let i=0;i<N;i++){const u=U[i],v=V[i];if(shape===\"Orbit\"){// the Drift band along an open arc (300deg) that turns slowly; it twists, the radius\n// breathes in two slow waves and the particles scatter loose, as in Drift\nconst th=-Math.PI/2+t*.05+(u-.5)*Math.PI*1.67;const twist=th*1.6+t*.32+.6*Math.sin(th*.9+t*.18);const w=(v-.5)*(.2+.05*Math.sin(th*2.2+t*.4));const spread=.06+.035*Math.sin(th*2.4+t*.3);let r=1+.06*Math.sin(th*3+t*.35)+.025*Math.sin(th*5-t*.28)+w*Math.cos(twist)+(J[i]-.5)*spread+.01*Math.sin(t*.8+K[i]*20);const z=w*Math.sin(twist)+(K[i]-.5)*spread*1.4;let sx=cx+Math.cos(th)*r*RR,sy=ocy+Math.sin(th)*r*RR*tc;if(p.cursor&&mInf>.01){const d=Math.hypot(sx-mx,sy-my)/Math.max(W,1);const lift=.05*mInf*Math.exp(-d*d*30);r+=lift;sx=cx+Math.cos(th)*r*RR;sy=ocy+Math.sin(th)*r*RR*tc;}if(sx<-4||sx>W+4||sy<-4||sy>H+4)continue;const near=1-Math.min(1,Math.max(0,(z+.2)/.4))*.5;const light=.45+.55*Math.abs(Math.cos(twist));let a=(.28+.72*light)*near*Number(p.opacity||1);a*=Math.pow(Math.max(0,Math.min(1,Math.min(v,1-v)/.32)),1.4);if(p.fadeEdges)a*=Math.min(1,u/.18,(1-u)/.18);a*=.55+.45*K[i];if(a<.02)continue;const ci=Math.min(CB-1,Math.floor(u*CB)),ai=Math.min(AB-1,Math.floor(Math.min(1,a)*AB));bucketX[i*3]=sx;bucketX[i*3+1]=sy;bucketX[i*3+2]=(.55+near*.9)*sz;order[ci*AB+ai].push(i);continue;}let X=0,Y=0,Z=0,light=0;if(shape===\"Terrain\"||shape===\"Swell\"){const x=(u-.5)*2.6,z=v*2.2;let h;if(shape===\"Swell\"){const crest=Math.exp(-Math.pow((x-.9*Math.sin(t*.12))*.9-(z-1.1)*.6,2)*1.6);h=1.15*crest*(.85+.15*Math.sin(t*.3+z))+.12*Math.sin(x*5+z*3+t*.6)+.18*Math.sin(z*2.2-t*.25);}else h=field(x,z,t);if(p.cursor&&mInf>.01){const sx0=cx+x/(z+1.2)*f;const d=Math.hypot(sx0-mx,H*.62-my)/Math.max(W,1);h+=.16*mInf*Math.exp(-d*d*28);}X=x;Y=h*(shape===\"Swell\"?.3:.24);Z=z;const hn=field(x+.04,z,t)-h;light=Math.max(0,Math.min(1,.42+h*.3-hn*9));}else{// Ribbon / Drift: a band along u that twists along its length\nconst s=(u-.5)*4.4;const centerY=.36*Math.sin(s*1.2+t*.35)+.14*Math.sin(s*2.3-t*.28);const centerZ=1.1+.25*Math.sin(s*1.2-t*.2);const twist=s*.95+t*.32+.6*Math.sin(s*.7+t*.18);const w=(v-.5)*(.95+.2*Math.sin(s*1.6+t*.4));X=s;Y=centerY+w*Math.cos(twist);Z=centerZ+w*Math.sin(twist);if(shape===\"Drift\"){const spread=.3+.14*Math.sin(s*1.7+t*.3);Y+=(J[i]-.5)*spread+.04*Math.sin(t*.8+K[i]*20);Z+=(K[i]-.5)*spread*1.4;X+=(J[i]-.5)*.03;}if(p.cursor&&mInf>.01){const sx0=cx+X/(Z+.6)*f*.78;const d=Math.hypot(sx0-mx,H*.5+Y*f*.5-my)/Math.max(W,1);Y-=.035*mInf*Math.exp(-d*d*30);}light=.45+.55*Math.abs(Math.cos(twist));}// perspective\nconst depth=shape===\"Ribbon\"||shape===\"Drift\"?Z+.6:Z+1.2;const k=(shape===\"Ribbon\"||shape===\"Drift\"?.78:1)*f/depth;const sx=cx+X*k;const sy=(shape===\"Ribbon\"||shape===\"Drift\"?H*.5:H*.18)-Y*k*.8+(shape===\"Ribbon\"||shape===\"Drift\"?0:1/depth*H*1.05);if(sx<-4||sx>W+4||sy<-4||sy>H+4)continue;const near=shape===\"Ribbon\"||shape===\"Drift\"?1-Math.min(1,(Z-.5)/1.4)*.55:1-v*.82;let a=(.28+.72*light)*near*Number(p.opacity||1);if(p.fadeEdges)a*=Math.min(1,u/.12,(1-u)/.12)*(shape===\"Terrain\"||shape===\"Swell\"?Math.min(1,(1-v)/.25):1);if(shape===\"Ribbon\"||shape===\"Drift\"){const across=Math.min(v,1-v)/.32;a*=Math.pow(Math.max(0,Math.min(1,across)),1.4)*Math.min(1,u/.22,(1-u)/.22);}if(shape===\"Drift\")a*=.55+.45*K[i];if(a<.02)continue;const ci=Math.min(CB-1,Math.floor(u*CB)),ai=Math.min(AB-1,Math.floor(Math.min(1,a)*AB));bucketX[i*3]=sx;bucketX[i*3+1]=sy;bucketX[i*3+2]=(shape===\"Terrain\"||shape===\"Swell\"?.45+near*1.05:.55+near*.9)*sz;order[ci*AB+ai].push(i);}for(let b=0;b<order.length;b++){const list=order[b];if(!list.length)continue;ctx.fillStyle=styles[Math.floor(b/AB)][b%AB];for(const i of list){const s=bucketX[i*3+2];ctx.fillRect(bucketX[i*3]-s/2,bucketX[i*3+1]-s/2,s,s);}}};const loop=now=>{raf=0;if(!visible||still)return;if(now-last>16){draw(now);last=now;}raf=requestAnimationFrame(loop);};const onMove=e=>{const r=cv.getBoundingClientRect();tx=e.clientX-r.left;ty=e.clientY-r.top;mTarget=tx>=0&&ty>=0&&tx<=r.width&&ty<=r.height?1:0;};size();const ro=typeof ResizeObserver!==\"undefined\"?new ResizeObserver(size):null;ro?.observe(cv);const io=typeof IntersectionObserver!==\"undefined\"?new IntersectionObserver(([e])=>{visible=e.isIntersecting;if(visible&&!still&&!raf)raf=requestAnimationFrame(loop);},{threshold:0}):null;io?.observe(cv);if(!io&&!still)raf=requestAnimationFrame(loop);if(p.cursor&&!still)window.addEventListener(\"pointermove\",onMove,{passive:true});return()=>{cancelAnimationFrame(raf);ro?.disconnect();io?.disconnect();window.removeEventListener(\"pointermove\",onMove);};},[still,p.shape,p.colours,p.density,p.size,p.speed,p.opacity,p.cursor,p.fadeEdges,p.ring,p.ringY,p.tilt,p.bleed,p.tint]);const bleed=p.shape===\"Orbit\"?Math.max(0,Number(p.bleed)||0):0;return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{...incoming.style,position:\"relative\",width:\"100%\",height:\"100%\",overflow:bleed?\"visible\":\"hidden\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"canvas\",{ref:cvRef,style:{position:\"absolute\",inset:-bleed,width:`calc(100% + ${bleed*2}px)`,height:`calc(100% + ${bleed*2}px)`,display:\"block\"}})});}ParticleWave.defaultProps=DEFAULTS;addPropertyControls(ParticleWave,{shape:{type:ControlType.Enum,title:\"Shape\",options:[\"Terrain\",\"Swell\",\"Ribbon\",\"Drift\",\"Orbit\"]},colours:{type:ControlType.Enum,title:\"Colours\",options:[\"White\",\"Spectrum\",\"Blue\",\"Green\",\"Ink\",\"Custom\"]},tint:{type:ControlType.Color,title:\"Tint\",hidden:p=>p.colours!==\"Custom\",description:\"Custom builds a gradient round this colour.\"},density:{type:ControlType.Number,title:\"Density\",min:.3,max:2.5,step:.1},size:{type:ControlType.Number,title:\"Particle size\",min:.5,max:2.5,step:.1},speed:{type:ControlType.Number,title:\"Speed\",min:0,max:3,step:.05},opacity:{type:ControlType.Number,title:\"Opacity\",min:.1,max:1.5,step:.05},cursor:{type:ControlType.Boolean,title:\"Follow cursor\"},fadeEdges:{type:ControlType.Boolean,title:\"Fade edges\"},ring:{type:ControlType.Number,title:\"Ring size\",min:.3,max:1.5,step:.01,hidden:p=>p.shape!==\"Orbit\"},ringY:{type:ControlType.Number,title:\"Ring centre\",min:0,max:1,step:.01,hidden:p=>p.shape!==\"Orbit\"},bleed:{type:ControlType.Number,title:\"Bleed\",min:0,max:200,step:4,unit:\"px\",hidden:p=>p.shape!==\"Orbit\",description:\"Let the particles draw past the box so the ring's edge is never clipped.\"},tilt:{type:ControlType.Number,title:\"Tilt\",min:0,max:80,step:1,unit:\"\\xb0\",hidden:p=>p.shape!==\"Orbit\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ParticleWave\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"600\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicWidth\":\"1200\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ParticleWave.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useReducedMotion}from\"framer-motion\";import ParticleWave from\"https://framerusercontent.com/modules/2fCdMwoD3mjJaQaIrhpV/rz6HyKzoAicStNqcgX4A/ParticleWave.js\";const CASES=[{name:\"Vertu Motors\",sector:\"Automotive retail\",lead:\"One customer history in front of 6,000 employees,\",rest:\" at the contact centre and in the showrooms.\",overview:\"Vertu Motors' showrooms and contact centre now share one customer record, so website visits, emails and calls are in front of whoever picks up next.\",figure:\"10x\",caption:\"more successful customer outcomes\",stat1:\"6,000\",stat1Label:\"employees on one platform\",stat2:\"15x\",stat2Label:\"more people able to help a customer\",link:\"/case-studies/vertu-motors\",accent:\"rgb(27, 135, 72)\"},{name:\"Debt Free Advice\",sector:\"Financial advice\",lead:\"Face-to-face debt advice kept going through lockdown,\",rest:\" across 55 London advice centres.\",overview:\"When COVID-19 closed the centres overnight, advisers from 21 partner charities moved to calls, webchat, WhatsApp and video from home, all in one place.\",figure:\"24,000+\",caption:\"Londoners helped every year\",stat1:\"55\",stat1Label:\"advice centres on one platform\",stat2:\"Days\",stat2Label:\"to go live during lockdown\",link:\"/case-studies/debt-free-advice\",accent:\"rgb(245, 130, 32)\"},{name:\"Shelter\",sector:\"Housing\",lead:\"Housing advice for people at risk of homelessness,\",rest:\" from 22 offices on one platform.\",overview:\"Shelter advised more than 31,000 households in 2023. The next phase adds a chatbot that sorts enquiries, so advisers can focus on emergency and highest priority cases.\",figure:\"31,000+\",caption:\"households advised in 2023\",stat1:\"22\",stat1Label:\"offices across England and Scotland\",stat2:\"Phase 1\",stat2Label:\"live web chat and voice recognition\",link:\"/case-studies/shelter\",accent:\"rgb(253, 18, 33)\"},{name:\"Citizens Advice\",sector:\"Public sector and charity\",lead:\"Callers choose Welsh or English at the first menu,\",rest:\" and team leaders see each queue as it happens.\",overview:\"Citizens Advice Cardiff & Vale takes thousands of enquiries a month, many from people in vulnerable situations. Managers now plan staffing from live reports, with the spreadsheets retired.\",figure:\"40,852\",caption:\"client problems solved in 2025\",stat1:\"8,000\",stat1Label:\"inbound calls a month\",stat2:\"2\",stat2Label:\"languages from the first menu\",link:\"/case-studies/citizens-advice\",accent:\"rgb(14, 75, 136)\"},{name:\"IR & PR Communications\",sector:\"Communications\",lead:\"Earnings calls and AGMs for callers dialling in from any country,\",rest:\" on a conferencing platform built when no product on the market fitted.\",overview:\"A global investor relations firm needed live speaker stages, Q&A and dial-in access with no app to install. The platform has run for over three years and carried millions of minutes of calls.\",figure:\"500+\",caption:\"live conferences a day\",stat1:\"200+\",stat1Label:\"callers on a single conference\",stat2:\"24/7\",stat2Label:\"managed support across US and EMEA time zones\",link:\"/case-studies/pr-communications\",accent:\"rgb(24, 104, 219)\"}];const NAMES=CASES.map(c=>c.name);const SLOTS=[\"first\",\"second\",\"third\",\"fourth\"];const SHAPES=[\"Swell\",\"Terrain\",\"Ribbon\",\"Drift\"];const EASE=\"cubic-bezier(0.16, 1, 0.3, 1)\";// The hub glow's colour stops (GlowBorder): blue, green, yellow, red, back to blue\nconst HUB=[[0,[24,104,219]],[23,[22,163,74]],[50,[234,179,8]],[73,[220,38,38]],[100,[24,104,219]]];const hubAt=pct=>{for(let i=1;i<HUB.length;i++)if(pct<=HUB[i][0]){const a=HUB[i-1],b=HUB[i];const f=(pct-a[0])/(b[0]-a[0]);return`rgb(${a[1].map((v,k)=>Math.round(v+(b[1][k]-v)*f)).join(\",\")})`;}return\"rgb(24,104,219)\";};const CSS=`\n@keyframes hst-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }\n.hst-btn { transition: background 0.25s ease; }\n.hst-btn:hover { background: #2E2A28 !important; }\n.hst-btn:hover .hst-arrow { transform: translateX(3px); }\n.hst-tab:focus-visible { outline: 2px solid #1868DB; outline-offset: -2px; }\n`;const DEFAULTS={first:\"Vertu Motors\",second:\"Debt Free Advice\",third:\"Shelter\",fourth:\"Citizens Advice\",seconds:7,button:\"Read the case study\",ink:\"#1C1817\",muted:\"#7A746F\",body:\"#4F4B48\",rule:\"#EBE7E3\",shell:\"#FFFFFF\",panel:\"#0A0A0B\",panelRule:\"#222225\",glow:1,particles:\"Spectrum\",strength:1};/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 560\n */export default function HomeStatsStories(incoming){const p={...DEFAULTS};for(const k in incoming)if(incoming[k]!==undefined)p[k]=incoming[k];// The four slots, in order; \"None\" and repeats drop out\nconst picked=[];for(const k of SLOTS)if(NAMES.includes(p[k])&&!picked.includes(p[k]))picked.push(p[k]);const cases=(picked.length?picked:[DEFAULTS.first]).map(nm=>CASES.find(c=>c.name===nm));const n=cases.length;const still=useReducedMotion()||RenderTarget.current()===RenderTarget.canvas;const host=React.useRef(null);const[w,setW]=React.useState(1200);const[idx,setIdx]=React.useState(0);const[vis,setVis]=React.useState(false);React.useLayoutEffect(()=>{const el=host.current;if(!el)return;const set=()=>setW(el.offsetWidth||1200);set();if(typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(set);ro.observe(el);return()=>ro.disconnect();},[]);React.useEffect(()=>{const el=host.current;if(!el||still||typeof IntersectionObserver===\"undefined\")return;const io=new IntersectionObserver(([e])=>setVis(e.isIntersecting),{threshold:.3});io.observe(el);return()=>io.disconnect();},[still]);const wide=w>=1e3;const narrow=w<600;const px=wide?48:narrow?20:32;const perRow=narrow?2:n;const display='\"Inter Display\", \"Inter\", system-ui, sans-serif';const running=!still&&vis;const per=Math.max(2,Number(p.seconds)||7)*1e3;const HW=narrow?150:220// the travelling glow's width\n;// ---- the travelling glow: elapsed time maps to a position across all the tabs\nconst rowEls=React.useRef([]);const heads=React.useRef([]);const elapsed=React.useRef(still?per*.45:0);const idxRef=React.useRef(0);const held=React.useRef(-1)// the tab a visitor clicked; the loop stops and the glow stays under it\n;const[stopped,setStopped]=React.useState(false);const geo=React.useRef({perRow,n,per,HW});geo.current={perRow,n,per,HW};const paint=React.useCallback(()=>{const g=geo.current;const f=elapsed.current/g.per%g.n;const tab=held.current>=0?Math.min(g.n-1,held.current):Math.min(g.n-1,Math.floor(f));const row=Math.floor(tab/g.perRow);heads.current.forEach((h,r)=>{if(!h)return;if(r!==row){h.style.opacity=\"0\";return;}const rw=rowEls.current[r]?.offsetWidth||1200;const cols=Math.min(g.perRow,g.n-row*g.perRow)// a short last row (an odd count on phone) spans the full width\n;const x=(f-row*g.perRow)/cols*rw;h.style.opacity=\"1\";h.style.transform=`translateX(${(x-g.HW/2).toFixed(1)}px)`;h.style.setProperty(\"--hst-c\",hubAt(f/g.n*100));});if(tab!==idxRef.current){idxRef.current=tab;setIdx(tab);}},[]);React.useLayoutEffect(()=>{paint();});React.useEffect(()=>{if(!running||stopped)return;let raf=0,last=performance.now();const tick=now=>{elapsed.current=(elapsed.current+Math.min(100,now-last))%(geo.current.per*geo.current.n);last=now;paint();raf=requestAnimationFrame(tick);};raf=requestAnimationFrame(tick);return()=>cancelAnimationFrame(raf);},[running,stopped,paint]);// A click holds that customer: the glow glides to the middle of its tab and stays\nconst glide=React.useRef(0);const pick=i=>{held.current=i;idxRef.current=i;setIdx(i);setStopped(true);cancelAnimationFrame(glide.current);const to=(i+.5)*per;if(still){elapsed.current=to;paint();return;}const from=elapsed.current,t0=performance.now(),dur=600;const step=now=>{const t=Math.min(1,(now-t0)/dur),e=1-Math.pow(1-t,3);elapsed.current=from+(to-from)*e;paint();if(t<1)glide.current=requestAnimationFrame(step);};glide.current=requestAnimationFrame(step);};React.useEffect(()=>()=>cancelAnimationFrame(glide.current),[]);const active=Math.min(idx,n-1);const story=(c,i)=>{const on=i===active;const anim=d=>on&&!still?`hst-in 0.7s ${EASE} ${d}s both`:undefined;return /*#__PURE__*/_jsxs(\"div\",{\"aria-hidden\":!on,style:{gridArea:\"1 / 1\",visibility:on?\"visible\":\"hidden\",display:\"flex\",flexDirection:\"column\",gap:wide?24:20},children:[/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,maxWidth:520,fontFamily:display,fontSize:wide?30:narrow?24:28,fontWeight:500,lineHeight:1.16,letterSpacing:\"-0.02em\",color:p.muted,textWrap:\"balance\",animation:anim(0)},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:p.ink},children:c.lead}),c.rest]}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,maxWidth:460,fontSize:16,lineHeight:\"26px\",color:p.body,textWrap:\"pretty\",animation:anim(.06)},children:c.overview}),c.link?/*#__PURE__*/_jsxs(\"a\",{href:c.link,tabIndex:on?0:-1,className:\"hst-btn\",style:{alignSelf:\"flex-start\",marginTop:wide?8:4,display:\"inline-flex\",alignItems:\"center\",gap:10,padding:\"12px 18px\",borderRadius:8,background:p.ink,color:\"#FFFFFF\",fontSize:15,fontWeight:500,lineHeight:\"20px\",letterSpacing:\"-0.01em\",textDecoration:\"none\",animation:anim(.12)},children:[p.button,/*#__PURE__*/_jsx(\"svg\",{className:\"hst-arrow\",width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",fill:\"none\",\"aria-hidden\":\"true\",style:{transition:`transform 0.3s ${EASE}`},children:/*#__PURE__*/_jsx(\"path\",{d:\"M2 7h10M8 3l4 4-4 4\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})]}):null]},on?`s${i}-on`:`s${i}`);};const c=cases[active];const brand=p.particles===\"Brand\";const sk=Math.max(.4,Math.min(1.6,Number(p.strength)||1));const sub=[[c.stat1,c.stat1Label],[c.stat2,c.stat2Label]].filter(([v])=>v&&v.trim());const panel=/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",minHeight:wide?360:narrow?280:320,height:\"100%\",overflow:\"hidden\",background:p.panel,display:\"flex\",flexDirection:\"column\",justifyContent:\"space-between\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:brand?\"22% 0 0 0\":0,animation:still?undefined:\"hst-in 1s ease both\"},children:brand?/*#__PURE__*/_jsx(ParticleWave,{shape:SHAPES[active%4],colours:\"Custom\",tint:c.accent,density:1.3,size:1.2,speed:.8,opacity:1.25*sk,cursor:true,fadeEdges:true,style:{width:\"100%\",height:\"100%\"}}):p.particles===\"MAIA\"||p.particles===\"Sprint\"?/*#__PURE__*/_jsx(ParticleWave,{shape:SHAPES[active%4],colours:\"Custom\",tint:p.particles===\"Sprint\"?\"#FF6200\":\"#096CED\",density:.9,size:1,speed:.8,opacity:.9,cursor:true,fadeEdges:true,style:{width:\"100%\",height:\"100%\"}}):/*#__PURE__*/_jsx(ParticleWave,{shape:SHAPES[active%4],colours:p.particles===\"Green\"?\"Green\":\"Spectrum\",density:.9,size:1,speed:.8,opacity:.9,cursor:true,fadeEdges:true,style:{width:\"100%\",height:\"100%\"}})},`w${active}`),/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,background:brand?`linear-gradient(to bottom, ${p.panel} 0%, rgba(10,10,11,0.85) 30%, rgba(10,10,11,0.35) 42%, rgba(10,10,11,0) 52%, rgba(10,10,11,0) 68%, rgba(10,10,11,0.6) 84%, ${p.panel} 100%)`:`linear-gradient(to bottom, ${p.panel} 0%, rgba(10,10,11,0.75) 30%, rgba(10,10,11,0) 60%, rgba(10,10,11,0.55) 85%, ${p.panel} 100%)`}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",padding:wide?\"36px 40px 0\":`${narrow?24:28}px ${px}px 0`,display:\"flex\",flexDirection:\"column\",gap:8,animation:still?undefined:`hst-in 0.7s ${EASE} 0.1s both`},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:display,fontSize:wide?88:narrow?56:72,fontWeight:500,lineHeight:1,letterSpacing:\"-0.04em\",color:\"#F3F1EE\"},children:c.figure}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:15,lineHeight:\"20px\",color:\"#9C9A97\"},children:c.caption})]},`f${active}`),sub.length>0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",display:\"grid\",gridTemplateColumns:\"1fr 1fr\",borderTop:`1px solid ${p.panelRule}`,animation:still?undefined:`hst-in 0.7s ${EASE} 0.2s both`},children:sub.map(([v,l],j)=>/*#__PURE__*/_jsxs(\"div\",{style:{padding:wide?\"18px 40px 22px\":`16px ${px}px 20px`,borderLeft:j?`1px solid ${p.panelRule}`:\"none\",display:\"flex\",flexDirection:\"column\",gap:4},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:display,fontSize:narrow?22:24,fontWeight:500,lineHeight:1.1,letterSpacing:\"-0.02em\",color:\"#F3F1EE\"},children:v}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:13,lineHeight:\"18px\",color:\"#9C9A97\"},children:l})]},j))},`x${active}`)]});const left=/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",padding:wide?`44px ${px}px 48px`:`${narrow?32:36}px ${px}px ${narrow?36:44}px`,borderRight:wide?`1px solid ${p.rule}`:\"none\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",display:\"grid\"},children:cases.map(story)})});// ---- tabs, in rows (one row of four, or two rows of two on phone); the glow runs along each row's rule\nconst rows=[];for(let i=0;i<n;i+=perRow)rows.push(cases.map((_,j)=>j).slice(i,i+perRow));const k=Math.max(0,Number(p.glow)||0);const domeH=narrow?22:28// stays below the tab's subtitle\n;return /*#__PURE__*/_jsxs(\"div\",{ref:host,style:{...incoming.style,position:\"relative\",width:\"100%\",background:p.shell,borderTop:`1px solid ${p.rule}`,boxSizing:\"border-box\",fontFamily:'\"Inter\", system-ui, sans-serif'},children:[/*#__PURE__*/_jsx(\"style\",{children:CSS}),/*#__PURE__*/_jsx(\"div\",{role:\"tablist\",\"aria-label\":\"Customer stories\",style:{position:\"relative\",zIndex:2},children:rows.map((row,r)=>/*#__PURE__*/_jsxs(\"div\",{ref:el=>{rowEls.current[r]=el;},role:\"presentation\",style:{position:\"relative\",display:\"grid\",gridTemplateColumns:`repeat(${perRow}, 1fr)`,borderBottom:`1px solid ${p.rule}`,clipPath:\"inset(-24px 0 -24px 0)\"},children:[/*#__PURE__*/_jsxs(\"div\",{ref:el=>{heads.current[r]=el;},\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,bottom:-9,width:HW,height:16,opacity:0,pointerEvents:\"none\",willChange:\"transform\",[\"--hst-c\"]:\"rgb(24,104,219)\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:\"8%\",right:\"8%\",bottom:8,height:domeH,background:\"radial-gradient(ellipse 50% 100% at 50% 100%, var(--hst-c) 0%, transparent 100%)\",filter:\"blur(6px)\",opacity:.2*k}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,top:4,height:8,background:\"linear-gradient(90deg, transparent 0%, var(--hst-c) 50%, transparent 100%)\",filter:\"blur(4px)\",opacity:Math.min(1,.5*k)}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,top:7,height:2,background:\"linear-gradient(90deg, transparent 0%, var(--hst-c) 50%, transparent 100%)\"}})]}),row.map((i,j)=>{const t=cases[i];const on=i===active;const span=j===row.length-1&&row.length<perRow?perRow-row.length+1:1;return /*#__PURE__*/_jsxs(\"button\",{role:\"tab\",className:\"hst-tab\",\"aria-selected\":on,onClick:()=>pick(i),style:{all:\"unset\",gridColumn:span>1?`span ${span}`:undefined,boxSizing:\"border-box\",cursor:\"pointer\",position:\"relative\",overflow:\"hidden\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:12,minHeight:narrow?64:80,padding:`0 ${narrow?20:wide?32:20}px`,borderLeft:i%perRow?`1px solid ${p.rule}`:\"none\",textAlign:\"left\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{position:\"relative\",display:\"flex\",flexDirection:\"column\",gap:2,minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:15,fontWeight:500,lineHeight:\"20px\",letterSpacing:\"-0.01em\",color:on?p.ink:p.muted,transition:\"color 0.3s ease\"},children:t.name}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:13,lineHeight:\"18px\",color:p.muted,opacity:on?1:.75,transition:\"opacity 0.3s ease\"},children:t.sector})]}),w>=1100&&/*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",fontFamily:display,fontSize:20,fontWeight:500,letterSpacing:\"-0.02em\",color:on?p.ink:\"#B5AFA9\",transition:\"color 0.3s ease\",whiteSpace:\"nowrap\"},children:t.figure})]},i);})]},r))}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:wide?\"1fr 1fr\":\"1fr\"},children:wide?/*#__PURE__*/_jsxs(_Fragment,{children:[left,panel]}):/*#__PURE__*/_jsxs(_Fragment,{children:[panel,left]})})]});}HomeStatsStories.defaultProps=DEFAULTS;addPropertyControls(HomeStatsStories,{first:{type:ControlType.Enum,title:\"1st\",options:NAMES,description:\"The customer the section opens on. Pick the one closest to this page.\"},second:{type:ControlType.Enum,title:\"2nd\",options:NAMES},third:{type:ControlType.Enum,title:\"3rd\",options:[...NAMES,\"None\"]},fourth:{type:ControlType.Enum,title:\"4th\",options:[...NAMES,\"None\"],description:\"None in 3rd or 4th shows fewer tabs. A repeat is skipped.\"},seconds:{type:ControlType.Number,title:\"Seconds\",min:3,max:15,step:.5,description:\"Per customer. The glow crosses all four tabs in 4 x this.\"},glow:{type:ControlType.Number,title:\"Glow\",min:0,max:2,step:.1,description:\"Soft colour around the travelling progress line.\"},particles:{type:ControlType.Enum,title:\"Particles\",options:[\"Spectrum\",\"Brand\",\"Green\",\"MAIA\",\"Sprint\"],displaySegmentedControl:true,description:\"Brand: each customer's particles in its own accent colour. Green: Pay green for the Pay product page (11 Nov 2026).\"},strength:{type:ControlType.Number,title:\"Particle strength\",min:.4,max:1.6,step:.05,hidden:p=>p.particles!==\"Brand\"},button:{type:ControlType.String,title:\"Button\"},ink:{type:ControlType.Color,title:\"Ink\"},muted:{type:ControlType.Color,title:\"Muted\"},body:{type:ControlType.Color,title:\"Body\"},rule:{type:ControlType.Color,title:\"Rule\"},shell:{type:ControlType.Color,title:\"Ground\"},panel:{type:ControlType.Color,title:\"Panel\"},panelRule:{type:ControlType.Color,title:\"Panel rule\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HomeStatsStories\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"560\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"1200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HomeStatsStories.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion,useInView,useReducedMotion}from\"framer-motion\";/*\n * Housing reveal (from the Crop-mark diagrams kit, RevealHeading): words write in left to right\n * Section headline that blurs in word by word when it scrolls into view.\n * Wrap words in *asterisks* to accent them (Ciptex blue, the logo gradient\n * underline, or both). Optional pulsing dot and a subtitle that follows.\n */const SPECTRUM=\"linear-gradient(90deg, #FF715A 0%, #FFCC4D 32%, #00AF70 64%, #52ADFF 100%)\";const EASE=[.16,1,.3,1];function segment(text){const out=[];text.split(/(\\*[^*]+\\*)/g).forEach(chunk=>{if(!chunk)return;const accent=chunk.length>2&&chunk.startsWith(\"*\")&&chunk.endsWith(\"*\");const clean=accent?chunk.slice(1,-1):chunk;out.push({accent,words:clean.split(/(\\s+)/).filter(w=>w.length>0)});});return out;}const srOnly={position:\"absolute\",width:1,height:1,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0,0,0,0)\",whiteSpace:\"nowrap\",border:0};/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 720\n */export default function HousingReveal(incoming){// Defaults merged by hand as well, so this keeps working if Framer moves to React 19.\nconst props={...DEFAULTS};for(const k in incoming)if(incoming[k]!==undefined)props[k]=incoming[k];const{text,subtitle,tag,fontFamily,fontSize,fontWeight,letterSpacing,lineHeight,subtitleFont,color,subtitleColor,accentColor,accentStyle,align,showDot,dotColor,stagger,duration,once,style}=props;const ref=React.useRef(null);const inView=useInView(ref,{once,amount:.35});const reduce=useReducedMotion();const onCanvas=RenderTarget.current()===RenderTarget.canvas;const show=inView||onCanvas;const still=reduce||onCanvas;const segments=React.useMemo(()=>segment(text||\"\"),[text]);const plain=(text||\"\").replace(/\\*/g,\"\");const wordCount=segments.reduce((n,s)=>n+s.words.filter(w=>w.trim()).length,0);const colourAccent=accentStyle!==\"None\";const underlineAccent=false;const hidden=still?{opacity:1,y:0,filter:\"blur(0px)\"}:{opacity:0,y:\"0.4em\",filter:\"blur(12px)\"};const visible={opacity:1,y:0,filter:\"blur(0px)\"};let i=0;const word=(w,key)=>{if(!w.trim())return /*#__PURE__*/_jsx(React.Fragment,{children:w},key);const index=i++;return /*#__PURE__*/_jsx(motion.span,{style:{display:\"inline-block\"},initial:hidden,animate:show?visible:hidden,transition:{duration:still?0:duration,ease:EASE,delay:still?0:index*stagger},children:w},key);};const Tag=tag||\"h2\";const headingFont={fontFamily,fontSize,fontWeight,letterSpacing,lineHeight};const justify=align===\"center\"?\"center\":align===\"right\"?\"flex-end\":\"flex-start\";const settle=still?0:wordCount*stagger+duration*.5;return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{...style,display:\"flex\",flexDirection:\"column\",alignItems:justify,textAlign:align,gap:\"0.9em\",position:\"relative\"},children:[/*#__PURE__*/_jsxs(Tag,{style:{margin:0,color,...headingFont,width:\"100%\"},children:[/*#__PURE__*/_jsx(\"span\",{style:srOnly,children:plain}),/*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":\"true\",children:[showDot&&/*#__PURE__*/_jsx(Dot,{color:dotColor,animate:!still}),segments.map((s,si)=>{if(!s.accent)return s.words.map((w,wi)=>word(w,`${si}-${wi}`));return /*#__PURE__*/_jsx(motion.span,{style:{color:colourAccent?accentColor:undefined,backgroundImage:underlineAccent?SPECTRUM:undefined,backgroundRepeat:\"no-repeat\",backgroundPosition:\"0 100%\",paddingBottom:underlineAccent?\"0.04em\":undefined},initial:{backgroundSize:still?\"100% 0.09em\":\"0% 0.09em\"},animate:{backgroundSize:show?\"100% 0.09em\":\"0% 0.09em\"},transition:{duration:still?0:.9,ease:EASE,delay:settle*.75},children:s.words.map((w,wi)=>word(w,`${si}-${wi}`))},si);})]})]}),subtitle?/*#__PURE__*/_jsx(motion.p,{style:{margin:0,color:subtitleColor,fontSize:18,lineHeight:1.5,maxWidth:\"40em\",...subtitleFont},initial:still?{opacity:1,y:0}:{opacity:0,y:12},animate:show?{opacity:1,y:0}:still?{opacity:1,y:0}:{opacity:0,y:12},transition:{duration:still?0:.8,ease:EASE,delay:settle},children:subtitle}):null]});}function Dot({color,animate}){return /*#__PURE__*/_jsxs(\"span\",{style:{position:\"relative\",display:\"inline-block\",width:\"0.3em\",height:\"0.3em\",marginRight:\"0.45em\",verticalAlign:\"0.18em\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",inset:0,borderRadius:\"50%\",background:color}}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",inset:\"-0.12em\",borderRadius:\"50%\",border:`0.05em solid ${color}`}}),animate&&/*#__PURE__*/_jsx(motion.span,{style:{position:\"absolute\",inset:0,borderRadius:\"50%\",background:color},initial:{scale:1,opacity:.45},animate:{scale:3,opacity:0},transition:{duration:1.8,repeat:Infinity,ease:\"easeOut\"}})]});}const DEFAULTS={text:\"Every channel into *one queue.*\",subtitle:\"\",tag:\"h2\",fontFamily:'\"Inter Display\", \"Inter\", system-ui, sans-serif',fontSize:\"clamp(30px, 4vw, 44px)\",fontWeight:500,letterSpacing:\"-0.02em\",lineHeight:1.1,color:\"#1C1817\",subtitleColor:\"#4F4B48\",accentColor:\"#7A746F\",accentStyle:\"Colour\",align:\"left\",showDot:false,dotColor:\"#1868DB\",stagger:.06,duration:.9,once:true};HousingReveal.defaultProps=DEFAULTS;addPropertyControls(HousingReveal,{text:{type:ControlType.String,title:\"Text\",displayTextArea:true,description:\"Wrap words in *asterisks* to accent them.\"},subtitle:{type:ControlType.String,title:\"Subtitle\",displayTextArea:true},tag:{type:ControlType.Enum,title:\"Tag\",options:[\"h1\",\"h2\",\"h3\",\"h4\",\"p\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"H4\",\"Paragraph\"],description:\"Keep heading levels in order on the page (H1, then H2, then H3).\"},fontFamily:{type:ControlType.String,title:\"Font family\"},fontSize:{type:ControlType.String,title:\"Font size\"},fontWeight:{type:ControlType.Number,title:\"Weight\",min:300,max:800,step:100},letterSpacing:{type:ControlType.String,title:\"Tracking\"},lineHeight:{type:ControlType.Number,title:\"Line height\",min:.9,max:1.6,step:.05},color:{type:ControlType.Color,title:\"Colour\"},subtitleColor:{type:ControlType.Color,title:\"Subtitle\"},accentStyle:{type:ControlType.Enum,title:\"Accent\",options:[\"Colour\",\"None\"],displaySegmentedControl:true},accentColor:{type:ControlType.Color,title:\"Accent colour\",hidden:p=>p.accentStyle===\"None\"},align:{type:ControlType.Enum,title:\"Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Centre\",\"Right\"],displaySegmentedControl:true},showDot:{type:ControlType.Boolean,title:\"Dot\"},dotColor:{type:ControlType.Color,title:\"Dot colour\",hidden:p=>!p.showDot},stagger:{type:ControlType.Number,title:\"Stagger\",min:0,max:.3,step:.01,unit:\"s\"},duration:{type:ControlType.Number,title:\"Duration\",min:.2,max:2,step:.05,unit:\"s\"},once:{type:ControlType.Boolean,title:\"Play once\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HousingReveal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"720\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HousingReveal_2.map"],"mappings":"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"}