{"version":3,"file":"ScatteredFeatureCardsSection.BKWhtXgB.mjs","names":["useRef","useState","useCallback","measureCardButtons","_Fragment"],"sources":["https:/framerusercontent.com/modules/U3HctPUnzz79qAaFZnz6/DtiZIbneHY2LxY1tJNyr/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/V8IjDWpUptjGQCNahSvQ/ZaCdlafGujZNwdOULBSp/PillCtaButton.js\";import CircleArrowButton from\"https://framerusercontent.com/modules/YPl7w4sKyRUJArJm7rUh/ITzT7BEGINrWr60bRDk3/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';import{APPEAR_EASE_CSS}from\"https://framerusercontent.com/modules/dnxQ4vq9b47ENzmSSrT0/e8rpET1NJOfVe7ZsgEkK/Tokens.js\";const EASE_OUT=APPEAR_EASE_CSS;/** 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\"};/** Permanent site CDN assets (the live homepage card images) — the previous\n * figma.com/api/mcp/asset URLs were ephemeral and 404 once they expire. */const DEFAULT_IMAGES=[\"https://framerusercontent.com/images/8XscGNOFxyLPiWtr5L9gNn53ZQ.webp\",\"https://framerusercontent.com/images/BSBbJ9hQHw6VrRKuoi2iuMOKM.webp\",\"https://framerusercontent.com/images/4UsFHbVgK4OrABASRzOiEpGYD0.webp\",\"https://framerusercontent.com/images/3lv6foBuzpi7HMGsSEmlTgrS59U.webp\"];/**\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\"\";}/**\n * framerusercontent.com only resizes via `scale-down-to`; the `width`/`height`\n * params Framer stores on asset URLs are metadata, so using them verbatim ships\n * the full-size original. Request the card's rendered width instead, bucketed\n * to 64px so viewport jitter doesn't fragment the CDN cache.\n * (Self-contained copy — kept per-file like resolveImageUrl.)\n */function framerCardImageProps(url,cssWidth){if(!url.startsWith(\"https://framerusercontent.com/images/\")){return{src:url};}const sized=width=>{try{const parsed=new URL(url);parsed.searchParams.delete(\"width\");parsed.searchParams.delete(\"height\");parsed.searchParams.set(\"scale-down-to\",String(width));return parsed.toString();}catch{return url;}};const oneX=Math.max(64,Math.ceil(cssWidth/64)*64);return{src:sized(oneX),srcSet:`${sized(oneX)} 1x, ${sized(oneX*2)} 2x`};}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,ariaLabel:card.title.trim()?`${card.buttonLabel} – ${card.title}`:undefined,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\",{...framerCardImageProps(card.image,resolvedCardWidth),alt:\"\",loading:index===0?undefined:\"lazy\",decoding:\"async\",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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"}