{"version":3,"file":"ProjectStrip.Cjq1kde2.mjs","names":["ph","useRef","useState","startTransition","HG","EASE","_Fragment","LIME","WS","useState","useRef","p","startTransition"],"sources":["https:/framerusercontent.com/modules/c0HKZTbnSXTWIJ3k2omJ/Bf4AmRQvR1j0VKm2gmbe/CaseChapters.js","https:/framerusercontent.com/modules/d7zGOLaHNQKocfROeBjU/kEkTzoP7dIcInyQAfjIW/ProjectStrip.js"],"sourcesContent":["// Kaliber case-study chapters: the hero of a case study. A pinned section that walks through a project image by\n// image. Right: the images are the faces of a prism that flips vertically (rotateX), one face per chapter,\n// spring-settled, with pointer magnetism. The prism is pushed back by its own radius so the front face sits on the\n// screen plane at exactly its layout size (no perspective magnification, stays inside the page margin).\n// Gap: each face can be pushed out along its own normal (and the prism back by the same amount, so the front face\n// never leaves the screen plane and a landing flight still hits it). \"Gap\" is the seam between two neighbouring faces\n// in px at rest, 0 = the faces touch. \"Breathe\" is an extra opening that grows while the prism turns and closes as it\n// settles, so the block splits in motion and locks back together when it lands. Both scale to 60% on phones.\n// Left: chapter 01 is the intro (eyebrow, project name at display size, summary, tag pills); chapters 02+ show a\n// marker, title, paragraph and fact line. The text for the current face stays on screen while the prism turns; once\n// the turn is about four fifths done (Swap control) it drops away and the next chapter's text rises in as the new face\n// settles. Same in reverse when scrolling back.\n// Hover on the face (desktop only, on top of the magnetism, which keeps moving the whole prism): the image eases up\n// 3.5%, a soft light follows the pointer across the face like a sheen on glass, and a hairline inner edge fades in.\n// The face is also clickable: the cursor reads \"Next\" and a click turns the prism to the next chapter, so the pinned\n// section is discoverable without scrolling. On the last chapter the cursor and the click go quiet.\n// Content: \"Project\" picks the built-in chapter copy (Chango, Beyond Diagnosis, Margaritaville, Nagaraja). The\n// Chapters list overrides it item by item: anything left empty in an item (or a title still reading \"Chapter\") falls\n// back to the built-in chapter at that position, so adding four items and only uploading images is enough.\n// Landing: if a #kaliber-flight element is in the document (a cover carried across from the home cube) the prism\n// starts hidden, magnetism is held at rest, and every frame the flight's spring target is set to the real rect of the\n// front-face slot. The intro text rises in while the image is still arriving. Once the flight has settled and the face\n// image is ready the prism is shown underneath and the flight element removed. For that visit the front face uses the\n// flown image, so the hand-over is invisible even if the two images are not the same file.\n// Scroll lock: assist (geared wheel + snap), step, off.\n// Top band (counter left, progress and \"All work\" right) sits on the Top inset line, the same line as the\n// \"Selected works\" band on the home cube, clear of the full-height nav. The face is sized to leave 60px of air above\n// and below it inside the content area, so it never reaches up into the band, even with magnetism.\n// Phone: band under the nav, prism on top, text below, one column.\n// This file also exports CaseBrief (the three-column Challenge / Approach / Outcome section that follows the hero).\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{motion,AnimatePresence,useScroll,useSpring,useTransform,useMotionValue,useMotionValueEvent,useMotionTemplate,useInView}from\"framer-motion\";import{addPropertyControls,ControlType,useIsStaticRenderer,Link}from\"framer\";const LIME=\"#8CFF2F\";const HG='\"Host Grotesk\", \"Inter\", sans-serif';const WS='\"Work Sans\", \"Inter\", sans-serif';const EASE=[.22,1,.36,1];const P0=.04,P1=.96;const ph=s=>({src:`https://picsum.photos/seed/${s}/1400/1000`,alt:\"\"});const WORK_PAGE=\"ClhrML8qj\";const PRESETS={chango:[{title:\"One app for the island\",text:\"Food, parcels, motorbike taxis and off-island transfers in a single product, for an audience that had only ever known one delivery service on Koh Chang.\",fact:\"Customer \\xb7 Driver \\xb7 Vendor \\xb7 Admin\",image:ph(\"chango-cover\")},{title:\"An identity that ships\",text:\"Chango Emerald, Urbanist and Noto Sans Thai, and the elephant hidden in the g. The same system runs across every screen, deck and onboarding sheet.\",fact:\"Brand identity \\xb7 Guidelines\",image:ph(\"chango-brand\")},{title:\"Flows before screens\",text:\"Fees, onboarding and driver requirements shaped the journeys first. Restaurant menus, rides and parcels each got their own path, written for English and Thai rather than translated.\",fact:\"UX/UI \\xb7 UX writing EN / TH\",image:ph(\"chango-product\")},{title:\"Ready. Set. Go.\",text:\"Uniforms, delivery bags, packaging and the Krungthai Bank partnership deck, all from the same system, so the launch did not need a separate design phase.\",fact:\"Launch \\xb7 Partnerships\",image:ph(\"chango-launch\")}],beyond:[{title:\"From Onus to Beyond Diagnosis\",text:\"A new name and identity inside the platform that already existed, so the founder kept her content, her practitioners and her audience.\",fact:\"Rebrand \\xb7 Brand assets\",image:ph(\"beyond\")},{title:\"A hero for the person, not the product\",text:\"Site copy and hero messaging rewritten for someone who has just been handed a diagnosis, with the podcast and YouTube channel brought into the site.\",fact:\"Site copy \\xb7 Podcast and YouTube\",image:ph(\"beyond-copy\")},{title:\"The trust audit\",text:\"Dummy profiles and placeholder reviews removed, Ratings renamed Reviews, empty review sections hidden and search counts corrected. Nothing on the page that a worried reader could doubt.\",fact:\"Credibility audit \\xb7 CMS cleanup\",image:ph(\"beyond-audit\")},{title:\"Fixed, not rebuilt\",text:\"Mobile QA, tag wrapping, profile loading and collapsed states repaired inside Wix, so the platform improved without the cost of starting again.\",fact:\"Wix \\xb7 Responsive QA\",image:ph(\"beyond-qa\")}],margaritaville:[{title:\"A bar built around the margarita\",text:\"Brand voice and promotional messaging for a venue in Kai Bae, Koh Chang, led by frozen drinks, signature margaritas and oversized cocktails.\",fact:\"Hospitality brand \\xb7 Messaging\",image:ph(\"margarita\")},{title:\"Opening night, then every week after\",text:\"Opening creative, DJ nights and seasonal promotions as Instagram posts and stories, turned around at the speed a bar actually needs.\",fact:\"Event creative \\xb7 Social\",image:ph(\"margarita-social\")},{title:\"A menu written to be ordered\",text:\"Cocktail names and descriptions, venue and menu copy in one voice, playful without being loud.\",fact:\"Menu copy \\xb7 Cocktail naming\",image:ph(\"margarita-menu\")},{title:\"Posters that survive the feed\",text:\"Poster layouts with safe-zone specifications and animation prompts, so one design works in print, in stories and in motion.\",fact:\"Poster system \\xb7 Motion prompts\",image:ph(\"margarita-poster\")}],nagaraja:[{title:\"A handover, not a logo file\",text:\"The identity documented as a system: colour, type, spacing and pattern rules, with the reasoning behind each of them.\",fact:\"Brand handover \\xb7 Guidelines\",image:ph(\"nagaraja\")},{title:\"The mark, in repeat\",text:\"The identity translated into patterns for sarongs and textiles, built to repeat cleanly at any scale.\",fact:\"Pattern design \\xb7 Sarongs\",image:ph(\"nagaraja-pattern\")},{title:\"Made to be worn\",text:\"Clothing applications that carry the brand without shouting it, from placement prints to all-over pattern.\",fact:\"Apparel\",image:ph(\"nagaraja-apparel\")},{title:\"A brief that generates\",text:\"Poster direction and an AI-ready creative brief with references and constraints, so new work stays on brand without the original designer in the room.\",fact:\"Poster direction \\xb7 AI creative brief\",image:ph(\"nagaraja-brief\")}]};function resolveChapters(raw,preset){const base=PRESETS[preset]||PRESETS.chango;if(!raw||raw.length<2)return base;return raw.slice(0,6).map((c,i)=>{const b=base[i];const title=c?.title&&c.title!==\"Chapter\"?c.title:b?.title||c?.title||\"\";return{title,text:c?.text||b?.text||\"\",fact:c?.fact||b?.fact||\"\",image:c?.image?.src?c.image:b?.image||ph(\"c\"+i)};});}function scrollWindowTo(y){if(window.__kaliberSmooth)window.dispatchEvent(new CustomEvent(\"kaliber:scrollto\",{detail:y}));else window.scrollTo({top:y,behavior:\"smooth\"});}const flightEl=()=>typeof document===\"undefined\"?null:document.getElementById(\"kaliber-flight\");/**\n * Case Chapters\n *\n * @framerIntrinsicWidth 1440\n * @framerIntrinsicHeight 900\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n */export default function CaseChapters(props){const{preset=\"chango\",chapters:raw,eyebrow=\"Case study \\xb7 Brand, product, launch\",title=\"Chango\",summary=\"Brand system, customer and driver apps, bilingual UX writing and the bank partnership deck for a multi-service delivery platform in Thailand.\",tags=\"Identity, UX/UI, Pitch deck, EN / TH\",allLabel=\"All work\",allLink=\"/work\",magnet=1,gap=0,breathe=28,hover=true,swapAt=.8,lock=\"assist\",friction=.35,stepDelay=900,topInset=124,style}=props;const chapters=resolveChapters(raw,preset);const n=chapters.length;const isStatic=useIsStaticRenderer();const ref=useRef(null);const slotRef=useRef(null);const faceImgRef=useRef(null);const cornerRef=useRef(18);const[narrow,setNarrow]=useState(()=>flightEl()?window.innerWidth<810:false);const[touch,setTouch]=useState(false);const[idx,setIdx]=useState(0);const idxRef=useRef(0);// real viewport on the first render only when a flight is arriving (always a client-side navigation, so there is\n// no server markup to disagree with); otherwise fixed defaults until the effect below measures\nconst[vw,setVw]=useState(()=>flightEl()?window.innerWidth:1440);const[vh,setVh]=useState(()=>flightEl()?window.innerHeight:900);// a flight is arriving: decided before the first paint so the prism never flashes underneath it\nconst[landing,setLanding]=useState(()=>!!flightEl());const[flightSrc]=useState(()=>flightEl()?.dataset?.src||\"\");const[textReady,setTextReady]=useState(false);const landingRef=useRef(landing);// hover on the face\nconst[hov,setHov]=useState(false);const hx=useMotionValue(50),hy=useMotionValue(40);const sx=useSpring(hx,{stiffness:90,damping:20});const sy=useSpring(hy,{stiffness:90,damping:20});const sheen=useMotionTemplate`radial-gradient(circle at ${sx}% ${sy}%, rgba(255,255,255,0.20) 0%, rgba(255,255,255,0.06) 28%, rgba(255,255,255,0) 58%)`;useEffect(()=>{if(typeof window===\"undefined\")return;const check=()=>startTransition(()=>{setNarrow(window.innerWidth<810);setVw(window.innerWidth);setVh(window.innerHeight);setTouch(window.matchMedia(\"(hover: none)\").matches);});check();window.addEventListener(\"resize\",check);return()=>window.removeEventListener(\"resize\",check);},[]);const{scrollYProgress}=useScroll({target:ref,offset:[\"start start\",\"end end\"]});const raw01=useTransform(scrollYProgress,[P0,P1],[0,n-1]);const stepped=useTransform(raw01,v=>{const i=Math.floor(v),f=v-i;const e=f<.5?2*f*f:1-Math.pow(-2*f+2,2)/2;return Math.min(n-1,i+e);});const pos=useSpring(stepped,{stiffness:70,damping:18,mass:.6});// The shown chapter follows the prism, late: it only changes once the turn toward a face is swapAt (80%) done,\n// so the text of the face being left stays up for most of the turn and the new text arrives with the new face.\nconst gate=1-Math.min(.95,Math.max(.55,swapAt));useMotionValueEvent(pos,\"change\",v=>{const nearest=Math.min(n-1,Math.max(0,Math.round(v)));if(nearest!==idxRef.current&&Math.abs(v-nearest)<gate){idxRef.current=nearest;startTransition(()=>setIdx(nearest));}});const mx=useMotionValue(0),my=useMotionValue(0);// landing for the image flight\nuseEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const fl=flightEl();if(!fl){landingRef.current=false;setLanding(false);return;}fl.dataset.landing=\"1\";landingRef.current=true;mx.set(0);my.set(0);let raf=0,done=false,fallback=false;const t0=performance.now();const tText=window.setTimeout(()=>startTransition(()=>setTextReady(true)),360);const finish=()=>{if(done)return;done=true;landingRef.current=false;setLanding(false);// prism is painted underneath first, then the flown copy goes\nrequestAnimationFrame(()=>requestAnimationFrame(()=>requestAnimationFrame(()=>fl.remove())));};const tick=now=>{if(done)return;const slot=slotRef.current;if(slot){const r=slot.getBoundingClientRect();const kf=fl.__kf;if(kf){kf.target={x:r.left,y:r.top,w:r.width,h:r.height,rad:cornerRef.current};const img=faceImgRef.current;const ready=!img||img.complete&&img.naturalWidth>0;if(kf.settled&&now-t0>300&&(ready||now-t0>1800))finish();}else if(!fallback&&r.width>0){// older flight element without its own spring: one WAAPI move from where it is now\nfallback=true;const c=fl.getBoundingClientRect();const anim=fl.animate([{left:`${c.left}px`,top:`${c.top}px`,width:`${c.width}px`,height:`${c.height}px`},{left:`${r.left}px`,top:`${r.top}px`,width:`${r.width}px`,height:`${r.height}px`,borderRadius:`${cornerRef.current}px`}],{duration:900,easing:\"cubic-bezier(0.22,1,0.36,1)\",fill:\"forwards\"});anim.onfinish=finish;}}if(now-t0>2800){finish();return;}raf=requestAnimationFrame(tick);};raf=requestAnimationFrame(tick);return()=>{cancelAnimationFrame(raf);window.clearTimeout(tText);};},[isStatic]);// where the page must scroll to for chapter i (shared by the scroll lock and the click-to-advance)\nconst yFor=i=>{const el=ref.current;if(!el)return window.scrollY;const r=el.getBoundingClientRect();const top=r.top+window.scrollY,travel=r.height-window.innerHeight;const p=n>1?P0+(P1-P0)*(i/(n-1)):.5;return Math.round(top+p*travel);};// scroll lock\nuseEffect(()=>{if(isStatic||lock===\"off\"||typeof window===\"undefined\")return;const el=ref.current;if(!el)return;const geom=()=>{const r=el.getBoundingClientRect();return{top:r.top+window.scrollY,travel:r.height-window.innerHeight};};const pinned=()=>{const r=el.getBoundingClientRect();return r.top<=1&&r.bottom>=window.innerHeight-1;};const nearestIndex=()=>{const g=geom();const p=(window.scrollY-g.top)/Math.max(1,g.travel);return Math.min(n-1,Math.max(0,Math.round((p-P0)/(P1-P0)*(n-1))));};const cleanup=[];if(lock===\"step\"){let busy=0;const step=dir=>{const from=nearestIndex();const next=from+dir;if(next<0||next>n-1)return false;const now=performance.now();if(now<busy)return true;busy=now+stepDelay;scrollWindowTo(yFor(next));return true;};const onWheel=e=>{if(!pinned()||e.ctrlKey)return;const dy=e.deltaMode===1?e.deltaY*16:e.deltaY;if(Math.abs(dy)<4)return;if(step(dy>0?1:-1)){e.preventDefault();e.stopImmediatePropagation();}};let ty=0,tActive=false;const onTouchStart=e=>{ty=e.touches[0].clientY;tActive=pinned();};const onTouchMove=e=>{if(!tActive)return;const dy=ty-e.touches[0].clientY;if(Math.abs(dy)<24){if(pinned())e.preventDefault();return;}if(step(dy>0?1:-1))e.preventDefault();tActive=false;};window.addEventListener(\"wheel\",onWheel,{passive:false,capture:true});window.addEventListener(\"touchstart\",onTouchStart,{passive:true});window.addEventListener(\"touchmove\",onTouchMove,{passive:false});cleanup.push(()=>{window.removeEventListener(\"wheel\",onWheel,{capture:true});window.removeEventListener(\"touchstart\",onTouchStart);window.removeEventListener(\"touchmove\",onTouchMove);});}if(lock===\"assist\"){let target=window.scrollY,active=false,snapTimer=0;const gear=Math.min(1,Math.max(.1,friction));const onWheel=e=>{if(e.ctrlKey||!pinned()){active=false;return;}const dy=e.deltaMode===1?e.deltaY*16:e.deltaY;const first=yFor(0),last=yFor(n-1);const y=active?target:window.scrollY;if(dy>0&&y>=last-1||dy<0&&y<=first+1){active=false;return;}e.preventDefault();e.stopImmediatePropagation();if(!active){active=true;target=window.scrollY;}target=Math.min(last,Math.max(first,target+dy*gear));scrollWindowTo(target);window.clearTimeout(snapTimer);snapTimer=window.setTimeout(()=>{active=false;scrollWindowTo(yFor(nearestIndex()));},140);};let touching=false;const onTouchStart=()=>{touching=true;};const onTouchEnd=()=>{touching=false;window.setTimeout(()=>{if(!touching&&pinned())scrollWindowTo(yFor(nearestIndex()));},220);};window.addEventListener(\"wheel\",onWheel,{passive:false,capture:true});window.addEventListener(\"touchstart\",onTouchStart,{passive:true});window.addEventListener(\"touchend\",onTouchEnd,{passive:true});cleanup.push(()=>{window.clearTimeout(snapTimer);window.removeEventListener(\"wheel\",onWheel,{capture:true});window.removeEventListener(\"touchstart\",onTouchStart);window.removeEventListener(\"touchend\",onTouchEnd);});}return()=>cleanup.forEach(f=>f());},[isStatic,lock,friction,stepDelay,n]);const tiltY=useSpring(useTransform(mx,[-1,1],[-8*magnet,8*magnet]),{stiffness:60,damping:16});const tiltX=useSpring(useTransform(my,[-1,1],[5*magnet,-5*magnet]),{stiffness:60,damping:16});const shiftX=useSpring(useTransform(mx,[-1,1],[-16*magnet,16*magnet]),{stiffness:50,damping:16});const shiftY=useSpring(useTransform(my,[-1,1],[-12*magnet,12*magnet]),{stiffness:50,damping:16});useEffect(()=>{if(isStatic||touch||magnet<=0||typeof window===\"undefined\")return;// held at rest while a flight is landing, so the face is exactly where the flight is heading\nconst onMove=e=>{if(landingRef.current)return;mx.set(e.clientX/window.innerWidth*2-1);my.set(e.clientY/window.innerHeight*2-1);};const onLeave=()=>{mx.set(0);my.set(0);};window.addEventListener(\"mousemove\",onMove,{passive:true});document.addEventListener(\"mouseleave\",onLeave);return()=>{window.removeEventListener(\"mousemove\",onMove);document.removeEventListener(\"mouseleave\",onLeave);};},[isStatic,touch,magnet]);const cur=chapters[Math.min(n-1,Math.max(0,idx))];const barW=useTransform(scrollYProgress,[P0,P1],[\"0%\",\"100%\"]);// Geometry. The face is centred in the content area exactly as chapterFaceBox() in WorkShowcase.tsx and\n// WorkGrid.tsx predicts, so a flight always heads for the right centre. Its height is capped a little lower here\n// (60px of air above and below, for the band) than in those predictions, which only shows on short, wide screens\n// and is absorbed by the flight's retargeting on arrival.\nconst top=narrow?88:topInset;const side=narrow?24:\"4vw\";const stageW=narrow?vw-48:vw*.5-40;const stageH=narrow?Math.max(200,vh*.42):Math.max(240,vh-top-vh*.05-120);const ratio=.72;const fw=Math.min(stageW,stageH/ratio);const fh=fw*ratio;const step=360/Math.max(3,n);const rotX=useTransform([pos,tiltX],([v,tx])=>v*step+tx);const radius=fh/2/Math.tan(Math.PI/Math.max(3,n));const corner=narrow?14:18;cornerRef.current=corner;const tagList=tags.split(\",\").map(s=>s.trim()).filter(Boolean);const allHref=(allLink||\"\").replace(/\\/$/,\"\")===\"/work\"?{webPageId:WORK_PAGE}:allLink;// Gap between faces. Pushing every face out by e along its normal opens a seam of 2 e tan(pi/n) between\n// neighbours, so a seam of `open` px needs e = open / (2 tan(pi/n)). The prism goes back by the same e, which keeps\n// the front face on the screen plane (and the flight's landing slot true). `open` is the rest gap plus the breathe\n// amount at the middle of a turn.\nconst gapScale=narrow?.6:1;const tanN=Math.tan(Math.PI/Math.max(3,n));const open=useTransform(pos,v=>{const f=v-Math.floor(v);const turn=Math.sin(Math.PI*f);return Math.max(0,gap+breathe*turn)*gapScale;});const pushOut=useTransform(open,o=>o/(2*tanN));const backZ=useTransform(pushOut,e=>-(radius+e));const pushVar=useTransform(pushOut,e=>`${(radius+e).toFixed(2)}px`);if(isStatic){return /*#__PURE__*/_jsxs(\"section\",{style:{...style,background:\"#000\",color:\"#fff\",height:900,position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:\"4%\",top:\"20%\",width:\"46%\",height:\"60%\",borderRadius:18,overflow:\"hidden\",background:\"#111\"},children:/*#__PURE__*/_jsx(\"img\",{src:chapters[0].image?.src||ph(\"c0\").src,alt:\"\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:\"4%\",top:\"30%\",width:\"40%\",fontFamily:HG,fontWeight:800,fontSize:96,letterSpacing:\"-0.05em\",lineHeight:.95},children:title})]});}const intro=idx===0;const text=/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",minHeight:narrow?220:undefined},children:/*#__PURE__*/_jsx(AnimatePresence,{mode:\"wait\",children:(!landing||textReady)&&/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},exit:{opacity:0,y:-18,transition:{duration:.2}},transition:{duration:.6,ease:EASE},children:intro?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:HG,fontWeight:700,fontSize:13,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:LIME,marginBottom:narrow?14:22},children:eyebrow}),/*#__PURE__*/_jsx(\"h1\",{style:{margin:0,fontFamily:HG,fontWeight:800,fontSize:narrow?52:\"clamp(56px, 6.4vw, 112px)\",letterSpacing:\"-0.055em\",lineHeight:.92,color:\"#fff\"},children:title}),/*#__PURE__*/_jsx(\"p\",{style:{margin:narrow?\"16px 0 0\":\"26px 0 0\",fontFamily:WS,fontSize:narrow?16:20,lineHeight:1.5,letterSpacing:\"-0.015em\",color:\"#c9c9c9\",maxWidth:480},children:summary}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:8,marginTop:narrow?16:24},children:tagList.map((tg,i)=>/*#__PURE__*/_jsx(motion.span,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{delay:.15+i*.05,duration:.4,ease:EASE},style:{fontFamily:HG,fontWeight:700,fontSize:13,color:\"#fff\",border:\"1px solid rgba(255,255,255,0.2)\",borderRadius:999,height:32,padding:\"0 14px\",display:\"inline-flex\",alignItems:\"center\"},children:tg},i))})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{style:{fontFamily:HG,fontWeight:700,fontSize:13,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:LIME,marginBottom:narrow?14:22},children:[String(idx+1).padStart(2,\"0\"),\" / \",String(n).padStart(2,\"0\")]}),/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,fontFamily:HG,fontWeight:800,fontSize:narrow?34:\"clamp(36px, 3.6vw, 64px)\",letterSpacing:\"-0.045em\",lineHeight:.98,color:\"#fff\",maxWidth:520},children:cur.title}),/*#__PURE__*/_jsx(\"p\",{style:{margin:narrow?\"14px 0 0\":\"22px 0 0\",fontFamily:WS,fontSize:narrow?16:19,lineHeight:1.55,letterSpacing:\"-0.015em\",color:\"#c9c9c9\",maxWidth:460},children:cur.text}),cur.fact&&/*#__PURE__*/_jsx(\"div\",{style:{marginTop:narrow?16:26,fontFamily:HG,fontWeight:700,fontSize:14,color:\"#8d8d8d\",letterSpacing:\"0.02em\"},children:cur.fact})]})},idx)})});// hover and click on the face (desktop, not while a flight is landing)\nconst hoverOn=hover&&!touch&&!landing;const canAdvance=hoverOn&&idx<n-1;const onFaceMove=e=>{if(!hoverOn||!slotRef.current)return;const r=slotRef.current.getBoundingClientRect();hx.set((e.clientX-r.left)/Math.max(1,r.width)*100);hy.set((e.clientY-r.top)/Math.max(1,r.height)*100);};const onFaceClick=()=>{if(!canAdvance)return;scrollWindowTo(yFor(Math.min(n-1,idx+1)));};const lit=hoverOn&&hov;const prism=/*#__PURE__*/_jsx(\"div\",{style:{width:stageW,height:stageH,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",perspective:Math.max(1200,fh*2.6)},children:/*#__PURE__*/_jsx(\"div\",{ref:slotRef,\"data-cursor\":canAdvance?\"Next\":\" \",onMouseEnter:()=>hoverOn&&startTransition(()=>setHov(true)),onMouseLeave:()=>startTransition(()=>setHov(false)),onMouseMove:onFaceMove,onClick:onFaceClick,style:{position:\"relative\",width:fw,height:fh,transformStyle:\"preserve-3d\",visibility:landing?\"hidden\":\"visible\",cursor:canAdvance?\"pointer\":\"default\"},children:/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",inset:0,transformStyle:\"preserve-3d\",z:backZ,rotateX:rotX,rotateY:touch?0:tiltY,x:touch?0:shiftX,y:touch?0:shiftY,\"--push\":pushVar},children:chapters.map((c,i)=>{const flown=i===0&&!!flightSrc;const front=i===idx;return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0,transform:`rotateX(${-i*step}deg) translateZ(var(--push, ${radius}px))`,backfaceVisibility:\"hidden\",borderRadius:corner,overflow:\"hidden\",background:\"#111\",boxShadow:\"0 40px 120px rgba(0,0,0,0.6)\"},children:[/*#__PURE__*/_jsx(motion.img,{ref:i===0?faceImgRef:undefined,src:flown?flightSrc:c.image?.src||ph(\"c\"+i).src,srcSet:flown?undefined:c.image?.srcSet,alt:c.image?.alt||c.title,animate:{scale:lit&&front?1.035:1},transition:{duration:1.1,ease:EASE},style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}}),front&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.div,{\"aria-hidden\":true,animate:{opacity:lit?1:0},transition:{duration:.5,ease:\"easeOut\"},style:{position:\"absolute\",inset:0,background:sheen,mixBlendMode:\"screen\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(motion.div,{\"aria-hidden\":true,animate:{opacity:lit?1:0},transition:{duration:.5,ease:\"easeOut\"},style:{position:\"absolute\",inset:0,borderRadius:corner,boxShadow:\"inset 0 0 0 1px rgba(255,255,255,0.22)\",pointerEvents:\"none\"}})]})]},i);})})})});return /*#__PURE__*/_jsx(\"section\",{ref:ref,style:{...style,position:\"relative\",width:\"100%\",height:`${(n+.6)*100}vh`,background:\"#000\",color:\"#fff\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"sticky\",top:0,height:\"100vh\",overflow:\"hidden\",boxSizing:\"border-box\",padding:narrow?`${top}px 24px 32px`:`${top}px 4vw 5vh`},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",position:\"absolute\",zIndex:2,left:side,right:side,top:narrow?100:top,gap:16},children:[/*#__PURE__*/_jsxs(\"span\",{style:{fontFamily:HG,fontWeight:700,fontSize:narrow?12:14,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:\"#dcdcdc\"},children:[String(idx+1).padStart(2,\"0\"),\" / \",String(n).padStart(2,\"0\")]}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",alignItems:\"center\",gap:16},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:narrow?60:120,height:1,background:\"rgba(255,255,255,0.2)\",position:\"relative\",display:\"inline-block\"},children:/*#__PURE__*/_jsx(motion.span,{style:{position:\"absolute\",left:0,top:0,height:\"100%\",background:LIME,width:barW}})}),/*#__PURE__*/_jsx(Link,{href:allHref,openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsxs(\"a\",{href:allLink,style:{fontFamily:HG,fontWeight:700,fontSize:narrow?13:14,color:\"#fff\",textDecoration:\"none\",whiteSpace:\"nowrap\",opacity:.85},children:[\"← \",allLabel]})})]})]}),narrow?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:28,height:\"100%\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{marginTop:40},children:prism}),text]}):/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"1fr 1fr\",gap:40,alignItems:\"center\",height:\"100%\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{maxWidth:600},children:text}),/*#__PURE__*/_jsx(\"div\",{style:{justifySelf:\"end\"},children:prism})]})]})});}addPropertyControls(CaseChapters,{preset:{type:ControlType.Enum,title:\"Project\",options:[\"chango\",\"beyond\",\"margaritaville\",\"nagaraja\"],optionTitles:[\"Chango\",\"Beyond Diagnosis\",\"Margaritaville\",\"Nagaraja\"],defaultValue:\"chango\"},eyebrow:{type:ControlType.String,title:\"Eyebrow\",defaultValue:\"Case study \\xb7 Brand, product, launch\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"Chango\"},summary:{type:ControlType.String,title:\"Summary\",defaultValue:\"Brand system, customer and driver apps, bilingual UX writing and the bank partnership deck for a multi-service delivery platform in Thailand.\",displayTextArea:true},tags:{type:ControlType.String,title:\"Tags\",defaultValue:\"Identity, UX/UI, Pitch deck, EN / TH\"},allLabel:{type:ControlType.String,title:\"All label\",defaultValue:\"All work\"},allLink:{type:ControlType.Link,title:\"All link\",defaultValue:\"/work\"},swapAt:{type:ControlType.Number,title:\"Text swap\",defaultValue:.8,min:.55,max:.95,step:.05,description:\"How far through the turn the text changes. Higher = the old text stays longer.\"},lock:{type:ControlType.Enum,title:\"Scroll lock\",options:[\"assist\",\"step\",\"off\"],optionTitles:[\"Assist\",\"Step\",\"Off\"],defaultValue:\"assist\",displaySegmentedControl:true},friction:{type:ControlType.Number,title:\"Friction\",defaultValue:.35,min:.1,max:1,step:.05,hidden:p=>p.lock!==\"assist\"},stepDelay:{type:ControlType.Number,title:\"Step delay\",defaultValue:900,min:300,max:2e3,step:50,unit:\"ms\",hidden:p=>p.lock!==\"step\"},magnet:{type:ControlType.Number,title:\"Magnetism\",defaultValue:1,min:0,max:2,step:.1},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:0,min:0,max:200,step:2,unit:\"px\",description:\"Seam between neighbouring faces at rest. 0 = the faces touch.\"},breathe:{type:ControlType.Number,title:\"Breathe\",defaultValue:28,min:0,max:200,step:2,unit:\"px\",description:\"Extra seam that opens in the middle of a turn and closes as the face settles.\"},hover:{type:ControlType.Boolean,title:\"Face hover\",defaultValue:true,description:\"Sheen, gentle zoom and click-to-advance on the front face.\"},topInset:{type:ControlType.Number,title:\"Top inset\",defaultValue:124,min:60,max:240,unit:\"px\",description:\"Where the counter and progress band sits, and where the content area starts.\"},chapters:{type:ControlType.Array,title:\"Chapters\",maxCount:6,control:{type:ControlType.Object,controls:{title:{type:ControlType.String,defaultValue:\"Chapter\",placeholder:\"Empty = built-in copy\"},text:{type:ControlType.String,defaultValue:\"\",displayTextArea:true,placeholder:\"Empty = built-in copy\"},fact:{type:ControlType.String,defaultValue:\"\",placeholder:\"Empty = built-in copy\"},image:{type:ControlType.ResponsiveImage}}}}});function BriefCol({n,label,body,narrow,isStatic}){const ref=useRef(null);const inView=useInView(ref,{once:true,margin:\"-10% 0px\"});const on=isStatic||inView;return /*#__PURE__*/_jsxs(motion.div,{ref:ref,initial:isStatic?false:{opacity:0,y:28},animate:on?{opacity:1,y:0}:{opacity:0,y:28},transition:{duration:.8,ease:EASE},style:{padding:narrow?\"28px 0 32px\":\"36px 32px 40px 0\",borderTop:\"1px solid rgba(255,255,255,0.14)\",minWidth:0},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"baseline\",marginBottom:narrow?16:26},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:HG,fontWeight:700,fontSize:13,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:LIME},children:label}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:HG,fontWeight:700,fontSize:13,color:\"#8d8d8d\"},children:n})]}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontFamily:WS,fontSize:narrow?16:18,lineHeight:1.6,letterSpacing:\"-0.015em\",color:\"#d6d6d6\"},children:body})]});}/**\n * Case Brief\n *\n * @framerIntrinsicWidth 1320\n * @framerIntrinsicHeight 620\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n */export function CaseBrief(props){const{heading=\"The brief\",challenge=\"\",approach=\"\",outcome=\"\",client=\"\",year=\"\",services=\"\",website=\"\",websiteLabel=\"Visit site\",quote=\"\",quoteBy=\"\",style}=props;const isStatic=useIsStaticRenderer();const[narrow,setNarrow]=useState(false);useEffect(()=>{if(typeof window===\"undefined\")return;const check=()=>startTransition(()=>setNarrow(window.innerWidth<810));check();window.addEventListener(\"resize\",check);return()=>window.removeEventListener(\"resize\",check);},[]);const facts=[[\"Client\",client],[\"Year\",year],[\"Services\",services]].filter(([,v])=>v);return /*#__PURE__*/_jsxs(\"div\",{style:{...style,width:\"100%\",color:\"#fff\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"baseline\",marginBottom:narrow?8:12},children:[/*#__PURE__*/_jsx(\"h2\",{style:{margin:0,fontFamily:HG,fontWeight:800,fontSize:narrow?36:48,letterSpacing:\"-0.045em\",lineHeight:1},children:heading}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:HG,fontWeight:700,fontSize:13,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:\"#8d8d8d\"},children:\"Read on\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:narrow?\"1fr\":\"repeat(3, 1fr)\",marginTop:narrow?20:36},children:[/*#__PURE__*/_jsx(BriefCol,{n:\"01\",label:\"Challenge\",body:challenge,narrow:narrow,isStatic:isStatic}),/*#__PURE__*/_jsx(BriefCol,{n:\"02\",label:\"Approach\",body:approach,narrow:narrow,isStatic:isStatic}),/*#__PURE__*/_jsx(BriefCol,{n:\"03\",label:\"Outcome\",body:outcome,narrow:narrow,isStatic:isStatic})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:narrow?\"1fr 1fr\":`repeat(${Math.max(1,facts.length+(website?1:0))}, 1fr)`,gap:narrow?20:32,padding:narrow?\"24px 0\":\"32px 0\",borderTop:\"1px solid rgba(255,255,255,0.14)\",borderBottom:\"1px solid rgba(255,255,255,0.14)\"},children:[facts.map(([k,v])=>/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:HG,fontWeight:700,fontSize:12,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:\"#8d8d8d\",marginBottom:8},children:k}),/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:HG,fontWeight:700,fontSize:narrow?15:17,letterSpacing:\"-0.01em\",color:\"#fff\",lineHeight:1.35},children:v})]},k)),website&&/*#__PURE__*/_jsxs(\"div\",{style:{minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:HG,fontWeight:700,fontSize:12,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:\"#8d8d8d\",marginBottom:8},children:\"Live\"}),/*#__PURE__*/_jsxs(\"a\",{href:website,target:\"_blank\",rel:\"noreferrer\",style:{fontFamily:HG,fontWeight:700,fontSize:narrow?15:17,color:LIME,textDecoration:\"underline\",textUnderlineOffset:4},children:[websiteLabel||website,\" ↗\"]})]})]}),quote&&/*#__PURE__*/_jsxs(\"blockquote\",{style:{margin:0,padding:narrow?\"40px 0 0\":\"56px 0 0\",maxWidth:900},children:[/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,fontFamily:HG,fontWeight:700,fontSize:narrow?24:\"clamp(26px, 2.4vw, 36px)\",letterSpacing:\"-0.03em\",lineHeight:1.2,color:\"#fff\"},children:[\"“\",quote,\"”\"]}),quoteBy&&/*#__PURE__*/_jsx(\"footer\",{style:{marginTop:16,fontFamily:HG,fontWeight:700,fontSize:14,color:\"#8d8d8d\"},children:quoteBy})]})]});}addPropertyControls(CaseBrief,{heading:{type:ControlType.String,title:\"Heading\",defaultValue:\"The brief\"},challenge:{type:ControlType.String,title:\"Challenge\",defaultValue:\"\",displayTextArea:true},approach:{type:ControlType.String,title:\"Approach\",defaultValue:\"\",displayTextArea:true},outcome:{type:ControlType.String,title:\"Outcome\",defaultValue:\"\",displayTextArea:true},client:{type:ControlType.String,title:\"Client\",defaultValue:\"\"},year:{type:ControlType.String,title:\"Year\",defaultValue:\"\"},services:{type:ControlType.String,title:\"Services\",defaultValue:\"\"},website:{type:ControlType.String,title:\"Website\",defaultValue:\"\"},websiteLabel:{type:ControlType.String,title:\"Website label\",defaultValue:\"Visit site\"},quote:{type:ControlType.String,title:\"Quote\",defaultValue:\"\",displayTextArea:true},quoteBy:{type:ControlType.String,title:\"Quote by\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CaseChapters\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicHeight\":\"900\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1440\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"CaseBrief\":{\"type\":\"reactComponent\",\"name\":\"CaseBrief\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"620\",\"framerIntrinsicWidth\":\"1320\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CaseChapters.map","// Kaliber project strip: \"More work\" row of three project cards for the bottom of a case study, plus a link to the\n// full work page. Cards come from the Projects array control; Exclude hides the project the page is about, so the\n// same list works on every case study. Stacks under 810px.\n// Routing: a card's destination is worked out from its title when the stored link is missing or just \"/work\"\n// (the array control's item default), so Chango, Beyond Diagnosis, Margaritaville and Nagaraja always open their own\n// case study, routed through Framer's Link by page id. Only titles with no case page fall back to the work page.\n// Flight: the same hand-over as the home cube and the work grid. A click lifts the card image into a fixed element\n// outside the page (#kaliber-flight) and springs it toward where the next case study's chapters cube will sit, over a\n// black backdrop; the link is marked data-transition=\"skip\" so the page transition stays out of the way, and the\n// destination's Case Chapters claims the flight when it mounts.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType,Link,useIsStaticRenderer}from\"framer\";const LIME=\"#8CFF2F\";const HG='\"Host Grotesk\", \"Inter\", sans-serif';const WS='\"Work Sans\", \"Inter\", sans-serif';const EASE=[.22,1,.36,1];const ph=s=>({src:`https://picsum.photos/seed/${s}/1200/900`,alt:\"\"});const DEFAULTS=[{title:\"Chango\",category:\"Brand, product, launch\",image:ph(\"chango\"),link:\"/work/chango\"},{title:\"Beyond Diagnosis\",category:\"Rebrand, trust audit, web\",image:ph(\"beyond\"),link:\"/work/beyond-diagnosis\"},{title:\"Margaritaville\",category:\"Hospitality brand, website\",image:ph(\"margarita\"),link:\"/work/margaritaville\"},{title:\"Nagaraja\",category:\"Identity, pattern, print\",image:ph(\"nagaraja\"),link:\"/work/nagaraja\"}];// Framer page ids, so links route by id instead of by path string (same table as WorkGrid.tsx and WorkShowcase.tsx)\nconst PAGES={\"/\":\"augiA20Il\",\"/work\":\"ClhrML8qj\",\"/contact\":\"N4eEf3MDG\",\"/work/chango\":\"QA87Yezym\",\"/work/beyond-diagnosis\":\"IGd8gHPf8\",\"/work/margaritaville\":\"k5ewivyo3\",\"/work/nagaraja\":\"SEalGDTSE\"};const slugify=s=>(s||\"\").toLowerCase().trim().replace(/[^a-z0-9]+/g,\"-\").replace(/^-|-$/g,\"\");const normPath=p=>{let s=(p||\"\").trim();if(s.startsWith(\"./\"))s=s.slice(1);s=s.split(\"#\")[0].split(\"?\")[0].replace(/\\/$/,\"\");return s||\"/\";};function caseHref(link,title){const raw=typeof link===\"string\"?link.trim():\"\";if(/^https?:/i.test(raw))return{path:raw,href:raw};const m=/^data:framer\\/page-link,([^?#]+)/.exec(raw);if(m&&m[1]!==PAGES[\"/work\"]){const known=Object.keys(PAGES).find(k=>PAGES[k]===m[1]);return{path:known||raw,href:raw};}let path=m?\"/work\":raw?normPath(raw):\"\";const guess=`/work/${slugify(title)}`;if((!path||path===\"/work\")&&PAGES[guess])path=guess;if(!path)path=\"/work\";const id=PAGES[path];return{path,href:id?{webPageId:id}:path};}const pageHref=path=>{const id=PAGES[normPath(path)];return id?{webPageId:id}:path;};// Where the front face of Case Chapters sits at scroll 0 (mirrors CaseChapters.tsx); the chapters component\n// retargets the flight when it mounts, so this only has to be close.\nfunction chapterFaceBox(topInset){const vw=window.innerWidth,vh=window.innerHeight,W=document.documentElement.clientWidth||vw;if(vw<810){const stageW=vw-48,stageH=Math.max(200,vh*.42);const fw=Math.min(stageW,stageH/.72),fh=fw*.72;return{x:24+stageW/2-fw/2,y:88+40+stageH/2-fh/2,w:fw,h:fh,rad:14};}const stageW=vw*.5-40,stageH=vh-topInset-vh*.1;const fw=Math.min(stageW,stageH/.72),fh=fw*.72;const cx=W-vw*.04-stageW/2,cy=topInset+(vh-topInset-vh*.05)/2;return{x:cx-fw/2,y:cy-fh/2,w:fw,h:fh,rad:18};}function launchFlight(fromEl,src,radius,target,backdrop){try{document.getElementById(\"kaliber-flight\")?.remove();document.getElementById(\"kaliber-flight-bg\")?.remove();const r=fromEl.getBoundingClientRect();const bg=document.createElement(\"div\");bg.id=\"kaliber-flight-bg\";bg.style.cssText=`position:fixed;inset:0;background:${backdrop};opacity:0;z-index:2147479990;pointer-events:none;transition:opacity 0.45s cubic-bezier(0.22,1,0.36,1)`;document.body.appendChild(bg);requestAnimationFrame(()=>{bg.style.opacity=\"1\";});const dropBg=()=>{if(!bg.isConnected)return;bg.style.transition=\"opacity 0.4s ease\";bg.style.opacity=\"0\";window.setTimeout(()=>bg.remove(),430);};const el=document.createElement(\"div\");el.id=\"kaliber-flight\";el.style.cssText=`position:fixed;left:${r.left}px;top:${r.top}px;width:${r.width}px;height:${r.height}px;border-radius:${radius}px;overflow:hidden;z-index:2147480000;pointer-events:none;background:#111;box-shadow:0 40px 120px rgba(0,0,0,0.6);will-change:left,top,width,height`;const img=document.createElement(\"img\");img.src=src;img.style.cssText=\"width:100%;height:100%;object-fit:cover;display:block\";el.appendChild(img);document.body.appendChild(el);el.dataset.src=src;const s={x:r.left,y:r.top,w:r.width,h:r.height,rad:radius};const v={x:0,y:0,w:0,h:0,rad:0};const kf={state:s,target,settled:false,born:performance.now()};el.__kf=kf;const keys=[\"x\",\"y\",\"w\",\"h\",\"rad\"];const OMEGA=8.5;let last=performance.now(),fading=false,claimed=false;const loop=now=>{if(!el.isConnected){dropBg();return;}let remaining=Math.min(64,now-last)/1e3;last=now;const t=kf.target;while(remaining>0){const h=Math.min(.008,remaining);for(const k of keys){v[k]+=(OMEGA*OMEGA*(t[k]-s[k])-2*OMEGA*v[k])*h;s[k]+=v[k]*h;}remaining-=h;}el.style.left=`${s.x}px`;el.style.top=`${s.y}px`;el.style.width=`${s.w}px`;el.style.height=`${s.h}px`;el.style.borderRadius=`${s.rad}px`;kf.settled=Math.max(...keys.map(k=>Math.abs(t[k]-s[k])))<.75&&Math.max(...keys.map(k=>Math.abs(v[k])))<10;const age=now-kf.born;if(el.dataset.landing&&!claimed){claimed=true;window.setTimeout(dropBg,120);}if(!el.dataset.landing&&age>1800&&!fading){fading=true;el.style.transition=\"opacity 0.3s\";el.style.opacity=\"0\";dropBg();window.setTimeout(()=>el.remove(),340);}if(age>6e3){el.remove();dropBg();return;}requestAnimationFrame(loop);};requestAnimationFrame(loop);}catch{}}function Card({p,flight,isStatic}){const[on,setOn]=useState(false);const[lifted,setLifted]=useState(false);const frame=useRef(null);const to=caseHref(p.link,p.title);const flies=flight&&to.path.startsWith(\"/work/\")&&!!PAGES[to.path];const src=p.image?.src||ph(p.title).src;const onClick=e=>{if(!flies||isStatic||!frame.current)return;if(e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;launchFlight(frame.current,src,20,chapterFaceBox(124),\"#000\");setLifted(true);window.setTimeout(()=>setLifted(false),4200);};return /*#__PURE__*/_jsx(Link,{href:to.href,openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsxs(\"a\",{href:to.path,\"data-cursor\":\"View\",\"data-transition\":flies?\"skip\":undefined,onClick:onClick,onMouseEnter:()=>startTransition(()=>setOn(true)),onMouseLeave:()=>startTransition(()=>setOn(false)),style:{display:\"block\",textDecoration:\"none\",color:\"#fff\",minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{ref:frame,style:{position:\"relative\",aspectRatio:\"4 / 3\",borderRadius:20,overflow:\"hidden\",background:\"#111\",visibility:lifted?\"hidden\":\"visible\"},children:/*#__PURE__*/_jsx(motion.img,{src:src,srcSet:p.image?.srcSet,alt:p.image?.alt||p.title,animate:{scale:on&&!lifted?1.05:1},transition:{duration:.9,ease:EASE},style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"baseline\",gap:12,padding:\"16px 2px 0\"},children:[/*#__PURE__*/_jsx(motion.span,{animate:{x:on?6:0,color:on?LIME:\"#ffffff\"},transition:{duration:.5,ease:EASE},style:{fontFamily:HG,fontWeight:800,fontSize:24,letterSpacing:\"-0.04em\",lineHeight:1},children:p.title}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:WS,fontSize:15,color:\"#8d8d8d\",textAlign:\"right\"},children:p.category})]})]})});}/**\n * Project Strip\n *\n * @framerIntrinsicWidth 1320\n * @framerIntrinsicHeight 460\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n */export default function ProjectStrip(props){const{heading=\"More work\",allLabel=\"See all work\",allLink=\"/work\",exclude=\"\",flight=true,projects=DEFAULTS,style}=props;const isStatic=useIsStaticRenderer();const[narrow,setNarrow]=useState(false);useEffect(()=>{if(typeof window===\"undefined\")return;const check=()=>startTransition(()=>setNarrow(window.innerWidth<810));check();window.addEventListener(\"resize\",check);return()=>window.removeEventListener(\"resize\",check);},[]);const ex=exclude.trim().toLowerCase();const list=(projects&&projects.length?projects:DEFAULTS).filter(p=>!ex||p.title.trim().toLowerCase()!==ex).slice(0,3);return /*#__PURE__*/_jsxs(\"div\",{style:{...style,width:\"100%\",color:\"#fff\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"baseline\",gap:24,marginBottom:narrow?24:36,borderTop:\"1px solid rgba(255,255,255,0.14)\",paddingTop:narrow?40:56},children:[/*#__PURE__*/_jsx(\"h2\",{style:{margin:0,fontFamily:HG,fontWeight:800,fontSize:narrow?40:56,letterSpacing:\"-0.045em\",lineHeight:1},children:heading}),/*#__PURE__*/_jsx(Link,{href:pageHref(allLink),openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsxs(\"a\",{href:allLink,style:{fontFamily:HG,fontWeight:700,fontSize:16,color:LIME,textDecoration:\"underline\",textUnderlineOffset:4,whiteSpace:\"nowrap\"},children:[allLabel,\" →\"]})})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:narrow?\"1fr\":\"repeat(3, 1fr)\",gap:32},children:list.map((p,i)=>/*#__PURE__*/_jsx(Card,{p:p,flight:flight,isStatic:isStatic},i))})]});}addPropertyControls(ProjectStrip,{heading:{type:ControlType.String,title:\"Heading\",defaultValue:\"More work\"},allLabel:{type:ControlType.String,title:\"All label\",defaultValue:\"See all work\"},allLink:{type:ControlType.Link,title:\"All link\",defaultValue:\"/work\"},exclude:{type:ControlType.String,title:\"Exclude\",defaultValue:\"\",placeholder:\"This page's project\"},flight:{type:ControlType.Boolean,title:\"Image flight\",defaultValue:true},projects:{type:ControlType.Array,title:\"Projects\",maxCount:6,control:{type:ControlType.Object,controls:{title:{type:ControlType.String,defaultValue:\"Project\"},category:{type:ControlType.String,defaultValue:\"Brand, web\"},image:{type:ControlType.ResponsiveImage},link:{type:ControlType.Link,defaultValue:\"/work\"}}},defaultValue:DEFAULTS}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ProjectStrip\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicWidth\":\"1320\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"460\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProjectStrip.map"],"mappings":"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"}