{"version":3,"file":"ScatteredFeatureCardsSection.DSO2gKGJ.mjs","names":["useRef","useState","useCallback","carousel","_Fragment"],"sources":["https:/framerusercontent.com/modules/NevUGeqJSzokUPfp8PLo/kZHYm3yZ967HoqHN02iE/ScatteredFeatureCardsSection.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useCallback,useEffect,useLayoutEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import PillCtaButton from\"https://framerusercontent.com/modules/w9nD8NlP142wZ4H3p1Ab/5Qxd337z2E2Af6U6v1G2/PillCtaButton.js\";import CircleArrowButton from\"https://framerusercontent.com/modules/X5AMvy5jmPql3Kyc2IQN/XIxlODg5QQGzZckrXeFG/CircleArrowButton.js\";/** Figma Frame 1984078338 — 4-card scattered layout (Rebranding DSBH). */const DESIGN_REF_WIDTH=1146;const DESIGN_SCATTERED_HEIGHT=720;const DEFAULT_CTA=\"#0A3C46\";const DEFAULT_ICON_GRADIENT=\"linear-gradient(338deg, #FFFFFF 0%, #00FFE5 92.07%)\";const FONT_FAMILY='\"Stack Sans Headline\", system-ui, sans-serif';const EASE_OUT=\"cubic-bezier(0.22, 1, 0.36, 1)\";/** Scroll scrub ends when the section top reaches this fraction of viewport height. */const SCROLL_ASSEMBLE_END_VIEWPORT_RATIO=.3;const SWIPE_THRESHOLD=48;/** Room for CircleArrowButton hue spill (blur ~7px) + hover scale outside the 33px circle. */const NAV_BUTTON_SHADOW_BLEED=14;const CAROUSEL_SCROLL_CLASS=\"scattered-feature-cards-carousel\";const CAROUSEL_SCROLL_STYLE_ID=\"scattered-feature-cards-carousel-scrollbar-hide\";const CARD_ITEM_HOVER_CLASS=\"scattered-feature-card-item\";const CARD_IMAGE_HOVER_CLASS=\"scattered-feature-card-image\";const CARD_IMAGE_HOVER_STYLE_ID=\"scattered-feature-card-image-hover\";const CARD_IMAGE_HOVER_SCALE=1.05;const CARD_CLICK_SCALE=.98;/** Section heading sits below scattered card images when they overlap. */const Z_SECTION_HEADER=1;const Z_CARD=2;const DEFAULT_CARD_WIDTH=280;const DEFAULT_CARD_GAP=15;const DEFAULT_CARD_PEEK=80;const MIN_CARD_WIDTH=280;const DEFAULT_IMAGE_HEIGHT=160;const CARD_CONTENT_GAP=18;const CARD_IMAGE_RADIUS=12;const MOBILE_BREAKPOINT=768;const SLIDE_TRANSITION=`transform 400ms ${EASE_OUT}`;const SLIDE_SCROLL_MS=520;/** Figma Frame 1984078483 mobile (node 9540:13143). */const DESIGN_REF_WIDTH_MOBILE=385;const DESIGN_SCATTERED_HEIGHT_MOBILE=480;const MOBILE_CARD_WIDTH=250;const MOBILE_CARD_GAP=13;const MOBILE_CARD_PEEK=72;const MOBILE_MIN_CARD_WIDTH=220;const MOBILE_IMAGE_HEIGHT=143;const MOBILE_PROGRESS_BAR_WIDTH=96;const MOBILE_SECTION_GAP=20;const MOBILE_TITLE_TO_CARDS_GAP=30;const MOBILE_CONTROLS_GAP=28;/** Minimum title + subtitle + CTA block below the image (assembled card). */const MOBILE_ASSEMBLED_TEXT_BLOCK_HEIGHT=101;const DESKTOP_ASSEMBLED_TEXT_BLOCK_HEIGHT=132;/** Mid-scrub header estimate (title + gap + paragraph) — fallback until measured. */const DESKTOP_HEADER_SCRUB_ESTIMATE=150;/** Reserved height for mobile assembled chrome outside the card stage. */const MOBILE_ASSEMBLED_HEADING_RESERVE=112;const MOBILE_ASSEMBLED_PARAGRAPH_RESERVE=72;const DEFAULT_HEADING_FONT={fontFamily:FONT_FAMILY,fontSize:36,fontWeight:600,lineHeight:1.2,variant:\"Semibold\"};const DEFAULT_PARAGRAPH_FONT={fontFamily:FONT_FAMILY,fontSize:16,fontWeight:300,lineHeight:1.96875,variant:\"Light\"};const DEFAULT_CARD_TITLE_FONT={fontFamily:FONT_FAMILY,fontSize:21.413,fontWeight:600,lineHeight:1.2,variant:\"Semibold\"};const DEFAULT_CARD_DESCRIPTION_FONT={fontFamily:FONT_FAMILY,fontSize:16,fontWeight:300,lineHeight:1.96875,variant:\"Light\"};const DEFAULT_HEADING_FONT_MOBILE={fontFamily:FONT_FAMILY,fontSize:24,fontWeight:600,lineHeight:1.4,variant:\"Semibold\"};const DEFAULT_PARAGRAPH_FONT_MOBILE={fontFamily:FONT_FAMILY,fontSize:14,fontWeight:300,lineHeight:1.5,variant:\"Light\"};const DEFAULT_CARD_TITLE_FONT_MOBILE={fontFamily:FONT_FAMILY,fontSize:19.13,fontWeight:600,lineHeight:1.2,variant:\"Semibold\"};const DEFAULT_CARD_DESCRIPTION_FONT_MOBILE={fontFamily:FONT_FAMILY,fontSize:14.294,fontWeight:300,lineHeight:1.96875,variant:\"Light\"};/** Framer `ControlType.Font` includes `variant` for the Weight UI; it is not valid CSS. */function framerFontToStyle(font){if(!font||typeof font!==\"object\")return{};const o={...font};delete o.variant;return o;}function typographyStyle(font,defaults,layout={}){return{margin:0,color:\"#000\",fontStyle:\"normal\",...framerFontToStyle(defaults),...framerFontToStyle(font),...layout};}const PROGRESS_COUNTER_STYLE={color:\"#D2D2D2\",textAlign:\"right\",fontSize:14,fontStyle:\"normal\",fontWeight:400,lineHeight:\"20px\"};const DEFAULT_IMAGES=[\"https://www.figma.com/api/mcp/asset/f2ceb5e0-680b-40e7-8d44-181d95b34f64\",\"https://www.figma.com/api/mcp/asset/b9fc931f-3060-4cd3-8b40-5f6285abc9d2\",\"https://www.figma.com/api/mcp/asset/77c52836-837c-4874-b790-86ec8e60b399\",\"https://www.figma.com/api/mcp/asset/eb779a7f-4a85-4554-aad2-73f02210e962\",\"https://www.figma.com/api/mcp/asset/44a0393a-8c4a-412c-89e0-6523272ca431\",\"https://www.figma.com/api/mcp/asset/25fe816d-88bb-4074-9b96-492f3e2ff748\"];/**\n * Desktop scattered slots (1146×720 artboard, 4 cards).\n * Index order: top-left · top-right · bottom-left · bottom-right.\n */const SCATTERED_SLOTS=[{x:27,y:86,w:216.607,h:206.292},{x:953,y:118,w:168,h:160},{x:98,y:478,w:168,h:160},{x:886,y:518,w:184.8,h:176}];/**\n * Mobile scattered slots (385×480 artboard, 4 cards).\n * Top-left · top-right · bottom-left · bottom-right.\n */const MOBILE_SCATTERED_BIG_W=103.2;const MOBILE_SCATTERED_BIG_H=98.286;const MOBILE_SCATTERED_BOTTOM_W=125.26;const MOBILE_SCATTERED_BOTTOM_H=113.872;const SCATTERED_SLOTS_MOBILE=[{x:9,y:9,w:MOBILE_SCATTERED_BIG_W,h:MOBILE_SCATTERED_BIG_H},{x:272.8,y:9,w:MOBILE_SCATTERED_BIG_W,h:MOBILE_SCATTERED_BIG_H},{x:9,y:332,w:MOBILE_SCATTERED_BOTTOM_W,h:MOBILE_SCATTERED_BOTTOM_H},{x:250,y:358,w:MOBILE_SCATTERED_BIG_W,h:MOBILE_SCATTERED_BIG_H}];const MOBILE_SCATTERED_TITLE_PADDING=\"0 20px\";/** Desktop heading column max width (Figma artboard). Use 0 for full container width. */const DEFAULT_HEADING_WIDTH=901;const DEFAULT_HEADING=\"Top 4 Business Activities\\nFounders Choose In Dubai South Business Hub Free Zone\";const DEFAULT_DESCRIPTION=\"Explore over 3,500 in-demand business activities that provides access to an integrated infrastructure with a connected trade network designed for long-term growth.\";const DEFAULT_CARDS=[{title:\"E-Commerce\",subtitle:\"Sell Across Global Markets\",image:DEFAULT_IMAGES[0],buttonLabel:\"Learn More\",buttonLink:\"#\"},{title:\"General Trading\",subtitle:\"Trade Across Regional Markets\",image:DEFAULT_IMAGES[1],buttonLabel:\"Learn More\",buttonLink:\"#\"},{title:\"Logistics\",subtitle:\"Streamline Your Supply Chain\",image:DEFAULT_IMAGES[2],buttonLabel:\"Learn More\",buttonLink:\"#\"},{title:\"Consultancy\",subtitle:\"Advise With Confidence\",image:DEFAULT_IMAGES[3],buttonLabel:\"Learn More\",buttonLink:\"#\"}];function resolveImageUrl(value){if(typeof value===\"string\")return value;if(value!=null&&typeof value===\"object\"&&\"src\"in value){return String(value.src??\"\");}return\"\";}function normalizeCards(cards){const source=cards.length>0?cards:DEFAULT_CARDS;return source.map((card,index)=>{const fallback=DEFAULT_CARDS[index%DEFAULT_CARDS.length];return{title:card.title?.trim()||fallback.title||\"Feature\",subtitle:card.subtitle?.trim()||fallback.subtitle||\"\",image:resolveImageUrl(card.image)||DEFAULT_IMAGES[index%DEFAULT_IMAGES.length],buttonLabel:card.buttonLabel?.trim()||\"Learn More\",buttonLink:card.buttonLink||\"#\"};});}function assembledCardLeft(index,cardWidth,cardGap){return index*(cardWidth+cardGap);}function lerp(a,b,t){return a+(b-a)*t;}/**\n * Scroll-scrubbed assembly progress.\n * 0 when section top meets viewport bottom; 1 when section top reaches 30% viewport height.\n */function scrollAssembleProgress(elementTop,viewportHeight){if(viewportHeight<=0)return 0;const startTop=viewportHeight;const endTop=viewportHeight*SCROLL_ASSEMBLE_END_VIEWPORT_RATIO;const range=startTop-endTop;if(range<=0)return elementTop<=endTop?1:0;return Math.min(1,Math.max(0,(startTop-elementTop)/range));}/** Left-align early slides; clamp so the last slide sits flush right with the prior card peeking. */function getTrackOffsetForIndex(index,containerWidth,cardWidth,step,total){if(total<=1)return 0;const leftOffset=-index*step;if(containerWidth<=0)return leftOffset;const lastSlideOffset=containerWidth-cardWidth-(total-1)*step;return Math.max(lastSlideOffset,leftOffset);}function getScrollLeftForIndex(index,containerWidth,cardWidth,step,total){return-getTrackOffsetForIndex(index,containerWidth,cardWidth,step,total);}function getIndexFromScrollLeft(scrollLeft,containerWidth,cardWidth,step,total){if(total<=1)return 0;let bestIndex=0;let bestDistance=Infinity;for(let i=0;i<total;i++){const snap=getScrollLeftForIndex(i,containerWidth,cardWidth,step,total);const distance=Math.abs(scrollLeft-snap);if(distance<bestDistance){bestDistance=distance;bestIndex=i;}}return bestIndex;}function easeOutCubic(t){return 1-Math.pow(1-t,3);}/** Eased horizontal scroll for assembled slider (nav + snap). */function animateCarouselScrollLeft(carousel,targetLeft,reduceMotion,onComplete){if(reduceMotion){carousel.scrollLeft=targetLeft;onComplete?.();return()=>{};}const startLeft=carousel.scrollLeft;const delta=targetLeft-startLeft;if(Math.abs(delta)<.5){onComplete?.();return()=>{};}const startTime=performance.now();let rafId=0;const tick=now=>{const t=Math.min(1,(now-startTime)/SLIDE_SCROLL_MS);carousel.scrollLeft=startLeft+delta*easeOutCubic(t);if(t<1){rafId=requestAnimationFrame(tick);}else{carousel.scrollLeft=targetLeft;onComplete?.();}};rafId=requestAnimationFrame(tick);return()=>{if(rafId)cancelAnimationFrame(rafId);};}function splitHeadingLines(heading){return heading.split(\"\\n\").filter(line=>line.length>0);}function scatteredLayoutForViewport(isMobile){return{refWidth:isMobile?DESIGN_REF_WIDTH_MOBILE:DESIGN_REF_WIDTH,refHeight:isMobile?DESIGN_SCATTERED_HEIGHT_MOBILE:DESIGN_SCATTERED_HEIGHT,headingTop:Math.round((isMobile?DESIGN_SCATTERED_HEIGHT_MOBILE:DESIGN_SCATTERED_HEIGHT)/2),slots:isMobile?SCATTERED_SLOTS_MOBILE:SCATTERED_SLOTS};}function ProgressBar({progress,ctaColor,width}){const clamped=Math.min(1,Math.max(0,progress));return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{position:\"relative\",width,height:3,borderRadius:6,backgroundColor:\"#DEDEDE\",flexShrink:0},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:\"0 auto 0 0\",width:`${clamped*100}%`,backgroundColor:ctaColor,borderRadius:6,transition:`width 400ms ${EASE_OUT}`}})});}export default function ScatteredFeatureCardsSection({heading=DEFAULT_HEADING,description=DEFAULT_DESCRIPTION,cards=DEFAULT_CARDS,ctaColor=DEFAULT_CTA,iconGradient=DEFAULT_ICON_GRADIENT,cardWidth=DEFAULT_CARD_WIDTH,cardGap=DEFAULT_CARD_GAP,cardPeek=DEFAULT_CARD_PEEK,imageHeight=DEFAULT_IMAGE_HEIGHT,enableDrag=true,navButtonSize=33,headingFont=DEFAULT_HEADING_FONT,headingFontMobile=DEFAULT_HEADING_FONT_MOBILE,headingWidth=DEFAULT_HEADING_WIDTH,paragraphFont=DEFAULT_PARAGRAPH_FONT,paragraphFontMobile=DEFAULT_PARAGRAPH_FONT_MOBILE,cardTitleFont=DEFAULT_CARD_TITLE_FONT,cardTitleFontMobile=DEFAULT_CARD_TITLE_FONT_MOBILE,cardDescriptionFont=DEFAULT_CARD_DESCRIPTION_FONT,cardDescriptionFontMobile=DEFAULT_CARD_DESCRIPTION_FONT_MOBILE,assembledPaddingY=0,showCardButtons=true,style}){const rootRef=useRef(null);const carouselViewportRef=useRef(null);const carouselRef=useRef(null);const desktopHeaderRef=useRef(null);const mobileHeadingRef=useRef(null);const mobileParagraphRef=useRef(null);const cardTextMeasureRef=useRef(null);const[assembleProgress,setAssembleProgress]=useState(0);/** Latched synchronously at scrub 1 — no extra render / layout switch. */const assemblyLockedRef=useRef(false);/** Frozen carousel offset at assembly so spacing cannot collapse after scrub. */const assembledDesktopSpacingRef=useRef(null);const[reduceMotion,setReduceMotion]=useState(false);const[isMobile,setIsMobile]=useState(false);const[containerWidth,setContainerWidth]=useState(0);const[desktopHeaderHeight,setDesktopHeaderHeight]=useState(0);const[mobileHeadingHeight,setMobileHeadingHeight]=useState(0);const[mobileParagraphHeight,setMobileParagraphHeight]=useState(0);const[assembledTextBlockHeight,setAssembledTextBlockHeight]=useState(null);const[activeIndex,setActiveIndex]=useState(0);const[isDragging,setIsDragging]=useState(false);const[dragDelta,setDragDelta]=useState(0);const dragStartX=useRef(0);const didDrag=useRef(false);const programmaticScrollRef=useRef(false);const scrollFromNavRef=useRef(false);const scrollAnimCancelRef=useRef(null);const userScrollSnapTimerRef=useRef(null);const carouselWidthAtSyncRef=useRef(0);const normalizedCards=normalizeCards(cards??[]);const total=normalizedCards.length;const headingLines=splitHeadingLines(heading);if(!reduceMotion&&assembleProgress>=1){assemblyLockedRef.current=true;}const layoutProgress=assemblyLockedRef.current?1:reduceMotion?assembleProgress>=1?1:0:Math.min(1,assembleProgress);const showAssembled=layoutProgress>=1;/** Native scroll carousel during scrub; scrollLeft carries offset (no translate handoff). */const sliderUsesNativeScroll=enableDrag;const useHorizontalScroll=sliderUsesNativeScroll&&layoutProgress>0;const carouselScrollInteractive=sliderUsesNativeScroll&&layoutProgress>=1;const scatteredLayout=scatteredLayoutForViewport(isMobile);const resolvedCardWidth=isMobile?MOBILE_CARD_WIDTH:cardWidth;const resolvedCardGap=isMobile?MOBILE_CARD_GAP:cardGap;const resolvedCardPeek=isMobile?MOBILE_CARD_PEEK:cardPeek;const resolvedImageHeight=isMobile?MOBILE_IMAGE_HEIGHT:imageHeight;const resolvedMinCardWidth=isMobile?MOBILE_MIN_CARD_WIDTH:MIN_CARD_WIDTH;const cardTitleStyle=typographyStyle(isMobile?cardTitleFontMobile:cardTitleFont,isMobile?DEFAULT_CARD_TITLE_FONT_MOBILE:DEFAULT_CARD_TITLE_FONT,isMobile?{textAlign:\"left\"}:{});const cardSubtitleStyle=typographyStyle(isMobile?cardDescriptionFontMobile:cardDescriptionFont,isMobile?DEFAULT_CARD_DESCRIPTION_FONT_MOBILE:DEFAULT_CARD_DESCRIPTION_FONT,isMobile?{textAlign:\"left\"}:{});const pillVariant=isMobile?\"mobile\":\"desktop\";const renderCardCta=(variant,card)=>{if(!showCardButtons)return null;return /*#__PURE__*/_jsx(PillCtaButton,{label:card.buttonLabel,link:showAssembled?undefined:card.buttonLink,decorative:showAssembled,hovered:false,variant:variant,background:ctaColor,iconGradient:iconGradient});};const scale=containerWidth>0?containerWidth/scatteredLayout.refWidth:1;/** Keep scatter scale stable through progress 1 so stage height does not jump on mobile. */const scatteredScale=isMobile?Math.min(1,scale):scale;const scatteredStageHeight=Math.round(scatteredLayout.refHeight*scatteredScale);useEffect(()=>{if(typeof window===\"undefined\")return;const media=window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT-1}px)`);const motion=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const sync=()=>{setIsMobile(media.matches);setReduceMotion(motion.matches);};sync();media.addEventListener(\"change\",sync);motion.addEventListener(\"change\",sync);return()=>{media.removeEventListener(\"change\",sync);motion.removeEventListener(\"change\",sync);};},[]);useLayoutEffect(()=>{const root=rootRef.current;if(!root)return;setContainerWidth(root.clientWidth);},[]);useEffect(()=>{const root=rootRef.current;if(!root)return;const resize=()=>{setContainerWidth(root.clientWidth);};const ro=new ResizeObserver(resize);ro.observe(root);return()=>ro.disconnect();},[]);useEffect(()=>{const root=rootRef.current;if(!root||typeof window===\"undefined\")return;if(reduceMotion){if(typeof IntersectionObserver===\"undefined\"){setAssembleProgress(1);return;}const observer=new IntersectionObserver(([entry])=>{if(entry.isIntersecting){setAssembleProgress(1);observer.disconnect();}},{threshold:.2});observer.observe(root);return()=>observer.disconnect();}let rafId=0;const update=()=>{rafId=0;const rect=root.getBoundingClientRect();setAssembleProgress(scrollAssembleProgress(rect.top,window.innerHeight));};const scheduleUpdate=()=>{if(!rafId)rafId=requestAnimationFrame(update);};window.addEventListener(\"scroll\",scheduleUpdate,{passive:true});window.addEventListener(\"resize\",scheduleUpdate,{passive:true});update();return()=>{window.removeEventListener(\"scroll\",scheduleUpdate);window.removeEventListener(\"resize\",scheduleUpdate);if(rafId)cancelAnimationFrame(rafId);};},[reduceMotion]);const[carouselWidth,setCarouselWidth]=useState(0);useEffect(()=>{let el=carouselViewportRef.current?.parentElement;while(el&&el!==document.body){const tag=el.tagName.toLowerCase();if(tag===\"main\"||tag===\"header\")break;el.style.overflow=\"visible\";el.style.overflowX=\"visible\";el=el.parentElement;}},[useHorizontalScroll]);useEffect(()=>{if(!document.getElementById(CAROUSEL_SCROLL_STYLE_ID)){const scrollStyle=document.createElement(\"style\");scrollStyle.id=CAROUSEL_SCROLL_STYLE_ID;scrollStyle.textContent=[`.${CAROUSEL_SCROLL_CLASS}::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}`,`.${CAROUSEL_SCROLL_CLASS}{scrollbar-width:none!important;-ms-overflow-style:none!important}`].join(\"\");document.head.appendChild(scrollStyle);}if(!document.getElementById(CARD_IMAGE_HOVER_STYLE_ID)){const hoverStyle=document.createElement(\"style\");hoverStyle.id=CARD_IMAGE_HOVER_STYLE_ID;hoverStyle.textContent=[`.${CARD_ITEM_HOVER_CLASS}{transition:transform 150ms ${EASE_OUT};transform-origin:center center}`,`.${CARD_ITEM_HOVER_CLASS}:active{transform:scale(${CARD_CLICK_SCALE})}`,`.${CARD_IMAGE_HOVER_CLASS} img{transition:transform 400ms ${EASE_OUT};transform-origin:center center}`,`.${CARD_ITEM_HOVER_CLASS}:hover .${CARD_IMAGE_HOVER_CLASS} img{transform:scale(${CARD_IMAGE_HOVER_SCALE})}`,`@media (prefers-reduced-motion:reduce){.${CARD_ITEM_HOVER_CLASS}{transition:none}.${CARD_ITEM_HOVER_CLASS}:active{transform:none}.${CARD_IMAGE_HOVER_CLASS} img{transition:none}.${CARD_ITEM_HOVER_CLASS}:hover .${CARD_IMAGE_HOVER_CLASS} img{transform:none}}`].join(\"\");document.head.appendChild(hoverStyle);}},[]);useEffect(()=>{const viewport=carouselViewportRef.current;if(!viewport)return;const resize=()=>setCarouselWidth(viewport.clientWidth);resize();const ro=new ResizeObserver(resize);ro.observe(viewport);return()=>ro.disconnect();},[]);useLayoutEffect(()=>{if(isMobile)return;const header=desktopHeaderRef.current;if(!header)return;const measure=()=>{setDesktopHeaderHeight(header.offsetHeight);};measure();const ro=new ResizeObserver(measure);ro.observe(header);return()=>ro.disconnect();},[isMobile,heading,description,headingFont,paragraphFont,containerWidth,layoutProgress]);useLayoutEffect(()=>{if(!isMobile)return;const headingEl=mobileHeadingRef.current;const paragraphEl=mobileParagraphRef.current;if(!headingEl&&!paragraphEl)return;const measure=()=>{if(headingEl)setMobileHeadingHeight(headingEl.scrollHeight);if(paragraphEl)setMobileParagraphHeight(paragraphEl.scrollHeight);};measure();const ro=new ResizeObserver(measure);if(headingEl)ro.observe(headingEl);if(paragraphEl)ro.observe(paragraphEl);return()=>ro.disconnect();},[isMobile,heading,description,headingFontMobile,paragraphFontMobile,containerWidth]);const safeIndex=Math.max(0,Math.min(activeIndex,Math.max(0,total-1)));const safeIndexRef=useRef(safeIndex);safeIndexRef.current=safeIndex;const effectiveCardWidth=layoutProgress>0&&(carouselWidth>0||containerWidth>0)?Math.min(resolvedCardWidth,Math.max(resolvedMinCardWidth,(carouselWidth||containerWidth)-resolvedCardPeek-resolvedCardGap)):resolvedCardWidth;const step=effectiveCardWidth+resolvedCardGap;const trackWidth=total>0?total*step-resolvedCardGap:0;const carouselBleed=Math.max(resolvedCardPeek,resolvedCardGap,8);/** Logical container width (100%); not the bleed-extended scroll client. */const scrollContainerWidth=carouselWidth||containerWidth;const effectiveCarouselWidth=scrollContainerWidth;const baseOffset=layoutProgress>0&&effectiveCarouselWidth>0?getTrackOffsetForIndex(safeIndex,effectiveCarouselWidth,effectiveCardWidth,step,total):0;/** Slide track during scrub; drag slider uses scrollLeft only (no translate at end). */const trackSlideX=sliderUsesNativeScroll||layoutProgress<=0?0:lerp(0,baseOffset,Math.min(1,layoutProgress))+(showAssembled&&isDragging?dragDelta:0);useLayoutEffect(()=>{if(!sliderUsesNativeScroll)return;const carousel=carouselRef.current;if(!carousel||scrollContainerWidth<=0||layoutProgress<=0)return;/** Scroll scrub only — never hard-sync after assembly (breaks drag momentum). */if(layoutProgress>=1)return;const targetScroll=getScrollLeftForIndex(safeIndex,scrollContainerWidth,effectiveCardWidth,step,total);const syncedScroll=lerp(0,targetScroll,layoutProgress);if(Math.abs(carousel.scrollLeft-syncedScroll)>.5){programmaticScrollRef.current=true;carousel.scrollLeft=syncedScroll;programmaticScrollRef.current=false;}},[sliderUsesNativeScroll,layoutProgress,safeIndex,scrollContainerWidth,effectiveCardWidth,step,total]);/** Keep slide aligned after resize once the slider is interactive. */useLayoutEffect(()=>{if(!sliderUsesNativeScroll||!carouselScrollInteractive)return;const carousel=carouselRef.current;if(!carousel||scrollContainerWidth<=0)return;if(carouselWidthAtSyncRef.current===scrollContainerWidth)return;carouselWidthAtSyncRef.current=scrollContainerWidth;const target=getScrollLeftForIndex(safeIndexRef.current,scrollContainerWidth,effectiveCardWidth,step,total);programmaticScrollRef.current=true;carousel.scrollLeft=target;programmaticScrollRef.current=false;},[sliderUsesNativeScroll,carouselScrollInteractive,scrollContainerWidth,effectiveCardWidth,step,total]);const goTo=useCallback(index=>{if(total===0)return;scrollFromNavRef.current=true;setActiveIndex(Math.max(0,Math.min(index,total-1)));},[total]);const goPrev=useCallback(()=>goTo(safeIndex-1),[goTo,safeIndex]);const goNext=useCallback(()=>goTo(safeIndex+1),[goTo,safeIndex]);const snapCarouselToNearestSlide=useCallback((behavior=\"smooth\")=>{const carousel=carouselRef.current;if(!carousel||!carouselScrollInteractive||scrollContainerWidth<=0||total<=1)return;const index=getIndexFromScrollLeft(carousel.scrollLeft,scrollContainerWidth,effectiveCardWidth,step,total);const target=getScrollLeftForIndex(index,scrollContainerWidth,effectiveCardWidth,step,total);if(Math.abs(carousel.scrollLeft-target)<=1){setActiveIndex(prev=>prev===index?prev:index);return;}scrollAnimCancelRef.current?.();programmaticScrollRef.current=true;if(behavior===\"auto\"||reduceMotion){carousel.scrollLeft=target;programmaticScrollRef.current=false;setActiveIndex(prev=>prev===index?prev:index);return;}scrollAnimCancelRef.current=animateCarouselScrollLeft(carousel,target,reduceMotion,()=>{programmaticScrollRef.current=false;scrollAnimCancelRef.current=null;setActiveIndex(prev=>prev===index?prev:index);});},[carouselScrollInteractive,scrollContainerWidth,effectiveCardWidth,step,total,reduceMotion]);const onCarouselScroll=useCallback(()=>{if(!useHorizontalScroll||programmaticScrollRef.current||!carouselScrollInteractive)return;const carousel=carouselRef.current;if(!carousel)return;const index=getIndexFromScrollLeft(carousel.scrollLeft,scrollContainerWidth,effectiveCardWidth,step,total);setActiveIndex(prev=>prev===index?prev:index);if(userScrollSnapTimerRef.current){clearTimeout(userScrollSnapTimerRef.current);}userScrollSnapTimerRef.current=setTimeout(()=>{userScrollSnapTimerRef.current=null;if(programmaticScrollRef.current||scrollFromNavRef.current)return;snapCarouselToNearestSlide(\"smooth\");},90);},[useHorizontalScroll,carouselScrollInteractive,scrollContainerWidth,effectiveCardWidth,step,total,snapCarouselToNearestSlide]);useEffect(()=>{if(!useHorizontalScroll||!carouselScrollInteractive){if(assembleProgress<1){const carousel=carouselRef.current;if(carousel)carousel.scrollLeft=0;scrollFromNavRef.current=false;}return;}if(!scrollFromNavRef.current)return;scrollFromNavRef.current=false;const carousel=carouselRef.current;if(!carousel)return;const target=getScrollLeftForIndex(safeIndex,scrollContainerWidth,effectiveCardWidth,step,total);if(userScrollSnapTimerRef.current){clearTimeout(userScrollSnapTimerRef.current);userScrollSnapTimerRef.current=null;}scrollAnimCancelRef.current?.();programmaticScrollRef.current=true;scrollAnimCancelRef.current=animateCarouselScrollLeft(carousel,target,reduceMotion,()=>{programmaticScrollRef.current=false;scrollAnimCancelRef.current=null;});return()=>{scrollAnimCancelRef.current?.();scrollAnimCancelRef.current=null;programmaticScrollRef.current=false;};},[assembleProgress,showAssembled,useHorizontalScroll,carouselScrollInteractive,safeIndex,scrollContainerWidth,effectiveCardWidth,step,total,reduceMotion]);useEffect(()=>{if(!carouselScrollInteractive||typeof window===\"undefined\")return;if(!(\"onscrollend\"in window))return;const carousel=carouselRef.current;if(!carousel)return;const onScrollEnd=()=>{if(programmaticScrollRef.current||scrollFromNavRef.current)return;if(userScrollSnapTimerRef.current){clearTimeout(userScrollSnapTimerRef.current);userScrollSnapTimerRef.current=null;}snapCarouselToNearestSlide(\"smooth\");};carousel.addEventListener(\"scrollend\",onScrollEnd);return()=>carousel.removeEventListener(\"scrollend\",onScrollEnd);},[carouselScrollInteractive,snapCarouselToNearestSlide]);const onPointerDown=useCallback(event=>{if(!showAssembled||useHorizontalScroll||!enableDrag||total<=1)return;setIsDragging(true);didDrag.current=false;dragStartX.current=event.clientX;event.currentTarget.setPointerCapture(event.pointerId);},[showAssembled,useHorizontalScroll,enableDrag,total]);const onPointerMove=useCallback(event=>{if(!isDragging)return;const delta=event.clientX-dragStartX.current;if(Math.abs(delta)>SWIPE_THRESHOLD/2)didDrag.current=true;setDragDelta(delta);},[isDragging]);const endDrag=useCallback(()=>{if(!isDragging)return;const delta=dragDelta;setIsDragging(false);setDragDelta(0);if(Math.abs(delta)<=SWIPE_THRESHOLD)return;if(delta<0)goNext();else goPrev();},[isDragging,dragDelta,goNext,goPrev]);useEffect(()=>{const carousel=carouselRef.current;if(!carousel)return;const blockClick=event=>{if(didDrag.current){event.preventDefault();event.stopPropagation();didDrag.current=false;}};carousel.addEventListener(\"click\",blockClick,true);return()=>carousel.removeEventListener(\"click\",blockClick,true);},[showAssembled]);const cardContentKey=normalizedCards.map(card=>`${card.title}|${card.subtitle}|${card.buttonLabel}`).join(\"\\n\");const measureCardButtons=showCardButtons;useLayoutEffect(()=>{if(total===0){setAssembledTextBlockHeight(null);return;}const root=cardTextMeasureRef.current;if(!root)return;const measure=()=>{const blocks=root.querySelectorAll(\"[data-card-text-measure]\");let max=0;blocks.forEach(block=>{max=Math.max(max,block.getBoundingClientRect().height);});setAssembledTextBlockHeight(max>0?Math.ceil(max):null);};measure();const ro=new ResizeObserver(measure);ro.observe(root);root.querySelectorAll(\"[data-card-text-measure]\").forEach(block=>ro.observe(block));return()=>ro.disconnect();},[total,cardContentKey,effectiveCardWidth,isMobile,cardTitleFont,cardTitleFontMobile,cardDescriptionFont,cardDescriptionFontMobile,ctaColor,iconGradient,measureCardButtons]);if(total===0)return null;const defaultAssembledTextBlockHeight=isMobile?MOBILE_ASSEMBLED_TEXT_BLOCK_HEIGHT:DESKTOP_ASSEMBLED_TEXT_BLOCK_HEIGHT;const textOnlyFallbackHeight=isMobile?56:64;const resolvedAssembledTextBlockHeight=showCardButtons?Math.max(assembledTextBlockHeight??defaultAssembledTextBlockHeight,defaultAssembledTextBlockHeight):Math.max(assembledTextBlockHeight??textOnlyFallbackHeight,textOnlyFallbackHeight);const layoutTextBlockHeight=resolvedAssembledTextBlockHeight;const assembledTrackHeight=resolvedImageHeight+CARD_CONTENT_GAP+layoutTextBlockHeight;const layoutCardBodyHeight=resolvedImageHeight+CARD_CONTENT_GAP+layoutTextBlockHeight;const desktopAssembledMargin=isMobile?0:16;const mobileControlsRowHeight=total>1?navButtonSize+NAV_BUTTON_SHADOW_BLEED*4:0;const assembledMobileOuterHeight=assembledTrackHeight+mobileControlsRowHeight;const desktopHeaderBlockHeight=desktopHeaderHeight>0?desktopHeaderHeight:layoutProgress>0?DESKTOP_HEADER_SCRUB_ESTIMATE:220;const resolvedAssembledPaddingY=Math.round(lerp(0,assembledPaddingY,layoutProgress));const assembledPaddingTotal=resolvedAssembledPaddingY*2;const contentReveal=Math.min(1,Math.max(0,(layoutProgress-.55)/.45));const mobileHeadingBlockHeight=mobileHeadingHeight>0?mobileHeadingHeight:MOBILE_ASSEMBLED_HEADING_RESERVE;const mobileParagraphBlockHeight=mobileParagraphHeight>0?mobileParagraphHeight:MOBILE_ASSEMBLED_PARAGRAPH_RESERVE;const mobileOuterLerpedHeight=Math.round(lerp(scatteredStageHeight,assembledMobileOuterHeight,layoutProgress));const mobileHeadingMaxHeight=Math.round(lerp(0,mobileHeadingBlockHeight,layoutProgress));const mobileHeadingMarginBottom=Math.round(lerp(0,MOBILE_TITLE_TO_CARDS_GAP,layoutProgress));const mobileParagraphMaxHeight=Math.round(lerp(0,mobileParagraphBlockHeight,layoutProgress));const mobileParagraphMarginTop=Math.round(lerp(0,MOBILE_SECTION_GAP,layoutProgress));const mobileControlsMaxHeight=Math.round(lerp(0,mobileControlsRowHeight,layoutProgress));const mobileControlsMarginTop=Math.round(lerp(0,MOBILE_CONTROLS_GAP,layoutProgress));const showMobileScatteredTitle=isMobile&&layoutProgress<.72;const mobileFlowTitleOpacity=Math.min(1,Math.max(0,(layoutProgress-.55)/.25));const scatteredHeaderCenterY=Math.round(scatteredStageHeight/2);/**\n     * Desktop: header stays absolute; carousel marginTop tracks header bottom\n     * plus a lerped gap so spacing at progress=1 matches the last scrub frame.\n     */const resolvedDesktopHeaderHeight=desktopHeaderHeight>0?desktopHeaderHeight:desktopHeaderBlockHeight;const headerTopResolved=Math.round(lerp(scatteredHeaderCenterY,0,layoutProgress));const desktopHeadingToCardsGap=Math.round(lerp(-40,desktopAssembledMargin,layoutProgress));const desktopCarouselMarginTopLive=Math.round(headerTopResolved+resolvedDesktopHeaderHeight+desktopHeadingToCardsGap);if(!isMobile&&layoutProgress>=.9&&desktopHeaderHeight>0){assembledDesktopSpacingRef.current=desktopCarouselMarginTopLive;}const desktopCarouselMarginTop=!isMobile&&layoutProgress>=1&&assembledDesktopSpacingRef.current?assembledDesktopSpacingRef.current:desktopCarouselMarginTopLive;const desktopCarouselHeight=Math.round(lerp(scatteredStageHeight,assembledTrackHeight,layoutProgress));const desktopFlowHeight=desktopCarouselMarginTop+desktopCarouselHeight;const lerpedStageHeight=isMobile?Math.round(lerp(scatteredStageHeight,assembledTrackHeight,layoutProgress)):desktopCarouselHeight;const lerpedOuterHeight=isMobile?mobileOuterLerpedHeight:desktopFlowHeight;const mobileSectionContentHeight=mobileHeadingMaxHeight+mobileParagraphMarginTop+mobileParagraphMaxHeight+mobileHeadingMarginBottom+mobileOuterLerpedHeight;const sectionMinHeight=(isMobile?mobileSectionContentHeight:desktopFlowHeight)+assembledPaddingTotal;const trackHeight=lerpedStageHeight;const carouselMarginTop=isMobile?0:desktopCarouselMarginTop;const headerTranslateY=lerp(-50,0,layoutProgress);const contentTransition=reduceMotion||layoutProgress>0&&layoutProgress<1?\"none\":`opacity 280ms ${EASE_OUT}, transform 280ms ${EASE_OUT}`;const isFirst=safeIndex===0;const isLast=safeIndex>=total-1;const useMobileScatteredInStage=showMobileScatteredTitle;const headerTop=headerTopResolved;const progress=total>1?(safeIndex+1)/total:1;const resolvedHeadingWidth=headingWidth>0?headingWidth:undefined;const headingStyle=typographyStyle(isMobile?headingFontMobile:headingFont,isMobile?DEFAULT_HEADING_FONT_MOBILE:DEFAULT_HEADING_FONT,{textAlign:isMobile&&showAssembled?\"left\":\"center\",...resolvedHeadingWidth?{maxWidth:resolvedHeadingWidth}:{}});const paragraphStyle=typographyStyle(isMobile?paragraphFontMobile:paragraphFont,isMobile?DEFAULT_PARAGRAPH_FONT_MOBILE:DEFAULT_PARAGRAPH_FONT,{textAlign:isMobile&&showAssembled?\"left\":\"center\",maxWidth:isMobile?undefined:901});const desktopParagraphMaxHeight=Math.round(lerp(0,108,contentReveal));const mobileControlsVisible=isMobile&&total>1&&layoutProgress>=.88;const navButtons=/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:navButtonSize,height:navButtonSize,flexShrink:0,overflow:\"visible\"},children:/*#__PURE__*/_jsx(CircleArrowButton,{direction:\"left\",circleFill:ctaColor,iconGradient:iconGradient,disabled:isFirst,onClick:goPrev})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:navButtonSize,height:navButtonSize,flexShrink:0,overflow:\"visible\"},children:/*#__PURE__*/_jsx(CircleArrowButton,{direction:\"right\",circleFill:ctaColor,iconGradient:iconGradient,disabled:isLast,onClick:goNext})})]});return /*#__PURE__*/_jsxs(\"section\",{ref:rootRef,\"aria-label\":\"Feature cards\",style:{position:\"relative\",width:\"100%\",minHeight:sectionMinHeight,paddingTop:resolvedAssembledPaddingY,paddingBottom:resolvedAssembledPaddingY,boxSizing:\"border-box\",fontFamily:FONT_FAMILY,overflow:\"visible\",display:\"flex\",flexDirection:\"column\",gap:0,...style},children:[isMobile?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"h2\",{ref:mobileHeadingRef,style:{...headingStyle,position:\"relative\",zIndex:Z_SECTION_HEADER,margin:0,maxHeight:mobileHeadingMaxHeight,overflow:\"hidden\",opacity:mobileFlowTitleOpacity,pointerEvents:mobileFlowTitleOpacity>.5?\"auto\":\"none\"},children:headingLines.map((line,index)=>/*#__PURE__*/_jsxs(\"span\",{children:[index>0?/*#__PURE__*/_jsx(\"br\",{}):null,line]},`mobile-heading-${line}-${index}`))}),/*#__PURE__*/_jsx(\"p\",{ref:mobileParagraphRef,style:{...paragraphStyle,position:\"relative\",zIndex:Z_SECTION_HEADER,margin:0,marginTop:mobileParagraphMarginTop,marginBottom:mobileHeadingMarginBottom,maxHeight:mobileParagraphMaxHeight,overflow:\"hidden\",opacity:contentReveal,pointerEvents:contentReveal>.5?\"auto\":\"none\"},children:description})]}):null,/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",minHeight:lerpedOuterHeight,overflow:\"visible\"},children:[!isMobile?/*#__PURE__*/_jsxs(\"div\",{ref:desktopHeaderRef,style:{position:\"absolute\",top:headerTop,left:\"50%\",width:resolvedHeadingWidth?`min(${resolvedHeadingWidth}px, 95%)`:\"95%\",transform:`translate(-50%, ${headerTranslateY}%)`,zIndex:Z_SECTION_HEADER,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:Math.round(lerp(0,16,layoutProgress)),pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"h2\",{style:{...headingStyle,width:\"100%\",pointerEvents:\"auto\"},children:headingLines.map((line,index)=>/*#__PURE__*/_jsxs(\"span\",{children:[index>0?/*#__PURE__*/_jsx(\"br\",{}):null,line]},`${line}-${index}`))}),/*#__PURE__*/_jsx(\"p\",{style:{...paragraphStyle,margin:0,width:\"100%\",maxHeight:desktopParagraphMaxHeight,overflow:\"hidden\",opacity:contentReveal,transform:`translateY(${lerp(12,0,contentReveal)}px)`,transition:contentTransition,pointerEvents:contentReveal>.5?\"auto\":\"none\"},\"aria-hidden\":contentReveal<=0,children:description})]}):null,/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",marginTop:carouselMarginTop,minHeight:lerpedStageHeight,overflow:\"visible\",zIndex:Z_CARD},children:[/*#__PURE__*/_jsx(\"div\",{ref:carouselViewportRef,style:{position:\"relative\",minWidth:0,width:\"100%\",minHeight:lerpedStageHeight,overflow:\"visible\"},children:/*#__PURE__*/_jsxs(\"div\",{ref:carouselRef,className:useHorizontalScroll?CAROUSEL_SCROLL_CLASS:undefined,onPointerDown:onPointerDown,onPointerMove:onPointerMove,onPointerUp:endDrag,onPointerCancel:endDrag,onScroll:onCarouselScroll,style:{position:\"relative\",minWidth:0,width:useHorizontalScroll?`calc(100% + ${carouselBleed}px)`:\"100%\",marginRight:useHorizontalScroll?`-${carouselBleed}px`:undefined,minHeight:lerpedStageHeight,overflowX:useHorizontalScroll?carouselScrollInteractive?\"auto\":\"hidden\":\"visible\",overflowY:useHorizontalScroll?\"hidden\":\"visible\",WebkitOverflowScrolling:useHorizontalScroll?\"touch\":undefined,overscrollBehaviorX:carouselScrollInteractive&&total>1?\"contain\":undefined,scrollSnapType:undefined,touchAction:!carouselScrollInteractive&&useHorizontalScroll?\"pan-y\":showAssembled&&enableDrag&&!useHorizontalScroll?\"pan-y\":\"auto\",cursor:showAssembled&&enableDrag&&!useHorizontalScroll?isDragging?\"grabbing\":\"grab\":\"default\"},children:[useMobileScatteredInStage?/*#__PURE__*/_jsx(\"h2\",{style:{...headingStyle,position:\"absolute\",left:0,right:0,top:\"50%\",margin:0,padding:MOBILE_SCATTERED_TITLE_PADDING,boxSizing:\"border-box\",transform:\"translateY(-50%)\",zIndex:Z_SECTION_HEADER,pointerEvents:\"none\",opacity:Math.max(0,1-layoutProgress/.72)},children:headingLines.map((line,index)=>/*#__PURE__*/_jsxs(\"span\",{children:[index>0?/*#__PURE__*/_jsx(\"br\",{}):null,line]},`mobile-scattered-title-${line}-${index}`))}):null,/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:layoutProgress>0?trackWidth:\"100%\",minWidth:useHorizontalScroll?\"100%\":undefined,paddingRight:useHorizontalScroll?carouselBleed:undefined,boxSizing:useHorizontalScroll?\"content-box\":undefined,height:trackHeight,overflow:\"visible\",clipPath:showAssembled&&!sliderUsesNativeScroll?`inset(0 ${-carouselBleed}px 0 0)`:undefined,transform:trackSlideX!==0?`translateX(${Math.round(trackSlideX)}px)`:undefined,transition:sliderUsesNativeScroll||isDragging?\"none\":showAssembled?SLIDE_TRANSITION:undefined,willChange:layoutProgress>0&&layoutProgress<1?\"transform\":undefined},children:normalizedCards.map((card,index)=>{const scattered=scatteredLayout.slots[index%scatteredLayout.slots.length];const scatteredLeft=Math.round(scattered.x*scatteredScale);const scatteredTop=Math.round(scattered.y*scatteredScale);const scatteredWidth=Math.round(scattered.w*scatteredScale);const scatteredImageH=Math.round(scattered.h*scatteredScale);const cardTrackLeft=assembledCardLeft(index,effectiveCardWidth,resolvedCardGap);const t=layoutProgress;const left=Math.round(lerp(scatteredLeft,cardTrackLeft,t));const top=Math.round(lerp(scatteredTop,0,t));const width=Math.round(lerp(scatteredWidth,effectiveCardWidth,t));const imageH=Math.round(lerp(scatteredImageH,resolvedImageHeight,t));const cardSurfaceStyle={position:\"absolute\",left,top,width,display:\"flex\",flexDirection:\"column\",gap:Math.round(lerp(0,CARD_CONTENT_GAP,t)),...layoutProgress>0?{minHeight:Math.round(lerp(imageH+CARD_CONTENT_GAP,layoutCardBodyHeight,t))}:{},zIndex:Z_CARD+index,scrollSnapAlign:undefined};const cardContent=/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{className:showAssembled?CARD_IMAGE_HOVER_CLASS:undefined,style:{position:\"relative\",zIndex:1,width:\"100%\",height:imageH,borderRadius:CARD_IMAGE_RADIUS,overflow:\"hidden\",flexShrink:0},children:/*#__PURE__*/_jsx(\"img\",{src:card.image,alt:\"\",draggable:false,onDragStart:event=>event.preventDefault(),style:{display:\"block\",width:\"100%\",height:\"100%\",objectFit:\"cover\",userSelect:\"none\",pointerEvents:\"none\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8,alignItems:isMobile?\"flex-start\":\"stretch\",...layoutProgress>.5?{flex:layoutProgress,minHeight:Math.round(lerp(0,layoutTextBlockHeight,layoutProgress))}:{},opacity:contentReveal,transform:`translateY(${lerp(8,0,contentReveal)}px)`,transition:contentTransition,pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"h3\",{style:cardTitleStyle,children:card.title}),card.subtitle?/*#__PURE__*/_jsx(\"p\",{style:cardSubtitleStyle,children:card.subtitle}):null,showCardButtons?/*#__PURE__*/_jsx(\"div\",{style:layoutProgress>=.92?{marginTop:\"auto\"}:undefined,children:renderCardCta(pillVariant,card)}):null]})]});const cardKey=`${card.title}-${index}`;return /*#__PURE__*/_jsx(\"div\",{className:showAssembled?CARD_ITEM_HOVER_CLASS:undefined,role:showAssembled&&card.buttonLink?\"link\":undefined,tabIndex:showAssembled&&card.buttonLink?0:undefined,onClick:showAssembled&&card.buttonLink?()=>{window.location.assign(card.buttonLink);}:undefined,onKeyDown:showAssembled&&card.buttonLink?event=>{if(event.key===\"Enter\"||event.key===\" \"){event.preventDefault();window.location.assign(card.buttonLink);}}:undefined,style:{...cardSurfaceStyle,cursor:showAssembled?\"pointer\":\"default\"},children:cardContent},cardKey);})})]})}),isMobile&&total>1?/*#__PURE__*/_jsx(\"div\",{style:{marginTop:mobileControlsMarginTop,maxHeight:mobileControlsMaxHeight,overflow:\"visible\",width:\"100%\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:12,width:\"100%\",overflow:\"visible\",paddingTop:NAV_BUTTON_SHADOW_BLEED,paddingBottom:NAV_BUTTON_SHADOW_BLEED,boxSizing:\"border-box\",opacity:mobileControlsVisible?1:0,pointerEvents:mobileControlsVisible?\"auto\":\"none\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:14,minWidth:0},children:[/*#__PURE__*/_jsx(ProgressBar,{progress:progress,ctaColor:ctaColor,width:MOBILE_PROGRESS_BAR_WIDTH}),/*#__PURE__*/_jsxs(\"span\",{\"aria-live\":\"polite\",style:{...PROGRESS_COUNTER_STYLE,whiteSpace:\"nowrap\",fontVariantNumeric:\"tabular-nums\"},children:[safeIndex+1,\" / \",total]})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:9,flexShrink:0,overflow:\"visible\",paddingLeft:NAV_BUTTON_SHADOW_BLEED,paddingRight:NAV_BUTTON_SHADOW_BLEED,marginRight:-NAV_BUTTON_SHADOW_BLEED},children:navButtons})]})}):null]})]}),/*#__PURE__*/_jsx(\"div\",{ref:cardTextMeasureRef,\"aria-hidden\":true,style:{position:\"absolute\",left:0,top:0,width:effectiveCardWidth,visibility:\"hidden\",pointerEvents:\"none\",zIndex:-1},children:normalizedCards.map((card,index)=>/*#__PURE__*/_jsxs(\"div\",{\"data-card-text-measure\":true,style:{display:\"flex\",flexDirection:\"column\",gap:8,width:\"100%\"},children:[/*#__PURE__*/_jsx(\"h3\",{style:cardTitleStyle,children:card.title}),card.subtitle?/*#__PURE__*/_jsx(\"p\",{style:cardSubtitleStyle,children:card.subtitle}):null,showCardButtons?/*#__PURE__*/_jsx(PillCtaButton,{label:card.buttonLabel,decorative:true,hovered:false,variant:pillVariant,background:ctaColor,iconGradient:iconGradient}):null]},`measure-${card.title}-${index}`))})]});}ScatteredFeatureCardsSection.displayName=\"Scattered Feature Cards Section\";addPropertyControls(ScatteredFeatureCardsSection,{heading:{type:ControlType.String,title:\"Heading\",displayTextArea:true,defaultValue:DEFAULT_HEADING},description:{type:ControlType.String,title:\"Description\",displayTextArea:true,defaultValue:DEFAULT_DESCRIPTION},headingFont:{type:ControlType.Font,title:\"Heading\",controls:\"extended\",defaultValue:DEFAULT_HEADING_FONT},headingFontMobile:{type:ControlType.Font,title:\"Heading (Mobile)\",controls:\"extended\",defaultValue:DEFAULT_HEADING_FONT_MOBILE},headingWidth:{type:ControlType.Number,title:\"Heading width\",defaultValue:DEFAULT_HEADING_WIDTH,min:0,max:1200,step:1,unit:\"px\",description:\"Max width of the heading column on desktop. 0 = full width of the section.\"},paragraphFont:{type:ControlType.Font,title:\"Paragraph\",controls:\"extended\",defaultValue:DEFAULT_PARAGRAPH_FONT},paragraphFontMobile:{type:ControlType.Font,title:\"Paragraph (Mobile)\",controls:\"extended\",defaultValue:DEFAULT_PARAGRAPH_FONT_MOBILE},cardTitleFont:{type:ControlType.Font,title:\"Card Title\",controls:\"extended\",defaultValue:DEFAULT_CARD_TITLE_FONT},cardTitleFontMobile:{type:ControlType.Font,title:\"Card Title (Mobile)\",controls:\"extended\",defaultValue:DEFAULT_CARD_TITLE_FONT_MOBILE},cardDescriptionFont:{type:ControlType.Font,title:\"Card Description\",controls:\"extended\",defaultValue:DEFAULT_CARD_DESCRIPTION_FONT},cardDescriptionFontMobile:{type:ControlType.Font,title:\"Card Description (Mobile)\",controls:\"extended\",defaultValue:DEFAULT_CARD_DESCRIPTION_FONT_MOBILE},cards:{type:ControlType.Array,title:\"Cards\",control:{type:ControlType.Object,controls:{title:{type:ControlType.String,title:\"Title\",defaultValue:\"E-Commerce\"},subtitle:{type:ControlType.String,title:\"Subtitle\",defaultValue:\"Sell Across Global Markets\"},image:{type:ControlType.Image,title:\"Image\"},buttonLabel:{type:ControlType.String,title:\"Button label\",defaultValue:\"Learn More\"},buttonLink:{type:ControlType.Link,title:\"Button link\"}}},defaultValue:DEFAULT_CARDS,maxCount:12},ctaColor:{type:ControlType.Color,title:\"CTA color\",defaultValue:DEFAULT_CTA,description:\"Circle nav buttons and progress bar (pill CTA uses its own preset).\"},iconGradient:{type:ControlType.String,title:\"Nav icon gradient\",defaultValue:DEFAULT_ICON_GRADIENT,displayTextArea:true,description:\"Circle arrow nav buttons only.\"},cardWidth:{type:ControlType.Number,title:\"Card width\",defaultValue:DEFAULT_CARD_WIDTH,min:220,max:420,step:1,unit:\"px\"},cardGap:{type:ControlType.Number,title:\"Card gap\",defaultValue:DEFAULT_CARD_GAP,min:0,max:48,step:1,unit:\"px\"},cardPeek:{type:ControlType.Number,title:\"Card peek\",defaultValue:DEFAULT_CARD_PEEK,min:40,max:200,step:1,unit:\"px\",description:\"How much of the next card shows; also sets carousel bleed.\"},imageHeight:{type:ControlType.Number,title:\"Image height\",defaultValue:DEFAULT_IMAGE_HEIGHT,min:120,max:360,step:1,unit:\"px\"},assembledPaddingY:{type:ControlType.Number,title:\"Padding Y\",defaultValue:0,min:0,max:160,step:1,unit:\"px\",description:\"Top and bottom padding on the section when cards are in the slider layout (not scattered).\"},showCardButtons:{type:ControlType.Boolean,title:\"Show buttons\",defaultValue:true,description:\"Show the Learn More pill on each card. When off, assembled cards still link via button URL if set.\"},enableDrag:{type:ControlType.Boolean,title:\"Enable drag\",defaultValue:true,description:\"When assembled, enables horizontal scrolling (touch or trackpad). Turn off for nav-button-only control.\"},navButtonSize:{type:ControlType.Number,title:\"Nav size\",defaultValue:33,min:24,max:56,step:1,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"ScatteredFeatureCardsSectionProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"ScatteredFeatureCardsSection\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"ScatteredFeatureCard\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}