{"version":3,"file":"Scene.48bG2C9e.mjs","names":["useRef","url","__esmMin","init_ssg_sandbox_shims","window","de","c","init_jsx_runtime","init_npm_react_18_3_1","ce","addPropertyControls","init_framer_DcxuU94H","ControlType","Scene","props","ref","host","stop","started","start","GESTURES","g","run","s","lineColor","accentColor","opacity","speed","tilt","offsetX","style","T","THREE_CDN","renderer","scene","camera","geo","vertebraEdges","mat","o","accent","spine","bones","spinePlacements","HEIGHT","worst","v","b","i","parts","m","plumb","canvas","view","size","w","h","halfH","halfW","ro","tx","ty","px","py","sy","onMove","onScroll","t0","frame","t","now","a","realign","rest","io","en","ring","r","y","top","bot","pairs","back","tip","n","u","drift","height","dur","init_Scene"],"sources":["https:/framerusercontent.com/modules/QgDSZhqdRaEcXLbJSpuV/auV0ZyxkckCGdYYkekMN/Scene.js"],"sourcesContent":["// Realigning spine: a wireframe spine behind the hero that starts bowed sideways and straightens onto a plumb line in 3.2 s\n// (the clinic's promise, drawn), then drifts slowly, tilting with the pointer and sinking with the scroll. The most displaced\n// vertebra is drawn in the accent, like the mark in the nav.\n// three.js is fetched from the CDN on the first gesture only (pointer, touch, scroll, key), so the hero paints and the LCP lands before any 3D.\n// Reduced motion turns the whole scene off; no WebGL leaves the hero flat. Every look is a property control.\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const THREE_CDN=\"https://esm.sh/three@0.170.0\";const GESTURES=[\"pointermove\",\"touchstart\",\"scroll\",\"keydown\"];/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function Scene(props){const{lineColor,accentColor,opacity,speed,tilt,offsetX,style}=props;const ref=useRef(null);useEffect(()=>{const host=ref.current;if(!host||typeof window===\"undefined\")return;if(window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches){host.dataset.scene=\"off\";return;}let stop=()=>{},started=false;const start=()=>{if(started)return;started=true;GESTURES.forEach(g=>window.removeEventListener(g,start));host.dataset.scene=\"loading\";run(host,{lineColor,accentColor,opacity,speed,tilt,offsetX}).then(s=>{stop=s;host.dataset.scene=\"on\";}).catch(()=>{host.dataset.scene=\"failed\";});};GESTURES.forEach(g=>window.addEventListener(g,start,{passive:true}));return()=>{GESTURES.forEach(g=>window.removeEventListener(g,start));stop();};},[lineColor,accentColor,opacity,speed,tilt,offsetX]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,\"aria-hidden\":\"true\",\"data-scene\":\"idle\",style:{...style,position:\"relative\",overflow:\"hidden\",pointerEvents:\"none\"}});}const HEIGHT=12;async function run(host,o){const url=THREE_CDN// runtime import: the bundler never sees three, the browser fetches it once and caches it\n;const T=await import(/* @vite-ignore */url);const renderer=new T.WebGLRenderer({alpha:true,antialias:true,powerPreference:\"low-power\"});renderer.setPixelRatio(Math.min(window.devicePixelRatio||1,1.5));const scene=new T.Scene;const camera=new T.PerspectiveCamera(34,1,.1,80);const geo=new T.BufferGeometry;geo.setAttribute(\"position\",new T.Float32BufferAttribute(vertebraEdges(),3));const mat=new T.LineBasicMaterial({color:o.lineColor,transparent:true,opacity:o.opacity});const accent=new T.LineBasicMaterial({color:o.accentColor,transparent:true,opacity:Math.min(1,o.opacity*2.4)});const spine=new T.Group;const bones=spinePlacements(24,HEIGHT);const worst=bones.reduce((b,v,i)=>v.drift>bones[b].drift?i:b,0);const parts=bones.map((v,i)=>{const m=new T.LineSegments(geo,i===worst?accent:mat);m.position.set(v.drift,v.y,v.z);m.rotation.y=v.rotY;m.scale.setScalar(v.scale);spine.add(m);return m;});const plumb=new T.Line(new T.BufferGeometry().setFromPoints([new T.Vector3(0,-.8,0),new T.Vector3(0,HEIGHT+.8,0)]),new T.LineBasicMaterial({color:o.lineColor,transparent:true,opacity:o.opacity*.45}));spine.add(plumb);spine.position.x=o.offsetX;scene.add(spine);const canvas=renderer.domElement;canvas.style.cssText=\"position:absolute;inset:0;width:100%;height:100%;display:block\";host.appendChild(canvas);// Landscape: the spine fills the hero height, centred (the gap between copy and photo). Portrait (stacked columns, a hero\n// taller than wide): it keeps the width's scale instead of stretching, and sits top-right behind the headline.\nconst view={dist:21,cx:o.offsetX,cy:HEIGHT/2};const size=()=>{const w=host.clientWidth||1,h=host.clientHeight||1,a=w/h;renderer.setSize(w,h,false);camera.aspect=a;camera.updateProjectionMatrix();if(a>=1){view.dist=21;view.cx=o.offsetX;view.cy=HEIGHT/2;return;}view.dist=21*h/Math.min(h,w*1.5);const halfH=view.dist*Math.tan(camera.fov/2*Math.PI/180),halfW=halfH*a;view.cx=o.offsetX-.44*halfW// spine at ~72% of the width\n;view.cy=HEIGHT+.8-halfH+.3// plumb-line top just under the hero top\n;};size();const ro=new ResizeObserver(size);ro.observe(host);let tx=0,ty=0,px=0,py=0,sy=0;const onMove=e=>{tx=(e.clientX/window.innerWidth-.5)*2;ty=(e.clientY/window.innerHeight-.5)*2;};const onScroll=()=>{sy=window.scrollY||0;};window.addEventListener(\"pointermove\",onMove,{passive:true});window.addEventListener(\"scroll\",onScroll,{passive:true});const t0=performance.now();const frame=now=>{const t=(now-t0)/1e3,a=realign(t);for(let i=0;i<parts.length;i++){const v=bones[i],rest=1-a;parts[i].position.x=v.drift*rest+Math.sin(t*.6+i*.35)*.03// the bow leaves; a breath of sway stays\n;parts[i].rotation.y=v.rotY*rest;}px+=(tx-px)*.04;py+=(ty-py)*.04;spine.rotation.y=-.5+t*.05*o.speed+px*.3*o.tilt// three-quarter view so the processes read as a spine\n;spine.position.y=-sy*.004// the spine sinks slower than the page scrolls: the parallax layer\n;camera.position.set(view.cx+px*1.5*o.tilt,view.cy+py*1.2*o.tilt,view.dist);camera.lookAt(view.cx,view.cy,0);renderer.render(scene,camera);};const io=new IntersectionObserver(([en])=>renderer.setAnimationLoop(en.isIntersecting?frame:null))// off screen = no work\n;io.observe(host);return()=>{renderer.setAnimationLoop(null);io.disconnect();ro.disconnect();window.removeEventListener(\"pointermove\",onMove);window.removeEventListener(\"scroll\",onScroll);geo.dispose();plumb.geometry.dispose();mat.dispose();accent.dispose();renderer.dispose();canvas.remove();};}Scene.defaultProps={lineColor:\"#14130F\",accentColor:\"#E0533D\",opacity:.26,speed:1,tilt:1,offsetX:0};addPropertyControls(Scene,{lineColor:{type:ControlType.Color,title:\"Lines\"},accentColor:{type:ControlType.Color,title:\"Accent\",description:\"The most displaced vertebra\"},opacity:{type:ControlType.Number,title:\"Opacity\",min:.05,max:1,step:.01},speed:{type:ControlType.Number,title:\"Drift\",min:0,max:3,step:.1},tilt:{type:ControlType.Number,title:\"Pointer tilt\",min:0,max:2,step:.1},offsetX:{type:ControlType.Number,title:\"Offset X\",min:-8,max:8,step:.5,description:\"Slide the spine left (-) or right (+)\"}});// Geometry for the hero scene: one vertebra as line segments, a 24-piece spine on the sagittal S-curve, and the\n// realign easing (the spine starts bowed sideways and straightens onto the plumb line, the clinic's whole promise).\n// Pure (no three.js) so it is testable here and inlined into Scene.tsx by build.mjs.\nfunction vertebraEdges(r=1,h=.34){const ring=y=>Array.from({length:8},(_,i)=>{const a=i/8*Math.PI*2;return[Math.cos(a)*r,y,Math.sin(a)*r*.85];});const top=ring(0),bot=ring(-h),pairs=[];for(let i=0;i<8;i++){pairs.push([top[i],top[(i+1)%8]],[bot[i],bot[(i+1)%8]],[top[i],bot[i]]);}const back=[0,-h*.4,-r*.85],tip=[0,-h*1.2,-r*2.1]// spinous process: two legs from the arch to the tip\n;pairs.push([[-r*.45,-h*.4,-r*.7],back],[back,tip]);for(const s of[-1,1])pairs.push([[s*r*.9,-h*.5,-r*.3],[s*r*1.8,-h*.6,-r*.7]])// transverse processes\n;return pairs.flat(2);}// Bottom = lumbar (wide, forward), middle = thoracic (back), top = cervical (narrow, forward). drift is the sideways bow\n// that realign() removes; the middle vertebra carries the most, like the mark in the nav.\nfunction spinePlacements(n=24,height=12){return Array.from({length:n},(_,i)=>{const u=i/(n-1),drift=Math.sin(Math.PI*u);return{y:u*height,z:.7*Math.cos(2*Math.PI*u),scale:1-.45*u,drift,rotY:drift*.35};});}function realign(t,dur=3.2){const u=Math.min(Math.max(t/dur,0),1);return u*u*(3-2*u)// smoothstep: slow start, slow settle\n;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Scene\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Scene.map"],"mappings":"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"}