{"version":3,"file":"TestimonialsCarousel.B3aLIBWo.mjs","names":["useRef","useState","_Fragment","c","useRef","useState","useCallback","startTransition","useState","useRef","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/nenVlkP4ieGwfPfZBX6b/IScloMmModf4ekFMdm8C/DataEngineeringFlow.js","https:/framerusercontent.com/modules/MqimbL44pCaIZSSbyHN5/sVzZgRetlqYj7oQmhVNg/ProvideCarousel.js","https:/framerusercontent.com/modules/bgv6LQFvDrY5sJ1mLwCy/Eqmj3Oofsh9XRK4kiJai/TestimonialsCarousel.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion}from\"framer-motion\";import{useEffect,useRef,useState}from\"react\";// ---------------------------------------------------------------------------\n// DataEngineeringFlow v5\n// - Tous les objets convergent vers UN point unique : le centre exact du\n//   chip central (933.61, 275.63), via une extension de trajectoire\n//   invisible (entièrement sous le chip), puis s'y estompent.\n// - Courant électrique des branches : déclenché à \"Départ courant\" (3,2 s\n//   par défaut, quand les premiers objets touchent le chip central).\n// - Chips : hauteur fixe réglable (40 px), padding horizontal réglable,\n//   contrôles documentés et regroupés.\n// ---------------------------------------------------------------------------\nconst SCENE_W=1868;const SCENE_H=477;const BLUE=\"#0A80F6\";const LIGHT_BLUE=\"#B6D9FC\";const CHIP_BG=\"#021A31\";const CHIP_STROKE_A=\"#95CAFF\";const CHIP_STROKE_B=\"#0A80F6\";// Point de convergence de tous les objets = centre du chip central + glow\nconst CENTER={x:933.61,y:275.63};// Boucle globale (extraite du Lottie : 394.2 frames @ 60fps)\nconst CYCLE=6.57;// Easing \"Smooth\" (ease-in-out symétrique)\nconst SMOOTH=[.45,0,.55,1];// Lignes de gauche : paths locaux + offset scène (dérivés de l'export SVG).\n// `ext` prolonge la trajectoire des OBJETS (pas la ligne dessinée) jusqu'au\n// centre du chip, en coordonnées locales. s = départ, d = durée (Lottie).\nconst LEFT_LINES=[{id:\"L1\",dx:.08,dy:83.1013,w:941,h:197,gx1:0,gx2:940.93,d:\"M0 0.519389H91.2329C116.384 0.0262387 176.647 6.23994 216.493 35.0399C256.34 63.8399 300.467 108.202 318.082 126.273C338.61 147.331 404.384 189.878 444.329 192.355C495.222 195.511 551.342 196.3 573.041 196.3H940.931\",ext:\"L933.53 192.53\",objects:[{t:\"diamond\",f:\"#FFFFFF\",s:0,d:3.73},{t:\"circle\",f:\"#FFFFFF\",s:2,d:4.57},{t:\"tri\",f:LIGHT_BLUE,s:.84,d:3.43}]},{id:\"L2\",dx:.0498,dy:119.5763,w:985,h:161,gx1:.03,gx2:990.77,d:\"M0.0302734 54.2907C42.77 51.6606 153.203 40.1866 253.017 15.3318C352.83 -9.52297 425.684 3.18594 450.77 8.42772C483.811 15.3318 550.288 51.4304 575.537 69.5784C607.099 92.2633 713.115 156.876 830.989 159.332C925.674 161.304 970.058 159.332 984.359 159.332\",ext:\"L933.56 156.05\",objects:[{t:\"diamond\",f:BLUE,s:0,d:5.34},{t:\"quadA\",f:\"#FFFFFF\",s:1.16,d:3.79},{t:\"circle\",f:BLUE,s:3.43,d:3.14},{t:\"tri\",f:\"#FFFFFF\",s:.41,d:4.93}]},{id:\"L3\",dx:.0601,dy:275.306,w:952,h:102,gx1:.02,gx2:951.31,d:\"M0.0200195 0.644026C36.6776 -0.835426 126.562 7.94266 192.842 54.8906C223.253 73.1372 305.773 107.658 392.568 99.7673C479.362 91.8769 561.554 59.6577 591.801 44.5344C614.486 30.8906 673.269 3.70156 726.924 4.09608C780.579 4.4906 898.869 4.26046 951.308 4.09608\",ext:\"L933.55 0.32\",objects:[{t:\"quadA\",f:\"#FFFFFF\",s:0,d:6.57},{t:\"quadB\",f:BLUE,s:1.87,d:4.02},{t:\"square\",f:LIGHT_BLUE,s:.72,d:3.55}]},{id:\"L4\",dx:0,dy:214.609,w:992,h:162,gx1:.08,gx2:991.31,d:\"M0.0800781 158.985C33.9431 164.574 122.184 161.352 204.244 103.752C286.305 46.1518 326.217 25.834 335.916 22.8751C362.546 8.90253 436.913 -12.9276 521.34 11.5327C626.875 42.108 614.053 53.9436 713.669 64.2998H991.313\",ext:\"L933.61 61.02\",objects:[{t:\"diamond\",f:LIGHT_BLUE,s:0,d:4.02},{t:\"diamond\",f:BLUE,s:2,d:3.6},{t:\"tri\",f:LIGHT_BLUE,s:0,d:3.43},{t:\"circle\",f:BLUE,s:1.38,d:3.58}]},{id:\"L5\",dx:.0479,dy:278.415,w:835,h:189,gx1:.03,gx2:834.94,d:\"M0.0322266 187.397C37.6761 189.863 127.265 187.397 184.471 157.808C241.676 128.219 263.735 116.167 267.32 113.425C302.212 86.7341 386.564 29.0958 447.32 15.2876C523.265 -1.97265 799.43 0.986254 834.936 0.493103\",ext:\"L933.56 -2.79\",objects:[{t:\"circle\",f:\"#FFFFFF\",s:0,d:4.95},{t:\"circle\",f:BLUE,s:.72,d:5.85},{t:\"diamond\",f:\"#FFFFFF\",s:0,d:3.8},{t:\"circle\",f:\"#FFFFFF\",s:0,d:3.14}]}];// Branches de droite (paths locaux + offsets scène)\nconst R1={dx:1100.06,dy:42.4163,d:\"M711.863 0.739731H454.384C443.124 0.739731 432.717 6.73821 427.073 16.4813L398.461 65.8749C392.817 75.618 382.41 81.6164 371.151 81.6164H249.057C238.701 81.6164 229.003 86.6976 223.108 95.2129L188.673 144.952C182.778 153.467 173.08 158.548 162.723 158.548H123.717C113.958 158.548 104.748 163.062 98.77 170.776L56.5725 225.224C50.5945 232.938 41.3846 237.452 31.6257 237.452H0.739755\"};const R2={dx:1146.41,dy:150.909,sub1:\"M0.739825 128.959H146.094C156.121 128.959 165.552 124.194 171.501 116.123L196.923 81.6305C202.872 73.559 212.302 68.7945 222.329 68.7945H278.877\",sub2:\"M667.973 0.739716H436.339C424.45 0.739716 413.57 7.42071 408.192 18.0236L391.206 51.5106C385.827 62.1135 374.947 68.7945 363.058 68.7945H318.822H278.877\",sub3:\"M278.877 68.7945H331.438C343.098 68.7945 353.809 75.2241 359.292 85.5155L373.53 112.238C379.013 122.529 389.724 128.959 401.385 128.959H667.973\",full:\"\"};R2.full=`${R2.sub1}${R2.sub2}${R2.sub3}`;const R3={dx:1148.38,dy:279.128,d:\"M0.739744 0.739716H74.7162C86.0244 0.739716 96.4685 6.78961 102.095 16.599L119.54 47.0174C125.166 56.8268 135.611 62.8767 146.919 62.8767H215.204C225.99 62.8767 236.029 68.3847 241.824 77.4819L269.08 120.272C274.875 129.369 284.914 134.877 295.7 134.877H666.493\"};// Connecteur horizontal sous le chip central (gauche -> droite)\nconst CONNECTOR=\"M828.079 279.868L1149.61 279.868\";// Chips : positions par CENTRE (calculées depuis l'export global)\nconst CHIP_CENTERS={central:{cx:CENTER.x,cy:CENTER.y},dashboards:{cx:1343.74,cy:127.74},genai:{cx:1542.2,cy:42.46},agents:{cx:1359.74,cy:219.74},dashboardTop:{cx:1805.03,cy:148.56},businessIntelligence:{cx:1570.26,cy:274.79},mlops:{cx:1423.56,cy:412.87},models:{cx:1615.42,cy:412.87}};const SHAPE_SIZE={diamond:[28,28],circle:[20,20],tri:[18,15],quadA:[16,17],quadB:[16,18],square:[20,20]};// ---------------------------------------------------------------------------\n// Sous-composants\n// ---------------------------------------------------------------------------\nfunction ShapeSVG({t,f}){switch(t){case\"diamond\":return /*#__PURE__*/_jsx(\"svg\",{width:\"28\",height:\"28\",viewBox:\"0 0 28 28\",fill:\"none\",children:/*#__PURE__*/_jsx(\"rect\",{x:\"12.8682\",width:\"19.726\",height:\"19.726\",transform:\"rotate(40.7191 12.8682 0)\",fill:f})});case\"circle\":return /*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",fill:\"none\",children:/*#__PURE__*/_jsx(\"circle\",{cx:\"9.86301\",cy:\"9.86301\",r:\"9.86301\",fill:f})});case\"tri\":return /*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"15\",viewBox:\"0 0 18 15\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M8.54173 0L17.0833 14.7945H0.000103951L8.54173 0Z\",fill:f})});case\"quadA\":return /*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"17\",viewBox:\"0 0 16 17\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M15.5951 0L13.8368 16.9925L0 6.9735L15.5951 0Z\",fill:f})});case\"quadB\":return /*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"18\",viewBox:\"0 0 16 18\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M15.0234 0L14.5543 17.0768L0 8.13218L15.0234 0Z\",fill:f})});case\"square\":return /*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",fill:\"none\",children:/*#__PURE__*/_jsx(\"rect\",{width:\"19.726\",height:\"19.726\",fill:f})});default:return null;}}/**\n * Objet qui suit sa ligne via CSS offset-path, prolongée jusqu'au centre\n * exact du chip central. Il s'estompe sur les derniers % du trajet\n * (déjà sous le chip), donc il disparaît pile au centre, indécelable.\n */function FlowObject(props){const{pathD,t,f,start,dur,cycle,isStatic,staticOffset}=props;const[w,h]=SHAPE_SIZE[t];const outerStyle={position:\"absolute\",top:0,left:0,width:w,height:h,offsetPath:`path(\"${pathD}\")`,offsetRotate:\"0deg\",willChange:\"transform\"};if(isStatic){return /*#__PURE__*/_jsx(\"div\",{style:{...outerStyle,offsetDistance:`${staticOffset}%`},children:/*#__PURE__*/_jsx(\"div\",{style:{transform:\"rotate(45deg)\"},children:/*#__PURE__*/_jsx(ShapeSVG,{t:t,f:f})})});}const hold=Math.max(.01,cycle-dur);return /*#__PURE__*/_jsx(motion.div,{style:outerStyle,initial:{offsetDistance:\"0%\",opacity:0},animate:{offsetDistance:[\"0%\",\"100%\"],opacity:[0,1,1,0]},transition:{offsetDistance:{duration:dur,delay:start,repeat:Infinity,repeatDelay:hold,ease:SMOOTH},opacity:{duration:dur,delay:start,repeat:Infinity,repeatDelay:hold,times:[0,.08,.93,1],ease:\"linear\"}},children:/*#__PURE__*/_jsx(motion.div,{initial:{rotate:0},animate:{rotate:[0,180]},transition:{duration:cycle,repeat:Infinity,ease:SMOOTH},children:/*#__PURE__*/_jsx(ShapeSVG,{t:t,f:f})})});}/**\n * Remplissage progressif d'une branche, type courant électrique :\n * le trait blanc se révèle de l'origine vers l'extrémité (unmasking),\n * reste allumé, puis s'estompe avant la boucle suivante.\n * `fromEnd` inverse l'origine (paths dessinés à l'envers).\n */function Reveal(props){const{d,fromEnd,fillStart,fillDur,fadeStart,fadeDur,cycle,width}=props;const T=cycle;const t1=Math.min(.97,fillStart/T);const t2=Math.min(.98,(fillStart+fillDur)/T);const f1=Math.max(t2+.005,Math.min(.99,fadeStart/T));const f2=Math.min(1,Math.max(f1+.005,(fadeStart+fadeDur)/T));const lenKf=[.001,.001,1,1];const lenTimes=[0,t1,t2,1];const lenEase=[\"linear\",\"easeInOut\",\"linear\"];return /*#__PURE__*/_jsx(motion.path,{d:d,fill:\"none\",stroke:\"#FFFFFF\",strokeWidth:width??1.8,strokeLinecap:\"round\",style:{pathSpacing:1,filter:\"drop-shadow(0 0 4px rgba(182,217,252,0.9))\"},initial:{pathLength:.001,pathOffset:fromEnd?.999:0,opacity:0},animate:{pathLength:lenKf,pathOffset:fromEnd?[.999,.999,0,0]:0,opacity:[0,.95,.95,0,0]},transition:{pathLength:{duration:T,times:lenTimes,ease:lenEase,repeat:Infinity},pathOffset:{duration:T,times:lenTimes,ease:lenEase,repeat:Infinity},opacity:{duration:T,times:[0,t1+(t2-t1)*.2,f1,f2,1],ease:[\"linear\",\"linear\",\"easeInOut\",\"linear\"],repeat:Infinity}}});}/**\n * Chip pill centré sur (cx, cy). Hauteur FIXE (box-border, stroke 1.8\n * comprise), texte centré verticalement, padding horizontal réglable.\n * Radius 32, fill #021A31, stroke #95CAFF -> #0A80F6, majuscules forcées.\n */function Chip(props){const{cx,cy,label,font,zoom,height,paddingX,minWidth}=props;const style={position:\"absolute\",left:cx,top:cy,transform:`translate(-50%, -50%) scale(${zoom})`,boxSizing:\"border-box\",height,minWidth:minWidth?minWidth:undefined,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",whiteSpace:\"nowrap\",padding:`0 ${Math.max(0,paddingX-1.8)}px`,borderRadius:32,border:\"1.8px solid transparent\",background:`linear-gradient(${CHIP_BG}, ${CHIP_BG}) padding-box, linear-gradient(90deg, ${CHIP_STROKE_A}, ${CHIP_STROKE_B}) border-box`,color:LIGHT_BLUE,fontFamily:'\"Manrope\", \"Manrope Variable\", sans-serif',fontSize:16,lineHeight:\"22px\",fontWeight:500,textTransform:\"capitalize\",...font};return /*#__PURE__*/_jsx(\"div\",{style:style,children:label});}/**\n * @framerIntrinsicWidth 1440\n * @framerIntrinsicHeight 477\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function DataEngineeringFlow(props){const{animation={},chips:chipConf={},texts={},responsive={},background=\"rgba(0,0,0,0)\",font={},style}=props;const{speed=1,currentStart=3.2}=animation;const{height:chipHeight=40,paddingX=18,centralMinWidth=240}=chipConf;const{central=\"Data Engineering\",dashboards=\"Dashboards\",genai=\"GenAI\",agents=\"Agents\",dashboard=\"Dashboard\",bi=\"Business Intelligence\",mlops=\"MLOps\",models=\"Models\"}=texts;const{visibleWidth=1200,focusX=934,mobileZoom=1.7}=responsive;// Statique sur le canvas Framer et pendant les exports, animé ailleurs\nconst isStatic=useIsStaticRenderer();const s=speed>0?speed:1;const cycle=CYCLE/s;// Départ du courant électrique (borné pour laisser le temps du fondu)\nconst cs=Math.min(Math.max(currentStart,0),4.6);const rootRef=useRef(null);const[containerW,setContainerW]=useState(0);const[pathsSupported,setPathsSupported]=useState(true);useEffect(()=>{if(typeof CSS!==\"undefined\"&&CSS.supports){setPathsSupported(CSS.supports(\"offset-path\",'path(\"M0 0 L10 10\")'));}const el=rootRef.current;if(!el)return;const ro=new ResizeObserver(entries=>{for(const e of entries)setContainerW(e.contentRect.width);});ro.observe(el);return()=>ro.disconnect();},[]);const minVisible=Math.min(Math.max(visibleWidth,400),SCENE_W);const scale=containerW>0?Math.min(1,containerW/minVisible):1;// Zoom progressif des chips quand la scène réduit (lisibilité mobile)\nconst chipZoom=scale>=1?1:Math.min(mobileZoom,Math.sqrt(1/scale));// Décalage horizontal pour centrer le crop sur focusX\nconst shiftX=(SCENE_W/2-focusX)*scale;// Fondu du courant : calé en fin de boucle\nconst fadeStart=CYCLE-.75;const fadeDur=.7;// Pic du glow central aligné sur le départ du courant\nconst glowPeak=Math.min(.9,Math.max(.1,(cs+.2)/CYCLE));const chipsList=[{key:\"central\",label:central,minWidth:centralMinWidth},{key:\"dashboards\",label:dashboards},{key:\"genai\",label:genai},{key:\"agents\",label:agents},{key:\"dashboardTop\",label:dashboard},{key:\"businessIntelligence\",label:bi},{key:\"mlops\",label:mlops},{key:\"models\",label:models}];return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",background,...style},children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:\"50%\",top:\"50%\",width:SCENE_W,height:SCENE_H,transform:`translate(calc(-50% + ${shiftX}px), -50%) scale(${scale})`},children:[/*#__PURE__*/_jsxs(\"svg\",{width:SCENE_W,height:SCENE_H,viewBox:`0 0 ${SCENE_W} ${SCENE_H}`,fill:\"none\",style:{position:\"absolute\",inset:0},children:[/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsx(\"filter\",{id:\"dfGlowBlur\",x:\"-120%\",y:\"-300%\",width:\"340%\",height:\"700%\",colorInterpolationFilters:\"sRGB\",children:/*#__PURE__*/_jsx(\"feGaussianBlur\",{stdDeviation:\"28.0523\"})}),LEFT_LINES.map(l=>/*#__PURE__*/_jsxs(\"linearGradient\",{id:`dfG${l.id}`,x1:l.gx1,y1:\"0\",x2:l.gx2,y2:\"0\",gradientUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"stop\",{stopColor:BLUE}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:\"#FFFFFF\"})]},l.id)),/*#__PURE__*/_jsxs(\"linearGradient\",{id:\"dfGR1\",x1:\"714.822\",y1:\"0\",x2:\"47.0966\",y2:\"0\",gradientUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"stop\",{stopColor:BLUE}),/*#__PURE__*/_jsx(\"stop\",{offset:\"0.320395\",stopColor:BLUE}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:\"#FFFFFF\"})]}),/*#__PURE__*/_jsxs(\"linearGradient\",{id:\"dfGR2\",x1:\"668.466\",y1:\"0\",x2:\"0.7398\",y2:\"0\",gradientUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"stop\",{stopColor:BLUE,stopOpacity:\"0\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"0.320395\",stopColor:BLUE}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:\"#FFFFFF\"})]}),/*#__PURE__*/_jsxs(\"linearGradient\",{id:\"dfGR3\",x1:\"666.493\",y1:\"0\",x2:\"0.7396\",y2:\"0\",gradientUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"stop\",{stopColor:BLUE,stopOpacity:\"0\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"0.279589\",stopColor:BLUE}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:\"#FFFFFF\"})]}),/*#__PURE__*/_jsxs(\"linearGradient\",{id:\"dfGConn\",x1:\"750.999\",y1:\"279.868\",x2:\"1145.47\",y2:\"279.868\",gradientUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"stop\",{stopColor:\"#FFFFFF\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"0.485577\",stopColor:BLUE}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:\"#FFFFFF\"})]})]}),/*#__PURE__*/_jsx(\"g\",{filter:\"url(#dfGlowBlur)\",children:isStatic?/*#__PURE__*/_jsx(\"ellipse\",{cx:CENTER.x,cy:\"275.923\",rx:\"100.11\",ry:\"29.589\",fill:BLUE,opacity:.4}):/*#__PURE__*/_jsx(motion.ellipse,{cx:CENTER.x,cy:\"275.923\",rx:\"100.11\",ry:\"29.589\",fill:BLUE,initial:{opacity:.35},animate:{opacity:[.35,.38,.6,.35]},transition:{duration:cycle,times:[0,Math.max(.01,glowPeak-.12),glowPeak,1],repeat:Infinity,ease:\"easeInOut\"}})}),LEFT_LINES.map(l=>/*#__PURE__*/_jsx(\"g\",{transform:`translate(${l.dx} ${l.dy})`,children:/*#__PURE__*/_jsx(\"path\",{d:l.d,stroke:`url(#dfG${l.id})`,strokeWidth:\"0.986301\",strokeDasharray:\"4.93 4.93\"})},l.id)),/*#__PURE__*/_jsx(\"path\",{d:CONNECTOR,stroke:\"url(#dfGConn)\",strokeWidth:\"1.72603\",strokeLinecap:\"round\"}),/*#__PURE__*/_jsxs(\"g\",{transform:`translate(${R1.dx} ${R1.dy})`,children:[/*#__PURE__*/_jsx(\"path\",{d:R1.d,stroke:\"url(#dfGR1)\",strokeWidth:\"1.47945\",strokeLinecap:\"round\"}),!isStatic&&/*#__PURE__*/_jsx(Reveal,{d:R1.d,fromEnd:true,fillStart:(cs+.3)/s,fillDur:1.5/s,fadeStart:fadeStart/s,fadeDur:fadeDur/s,cycle:cycle})]}),/*#__PURE__*/_jsxs(\"g\",{transform:`translate(${R2.dx} ${R2.dy})`,children:[/*#__PURE__*/_jsx(\"path\",{d:R2.full,stroke:\"url(#dfGR2)\",strokeWidth:\"1.47945\",strokeLinecap:\"round\"}),!isStatic&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Reveal,{d:R2.sub1,fillStart:(cs+.3)/s,fillDur:.85/s,fadeStart:fadeStart/s,fadeDur:fadeDur/s,cycle:cycle}),/*#__PURE__*/_jsx(Reveal,{d:R2.sub2,fromEnd:true,fillStart:(cs+1.15)/s,fillDur:1/s,fadeStart:fadeStart/s,fadeDur:fadeDur/s,cycle:cycle}),/*#__PURE__*/_jsx(Reveal,{d:R2.sub3,fillStart:(cs+1.15)/s,fillDur:1/s,fadeStart:fadeStart/s,fadeDur:fadeDur/s,cycle:cycle})]})]}),/*#__PURE__*/_jsxs(\"g\",{transform:`translate(${R3.dx} ${R3.dy})`,children:[/*#__PURE__*/_jsx(\"path\",{d:R3.d,stroke:\"url(#dfGR3)\",strokeWidth:\"1.47945\",strokeLinecap:\"round\"}),!isStatic&&/*#__PURE__*/_jsx(Reveal,{d:R3.d,fillStart:(cs+.45)/s,fillDur:1.5/s,fadeStart:fadeStart/s,fadeDur:fadeDur/s,cycle:cycle})]}),!isStatic&&/*#__PURE__*/_jsx(Reveal,{d:CONNECTOR,fillStart:cs/s,fillDur:.45/s,fadeStart:fadeStart/s,fadeDur:fadeDur/s,cycle:cycle,width:1.9})]}),pathsSupported&&LEFT_LINES.map(l=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:l.dx,top:l.dy,width:l.w,height:l.h,pointerEvents:\"none\"},children:l.objects.map((o,i)=>/*#__PURE__*/_jsx(FlowObject,{pathD:l.d+l.ext,t:o.t,f:o.f,start:o.s/s,dur:o.d/s,cycle:cycle,isStatic:isStatic,staticOffset:12+i*70/l.objects.length},i))},l.id)),chipsList.map(c=>/*#__PURE__*/_jsx(Chip,{cx:CHIP_CENTERS[c.key].cx,cy:CHIP_CENTERS[c.key].cy,label:c.label,font:font,zoom:chipZoom,height:chipHeight,paddingX:paddingX,minWidth:c.minWidth},c.key))]})});}addPropertyControls(DataEngineeringFlow,{animation:{type:ControlType.Object,title:\"Animation\",description:\"Rythme global de la boucle (6,57 s par d\\xe9faut).\",controls:{speed:{type:ControlType.Number,title:\"Vitesse\",min:.2,max:3,step:.1,defaultValue:1,description:\"Multiplicateur global : 1 = boucle de 6,57 s, 2 = deux fois plus rapide.\"},currentStart:{type:ControlType.Number,title:\"D\\xe9part courant\",min:0,max:4.6,step:.1,defaultValue:3.2,description:\"Seconde de la boucle o\\xf9 le courant \\xe9lectrique part du chip central vers les branches (3,2 s = arriv\\xe9e des premiers objets).\"}}},chips:{type:ControlType.Object,title:\"Chips\",description:\"Dimensions des pills (texte Manrope 16px).\",controls:{height:{type:ControlType.Number,title:\"Hauteur\",min:30,max:60,step:1,defaultValue:40,description:\"Hauteur totale du chip en px, stroke comprise. Le texte est centr\\xe9 verticalement.\"},paddingX:{type:ControlType.Number,title:\"Padding G/D\",min:8,max:32,step:1,defaultValue:18,description:\"Espace entre le texte et le bord gauche/droit du chip, stroke comprise.\"},centralMinWidth:{type:ControlType.Number,title:\"Largeur min centrale\",min:160,max:340,step:10,defaultValue:240,description:\"Largeur minimum du chip central : elle garantit que les objets disparaissent dessous (240 recommand\\xe9, ne pas descendre sous 230).\"}}},texts:{type:ControlType.Object,title:\"Textes\",description:\"Libell\\xe9s des 8 chips, \\xe9ditables librement (majuscule initiale forc\\xe9e).\",controls:{central:{type:ControlType.String,title:\"Central\",defaultValue:\"Data Engineering\",description:\"Chip central (le m\\xe9tier du client).\"},dashboards:{type:ControlType.String,title:\"Branche haute 1\",defaultValue:\"Dashboards\",description:\"Premier chip de la branche du haut.\"},genai:{type:ControlType.String,title:\"Branche haute 2\",defaultValue:\"GenAI\",description:\"Chip en bout de branche du haut.\"},agents:{type:ControlType.String,title:\"Branche milieu 1\",defaultValue:\"Agents\",description:\"Chip au d\\xe9part de la fourche du milieu.\"},dashboard:{type:ControlType.String,title:\"Branche milieu 2\",defaultValue:\"Dashboard\",description:\"Chip en haut \\xe0 droite de la fourche.\"},bi:{type:ControlType.String,title:\"Branche milieu 3\",defaultValue:\"Business Intelligence\",description:\"Chip au retour de la fourche du milieu.\"},mlops:{type:ControlType.String,title:\"Branche basse 1\",defaultValue:\"MLOps\",description:\"Premier chip de la branche du bas.\"},models:{type:ControlType.String,title:\"Branche basse 2\",defaultValue:\"Models\",description:\"Chip en bout de branche du bas.\"}}},responsive:{type:ControlType.Object,title:\"Responsive\",description:\"Comportement du crop et du mobile.\",controls:{visibleWidth:{type:ControlType.Number,title:\"Largeur visible\",min:600,max:1868,step:20,defaultValue:1200,description:\"Largeur de design (px) toujours visible. Si la frame est plus \\xe9troite, toute la sc\\xe8ne est r\\xe9duite proportionnellement (mobile).\"},focusX:{type:ControlType.Number,title:\"Focus X\",min:0,max:1868,step:10,defaultValue:934,description:\"Point horizontal de la sc\\xe8ne gard\\xe9 au centre du crop. 934 = chip central. Augmenter pour montrer davantage les branches de droite.\"},mobileZoom:{type:ControlType.Number,title:\"Zoom chips mobile\",min:1,max:2.2,step:.1,defaultValue:1.7,description:\"Grossissement maximum des chips quand la sc\\xe8ne est r\\xe9duite, pour garder les textes lisibles en mobile.\"}}},background:{type:ControlType.Color,title:\"Fond\",defaultValue:\"rgba(0,0,0,0)\",description:\"Couleur de fond du composant. Transparent par d\\xe9faut pour poser l'illustration sur la section bleue du site.\"},font:{type:ControlType.Font,title:\"Police\",controls:\"extended\",displayFontSize:true,displayTextAlignment:false,defaultFontType:\"sans-serif\",description:\"Police des chips. Choisir Manrope (charg\\xe9e par le site) ; 16px conseill\\xe9.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DataEngineeringFlow\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicWidth\":\"1440\",\"framerIntrinsicHeight\":\"477\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DataEngineeringFlow.map","// Astrafy — \"What we provide\" interactive carousel / accordion.\n// Brief (Dafolle): build a Framer code component integrated via the Framer MCP.\n// Left column = title (\"What we provide\", \"provide\" highlighted) + description + CTA button\n//   + a 3D pyramid that BUILDS layer by layer following the active item\n//   (item 1 -> base, item 2 -> base+middle, item 3 -> full pyramid).\n// Right column = accordion of items (Data Strategy / Operations / Activation), each with an\n//   icon; the active one expands to show a description + a list of links with arrows, and a\n//   left accent bar that doubles as an autoplay progress indicator.\n// Responsive: on mobile the heading block sits on top, then the items, then the pyramid.\n// Requirements: every spacing (padding / gap / margin), every font and every color must be\n//   exposed as a clearly-labelled, logically-ordered property control with a description.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useRef,useCallback,startTransition}from\"react\";import{motion,AnimatePresence,useInView,useMotionValue,useTransform,animate}from\"framer-motion\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/* -------------------------------------------------------------------------- *//*  Icons (stroke = currentColor so they recolor with the active state)       *//* -------------------------------------------------------------------------- */function Icon({name,size}){if(name===\"none\")return null;const common={width:size,height:size,viewBox:\"0 0 33 33\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{display:\"block\",flexShrink:0},\"aria-hidden\":true};const stroke={stroke:\"currentColor\",strokeWidth:2.0625,strokeLinecap:\"round\",strokeLinejoin:\"round\"};if(name===\"nano\"){const s={stroke:\"currentColor\",strokeWidth:1.73609,strokeLinejoin:\"round\"};return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M6.87549 21.9991L13.7504 17.8741M19.2503 15.1242L26.1252 10.9992M16.5004 6.87427V13.7492M16.5004 19.2491V26.124M6.87549 10.9992L13.7504 15.1242M19.2503 17.8741L26.1252 21.9991\",...s}),/*#__PURE__*/_jsx(\"path\",{d:\"M28.1877 12.3735V19.9358M18.5628 28.1857L26.1252 24.0608M6.18797 24.0608L14.4379 28.1857M4.81299 20.6233V12.3735M6.18797 8.93598L14.4379 4.81104M26.8127 8.93598L18.5628 4.81104\",...s}),/*#__PURE__*/_jsx(\"path\",{d:\"M16.4995 6.87422C17.6386 6.87422 18.562 5.95081 18.562 4.81174C18.562 3.67267 17.6386 2.74927 16.4995 2.74927C15.3604 2.74927 14.437 3.67267 14.437 4.81174C14.437 5.95081 15.3604 6.87422 16.4995 6.87422Z\",...s}),/*#__PURE__*/_jsx(\"path\",{d:\"M16.4995 30.249C17.6386 30.249 18.562 29.3256 18.562 28.1865C18.562 27.0474 17.6386 26.124 16.4995 26.124C15.3604 26.124 14.437 27.0474 14.437 28.1865C14.437 29.3256 15.3604 30.249 16.4995 30.249Z\",...s}),/*#__PURE__*/_jsx(\"path\",{d:\"M4.81296 12.3749C5.95204 12.3749 6.87544 11.4515 6.87544 10.3125C6.87544 9.1734 5.95204 8.25 4.81296 8.25C3.67389 8.25 2.75049 9.1734 2.75049 10.3125C2.75049 11.4515 3.67389 12.3749 4.81296 12.3749Z\",...s}),/*#__PURE__*/_jsx(\"path\",{d:\"M28.187 12.3749C29.3261 12.3749 30.2495 11.4515 30.2495 10.3125C30.2495 9.1734 29.3261 8.25 28.187 8.25C27.0479 8.25 26.1245 9.1734 26.1245 10.3125C26.1245 11.4515 27.0479 12.3749 28.187 12.3749Z\",...s}),/*#__PURE__*/_jsx(\"path\",{d:\"M28.187 24.7499C29.3261 24.7499 30.2495 23.8265 30.2495 22.6875C30.2495 21.5484 29.3261 20.625 28.187 20.625C27.0479 20.625 26.1245 21.5484 26.1245 22.6875C26.1245 23.8265 27.0479 24.7499 28.187 24.7499Z\",...stroke}),/*#__PURE__*/_jsx(\"path\",{d:\"M4.81296 24.7499C5.95204 24.7499 6.87544 23.8265 6.87544 22.6875C6.87544 21.5484 5.95204 20.625 4.81296 20.625C3.67389 20.625 2.75049 21.5484 2.75049 22.6875C2.75049 23.8265 3.67389 24.7499 4.81296 24.7499Z\",...stroke}),/*#__PURE__*/_jsx(\"path\",{d:\"M16.4995 13.4038L19.2494 14.9507V18.0444L16.4995 19.5912L13.7495 18.0444V14.9507L16.4995 13.4038Z\",...s})]});}if(name===\"expand\"){return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M16.5005 13.75C19.538 13.75 22.0005 12.5188 22.0005 11C22.0005 9.48122 19.538 8.25 16.5005 8.25C13.4629 8.25 11.0005 9.48122 11.0005 11C11.0005 12.5188 13.4629 13.75 16.5005 13.75Z\",...stroke}),/*#__PURE__*/_jsx(\"path\",{d:\"M22.0005 16.5C22.0005 18.0188 19.538 19.25 16.5005 19.25C13.4629 19.25 11.0005 18.0188 11.0005 16.5\",...stroke}),/*#__PURE__*/_jsx(\"path\",{d:\"M22.0005 11.0005V22.0005C22.0005 23.5193 19.538 24.7505 16.5005 24.7505C13.4629 24.7505 11.0005 23.5193 11.0005 22.0005V11.0005\",...stroke}),/*#__PURE__*/_jsx(\"path\",{d:\"M24.7505 2.75049H27.5005C28.7968 2.75049 29.445 2.75049 29.8478 3.15321C30.2505 3.55595 30.2505 4.20412 30.2505 5.50049V8.25049M29.563 3.43799L24.7505 8.25049\",...stroke}),/*#__PURE__*/_jsx(\"path\",{d:\"M8.25049 2.75049H5.50049C4.20412 2.75049 3.55595 2.75049 3.15321 3.15321C2.75049 3.55595 2.75049 4.20412 2.75049 5.50049V8.25049M3.43799 3.43799L8.25049 8.25049\",...stroke}),/*#__PURE__*/_jsx(\"path\",{d:\"M24.7505 30.25H27.5005C28.7968 30.25 29.445 30.25 29.8478 29.8473C30.2505 29.4445 30.2505 28.7963 30.2505 27.5V24.75M29.563 29.5625L24.7505 24.75\",...stroke}),/*#__PURE__*/_jsx(\"path\",{d:\"M8.25049 30.25H5.50049C4.20412 30.25 3.55595 30.25 3.15321 29.8473C2.75049 29.4445 2.75049 28.7963 2.75049 27.5V24.75M3.43799 29.5625L8.25049 24.75\",...stroke})]});}// lightning\nreturn /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M13.7505 10.9998C19.0662 10.9998 23.3755 9.15294 23.3755 6.87476C23.3755 4.59659 19.0662 2.74976 13.7505 2.74976C8.43475 2.74976 4.12549 4.59659 4.12549 6.87476C4.12549 9.15294 8.43475 10.9998 13.7505 10.9998Z\",...stroke}),/*#__PURE__*/_jsx(\"path\",{d:\"M13.7505 19.2498C8.43475 19.2498 4.12549 17.403 4.12549 15.1248\",...stroke}),/*#__PURE__*/_jsx(\"path\",{d:\"M13.7505 27.4997C8.43475 27.4997 4.12549 25.6529 4.12549 23.3747V6.87476\",...stroke}),/*#__PURE__*/_jsx(\"path\",{d:\"M24.7505 20.6249V14.6457C24.7505 14.1509 24.3494 13.7499 23.8547 13.75C23.5553 13.7501 23.2758 13.8997 23.1097 14.1489L18.0527 21.7343C17.9372 21.9077 17.8755 22.1114 17.8755 22.3197C17.8755 22.9027 18.3481 23.3751 18.9309 23.3751H22.0005V29.3543C22.0005 29.8491 22.4016 30.2501 22.8963 30.25C23.1956 30.2499 23.4752 30.1003 23.6413 29.8511L28.6983 22.2656C28.8138 22.0923 28.8755 21.8886 28.8755 21.6803C28.8755 21.0973 28.4029 20.6249 27.82 20.6249H24.7505Z\",...stroke}),/*#__PURE__*/_jsx(\"path\",{d:\"M8.25049 14.4229V14.4366\",...stroke}),/*#__PURE__*/_jsx(\"path\",{d:\"M8.25049 22.6733V22.6871\",...stroke})]});}function Arrow({size,color}){return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size*10/11,viewBox:\"0 0 11 10\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{display:\"block\",flexShrink:0},\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M5.89266 9.77093L4.9501 8.84276L8.21669 5.56178H-0.000152255V4.20909H8.21669L4.9501 0.942505L5.89266 -5.72414e-05L10.7638 4.88544L5.89266 9.77093Z\",fill:color})});}/* -------------------------------------------------------------------------- *//*  Pyramid layers (colors driven by props, unique gradient ids per instance) *//* -------------------------------------------------------------------------- */const svgStyle={display:\"block\",width:\"100%\",height:\"auto\"};function PyramidBottom({light,base,dark,uid}){const g=`pb-${uid}`;return /*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 338 209\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:svgStyle,\"aria-hidden\":true,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M278.897 49.3913C275.223 47.7266 270.96 45.8327 267.199 44.4489L156.192 0L67.8426 59.0183C59.4126 65.2772 50.5736 71.1954 42.0808 77.3581C39.0447 79.5618 33.5054 83.1089 30.972 85.3241C29.8049 86.577 28.2825 88.9424 27.2848 90.4147L21.7742 98.554C14.6083 109.026 7.31588 119.96 0 130.291C5.90802 133.051 12.7911 135.792 18.8517 138.378L57.8128 154.932L165.767 200.825C167.501 201.558 183.969 208.746 184.534 208.76C189.277 205.729 195.499 201.013 200.249 197.647L231.626 175.427L337.205 100.69C334.851 97.8765 332.209 94.2659 329.919 91.3174L314.931 71.9634C313.45 70.0445 307.429 61.9226 305.957 60.9199C297.246 56.7935 287.713 53.3849 278.897 49.3913Z\",fill:base}),/*#__PURE__*/_jsx(\"path\",{d:\"M0 130.291C7.31588 119.96 14.6083 109.026 21.7742 98.5538L27.2848 90.4146C28.2825 88.9423 29.8049 86.5769 30.972 85.324C32.4047 86.2055 35.6387 87.518 37.2571 88.2013L47.1824 92.395L85.6236 108.739L145.771 134.327L171.753 145.426C174.85 146.733 178.543 148.43 181.619 149.63C181.651 150.754 181.653 152.538 181.838 153.592L184.534 208.76C183.968 208.746 167.501 201.558 165.767 200.825L57.8128 154.932L18.8517 138.378C12.7911 135.791 5.90802 133.051 0 130.291Z\",fill:`url(#${g})`,fillOpacity:\"0.97\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M305.957 60.9197C307.429 61.9224 313.449 70.0443 314.931 71.9632L329.918 91.3172C332.208 94.2657 334.851 97.8763 337.205 100.69L231.626 175.427L200.248 197.647C195.499 201.013 189.276 205.728 184.534 208.76L181.838 153.592C181.909 152.401 181.793 150.611 181.747 149.372C186.077 146.687 191.944 142.17 196.199 139.138L224.778 118.928L277.278 81.7229L295.169 69.0551C297.452 67.4499 304.811 62.7654 305.957 60.9197Z\",fill:dark}),/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"linearGradient\",{id:g,x1:\"92.2672\",y1:\"85.324\",x2:\"92.2672\",y2:\"208.76\",gradientUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"stop\",{stopColor:light}),/*#__PURE__*/_jsx(\"stop\",{offset:\"0.466346\",stopColor:base}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:dark})]})})]});}function PyramidMiddle({light,base,dark,uid}){const g1=`pm1-${uid}`;const g2=`pm2-${uid}`;return /*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 232 152\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:svgStyle,\"aria-hidden\":true,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M155.243 18.7816C152.583 17.641 148.405 15.7028 145.76 14.8092L107.653 0L82.7161 16.2669C79.9446 17.898 75.6889 21.115 72.9526 23.0542L54.8454 35.8976L39.4007 46.8234C37.1781 48.399 33.2151 51.036 31.333 52.7135C36.3207 54.6625 41.5216 57.0069 46.4758 59.0926L81.1021 73.8212L105.27 84.1012C111.163 86.5828 117.813 89.2894 123.579 91.9839C124.083 91.2064 132.174 85.7639 133.691 84.6886L179.563 52.1755L192.377 43.1464C194.253 41.8251 198.179 39.2122 199.617 37.7457C197.44 36.5761 192.744 34.7436 190.252 33.6828L172.193 26.006L155.243 18.7816Z\",fill:`url(#${g1})`}),/*#__PURE__*/_jsx(\"path\",{d:\"M31.3337 52.7134C36.3213 54.6624 41.5222 57.0068 46.4764 59.0926L81.1027 73.8211L105.271 84.1011C111.164 86.5827 117.814 89.2893 123.58 91.9838L125.414 129.72C125.749 136.614 125.903 145.244 126.494 151.97C124.831 151.77 108.584 144.493 105.988 143.391L40.9574 115.772L22.8905 108.085C20.7222 107.161 16.8828 105.323 14.8002 104.629C14.1006 104.165 11.3126 103.11 10.3397 102.694C6.88285 101.216 3.39696 99.869 0 98.2388C3.01088 94.328 6.27332 89.1873 9.09212 85.0554L23.6879 63.7734C25.9185 60.512 28.9873 55.6586 31.3337 52.7134Z\",fill:`url(#${g2})`,fillOpacity:\"0.97\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M199.617 37.7456C201.68 39.682 207.189 47.228 209.211 49.8126L231.143 77.9849C225.605 81.9717 219.55 85.9834 214.156 90.0592C211.738 91.5431 208.474 94.1375 206.084 95.8639C201.342 99.2551 196.584 102.619 191.809 105.96L138.137 143.924C136.497 145.077 127.654 151.695 126.493 151.971C125.902 145.244 125.748 136.614 125.413 129.72L123.579 91.9838C124.083 91.2063 132.174 85.7638 133.691 84.6885L179.563 52.1755L192.377 43.1463C194.253 41.825 198.179 39.2122 199.617 37.7456Z\",fill:dark}),/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsxs(\"linearGradient\",{id:g1,x1:\"115.475\",y1:\"0\",x2:\"115.475\",y2:\"91.9839\",gradientUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"stop\",{stopColor:base}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:base})]}),/*#__PURE__*/_jsxs(\"linearGradient\",{id:g2,x1:\"70.7712\",y1:\"25.0576\",x2:\"14.7437\",y2:\"152.034\",gradientUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"stop\",{stopColor:light}),/*#__PURE__*/_jsx(\"stop\",{offset:\"0.406792\",stopColor:light}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:base})]})]})]});}function PyramidTop({light,dark}){return /*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 107 103\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:svgStyle,\"aria-hidden\":true,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M53.2667 0.407112L53.3456 0.000244141C54.1578 0.415193 94.1245 52.1458 97.433 56.4094L103.65 64.4297C104.535 65.5655 105.99 67.5517 106.935 68.5284C99.5943 73.6522 90.4928 79.7875 83.4679 85.1783C76.0677 90.5053 68.5174 95.6194 61.1307 100.967C60.2839 101.582 59.2215 102.332 58.2457 102.69C56.8234 102.541 23.1503 88.1095 20.4235 86.6361C19.0522 85.9524 16.7877 85.2053 15.2646 84.5421C10.1782 82.327 5.08062 80.259 0 78.0172C0.611838 76.3274 3.21393 72.9508 4.38949 71.2275L14.0167 57.1198C26.4619 38.8625 38.8478 20.5398 51.4421 2.38312C52.008 1.56901 52.4333 0.95563 53.2667 0.407112Z\",fill:light}),/*#__PURE__*/_jsx(\"path\",{d:\"M53.2666 0.406868L53.3455 0C54.1577 0.414949 94.1244 52.1456 97.4329 56.4092L103.649 64.4295C104.535 65.5652 105.99 67.5514 106.935 68.5282C99.5942 73.6519 90.4927 79.7872 83.4678 85.1781C76.0676 90.5051 68.5173 95.6192 61.1306 100.967C60.2838 101.581 59.2214 102.332 58.2456 102.69L53.2666 0.406868Z\",fill:dark})]});}/* -------------------------------------------------------------------------- *//*  Component                                                                  *//* -------------------------------------------------------------------------- *//**\n * Provide Carousel\n *\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 560\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function ProvideCarousel(props){const{titleText,titleHighlight,description,buttonLabel,buttonLink,items,autoplay,interval,pauseOnHover,showProgress,maxWidth,sectionPadding,columnsGap,stackBelow,stackGap,headingGap,descriptionMaxWidth,buttonMarginTop,buttonPadding,buttonRadius,pyramidMarginTop,pyramidWidth,pyramidShiftX,pyramidShiftY,middleLift,topLift,itemsMinHeight,rightColumnGap,itemPadding,itemHeaderGap,iconSize,bodyPaddingTop,bodyGap,accentBarWidth,accentBarGap,linkRowGap,linkRowPadding,linkLabelArrowGap,arrowSize,titleFont,descriptionFont,buttonFont,itemTitleFont,itemDescriptionFont,linkFont,backgroundColor,titleColor,titleHighlightColor,descriptionColor,buttonBackground,buttonTextColor,itemActiveColor,itemInactiveColor,itemDescriptionColor,linkColor,arrowColor,accentTrackColor,pyramidLight,pyramidBase,pyramidDark,style}=props;const count=items.length;// Class/gradient-id suffix. Must be IDENTICAL between Framer's SSR and the\n// client render. useId() is not (Framer's server ids differ from client\n// ids), which made the injected <style> text mismatch and break hydration\n// (recoverable React #425/#422 on the live site). Deriving it from the\n// values interpolated in the CSS keeps it deterministic; two instances\n// only share a suffix when their CSS is identical anyway.\nconst uid=`${maxWidth}-${columnsGap}-${stackGap}-${stackBelow}`.replace(/[^a-zA-Z0-9-]/g,\"\");const isStatic=useIsStaticRenderer();const rootRef=useRef(null);const inView=useInView(rootRef,{amount:.3});const[active,setActive]=useState(0);const[hovered,setHovered]=useState(false);// Single progress value (0 → 1) that drives BOTH the loading bar fill and the\n// auto-advance. One animation as the source of truth keeps them perfectly in\n// sync: the bar reaching 100% is exactly what advances to the next item.\nconst progress=useMotionValue(0);const fillHeight=useTransform(progress,v=>`${Math.min(1,Math.max(0,v))*100}%`);// Autoplay is live only on the published site, in view, with >1 item, and not\n// paused by hover.\nconst running=autoplay&&!isStatic&&inView&&count>1&&!(pauseOnHover&&hovered);// Reset the bar to empty whenever the active item changes (click or auto-advance).\nuseEffect(()=>{progress.set(0);},[active,progress]);// Drive the bar + auto-advance. When running, animate 0 → 1 over `interval`s and\n// advance on completion. When paused, freeze the bar in place. With autoplay off\n// (or a single item) keep it full so it just reads as a solid accent.\nuseEffect(()=>{if(!autoplay||isStatic||count<=1){progress.set(1);return;}if(!running)return;// paused (hover / out of view) → hold the current position\nconst full=Math.max(.5,interval);const remaining=Math.max(.1,full*(1-progress.get()));const controls=animate(progress,1,{duration:remaining,ease:\"linear\",onComplete:()=>{startTransition(()=>setActive(a=>(a+1)%count));}});return()=>controls.stop();},[running,active,interval,count,autoplay,isStatic,progress]);const select=useCallback(i=>{startTransition(()=>setActive(i));},[]);const isFillWidth=style?.width===\"100%\"||style?.width===undefined;/* ----- styles ----- */const rootStyle={...style,position:\"relative\",boxSizing:\"border-box\",width:isFillWidth?\"100%\":style?.width,background:backgroundColor,display:\"flex\",justifyContent:\"center\",padding:sectionPadding,fontFamily:\"Inter, sans-serif\"};const gridClass=`pc-${uid}`;const linkRowBase={display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:linkLabelArrowGap,padding:linkRowPadding,textDecoration:\"none\",color:linkColor,...linkFont};// pyramid layout (px offsets are fractions of the pyramid width)\nconst pyrW=pyramidWidth;const pyrH=pyrW*.78;const layerWrap={position:\"absolute\",left:\"50%\"};return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:rootStyle,role:\"region\",\"aria-roledescription\":\"carousel\",children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                .${gridClass}{\n                    width:100%;\n                    max-width:${maxWidth}px;\n                    display:grid;\n                    grid-template-columns:1fr 1fr;\n                    column-gap:${columnsGap}px;\n                    row-gap:${stackGap}px;\n                    align-items:start;\n                }\n                .${gridClass} .pc-heading{grid-column:1;grid-row:1;}\n                .${gridClass} .pc-pyramid{grid-column:1;grid-row:2;}\n                .${gridClass} .pc-items{grid-column:2;grid-row:1 / span 2;}\n                @media (max-width:${stackBelow}px){\n                    .${gridClass}{grid-template-columns:1fr;}\n                    .${gridClass} .pc-heading,\n                    .${gridClass} .pc-items,\n                    .${gridClass} .pc-pyramid{grid-column:1;grid-row:auto;}\n                }\n            `}),/*#__PURE__*/_jsxs(\"div\",{className:gridClass,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pc-heading\",style:{display:\"flex\",flexDirection:\"column\",gap:headingGap},children:[/*#__PURE__*/_jsxs(\"h2\",{style:{margin:0,color:titleColor,...titleFont},children:[titleText,titleHighlight?/*#__PURE__*/_jsx(\"span\",{style:{color:titleHighlightColor},children:titleHighlight}):null]}),description?/*#__PURE__*/_jsx(\"p\",{style:{margin:0,maxWidth:descriptionMaxWidth,color:descriptionColor,...descriptionFont},children:description}):null,buttonLabel?/*#__PURE__*/_jsx(\"a\",{href:buttonLink,style:{marginTop:buttonMarginTop,alignSelf:\"flex-start\",background:buttonBackground,color:buttonTextColor,borderRadius:buttonRadius,padding:buttonPadding,textDecoration:\"none\",...buttonFont},children:buttonLabel}):null]}),/*#__PURE__*/_jsx(\"div\",{className:\"pc-items\",style:{display:\"flex\",flexDirection:\"column\",justifyContent:\"flex-start\",gap:rightColumnGap,minHeight:itemsMinHeight||undefined},onMouseEnter:()=>pauseOnHover&&startTransition(()=>setHovered(true)),onMouseLeave:()=>pauseOnHover&&startTransition(()=>setHovered(false)),children:items.map((item,i)=>{const isActive=i===active;const accent=isActive?itemActiveColor:itemInactiveColor;return /*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:()=>select(i),\"aria-expanded\":isActive,style:{all:\"unset\",boxSizing:\"border-box\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",gap:itemHeaderGap,width:\"100%\",padding:itemPadding,color:accent},children:[/*#__PURE__*/_jsx(Icon,{name:item.icon,size:iconSize}),/*#__PURE__*/_jsx(\"span\",{style:{color:accent,...itemTitleFont},children:item.title})]}),/*#__PURE__*/_jsx(AnimatePresence,{initial:false,children:isActive?/*#__PURE__*/_jsx(motion.div,{initial:{height:0,opacity:0},animate:{height:\"auto\",opacity:1},exit:{height:0,opacity:0},transition:{duration:.4,ease:[.16,1,.3,1]},style:{overflow:\"hidden\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:accentBarGap,paddingTop:bodyPaddingTop},children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,width:accentBarWidth,borderRadius:accentBarWidth,background:showProgress?accentTrackColor:itemActiveColor,position:\"relative\",overflow:\"hidden\"},children:showProgress?/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:fillHeight,background:itemActiveColor,borderRadius:accentBarWidth}}):null}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0,display:\"flex\",flexDirection:\"column\",gap:bodyGap},children:[item.description?/*#__PURE__*/_jsx(\"p\",{style:{margin:0,color:itemDescriptionColor,...itemDescriptionFont},children:item.description}):null,item.links&&item.links.length>0?/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:linkRowGap},children:item.links.map((lnk,li)=>/*#__PURE__*/_jsxs(\"a\",{href:lnk.url||\"#\",style:linkRowBase,children:[/*#__PURE__*/_jsx(\"span\",{children:lnk.label}),/*#__PURE__*/_jsx(Arrow,{size:arrowSize,color:arrowColor})]},li))}):null]})]})},\"body\"):null})]},i);})}),/*#__PURE__*/_jsxs(\"div\",{className:\"pc-pyramid\",style:{position:\"relative\",width:pyrW,height:pyrH,marginTop:pyramidMarginTop,marginLeft:pyramidShiftX,transform:`translateY(${pyramidShiftY}px)`},\"aria-hidden\":true,children:[/*#__PURE__*/_jsx(motion.div,{style:{...layerWrap,bottom:0,width:pyrW,x:\"-50%\"},initial:false,animate:{opacity:active>=0?1:0,y:active>=0?0:24,scale:active>=0?1:.92},transition:{duration:.5,ease:[.16,1,.3,1]},children:/*#__PURE__*/_jsx(PyramidBottom,{light:pyramidLight,base:pyramidBase,dark:pyramidDark,uid:uid})}),/*#__PURE__*/_jsx(motion.div,{style:{...layerWrap,bottom:middleLift/100*pyrW,width:pyrW*(232/338),x:\"-50%\"},initial:false,animate:{opacity:active>=1?1:0,y:active>=1?0:24,scale:active>=1?1:.92},transition:{duration:.5,ease:[.16,1,.3,1]},children:/*#__PURE__*/_jsx(PyramidMiddle,{light:pyramidLight,base:pyramidBase,dark:pyramidDark,uid:uid})}),/*#__PURE__*/_jsx(motion.div,{style:{...layerWrap,bottom:topLift/100*pyrW,width:pyrW*(107/338),x:\"-50%\"},initial:false,animate:{opacity:active>=2?1:0,y:active>=2?0:24,scale:active>=2?1:.92},transition:{duration:.5,ease:[.16,1,.3,1]},children:/*#__PURE__*/_jsx(PyramidTop,{light:pyramidLight,dark:pyramidDark})})]})]})]});}/* -------------------------------------------------------------------------- *//*  Defaults                                                                   *//* -------------------------------------------------------------------------- */// NOTE: only the destinations that currently exist on the site are wired up\n// (data-strategy, data-engineering, ai). The others stay on \"#\" until their\n// service page / CMS item exists — set them per instance from the Items control.\nconst defaultItems=[{title:\"Data Strategy\",description:\"Good data work starts with a clear direction. We help you define where you're going, what data you need, and how to build for it.\",icon:\"nano\",links:[{label:\"Data Strategy\",url:\"/services/data-strategy\"},{label:\"Data Architecture\",url:\"#\"}]},{title:\"Data Operations\",description:\"The infrastructure and pipelines that keep your data flowing — reliable, observable, and ready to use.\",icon:\"expand\",links:[{label:\"Data Engineering\",url:\"/services/data-engineering\"},{label:\"Analytics Engineering\",url:\"#\"},{label:\"Platform Engineering\",url:\"#\"},{label:\"FinOps\",url:\"#\"}]},{title:\"Data Activation\",description:\"Turning data into decisions. We build the dashboards, models, and AI layers that make your data actually useful to the business.\",icon:\"lightning\",links:[{label:\"Business Intelligence\",url:\"#\"},{label:\"Artificial Intelligence\",url:\"/services/ai\"}]}];/* -------------------------------------------------------------------------- *//*  Property controls — grouped & ordered so the panel reads top-to-bottom:    *//*  1 Content → 2 Autoplay → 3 Layout (Section · Left column · Pyramid ·        *//*  Items) → 4 Typography → 5 Colors. Every control carries a description and   *//*  spacing is always a single fused Padding control, never per-axis.           *//* -------------------------------------------------------------------------- */addPropertyControls(ProvideCarousel,{/* ----------------------------- 1. CONTENT ---------------------------- */titleText:{type:ControlType.String,title:\"Title\",defaultValue:\"What we \",description:\"1 \\xb7 CONTENT — First part of the heading, shown in the title color. Keep a trailing space before the highlighted word.\"},titleHighlight:{type:ControlType.String,title:\"Title highlight\",defaultValue:\"provide\",description:\"Last word of the heading, shown in the highlight color.\"},description:{type:ControlType.String,title:\"Description\",displayTextArea:true,defaultValue:\"Our senior team members develop tailor-made solutions based on your needs\",description:\"Subtitle under the heading (left column).\"},buttonLabel:{type:ControlType.String,title:\"Button label\",defaultValue:\"Book a call now\",description:\"CTA button text. Leave empty to hide the button.\"},buttonLink:{type:ControlType.Link,title:\"Button link\",description:\"Destination of the CTA button.\"},items:{type:ControlType.Array,title:\"Items\",description:\"The accordion items (right column). Each extra item adds a step; the pyramid fills up to 3 layers as you go down the list. Set each link's URL to the matching service page.\",control:{type:ControlType.Object,controls:{title:{type:ControlType.String,title:\"Title\",defaultValue:\"Data Strategy\",description:\"Item heading.\"},description:{type:ControlType.String,title:\"Description\",displayTextArea:true,defaultValue:\"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\",description:\"Text shown when the item is open.\"},icon:{type:ControlType.Enum,title:\"Icon\",options:[\"nano\",\"expand\",\"lightning\",\"none\"],optionTitles:[\"Nano (atom)\",\"Expand (nodes)\",\"Lightning (DB)\",\"None\"],defaultValue:\"nano\",description:\"Icon next to the title. Recolors with the active/inactive color.\"},links:{type:ControlType.Array,title:\"Links\",description:\"List of links shown when the item is open. Point each URL to the correct service page.\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Data Architecture\"},url:{type:ControlType.Link,title:\"URL\"}}},defaultValue:[{label:\"Data Architecture\",url:\"#\"}]}}},defaultValue:defaultItems},/* ----------------------------- 2. AUTOPLAY --------------------------- */autoplay:{type:ControlType.Boolean,title:\"Autoplay\",enabledTitle:\"On\",disabledTitle:\"Off\",defaultValue:true,description:\"2 \\xb7 AUTOPLAY — Automatically cycle through the items. Visitors can still click.\"},interval:{type:ControlType.Number,title:\"Interval\",min:1,max:15,step:.5,unit:\"s\",defaultValue:5,description:\"Seconds each item stays open before advancing.\",hidden:({autoplay})=>!autoplay},pauseOnHover:{type:ControlType.Boolean,title:\"Pause on hover\",enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:true,description:\"Pause autoplay while the cursor is over the items.\",hidden:({autoplay})=>!autoplay},showProgress:{type:ControlType.Boolean,title:\"Progress bar\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:true,description:\"Fill the left accent bar to show autoplay progress. When off, the bar stays solid.\"},/* ------------------------ 3. LAYOUT · SECTION ------------------------ */maxWidth:{type:ControlType.Number,title:\"Max width\",min:600,max:1600,step:10,unit:\"px\",defaultValue:1200,description:\"3 \\xb7 LAYOUT \\xb7 SECTION — Maximum content width; the block stays centered.\"},sectionPadding:{type:ControlType.Padding,title:\"Section padding\",defaultValue:\"80px\",description:\"Outer padding around the whole section (one fused control for all sides).\"},columnsGap:{type:ControlType.Number,title:\"Columns gap\",min:0,max:200,step:4,unit:\"px\",defaultValue:80,description:\"Horizontal gap between the left and right columns (desktop).\"},stackBelow:{type:ControlType.Number,title:\"Stack below\",min:0,max:1200,step:10,unit:\"px\",defaultValue:810,description:\"Viewport width under which the two columns stack vertically.\"},stackGap:{type:ControlType.Number,title:\"Stack gap (rows)\",min:0,max:160,step:4,unit:\"px\",defaultValue:48,description:\"Vertical gap between grid rows: heading ↔ pyramid on desktop, and between all blocks once stacked on mobile.\"},/* -------------------- 3. LAYOUT · LEFT COLUMN ------------------------ */headingGap:{type:ControlType.Number,title:\"Title ↔ text\",min:0,max:80,step:2,unit:\"px\",defaultValue:16,description:\"3 \\xb7 LAYOUT \\xb7 LEFT COLUMN — Vertical gap between the title and the description.\"},descriptionMaxWidth:{type:ControlType.Number,title:\"Description max width\",min:200,max:640,step:10,unit:\"px\",defaultValue:360,description:\"Wrap width of the left-column description so lines stay readable.\"},buttonMarginTop:{type:ControlType.Number,title:\"Button margin top\",min:0,max:80,step:2,unit:\"px\",defaultValue:24,description:\"Space between the description and the CTA button.\"},buttonPadding:{type:ControlType.Padding,title:\"Button padding\",defaultValue:\"10px 18px 10px 18px\",description:\"Inner padding of the CTA button (one fused control for all sides).\"},buttonRadius:{type:ControlType.Number,title:\"Button radius\",min:0,max:999,step:1,unit:\"px\",defaultValue:999,description:\"Corner radius of the CTA button (999 = fully pill).\"},pyramidMarginTop:{type:ControlType.Number,title:\"CTA ↔ pyramid\",min:0,max:200,step:4,unit:\"px\",defaultValue:32,description:\"Extra breathing space above the pyramid, i.e. between the CTA button and the illustration (adds to the stack gap).\"},/* ---------------------- 3. LAYOUT · PYRAMID -------------------------- */pyramidWidth:{type:ControlType.Number,title:\"Pyramid width\",min:120,max:480,step:10,unit:\"px\",defaultValue:280,description:\"3 \\xb7 LAYOUT \\xb7 PYRAMID — Width of the base layer; the whole pyramid scales from it.\"},pyramidShiftX:{type:ControlType.Number,title:\"Pyramid shift X\",min:-200,max:200,step:2,unit:\"px\",defaultValue:40,description:\"Horizontal nudge of the pyramid.\"},pyramidShiftY:{type:ControlType.Number,title:\"Pyramid shift Y\",min:-200,max:200,step:2,unit:\"px\",defaultValue:0,description:\"Vertical nudge of the pyramid (fine-tuning; use CTA ↔ pyramid for real spacing).\"},middleLift:{type:ControlType.Number,title:\"Layer 2 lift\",min:0,max:80,step:.5,unit:\"%\",defaultValue:27,description:\"How high the middle layer sits, as a % of the pyramid width. Use to perfect the stacking.\"},topLift:{type:ControlType.Number,title:\"Layer 3 lift\",min:0,max:120,step:.5,unit:\"%\",defaultValue:54,description:\"How high the top layer sits, as a % of the pyramid width.\"},/* --------------------- 3. LAYOUT · ITEMS ----------------------------- */itemsMinHeight:{type:ControlType.Number,title:\"Items min height\",min:0,max:800,step:10,unit:\"px\",defaultValue:460,description:\"3 \\xb7 LAYOUT \\xb7 ITEMS — Fixed minimum height reserved for the items column. Set it to fit the tallest open item so the section height (and the pyramid) never jumps when switching items. 0 = auto (will shift).\"},rightColumnGap:{type:ControlType.Number,title:\"Gap between items\",min:0,max:96,step:2,unit:\"px\",defaultValue:20,description:\"Vertical margin between the accordion items — increase to let the list breathe.\"},itemPadding:{type:ControlType.Padding,title:\"Item header padding\",defaultValue:\"14px 0px 14px 0px\",description:\"Padding around each item's clickable header (one fused control for all sides).\"},itemHeaderGap:{type:ControlType.Number,title:\"Icon ↔ title\",min:0,max:40,step:2,unit:\"px\",defaultValue:12,description:\"Gap between the icon and the item title.\"},iconSize:{type:ControlType.Number,title:\"Icon size\",min:16,max:48,step:1,unit:\"px\",defaultValue:26,description:\"Width/height of the item icon.\"},bodyPaddingTop:{type:ControlType.Number,title:\"Header ↔ body\",min:0,max:40,step:2,unit:\"px\",defaultValue:8,description:\"Gap between the header and the open body.\"},bodyGap:{type:ControlType.Number,title:\"Text ↔ links\",min:0,max:48,step:2,unit:\"px\",defaultValue:16,description:\"Gap between the item description and the links list.\"},accentBarWidth:{type:ControlType.Number,title:\"Accent bar width\",min:0,max:12,step:1,unit:\"px\",defaultValue:2,description:\"Thickness of the left accent / progress bar.\"},accentBarGap:{type:ControlType.Number,title:\"Bar ↔ content\",min:0,max:48,step:2,unit:\"px\",defaultValue:20,description:\"Gap between the accent bar and the body content.\"},linkRowGap:{type:ControlType.Number,title:\"Gap between links\",min:0,max:32,step:1,unit:\"px\",defaultValue:0,description:\"Vertical gap between link rows (in addition to their padding).\"},linkRowPadding:{type:ControlType.Padding,title:\"Link row padding\",defaultValue:\"11px 0px 11px 0px\",description:\"Padding around each link row (one fused control for all sides).\"},linkLabelArrowGap:{type:ControlType.Number,title:\"Label ↔ arrow\",min:0,max:48,step:2,unit:\"px\",defaultValue:16,description:\"Minimum gap between a link's label and its arrow.\"},arrowSize:{type:ControlType.Number,title:\"Arrow size\",min:6,max:24,step:1,unit:\"px\",defaultValue:11,description:\"Size of the arrow on the right of each link.\"},/* --------------------------- 4. TYPOGRAPHY --------------------------- */titleFont:{type:ControlType.Font,title:\"Title font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:40,variant:\"Medium\",lineHeight:\"1.1em\",letterSpacing:\"-0.02em\"},description:\"4 \\xb7 TYPOGRAPHY — Heading font. Pick Inter Tight Medium here to match the brand.\"},descriptionFont:{type:ControlType.Font,title:\"Description font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:16,variant:\"Regular\",lineHeight:\"1.5em\"},description:\"Left-column subtitle font. Brand: Manrope.\"},buttonFont:{type:ControlType.Font,title:\"Button font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:15,variant:\"Medium\",lineHeight:\"1em\"},description:\"CTA button font.\"},itemTitleFont:{type:ControlType.Font,title:\"Item title font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:22,variant:\"Medium\",lineHeight:\"1.2em\",letterSpacing:\"-0.01em\"},description:\"Accordion item title font. Brand: Inter Tight Medium.\"},itemDescriptionFont:{type:ControlType.Font,title:\"Item description font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:16,variant:\"Regular\",lineHeight:\"1.5em\"},description:\"Open-item description font. Brand: Manrope.\"},linkFont:{type:ControlType.Font,title:\"Link font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:16,variant:\"Regular\",lineHeight:\"1.4em\"},description:\"Link rows font. Brand: Manrope.\"},/* ----------------------------- 5. COLORS ----------------------------- */backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\",description:\"5 \\xb7 COLORS — Section background.\"},titleColor:{type:ControlType.Color,title:\"Title\",defaultValue:\"#021A31\",description:\"Color of the first part of the heading.\"},titleHighlightColor:{type:ControlType.Color,title:\"Title highlight\",defaultValue:\"#0A80F6\",description:\"Color of the highlighted word in the heading.\"},descriptionColor:{type:ControlType.Color,title:\"Description\",defaultValue:\"#4D4D4D\",description:\"Left-column subtitle color.\"},buttonBackground:{type:ControlType.Color,title:\"Button background\",defaultValue:\"#0A80F6\",description:\"CTA button fill.\"},buttonTextColor:{type:ControlType.Color,title:\"Button text\",defaultValue:\"#FFFFFF\",description:\"CTA button label color.\"},itemActiveColor:{type:ControlType.Color,title:\"Item active\",defaultValue:\"#0A80F6\",description:\"Title, icon and accent bar of the OPEN item.\"},itemInactiveColor:{type:ControlType.Color,title:\"Item inactive\",defaultValue:\"#021A31\",description:\"Title and icon of CLOSED items.\"},itemDescriptionColor:{type:ControlType.Color,title:\"Item description\",defaultValue:\"#999999\",description:\"Description text of the open item.\"},linkColor:{type:ControlType.Color,title:\"Link text\",defaultValue:\"#021A31\",description:\"Link label color.\"},arrowColor:{type:ControlType.Color,title:\"Arrow\",defaultValue:\"#021A31\",description:\"Arrow icon on each link row.\"},accentTrackColor:{type:ControlType.Color,title:\"Progress track\",defaultValue:\"#E6E6E6\",description:\"Unfilled part of the accent/progress bar.\"},pyramidLight:{type:ControlType.Color,title:\"Pyramid light\",defaultValue:\"#B6D9FC\",description:\"Lightest face / highlight of the pyramid.\"},pyramidBase:{type:ControlType.Color,title:\"Pyramid base\",defaultValue:\"#0A80F6\",description:\"Main blue of the pyramid.\"},pyramidDark:{type:ControlType.Color,title:\"Pyramid dark\",defaultValue:\"#021A31\",description:\"Shadow / side face of the pyramid.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ProvideCarousel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"560\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicWidth\":\"1200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProvideCarousel.map","// Astrafy — \"What people are saying about us\" testimonials carousel.\n// Brief (Dafolle): build a Framer code component integrated via the Framer MCP, reproducing\n// Luc's mockup (Homepage/TestimonialSection/Desktop.png).\n// - Dark section with a decorative background artwork (navy with thin blue arcs), centered\n//   title with a highlighted word (\"saying\").\n// - A FLAT, full-bleed carousel of testimonial cards, all shown at the SAME size (no\n//   coverflow scaling / dimming / overlap). The centered card is the active one; its\n//   neighbours sit beside it with a gap and bleed off the screen edges.\n// - Each card = a header row (small ROUND author avatar + author name/role stacked on the\n//   left, the customer logo aligned top-right) sitting above a full-width quote. Card text\n//   and the in-card logo are BLUE (the logo is an SVG recolored to match the text).\n// - INFINITE loop. Primary navigation is clicking a customer logo in the bottom strip\n//   (arrows are available but off by default). The active card's logo lights up in the strip\n//   (recolored to the brand blue); the others stay white and dimmed.\n// - Optional autoplay.\n// - Responsive: below `mobileBreakpoint` it switches to a clean single-card mode. The card is\n//   in normal flow and grows to fit its quote (no clipping), the padding tightens and the\n//   top-right in-card logo is dropped (every logo is already in the bottom strip).\n// The customer logos are WHITE assets: shown as-is in the bottom strip (on the dark bg) and\n// recolored (via CSS mask) to the brand blue inside the white cards and for the active strip logo.\n// Requirements: every spacing (padding / gap / margin), every font, every color and every\n//   image is exposed as a clearly-labelled, logically-ordered property control with a description.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect,useRef,useCallback}from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/* -------------------------------------------------------------------------- *//*  Small helpers                                                              *//* -------------------------------------------------------------------------- */function Chevron({dir,size,color}){return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{display:\"block\"},\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:dir===\"left\"?\"M15 18L9 12L15 6\":\"M9 6L15 12L9 18\",stroke:color,strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\"})});}const hasSrc=img=>!!(img&&img.src);// Default decorative background (navy artwork with the thin blue arcs), hosted on Framer's\n// CDN so it is durable in production. Used when the `Background image` control is left empty.\nconst BG_DEFAULT=\"https://framerusercontent.com/images/JNOP08QWRUilRDxu9pWsdpGNDTw.jpg\";// A WHITE SVG logo recolored to a solid `color` via CSS mask (keeps the logo's aspect ratio).\n// An invisible <img> defines the box; a colored layer is clipped to the logo shape.\nfunction MaskedLogo({src,srcSet,alt,height,color,align}){const url=`url(\"${src}\")`;return /*#__PURE__*/_jsxs(\"span\",{style:{position:\"relative\",display:\"inline-block\",height},children:[/*#__PURE__*/_jsx(\"img\",{src:src,srcSet:srcSet,alt:alt,style:{height,width:\"auto\",display:\"block\",opacity:0}}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{position:\"absolute\",inset:0,backgroundColor:color,WebkitMaskImage:url,maskImage:url,WebkitMaskRepeat:\"no-repeat\",maskRepeat:\"no-repeat\",WebkitMaskSize:\"contain\",maskSize:\"contain\",WebkitMaskPosition:align,maskPosition:align}})]});}// Arrows are anchored relative to the CENTERED card (not the viewport), so they hug the\n// card edges even when the carousel is full-bleed. On mobile they snap to the frame edges.\nfunction arrowStyle(side,placement,size,bg,border){const edgeMode=\"edge\"in placement;const horiz=edgeMode?side===\"left\"?{left:placement.edge}:{right:placement.edge}:{left:side===\"left\"?`calc(50% - ${placement.centerOff}px)`:`calc(50% + ${placement.centerOff}px)`};return{all:\"unset\",position:\"absolute\",top:\"50%\",...horiz,transform:edgeMode?\"translateY(-50%)\":\"translate(-50%, -50%)\",zIndex:200,width:size,height:size,borderRadius:\"50%\",background:bg,border:`1px solid ${border}`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",boxSizing:\"border-box\"};}// In-card logo. The customer logos are WHITE SVGs; inside the white card they must read as\n// the brand blue (same color as the card text). We recolor them with a CSS mask (keeps each\n// logo's aspect ratio). Fallbacks: invert (white→dark) or the raw image.\nfunction CardLogo({logo,company,height,colorize,color,invert,align=\"center\"}){if(colorize){return /*#__PURE__*/_jsx(MaskedLogo,{src:logo.src,srcSet:logo.srcSet,alt:logo.alt||company,height:height,color:color,align:align});}return /*#__PURE__*/_jsx(\"img\",{src:logo.src,srcSet:logo.srcSet,alt:logo.alt||company,style:{height,width:\"auto\",objectFit:\"contain\",filter:invert?\"invert(1)\":undefined}});}/* -------------------------------------------------------------------------- *//*  Component                                                                  *//* -------------------------------------------------------------------------- *//**\n * Testimonials Carousel\n *\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 720\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function TestimonialsCarousel(props){const{titleBefore,titleHighlight,titleAfter,cards,autoplay,interval,pauseOnHover,visibleSides,showArrows,showBottomStrip,maxWidth,sectionPadding,titleMarginBottom,carouselHeight,mobileBreakpoint,mobileCarouselHeight,bottomStripMarginTop,cardWidth,cardRadius,peek,fullBleed,sideScale,sideOpacity,cardShadow,contentPadding,logoQuoteGap,cardLogoHeight,cardLogoColorize,cardLogoInvert,avatarSize,avatarGap,arrowSize,arrowInset,bottomGap,bottomLogoHeight,bottomActiveOpacity,bottomInactiveOpacity,bottomActiveColorize,bottomActiveColor,titleFont,quoteFont,authorNameFont,authorRoleFont,backgroundColor,backgroundImage,titleColor,titleHighlightColor,cardBackground,quoteColor,authorNameColor,authorRoleColor,cardLogoColor,companyFallbackColor,arrowBackground,arrowIconColor,arrowBorderColor,bottomTextColor,style}=props;const n=cards.length;const isStatic=useIsStaticRenderer();const[active,setActive]=useState(0);const[hovered,setHovered]=useState(false);const[viewportW,setViewportW]=useState(0);const[winW,setWinW]=useState(0);const viewportRef=useRef(null);const prevRels=useRef({});// Measure the carousel viewport (and the window) so cards stay centered, shrink on\n// small screens, and the layout switches to a clean single-card mode on mobile.\nuseEffect(()=>{if(typeof window===\"undefined\")return;const el=viewportRef.current;if(!el)return;const measure=()=>{setViewportW(el.clientWidth);setWinW(window.innerWidth);};measure();const ro=typeof ResizeObserver!==\"undefined\"?new ResizeObserver(measure):null;if(ro)ro.observe(el);window.addEventListener(\"resize\",measure);return()=>{if(ro)ro.disconnect();window.removeEventListener(\"resize\",measure);};},[]);// Mobile mode: a single clean card, no side peeks, no full-bleed, auto height.\nconst isMobile=winW>0&&winW<=mobileBreakpoint;const fullBleedEff=fullBleed&&!isMobile;const visibleSidesEff=isMobile?0:visibleSides;const trackHeight=isMobile?mobileCarouselHeight:carouselHeight;// On the narrow mobile card, tighten the inner padding so the author block gets real\n// width, and drop the top-right in-card logo (every logo is already in the bottom strip).\nconst effContentPadding=isMobile?\"28px\":contentPadding;// Effective sizes (clamped to the viewport on narrow screens).\nconst effCardW=viewportW>0?Math.min(cardWidth,viewportW-24):cardWidth;const effPeek=peek*(effCardW/cardWidth);// Background artwork: use the control's image, else fall back to the brand default.\nconst bgSrc=hasSrc(backgroundImage)?backgroundImage.src:BG_DEFAULT;const go=useCallback(dir=>setActive(a=>(a+dir+n)%n),[n]);const select=useCallback(i=>setActive(i),[]);// Autoplay — disabled on the editor canvas, paused on hover.\nconst running=autoplay&&!isStatic&&n>1&&!(pauseOnHover&&hovered);useEffect(()=>{if(!running)return;const id=window.setTimeout(()=>{setActive(a=>(a+1)%n);},Math.max(1,interval)*1e3);return()=>window.clearTimeout(id);},[running,active,interval,n]);// Shortest signed distance on the ring → enables the infinite wrap.\nconst relOf=i=>{let r=(i-active)%n;if(r>n/2)r-=n;if(r<-n/2)r+=n;return r;};const isFillWidth=style?.width===\"100%\"||style?.width===undefined;const rootStyle={...style,position:\"relative\",boxSizing:\"border-box\",width:isFillWidth?\"100%\":style?.width,background:backgroundColor,padding:sectionPadding,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",overflowX:\"hidden\",fontFamily:\"Inter, sans-serif\"};return /*#__PURE__*/_jsxs(\"section\",{style:rootStyle,\"aria-roledescription\":\"carousel\",\"aria-label\":\"Testimonials\",children:[bgSrc?/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{position:\"absolute\",inset:0,zIndex:0,backgroundImage:`url(\"${bgSrc}\")`,backgroundSize:\"cover\",backgroundPosition:\"center\",backgroundRepeat:\"no-repeat\",pointerEvents:\"none\"}}):null,/*#__PURE__*/_jsxs(\"h2\",{style:{position:\"relative\",zIndex:1,margin:0,width:\"100%\",maxWidth,marginBottom:titleMarginBottom,textAlign:\"center\",color:titleColor,...titleFont},children:[titleBefore,titleHighlight?/*#__PURE__*/_jsx(\"span\",{style:{color:titleHighlightColor},children:titleHighlight}):null,titleAfter]}),/*#__PURE__*/_jsxs(\"div\",{ref:viewportRef,style:{position:\"relative\",zIndex:1,// Mobile: a single in-flow card that grows to fit its quote (no clipping).\n// Desktop: a fixed-height track for the absolutely-positioned coverflow.\n...isMobile?{width:\"100%\",maxWidth,height:\"auto\",overflow:\"visible\"}:{height:trackHeight,overflow:\"hidden\",...fullBleedEff?{width:\"100vw\"}:{width:\"100%\",maxWidth}}},onMouseEnter:()=>pauseOnHover&&setHovered(true),onMouseLeave:()=>pauseOnHover&&setHovered(false),children:[cards.map((card,i)=>{const rel=relOf(i);const visible=Math.abs(rel)<=visibleSidesEff;const isActive=rel===0;// Instant (no slide) for cards hidden both before and after the move,\n// so a wrapping card never flies across the screen.\nconst prev=prevRels.current[i];const wasHidden=prev===undefined||Math.abs(prev)>visibleSidesEff;const instant=wasHidden&&!visible;prevRels.current[i]=rel;const avatar=hasSrc(card.photo)?card.photo:null;const logo=hasSrc(card.logo)?card.logo:null;return /*#__PURE__*/_jsx(motion.article,{\"aria-hidden\":!isActive,onClick:!isActive&&visible?()=>select(i):undefined,initial:false,animate:isMobile?{x:0,scale:1,opacity:isActive?1:0}:{x:rel*effPeek,scale:isActive?1:sideScale,opacity:visible?isActive?1:sideOpacity:0},transition:instant?{duration:0}:{type:\"spring\",stiffness:260,damping:32},style:{// Mobile: only the active card is in flow (auto height); others removed.\n...isMobile?{position:\"relative\",width:\"100%\",height:\"auto\",display:isActive?\"block\":\"none\"}:{position:\"absolute\",top:0,left:\"50%\",width:effCardW,height:\"100%\",marginLeft:-effCardW/2},zIndex:100-Math.abs(rel),pointerEvents:visible?\"auto\":\"none\",cursor:!isActive&&visible?\"pointer\":\"default\",background:cardBackground,borderRadius:cardRadius,overflow:\"hidden\",boxShadow:cardShadow&&isActive?\"0 24px 60px rgba(2,26,49,0.25)\":\"none\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",height:\"100%\",boxSizing:\"border-box\",padding:effContentPadding,gap:logoQuoteGap,justifyContent:\"flex-start\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",justifyContent:\"space-between\",gap:24},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:avatarGap,minWidth:0},children:[avatar&&avatarSize>0?/*#__PURE__*/_jsx(\"img\",{src:avatar.src,srcSet:avatar.srcSet,alt:avatar.alt||card.authorName,style:{width:avatarSize,height:avatarSize,flexShrink:0,objectFit:\"cover\",borderRadius:\"50%\",display:\"block\"}}):null,/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:authorNameColor,...authorNameFont},children:card.authorName}),card.authorRole?/*#__PURE__*/_jsx(\"span\",{style:{color:authorRoleColor,...authorRoleFont},children:card.authorRole}):null]})]}),!isMobile?/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\",alignItems:\"center\"},children:logo?/*#__PURE__*/_jsx(CardLogo,{logo:logo,company:card.company,height:cardLogoHeight,colorize:cardLogoColorize,color:cardLogoColor,invert:cardLogoInvert,align:\"center\"}):/*#__PURE__*/_jsx(\"span\",{style:{color:companyFallbackColor,fontWeight:700,fontSize:cardLogoHeight*.7},children:card.company})}):null]}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,color:quoteColor,...quoteFont},children:card.quote})]})},i);}),showArrows&&n>1?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Previous\",onClick:()=>go(-1),style:arrowStyle(\"left\",isMobile?{edge:6}:{centerOff:effCardW/2+arrowInset},arrowSize,arrowBackground,arrowBorderColor),children:/*#__PURE__*/_jsx(Chevron,{dir:\"left\",size:arrowSize*.45,color:arrowIconColor})}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Next\",onClick:()=>go(1),style:arrowStyle(\"right\",isMobile?{edge:6}:{centerOff:effCardW/2+arrowInset},arrowSize,arrowBackground,arrowBorderColor),children:/*#__PURE__*/_jsx(Chevron,{dir:\"right\",size:arrowSize*.45,color:arrowIconColor})})]}):null]}),showBottomStrip?/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",zIndex:1,width:\"100%\",maxWidth,marginTop:bottomStripMarginTop,display:\"flex\",flexWrap:\"wrap\",justifyContent:\"center\",alignItems:\"center\",gap:bottomGap},children:cards.map((card,i)=>{const isActive=i===active;const img=card.logo;// Keep the raw logo AND its colored mask layer both mounted (toggle by\n// opacity), so the mask decodes up-front and the first switch to a logo\n// never flashes the white version.\nreturn /*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":`Show ${card.company}`,\"aria-pressed\":isActive,onClick:()=>select(i),style:{all:\"unset\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",opacity:isActive?bottomActiveOpacity:bottomInactiveOpacity,transform:isActive?\"scale(1.04)\":\"scale(1)\",transition:\"opacity 0.3s ease, transform 0.3s ease\"},children:hasSrc(img)?/*#__PURE__*/_jsxs(\"span\",{style:{position:\"relative\",display:\"inline-block\",height:bottomLogoHeight},children:[/*#__PURE__*/_jsx(\"img\",{src:img.src,srcSet:img.srcSet,alt:img.alt||card.company,style:{height:bottomLogoHeight,width:\"auto\",objectFit:\"contain\",display:\"block\",opacity:bottomActiveColorize&&isActive?0:1,transition:\"opacity 0.25s ease\"}}),bottomActiveColorize?/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{position:\"absolute\",inset:0,backgroundColor:bottomActiveColor,WebkitMaskImage:`url(\"${img.src}\")`,maskImage:`url(\"${img.src}\")`,WebkitMaskRepeat:\"no-repeat\",maskRepeat:\"no-repeat\",WebkitMaskSize:\"contain\",maskSize:\"contain\",WebkitMaskPosition:\"center\",maskPosition:\"center\",opacity:isActive?1:0,transition:\"opacity 0.25s ease\",pointerEvents:\"none\"}}):null]}):/*#__PURE__*/_jsx(\"span\",{style:{color:bottomTextColor,fontWeight:700,fontSize:bottomLogoHeight*.7},children:card.company})},i);})}):null]});}/* -------------------------------------------------------------------------- *//*  Defaults                                                                   *//* -------------------------------------------------------------------------- */const GRADIENT=\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\";const defaultCards=[{company:\"Rubyx\",quote:\"Astrafy gave us a clear roadmap and the senior firepower to execute it. We shipped a production data platform in weeks, not quarters.\",authorName:\"Amara Okafor\",authorRole:\"Head of Data @ Rubyx\",photo:{src:GRADIENT,alt:\"Amara Okafor\"}},{company:\"Capmo\",quote:\"The team plugged straight into our workflows and lifted the whole org's data maturity. Pragmatic, senior, and genuinely collaborative.\",authorName:\"Lena Hofmann\",authorRole:\"VP Engineering @ Capmo\",photo:{src:GRADIENT,alt:\"Lena Hofmann\"}},{company:\"Simple Online\",quote:\"Before working with Astrafy, our teams were constantly firefighting data inconsistencies. We knew the answers were somewhere in our systems, we just couldn't get to them fast enough to act. That changed completely.\",authorName:\"Ifeyanyi Braithwaite\",authorRole:\"DPO @ Simple Online Nigeria\",photo:{src:GRADIENT,alt:\"Ifeyanyi Braithwaite\"}},{company:\"Spock\",quote:\"We were drowning in spreadsheets and couldn't answer basic questions about our inventory. Astrafy turned that into a single source of truth we trust immediately.\",authorName:\"Thomas Lef\\xe8bvre\",authorRole:\"COO @ Spock\",photo:{src:GRADIENT,alt:\"Thomas Lef\\xe8bvre\"}},{company:\"Savana\",quote:\"From strategy to production, Astrafy felt like part of our team. The knowledge transfer alone paid for the engagement several times over.\",authorName:\"Diego Mart\\xedn\",authorRole:\"CTO @ Savana\",photo:{src:GRADIENT,alt:\"Diego Mart\\xedn\"}}];/* -------------------------------------------------------------------------- *//*  Property controls — grouped & ordered: Content -> Behaviour -> Layout ->   *//*  Typography -> Colors. Every control carries a description.                 *//* -------------------------------------------------------------------------- */addPropertyControls(TestimonialsCarousel,{/* ----------------------------- 1. CONTENT ---------------------------- */titleBefore:{type:ControlType.String,title:\"Title before\",defaultValue:\"What people are \",description:\"1 \\xb7 CONTENT — Heading text before the highlighted word. Keep a trailing space.\"},titleHighlight:{type:ControlType.String,title:\"Title highlight\",defaultValue:\"saying\",description:\"Highlighted word in the middle of the heading.\"},titleAfter:{type:ControlType.String,title:\"Title after\",defaultValue:\" about us\",description:\"Heading text after the highlighted word. Keep a leading space.\"},cards:{type:ControlType.Array,title:\"Cards\",description:\"The testimonial cards. They loop infinitely; the centered one is the active card and its logo lights up in the bottom strip.\",control:{type:ControlType.Object,controls:{company:{type:ControlType.String,title:\"Company\",defaultValue:\"Company\",description:\"Customer name. Used as a fallback label when no logo image is set.\"},quote:{type:ControlType.String,title:\"Quote\",displayTextArea:true,defaultValue:\"Their testimonial goes here.\",description:\"The testimonial text.\"},authorName:{type:ControlType.String,title:\"Author name\",defaultValue:\"Full Name\",description:\"Shown in bold at the top of the card, next to the avatar.\"},authorRole:{type:ControlType.String,title:\"Author role\",defaultValue:\"Role @ Company\",description:\"Shown dimmed, under the name.\"},logo:{type:ControlType.ResponsiveImage,title:\"Logo\",description:\"Customer logo (use the WHITE version). Shown white in the bottom strip and recolored to the brand blue at the top-right of the card (desktop).\"},photo:{type:ControlType.ResponsiveImage,title:\"Author photo\",description:\"Portrait shown as the small round avatar next to the author name. Leave empty to hide the avatar.\"}}},defaultValue:defaultCards},/* ---------------------------- 2. BEHAVIOUR --------------------------- */autoplay:{type:ControlType.Boolean,title:\"Autoplay\",enabledTitle:\"On\",disabledTitle:\"Off\",defaultValue:true,description:\"2 \\xb7 BEHAVIOUR — Automatically advance the carousel. Visitors can still navigate manually.\"},interval:{type:ControlType.Number,title:\"Interval\",min:2,max:15,step:.5,unit:\"s\",defaultValue:5,description:\"Seconds each card stays centered before advancing.\",hidden:({autoplay})=>!autoplay},pauseOnHover:{type:ControlType.Boolean,title:\"Pause on hover\",enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:true,description:\"Pause autoplay while the cursor is over the carousel.\",hidden:({autoplay})=>!autoplay},visibleSides:{type:ControlType.Number,title:\"Side cards visible\",min:0,max:3,step:1,defaultValue:1,description:\"How many neighbouring cards peek on EACH side of the centered one (desktop only).\"},showArrows:{type:ControlType.Boolean,title:\"Prev / next arrows\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false,description:\"Show the circular navigation arrows. Off to match the mockup (navigate by clicking a logo in the bottom strip).\"},showBottomStrip:{type:ControlType.Boolean,title:\"Bottom logo strip\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:true,description:\"Show the row of customer logos under the carousel. Clicking a logo brings its card to the center.\"},/* ------------------------- 3. LAYOUT · SECTION ----------------------- */maxWidth:{type:ControlType.Number,title:\"Max width\",min:600,max:1800,step:10,unit:\"px\",defaultValue:1280,description:\"3 \\xb7 LAYOUT — Maximum width for the title & bottom strip (the carousel can be full-bleed below).\"},sectionPadding:{type:ControlType.Padding,title:\"Section padding\",defaultValue:\"96px 40px 96px 40px\",description:\"Outer padding around the whole section (top / right / bottom / left in one control).\"},titleMarginBottom:{type:ControlType.Number,title:\"Title ↓ margin\",min:0,max:160,step:4,unit:\"px\",defaultValue:72,description:\"Space between the title and the carousel.\"},carouselHeight:{type:ControlType.Number,title:\"Carousel height\",min:200,max:720,step:10,unit:\"px\",defaultValue:420,description:\"Height of the carousel area (and of the cards) on desktop. On mobile the card grows to fit its quote.\"},mobileBreakpoint:{type:ControlType.Number,title:\"Mobile breakpoint\",min:0,max:1024,step:10,unit:\"px\",defaultValue:700,description:\"Under this width: single-card mode (in-flow card that grows to fit, tighter padding, no in-card logo).\"},mobileCarouselHeight:{type:ControlType.Number,title:\"Carousel min height (mobile)\",min:240,max:720,step:10,unit:\"px\",defaultValue:480,description:\"Kept for compatibility. The mobile card now auto-grows to fit its quote, so this no longer clips long testimonials.\"},bottomStripMarginTop:{type:ControlType.Number,title:\"Strip ↑ margin\",min:0,max:160,step:4,unit:\"px\",defaultValue:72,description:\"Space between the carousel and the bottom logo strip.\"},/* -------------------------- 3. LAYOUT · CARDS ------------------------ */cardWidth:{type:ControlType.Number,title:\"Card width\",min:280,max:1e3,step:10,unit:\"px\",defaultValue:780,description:\"Width of each card on desktop (auto-shrinks on narrow screens; full width on mobile).\"},cardRadius:{type:ControlType.BorderRadius,title:\"Card radius\",defaultValue:\"24px\",description:\"Corner radius of the cards.\"},peek:{type:ControlType.Number,title:\"Card spacing (center-to-center)\",min:200,max:1100,step:10,unit:\"px\",defaultValue:812,description:\"Distance between adjacent card centers. Set to card width + gap for a flat row (no overlap); set lower for an overlapping coverflow.\"},fullBleed:{type:ControlType.Boolean,title:\"Full-bleed carousel\",enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:true,description:\"Let the side cards extend to the screen edges (bleed out of the section). Off = clamp to Max width. Always off on mobile.\"},sideScale:{type:ControlType.Number,title:\"Side card scale\",min:.5,max:1,step:.01,defaultValue:1,description:\"Scale of the non-centered cards. 1 = same size as the active card (flat row, matches the mockup).\"},sideOpacity:{type:ControlType.Number,title:\"Side card opacity\",min:0,max:1,step:.05,defaultValue:1,description:\"Opacity of the non-centered cards. 1 = as bright as the active card (matches the mockup).\"},cardShadow:{type:ControlType.Boolean,title:\"Card shadow\",enabledTitle:\"On\",disabledTitle:\"Off\",defaultValue:false,description:\"Drop shadow under the active card. Off for the flat look in the mockup.\"},contentPadding:{type:ControlType.Padding,title:\"Card content padding\",defaultValue:\"44px\",description:\"Inner padding of the card on desktop (around the header row and the quote). Mobile uses a tighter fixed padding.\"},logoQuoteGap:{type:ControlType.Number,title:\"Card: header ↔ quote\",min:0,max:80,step:2,unit:\"px\",defaultValue:32,description:\"Gap between the header row (avatar + author + logo) and the quote below it.\"},cardLogoHeight:{type:ControlType.Number,title:\"Card: logo height\",min:12,max:64,step:1,unit:\"px\",defaultValue:28,description:\"Height of the customer logo shown top-right of the card (desktop).\"},cardLogoColorize:{type:ControlType.Boolean,title:\"Card: recolor logo\",enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:true,description:\"Recolor the in-card logo to the brand blue (below), so a WHITE SVG logo matches the card text. Turn off to keep the logo's own colors.\"},cardLogoInvert:{type:ControlType.Boolean,title:\"Card: invert logo\",enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:false,description:\"When recolor is OFF: invert the logo so a WHITE logo shows dark on the white card.\",hidden:({cardLogoColorize})=>!!cardLogoColorize},avatarSize:{type:ControlType.Number,title:\"Card: avatar size\",min:0,max:96,step:2,unit:\"px\",defaultValue:56,description:\"Diameter of the round author avatar in the header. Set to 0, or leave a card's photo empty, to hide it.\"},avatarGap:{type:ControlType.Number,title:\"Card: avatar ↔ author\",min:0,max:40,step:2,unit:\"px\",defaultValue:14,description:\"Gap between the avatar and the author name/role block.\"},/* ------------------------- 3. LAYOUT · ARROWS ----------------------- */arrowSize:{type:ControlType.Number,title:\"Arrow size\",min:28,max:72,step:2,unit:\"px\",defaultValue:44,description:\"Diameter of the prev/next arrow buttons.\",hidden:({showArrows})=>!showArrows},arrowInset:{type:ControlType.Number,title:\"Arrow inset\",min:-60,max:80,step:2,unit:\"px\",defaultValue:0,description:\"Arrow position relative to the centered card's edge (desktop). 0 = on the edge, positive = outside, negative = over the card.\",hidden:({showArrows})=>!showArrows},/* ----------------------- 3. LAYOUT · BOTTOM STRIP ------------------- */bottomGap:{type:ControlType.Number,title:\"Strip: gap\",min:0,max:120,step:4,unit:\"px\",defaultValue:56,description:\"Gap between logos in the bottom strip.\",hidden:({showBottomStrip})=>!showBottomStrip},bottomLogoHeight:{type:ControlType.Number,title:\"Strip: logo height\",min:12,max:64,step:1,unit:\"px\",defaultValue:28,description:\"Height of the logos in the bottom strip.\",hidden:({showBottomStrip})=>!showBottomStrip},bottomActiveOpacity:{type:ControlType.Number,title:\"Strip: active opacity\",min:0,max:1,step:.05,defaultValue:1,description:\"Opacity of the active card's logo.\",hidden:({showBottomStrip})=>!showBottomStrip},bottomInactiveOpacity:{type:ControlType.Number,title:\"Strip: inactive opacity\",min:0,max:1,step:.05,defaultValue:.4,description:\"Opacity of the non-active logos.\",hidden:({showBottomStrip})=>!showBottomStrip},bottomActiveColorize:{type:ControlType.Boolean,title:\"Strip: recolor active logo\",enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:true,description:\"Recolor the ACTIVE strip logo to the color below instead of leaving it white. The inactive logos stay white.\",hidden:({showBottomStrip})=>!showBottomStrip},bottomActiveColor:{type:ControlType.Color,title:\"Strip: active logo color\",defaultValue:\"#0A80F6\",description:\"Color the active strip logo is recolored to (when 'Strip: recolor active logo' is on).\",hidden:({showBottomStrip,bottomActiveColorize})=>!showBottomStrip||!bottomActiveColorize},/* --------------------------- 4. TYPOGRAPHY -------------------------- */titleFont:{type:ControlType.Font,title:\"Title font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:44,variant:\"Medium\",lineHeight:\"1.2em\",letterSpacing:\"-0.02em\",textAlign:\"center\"},description:\"4 \\xb7 TYPOGRAPHY — Section title. Pick Inter Tight Medium to match the brand.\"},quoteFont:{type:ControlType.Font,title:\"Quote font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:20,variant:\"Regular\",lineHeight:\"1.6em\"},description:\"Testimonial quote font. Brand: Manrope.\"},authorNameFont:{type:ControlType.Font,title:\"Author name font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:17,variant:\"Semibold\",lineHeight:\"1.4em\"},description:\"Author name font.\"},authorRoleFont:{type:ControlType.Font,title:\"Author role font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:17,variant:\"Regular\",lineHeight:\"1.4em\"},description:\"Author role font.\"},/* ----------------------------- 5. COLORS ---------------------------- */backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#021A31\",description:\"5 \\xb7 COLORS — Section background color (shows under the background image).\"},backgroundImage:{type:ControlType.ResponsiveImage,title:\"Background image\",description:\"Decorative background (the navy artwork with the thin blue arcs). Sits above the background color, behind all content, and covers the whole section. Leave empty to use the built-in brand default.\"},titleColor:{type:ControlType.Color,title:\"Title\",defaultValue:\"#FFFFFF\",description:\"Title color (non-highlighted part).\"},titleHighlightColor:{type:ControlType.Color,title:\"Title highlight\",defaultValue:\"#0A80F6\",description:\"Color of the highlighted word.\"},cardBackground:{type:ControlType.Color,title:\"Card background\",defaultValue:\"#FFFFFF\",description:\"Card fill.\"},quoteColor:{type:ControlType.Color,title:\"Quote\",defaultValue:\"#0A80F6\",description:\"Quote text color.\"},authorNameColor:{type:ControlType.Color,title:\"Author name\",defaultValue:\"#0A80F6\",description:\"Author name color.\"},authorRoleColor:{type:ControlType.Color,title:\"Author role\",defaultValue:\"rgba(10,128,246,0.7)\",description:\"Author role color.\"},cardLogoColor:{type:ControlType.Color,title:\"Card: logo color\",defaultValue:\"#0A80F6\",description:\"Color the in-card logo is recolored to (when 'Card: recolor logo' is on).\"},companyFallbackColor:{type:ControlType.Color,title:\"Logo fallback (in card)\",defaultValue:\"#0A80F6\",description:\"Color of the company name shown inside a card when it has no logo image.\"},arrowBackground:{type:ControlType.Color,title:\"Arrow background\",defaultValue:\"rgba(255,255,255,0.1)\",description:\"Fill of the arrow buttons.\"},arrowIconColor:{type:ControlType.Color,title:\"Arrow icon\",defaultValue:\"#FFFFFF\",description:\"Chevron color.\"},arrowBorderColor:{type:ControlType.Color,title:\"Arrow border\",defaultValue:\"rgba(255,255,255,0.25)\",description:\"Border of the arrow buttons.\"},bottomTextColor:{type:ControlType.Color,title:\"Strip fallback text\",defaultValue:\"#FFFFFF\",description:\"Color of the company name in the bottom strip when a logo image is missing.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TestimonialsCarousel\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"720\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicWidth\":\"1200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TestimonialsCarousel.map"],"mappings":"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"}