{"version":3,"file":"MiniCaseStudy.geevCzDt.mjs","names":["L","b","h","g","m","y","R","T","s","S","a","f","k","_","v","p","u","$","w","j","L","q","G","M","H","X","j","l","ie","oe","se","P","K","x","Q","J","_","T","N","k","y","R","z","O","F","v","L","J","i","h","U","G","A","b","S","M","P","E","W","D","V","Q","I","dt","gt","nt","st","rt","at","PROJECTS","SCENES","BOARDS","React.useMemo","_Fragment","React.useState","React.useRef","c","React.Fragment","computePosition","offset","shift","React.useId","CSS","React.useContext","flip","CONTENT","SCENE_LAYERS","BOARD_DATA","CODE_PLAYERS","__esmMin","le","x$1","pe","init_npm_react_18_3_1","window","_e","de","H","oe","p$2","c","init_jsx_runtime","B","ie","ce$1","init_ssg_sandbox_shims","motion","useReducedMotion","animate","useMotionValue","init_framer_motion_DhsWWWsN","addPropertyControls","useRouter","ControlType","init_framer_BL70qLPA","init_CmsCaseStudies","init_BackNav","navUp","useLiveCaseStudies","MenuFoilDefs","init_MenuShared","MENU_CSS","useMenu","FoilButton","init_FoilButton","init_SpectrumShared","TOKENS","init_BackButton","BackButton","L$1","b$1","t","h$1","n","e","E","g$1","m$1","x","A","P","y$1","R$1","i","o","r","l","T$2","s$1","S$1","a$1","f$1","O","M","k$2","d","_$2","q","v$1","p$1","u$1","w$1","j$1","init_utils","init_utils__0_2","I","f","m","w","u","s","a","re","p","v","y","me","ee","ce","ue","xe","ve","ye","init_core","g","l$2","P$1","R","S","b","D","V","k","F","Y","_","te","x$2","h","init_core__1_6","L","_$1","T$1","C","W","N$1","$","k$1","init_dom","init_dom_target_es2022","init_utils__0_2$1","F$1","Z","pt","wt","i$1","T","i$2","h$2","X","mt","vt","xt","yt","i$3","Ot","K","tt","Rt","Ct","Lt","N","j","et","i$4","Et","Tt","Ft","Ht","It","Vt","qt","init_dom$1","init_dom_1_6","PROJECTS$1","init_CaseStudyContent","IMG","SCENES$1","init_CaseStudyScenes","BOARD_SCREENS","BOARDS$1","init_CaseStudyBoards","\"src\"","\"alt\"","\"flat\"","\"clip\"","\"els\"","\"x\"","\"y\"","\"w\"","\"h\"","\"r\"","\"s\"","\"focus\"","\"notes\"","\"nar\"","\"side\"","\"c\"","\"op\"","\"sh\"","PLAYERS","init_CaseStudyPlayers","\"prolific\"","\"project\"","\"name\"","\"title\"","\"logo\"","\"logoHeight\"","\"logoRatio\"","\"colour\"","\"textColour\"","\"stories\"","\"id\"","\"slug\"","\"label\"","\"outcome\"","\"poster\"","\"board\"","\"steps\"","\"say\"","\"caption\"","\"face\"","\"text\"","\"on\"","\"end\"","\"mark\"","\"boards\"","\"signup\"","\"l\"","\"align\"","\"shades\"","\"b\"","\"fill\"","\"p\"","\"rings\"","\"finder\"","\"secure\"","\"screens\"","\"finderBuilt\"","\"iosEmailNotification\"","\"pfForm\"","\"pfGs3\"","\"pfGs6\"","\"pfOldForm2\"","\"regCheck\"","\"regEmail\"","\"regPassword\"","\"regResearch\"","\"secureFlow\"","\"securePlan\"","\"setupOld\"","\"wtCustom\"","\"wtDid\"","\"wtDidP\"","\"wtDidnt\"","\"wtDidntP\"","\"wtDocs\"","\"wtF774\"","\"wtF775\"","\"wtGs1\"","\"wtGs5\"","\"wtGsDid\"","\"wtGsDidP\"","\"wtGsPushy\"","\"wtGsPushyP\"","\"wtGsStage\"","\"wtHomeDone\"","\"wtOldModal\"","\"wtOldRegister\"","\"wtProd\"","\"wtRegCompare\"","\"wtRegCompareP\"","\"wtStates\"","\"wtV12\"","\"wtFeedLight\"","\"wtFeedDark\"","useLiveData","base","DATA","project","live","isTeardown","key","stories","hit","registerTeardown","pid","json","EDITED","projectData","metaOf","BSCR","TAKES","TEARDOWN_IDS","registerCode","CODE_IDS","editMode","EDIT","story","step","phase","RAW","fn","FACES","MOODS","MARKS","FACE_MARKS","DEFAULT_MARK","MARK_ART","META","next","brandTeardown","sc","layerHTML","enter","attr","hs","esc","alt","sceneCSS","out","sid","layers","LAYERS","box","raw","sel","mx","my","tf","trans","FacePicture","img","FACE_BY_URL","src","sizes","shown","attrs","className","escAttr","html","faceSrcset","facePng","MoodMarks","mark","l$1","countUp","pre","suf","to","from","reduce","t0","tick","hug","max","lo","hi","mid","right","Say","last","SAY_RE","text","onKeys","ARROW_WIDGETS","pick","REG","lockScroll","bar","locks","saved","useCoarsePointer","coarse","setCoarse","usePinch","z","zoomed","setZoomed","atMax","setAtMax","pinched","startRef","onStart","host","label","big","fit","el","nx","ny","target","stepZoom","zoomTo","ZOOM_STEP","s0","ZOOM_MAX","level","cx","px","cy","py","glide","EASE","on","pts","start","local","set","pair","down","drag","move","up","wheel","mouse","id","x0","y0","sx","sy","moved","mv","ev","eat","end","gesture","opts","back","reset","warm","srcs","warmed","useVtt","url","setUrl","SayCues","parts","c$1","squash","cue","useBox","setBox","ref","r1","r2","ro","BoardPicture","STAGE","els","view","op","fx","cw","ch","cr","Shade","c$2","bleed","path","rrect","hx","hy","hw","hh","useStage","onBoxesRef","onBoxes","canvas","scenes","pins","prev","notesRef","notes","pinsOn","setPinsOn","sceneHTML","SCENES","sceneEl","measure","scene","inset","keep","rects","anc","prevNo","points","place","wrap","half","pin","root","active","stepNo","typeT","done","tag","siteScheme","os","useSiteTheme","fix","MiniCaseStudy","router","slug","props","urlSlug","pageProject","_p","uid","name","cap","shell","SCOPES","dividers","sidePadding","styleRef","head","CSS$1","SCENE_CSS","MORE_CSS","COVER_CSS","FACE_CSS","editable","TD_CSS","showLogo","link","showLink","linkLabel","showTitle","mode","ts","menuPanel","MenuPanelContext","Launcher","launcher","Inline","InlineBoard","one","views","fitArea","beat","count","notePoint","hl","order","setStory","setStep","ended","setEnded","st","total","idx","nextBtn","stage","nav","setHl","board","boardOf","select","go","first","nextLabel","fromCard","reg","keysBound","io","sg","measureChrome","chrome","controls","panelId","pad","boardAlt","dx","info","reelProp","readTime","storySecs","current","setCurrent","open","setOpen","dlg","poster","lazyImgs","boardPoster","canvasFor","prime","orientFor","boardSrcs","boxes","es","layout","opener","play","pressing","pressPlay","panel","btn","still","pr","ring","closed","closedRef","closeDialog","slugNow","page","onStory","left","leavePage","wasOpen","playPill","track","goTo","dragged","dragTrack","l0","samples","now","at","edges","nearest","storyTabs","reelOn","beatMs","reelBeats","reelAt","setReelAt","paused","setPaused","seen","setSeen","REELS","pickReel","beats","near","setNear","shownK","wants","frames","was","spot","ws","ptr","raf","kick","busy","rx","ry","focused","dy","ex","ey","onMove","onLeave","rail","surface","setSurface","check","mo","mq","goRef","PageCover","THEME_NOW","Player","playColour","cardTone","resetPageZoom","vv","meta","PlMore","sitePanel","focusOnOpen","close","MoreIcon","onPanelKeyDown","items","it","steps","media","bl","bp","cls","covered","NARRATOR","PORTRAIT","LANDSCAPE","fromUrl","setPhase","onPanel","main","td","mood","MOOD_MARK","side","sideOf","sayOf","align","pop","PROJECTS","face","lift","setLift","bpins","redraw","take","takeRef","takeOn","setTakeOn","setCue","listening","vtt","lastSay","lastH","morph","finalH","narr","bubble","payoff","centre","setTick","placedAt","placeNarrator","area","wasCentre","clash","overlap","cur","refs","best","placement","NARRATOR_PLACES","score","aimTail","sd","ar","br","placeOnBoard","rem","most","bs","stacked","avW","words","al","hA","vA","top","aw","ah","H0","ax","ay","edge","over","pos","want","extra","bb","nn","said","changed","MORPH","POP","again","sync","tracks","tr","evs","toggleTake","shove","setOffset","bx","by","grabNarrator","grabbing","yes","nudgeNarrator","tip","note","setNote","zoomHost","zoomLabel","canZoom","zoom","swipe","closeMore","toStory","dialog","onKey","onCancel","onEsc","off","plain","progress","countText","firstScreen","arrow","nS","tz","teaserOf","say","bigLead","ICO_RESTART","ICO_EXIT","BOARDS","noteSel","FACE_IDS","FACE_W","faceUrl","mkG","mkC","BANG","QUEST","KIRA","VEIN","TS","maskIcon","AREA","MORE_ICONS","init_MiniCaseStudy","\"neutral\"","\"pleased\"","\"nervous\"","\"surprised\"","\"thinking\"","\"wince\"","\"angry\"","type","ids","tx","ty","fill","secs"],"sources":["https:/esm.sh/@floating-ui/utils@0.2.12/es2022/utils.mjs","https:/esm.sh/@floating-ui/utils@^0.2.12?target=es2022","https:/esm.sh/@floating-ui/core@1.8.0/es2022/core.mjs","https:/esm.sh/@floating-ui/core@^1.6.0?target=es2022","https:/esm.sh/@floating-ui/utils@0.2.12/es2022/dom.mjs","https:/esm.sh/@floating-ui/utils@^0.2.8/dom?target=es2022","https:/esm.sh/@floating-ui/utils@^0.2.8?target=es2022","https:/esm.sh/@floating-ui/dom@1.6.12/es2022/dom.mjs","https:/esm.sh/@floating-ui/dom@1.6.12","https:/framerusercontent.com/modules/oSLXFzUXYrnpOw0Hs9hH/YC5NlZkDLEf9nWCUCMth/CaseStudyContent.js","https:/framerusercontent.com/modules/FPnywvDPOv6xdm0e9KD3/cavpH7m2bCRACMo12lJv/CaseStudyScenes.js","https:/framerusercontent.com/modules/ADGLRSSkygBvtHb7LL8T/cYvNetm5uFtKtfNZehUZ/CaseStudyBoards.js","https:/framerusercontent.com/modules/ave90y2DRyjgnJKoUhBk/25hstvyrR5tfdfV1E6v4/CaseStudyPlayers.js","https:/framerusercontent.com/modules/CdRGg2AP6iZAeEEDp8Ad/AekziKogQj8J48H0E3dp/MiniCaseStudy.js"],"sourcesContent":["/* esm.sh - @floating-ui/utils@0.2.12 */\nvar p=[\"top\",\"right\",\"bottom\",\"left\"],u=[\"start\",\"end\"],$=p.reduce((t,n)=>t.concat(n,n+\"-\"+u[0],n+\"-\"+u[1]),[]),h=Math.min,b=Math.max,w=Math.round,C=Math.floor,j=t=>({x:t,y:t}),d={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function L(t,n,e){return b(t,h(n,e))}function E(t,n){return typeof t==\"function\"?t(n):t}function g(t){return t.split(\"-\")[0]}function m(t){return t.split(\"-\")[1]}function x(t){return t===\"x\"?\"y\":\"x\"}function A(t){return t===\"y\"?\"height\":\"width\"}function P(t){let n=t[0];return n===\"t\"||n===\"b\"?\"y\":\"x\"}function y(t){return x(P(t))}function R(t,n,e){e===void 0&&(e=!1);let i=m(t),o=y(t),r=A(o),c=o===\"x\"?i===(e?\"end\":\"start\")?\"right\":\"left\":i===\"start\"?\"bottom\":\"top\";return n.reference[r]>n.floating[r]&&(c=l(c)),[c,l(c)]}function T(t){let n=l(t);return[s(t),n,s(n)]}function s(t){return t.includes(\"start\")?t.replace(\"start\",\"end\"):t.replace(\"end\",\"start\")}var f=[\"left\",\"right\"],a=[\"right\",\"left\"],O=[\"top\",\"bottom\"],M=[\"bottom\",\"top\"];function S(t,n,e){switch(t){case\"top\":case\"bottom\":return e?n?a:f:n?f:a;case\"left\":case\"right\":return n?O:M;default:return[]}}function k(t,n,e,i){let o=m(t),r=S(g(t),e===\"start\",i);return o&&(r=r.map(c=>c+\"-\"+o),n&&(r=r.concat(r.map(s)))),r}function l(t){let n=g(t);return d[n]+t.slice(n.length)}function _(t){var n,e,i,o;return{top:(n=t.top)!=null?n:0,right:(e=t.right)!=null?e:0,bottom:(i=t.bottom)!=null?i:0,left:(o=t.left)!=null?o:0}}function q(t){return typeof t!=\"number\"?_(t):{top:t,right:t,bottom:t,left:t}}function v(t){let{x:n,y:e,width:i,height:o}=t;return{width:i,height:o,top:e,left:n,right:n+i,bottom:e+o,x:n,y:e}}export{u as alignments,L as clamp,j as createCoords,E as evaluate,_ as expandPaddingObject,C as floor,m as getAlignment,y as getAlignmentAxis,R as getAlignmentSides,A as getAxisLength,T as getExpandedPlacements,s as getOppositeAlignmentPlacement,x as getOppositeAxis,k as getOppositeAxisPlacements,l as getOppositePlacement,q as getPaddingObject,g as getSide,P as getSideAxis,b as max,h as min,$ as placements,v as rectToClientRect,w as round,p as sides};\n//# sourceMappingURL=utils.mjs.map","/* esm.sh - @floating-ui/utils@0.2.12 */\nexport * from \"/@floating-ui/utils@0.2.12/es2022/utils.mjs\";\n","/* esm.sh - @floating-ui/core@1.8.0 */\nimport{getSideAxis as L,getAlignmentAxis as q,getAxisLength as G,getSide as M,getAlignment as H,evaluate as E,getPaddingObject as X,rectToClientRect as j,min as $,clamp as J,placements as z,getAlignmentSides as K,getOppositeAlignmentPlacement as ne,getOppositePlacement as ie,getExpandedPlacements as oe,getOppositeAxisPlacements as se,sides as le,max as W,getOppositeAxis as Q}from\"/@floating-ui/utils@^0.2.12?target=es2022\";import{rectToClientRect as Re}from\"/@floating-ui/utils@^0.2.12?target=es2022\";function I(e,t,r){let{reference:o,floating:n}=e,i=L(t),f=q(t),l=G(f),m=M(t),x=i===\"y\",w=o.x+o.width/2-n.width/2,c=o.y+o.height/2-n.height/2,u=o[l]/2-n[l]/2,s;switch(m){case\"top\":s={x:w,y:o.y-n.height};break;case\"bottom\":s={x:w,y:o.y+o.height};break;case\"right\":s={x:o.x+o.width,y:c};break;case\"left\":s={x:o.x-n.width,y:c};break;default:s={x:o.x,y:o.y}}let a=H(t);return a&&(s[f]+=u*(a===\"end\"?1:-1)*(r&&x?-1:1)),s}async function re(e,t){var r;t===void 0&&(t={});let{x:o,y:n,platform:i,rects:f,elements:l,strategy:m}=e,{boundary:x=\"clippingAncestors\",rootBoundary:w=\"viewport\",elementContext:c=\"floating\",altBoundary:u=!1,padding:s=0}=E(t,e),a=X(s),h=l[u?c===\"floating\"?\"reference\":\"floating\":c],p=j(await i.getClippingRect({element:(r=await(i.isElement==null?void 0:i.isElement(h)))==null||r?h:h.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(l.floating)),boundary:x,rootBoundary:w,strategy:m})),v=c===\"floating\"?{x:o,y:n,width:f.floating.width,height:f.floating.height}:f.reference,y=await(i.getOffsetParent==null?void 0:i.getOffsetParent(l.floating)),A=await(i.isElement==null?void 0:i.isElement(y))&&await(i.getScale==null?void 0:i.getScale(y))||{x:1,y:1},O=j(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:v,offsetParent:y,strategy:m}):v);return{top:(p.top-O.top+a.top)/A.y,bottom:(O.bottom-p.bottom+a.bottom)/A.y,left:(p.left-O.left+a.left)/A.x,right:(O.right-p.right+a.right)/A.x}}var ce=50,ue=async(e,t,r)=>{let{placement:o=\"bottom\",strategy:n=\"absolute\",middleware:i=[],platform:f}=r,l=f.detectOverflow?f:{...f,detectOverflow:re},m=await(f.isRTL==null?void 0:f.isRTL(t)),x=await f.getElementRects({reference:e,floating:t,strategy:n}),{x:w,y:c}=I(x,o,m),u=o,s=0,a={};for(let g=0;g<i.length;g++){let h=i[g];if(!h)continue;let{name:p,fn:v}=h,{x:y,y:A,data:O,reset:d}=await v({x:w,y:c,initialPlacement:o,placement:u,strategy:n,middlewareData:a,rects:x,platform:l,elements:{reference:e,floating:t}});w=y??w,c=A??c,a[p]={...a[p],...O},d&&s<ce&&(s++,typeof d==\"object\"&&(d.placement&&(u=d.placement),d.rects&&(x=d.rects===!0?await f.getElementRects({reference:e,floating:t,strategy:n}):d.rects),{x:w,y:c}=I(x,u,m)),g=-1)}return{x:w,y:c,placement:u,strategy:n,middlewareData:a}},ge=e=>({name:\"arrow\",options:e,async fn(t){let{x:r,y:o,placement:n,rects:i,platform:f,elements:l,middlewareData:m}=t,{element:x,padding:w=0}=E(e,t)||{};if(x==null)return{};let c=X(w),u={x:r,y:o},s=q(n),a=G(s),g=await f.getDimensions(x),h=s===\"y\",p=h?\"top\":\"left\",v=h?\"bottom\":\"right\",y=h?\"clientHeight\":\"clientWidth\",A=i.reference[a]+i.reference[s]-u[s]-i.floating[a],O=u[s]-i.reference[s],d=await(f.getOffsetParent==null?void 0:f.getOffsetParent(x)),P=d?d[y]:0;(!P||!await(f.isElement==null?void 0:f.isElement(d)))&&(P=l.floating[y]||i.floating[a]);let R=A/2-O/2,S=P/2-g[a]/2-1,b=$(c[p],S),C=$(c[v],S),B=P-g[a]-C,T=P/2-g[a]/2+R,D=J(b,T,B),V=!m.arrow&&H(n)!=null&&T!==D&&i.reference[a]/2-(T<b?b:C)-g[a]/2<0,F=V?T<b?T-b:T-B:0;return{[s]:u[s]+F,data:{[s]:D,centerOffset:T-D-F,...V&&{alignmentOffset:F}},reset:V}}});function ae(e,t,r){return(e?[...r.filter(n=>H(n)===e),...r.filter(n=>H(n)!==e)]:r.filter(n=>M(n)===n)).filter(n=>e?H(n)===e||(t?ne(n)!==n:!1):!0)}var he=function(e){return e===void 0&&(e={}),{name:\"autoPlacement\",options:e,async fn(t){var r,o,n;let{rects:i,middlewareData:f,placement:l,platform:m,elements:x}=t,{crossAxis:w=!1,alignment:c,allowedPlacements:u=z,autoAlignment:s=!0,...a}=E(e,t),g=c!==void 0||u===z?ae(c||null,s,u):u,h=((r=f.autoPlacement)==null?void 0:r.index)||0,p=g[h];if(p==null)return{};if(l!==p)return{reset:{placement:g[0]}};let v=await m.detectOverflow(t,a),y=K(p,i,await(m.isRTL==null?void 0:m.isRTL(x.floating))),A=[v[M(p)],v[y[0]],v[y[1]]],O=[...((o=f.autoPlacement)==null?void 0:o.overflows)||[],{placement:p,overflows:A}],d=g[h+1];if(d)return{data:{index:h+1,overflows:O},reset:{placement:d}};let P=O.map(b=>{let C=H(b.placement);return[b.placement,C&&w?b.overflows.slice(0,2).reduce((B,T)=>B+T,0):b.overflows[0],b.overflows]}).sort((b,C)=>b[1]-C[1]),S=((n=P.filter(b=>b[2].slice(0,H(b[0])?2:3).every(C=>C<=0))[0])==null?void 0:n[0])||P[0][0];return S!==l?{data:{index:h+1,overflows:O},reset:{placement:S}}:{}}}},xe=function(e){return e===void 0&&(e={}),{name:\"flip\",options:e,async fn(t){var r,o;let{placement:n,middlewareData:i,rects:f,initialPlacement:l,platform:m,elements:x}=t,{mainAxis:w=!0,crossAxis:c=!0,fallbackPlacements:u,fallbackStrategy:s=\"bestFit\",fallbackAxisSideDirection:a=\"none\",flipAlignment:g=!0,...h}=E(e,t);if((r=i.arrow)!=null&&r.alignmentOffset)return{};let p=M(n),v=L(l),y=M(l)===l,A=await(m.isRTL==null?void 0:m.isRTL(x.floating)),O=u||(y||!g?[ie(l)]:oe(l)),d=a!==\"none\";!u&&d&&O.push(...se(l,g,a,A));let P=[l,...O],R=await m.detectOverflow(t,h),S=[],b=((o=i.flip)==null?void 0:o.overflows)||[];if(w&&S.push(R[p]),c){let D=K(n,f,A);S.push(R[D[0]],R[D[1]])}if(b=[...b,{placement:n,overflows:S}],!S.every(D=>D<=0)){var C,B;let D=(((C=i.flip)==null?void 0:C.index)||0)+1,V=P[D];if(V&&(!(c===\"alignment\"?v!==L(V):!1)||b.every(k=>L(k.placement)===v?k.overflows[0]>0:!0)))return{data:{index:D,overflows:b},reset:{placement:V}};let F=(B=b.filter(Y=>Y.overflows[0]<=0).sort((Y,k)=>Y.overflows[1]-k.overflows[1])[0])==null?void 0:B.placement;if(!F)switch(s){case\"bestFit\":{var T;let Y=(T=b.filter(k=>{if(d){let _=L(k.placement);return _===v||_===\"y\"}return!0}).map(k=>[k.placement,k.overflows.filter(_=>_>0).reduce((_,te)=>_+te,0)]).sort((k,_)=>k[1]-_[1])[0])==null?void 0:T[0];Y&&(F=Y);break}case\"initialPlacement\":F=l;break}if(n!==F)return{reset:{placement:F}}}return{}}}};function N(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function U(e){return le.some(t=>e[t]>=0)}var we=function(e){return e===void 0&&(e={}),{name:\"hide\",options:e,async fn(t){let{rects:r,platform:o}=t,{strategy:n=\"referenceHidden\",...i}=E(e,t);switch(n){case\"referenceHidden\":{let f=await o.detectOverflow(t,{...i,elementContext:\"reference\"}),l=N(f,r.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:U(l)}}}case\"escaped\":{let f=await o.detectOverflow(t,{...i,altBoundary:!0}),l=N(f,r.floating);return{data:{escapedOffsets:l,escaped:U(l)}}}default:return{}}}}};function Z(e){let t=$(...e.map(i=>i.left)),r=$(...e.map(i=>i.top)),o=W(...e.map(i=>i.right)),n=W(...e.map(i=>i.bottom));return{x:t,y:r,width:o-t,height:n-r}}function fe(e){let t=e.slice().sort((n,i)=>n.y-i.y),r=[],o=null;for(let n=0;n<t.length;n++){let i=t[n];!o||i.y-o.y>o.height/2?r.push([i]):r[r.length-1].push(i),o=i}return r.map(n=>j(Z(n)))}var pe=function(e){return e===void 0&&(e={}),{name:\"inline\",options:e,async fn(t){let{placement:r,elements:o,rects:n,platform:i,strategy:f}=t,{padding:l=2,x:m,y:x}=E(e,t),w=Array.from(await(i.getClientRects==null?void 0:i.getClientRects(o.reference))||[]);if(!w.length)return{};let c=fe(w),u=j(Z(w)),s=X(l);function a(){if(c.length===2&&(c[0].left>c[1].right||c[1].left>c[0].right)&&m!=null&&x!=null)return c.find(h=>m>h.left-s.left&&m<h.right+s.right&&x>h.top-s.top&&x<h.bottom+s.bottom)||u;if(c.length>=2){if(L(r)===\"y\"){let d=c[0],P=c[c.length-1],R=M(r)===\"top\",S=d.top,b=P.bottom,C=R?d.left:P.left,B=R?d.right:P.right;return j({x:C,y:S,width:B-C,height:b-S})}let h=M(r)===\"left\",p=W(...c.map(d=>d.right)),v=$(...c.map(d=>d.left)),y=c.filter(d=>h?d.left===v:d.right===p),A=y[0].top,O=y[y.length-1].bottom;return j({x:v,y:A,width:p-v,height:O-A})}return u}let g=await i.getElementRects({reference:{getBoundingClientRect:a},floating:o.floating,strategy:f});return n.reference.x!==g.reference.x||n.reference.y!==g.reference.y||n.reference.width!==g.reference.width||n.reference.height!==g.reference.height?{reset:{rects:g}}:{}}}},ee=new Set([\"left\",\"top\"]);async function me(e,t){let{placement:r,platform:o,elements:n}=e,i=await(o.isRTL==null?void 0:o.isRTL(n.floating)),f=M(r),l=H(r),m=L(r)===\"y\",x=ee.has(f)?-1:1,w=i&&m?-1:1,c=E(t,e),{mainAxis:u,crossAxis:s,alignmentAxis:a}=typeof c==\"number\"?{mainAxis:c,crossAxis:0,alignmentAxis:null}:{mainAxis:c.mainAxis||0,crossAxis:c.crossAxis||0,alignmentAxis:c.alignmentAxis};return l&&typeof a==\"number\"&&(s=l===\"end\"?a*-1:a),m?{x:s*w,y:u*x}:{x:u*x,y:s*w}}var ve=function(e){return e===void 0&&(e=0),{name:\"offset\",options:e,async fn(t){var r,o;let{x:n,y:i,placement:f,middlewareData:l}=t,m=await me(t,e);return f===((r=l.offset)==null?void 0:r.placement)&&(o=l.arrow)!=null&&o.alignmentOffset?{}:{x:n+m.x,y:i+m.y,data:{...m,placement:f}}}}},ye=function(e){return e===void 0&&(e={}),{name:\"shift\",options:e,async fn(t){let{x:r,y:o,placement:n,platform:i}=t,{mainAxis:f=!0,crossAxis:l=!1,limiter:m={fn:v=>{let{x:y,y:A}=v;return{x:y,y:A}}},...x}=E(e,t),w={x:r,y:o},c=await i.detectOverflow(t,x),u=L(n),s=Q(u),a=w[s],g=w[u],h=(v,y)=>J(y+c[v===\"y\"?\"top\":\"left\"],y,y-c[v===\"y\"?\"bottom\":\"right\"]);f&&(a=h(s,a)),l&&(g=h(u,g));let p=m.fn({...t,[s]:a,[u]:g});return{...p,data:{x:p.x-r,y:p.y-o,enabled:{[s]:f,[u]:l}}}}}},Ae=function(e){return e===void 0&&(e={}),{options:e,fn(t){var r,o;let{x:n,y:i,placement:f,rects:l,middlewareData:m}=t,{offset:x=0,mainAxis:w=!0,crossAxis:c=!0}=E(e,t),u={x:n,y:i},s=L(f),a=Q(s),g=u[a],h=u[s],p=E(x,t),v=typeof p==\"number\"?{mainAxis:p,crossAxis:0}:{mainAxis:(r=p.mainAxis)!=null?r:0,crossAxis:(o=p.crossAxis)!=null?o:0};if(w){let O=a===\"y\"?\"height\":\"width\",d=l.reference[a]-l.floating[O]+v.mainAxis,P=l.reference[a]+l.reference[O]-v.mainAxis;g<d?g=d:g>P&&(g=P)}if(c){var y,A;let O=a===\"y\"?\"width\":\"height\",d=ee.has(M(f)),P=l.reference[s]-l.floating[O]+(d&&((y=m.offset)==null?void 0:y[s])||0)+(d?0:v.crossAxis),R=l.reference[s]+l.reference[O]+(d?0:((A=m.offset)==null?void 0:A[s])||0)-(d?v.crossAxis:0);h<P?h=P:h>R&&(h=R)}return{[a]:g,[s]:h}}}},Oe=function(e){return e===void 0&&(e={}),{name:\"size\",options:e,async fn(t){let{placement:r,rects:o,platform:n,elements:i}=t,{apply:f=()=>{},...l}=E(e,t),m=await n.detectOverflow(t,l),x=M(r),w=H(r),c=L(r)===\"y\",{width:u,height:s}=o.floating,a,g;x===\"top\"||x===\"bottom\"?(a=x,g=w===(await(n.isRTL==null?void 0:n.isRTL(i.floating))?\"start\":\"end\")?\"left\":\"right\"):(g=x,a=w===\"end\"?\"top\":\"bottom\");let h=s-m.top-m.bottom,p=u-m.left-m.right,v=$(s-m[a],h),y=$(u-m[g],p),A=t.middlewareData.shift,O=!A,d=v,P=y;A!=null&&A.enabled.x&&(P=p),A!=null&&A.enabled.y&&(d=h),O&&!w&&(c?P=u-2*W(m.left,m.right):d=s-2*W(m.top,m.bottom)),await f({...t,availableWidth:P,availableHeight:d});let R=await n.getDimensions(i.floating);return u!==R.width||s!==R.height?{reset:{rects:!0}}:{}}}};export{ge as arrow,he as autoPlacement,ue as computePosition,re as detectOverflow,xe as flip,we as hide,pe as inline,Ae as limitShift,ve as offset,Re as rectToClientRect,ye as shift,Oe as size};\n//# sourceMappingURL=core.mjs.map","/* esm.sh - @floating-ui/core@1.8.0 */\nimport \"/@floating-ui/utils@^0.2.12?target=es2022\";\nexport * from \"/@floating-ui/core@1.8.0/es2022/core.mjs\";\n","/* esm.sh - @floating-ui/utils@0.2.12/dom */\nfunction u(){return typeof window<\"u\"}function a(t){return m(t)?(t.nodeName||\"\").toLowerCase():\"#document\"}function i(t){var n;return(t==null||(n=t.ownerDocument)==null?void 0:n.defaultView)||window}function L(t){var n;return(n=(m(t)?t.ownerDocument:t.document)||window.document)==null?void 0:n.documentElement}function m(t){return u()?t instanceof Node||t instanceof i(t).Node:!1}function h(t){return u()?t instanceof Element||t instanceof i(t).Element:!1}function g(t){return u()?t instanceof HTMLElement||t instanceof i(t).HTMLElement:!1}function p(t){return!u()||typeof ShadowRoot>\"u\"?!1:t instanceof ShadowRoot||t instanceof i(t).ShadowRoot}function y(t){let{overflow:n,overflowX:r,overflowY:c,display:e}=S(t);return/auto|scroll|overlay|hidden|clip/.test(n+c+r)&&e!==\"inline\"&&e!==\"contents\"}function _(t){return/^(table|td|th)$/.test(a(t))}function T(t){try{if(t.matches(\":popover-open\"))return!0}catch{}try{return t.matches(\":modal\")}catch{return!1}}var v=/transform|translate|scale|rotate|perspective|filter/,C=/paint|layout|strict|content/,o=t=>!!t&&t!==\"none\",s;function D(t){let n=h(t)?S(t):t;return o(n.transform)||o(n.translate)||o(n.scale)||o(n.rotate)||o(n.perspective)||!R()&&(o(n.backdropFilter)||o(n.filter))||v.test(n.willChange||\"\")||C.test(n.contain||\"\")}function W(t){let n=f(t);for(;g(n)&&!N(n);){if(D(n))return n;if(T(n))return null;n=f(n)}return null}function R(){return s==null&&(s=typeof CSS<\"u\"&&CSS.supports&&CSS.supports(\"-webkit-backdrop-filter\",\"none\")),s}function N(t){return/^(html|body|#document)$/.test(a(t))}function S(t){return i(t).getComputedStyle(t)}function $(t){return h(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function f(t){if(a(t)===\"html\")return t;let n=t.assignedSlot||t.parentNode||p(t)&&t.host||L(t);return p(n)?n.host:n}function b(t){let n=f(t);return N(n)?(t.ownerDocument||t).body:g(n)&&y(n)?n:b(n)}function w(t,n,r){var c;n===void 0&&(n=[]),r===void 0&&(r=!0);let e=b(t),E=e===((c=t.ownerDocument)==null?void 0:c.body),l=i(e);if(E){let d=k(l);return n.concat(l,l.visualViewport||[],y(e)?e:[],d&&r?w(d):[])}else return n.concat(e,w(e,[],r))}function k(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}export{S as getComputedStyle,W as getContainingBlock,L as getDocumentElement,k as getFrameElement,b as getNearestOverflowAncestor,a as getNodeName,$ as getNodeScroll,w as getOverflowAncestors,f as getParentNode,i as getWindow,D as isContainingBlock,h as isElement,g as isHTMLElement,N as isLastTraversableNode,m as isNode,y as isOverflowElement,p as isShadowRoot,_ as isTableElement,T as isTopLayer,R as isWebKit};\n//# sourceMappingURL=dom.mjs.map","/* esm.sh - @floating-ui/utils@0.2.12/dom */\nexport * from \"/@floating-ui/utils@0.2.12/es2022/dom.mjs\";\n","/* esm.sh - @floating-ui/utils@0.2.12 */\nexport * from \"/@floating-ui/utils@0.2.12/es2022/utils.mjs\";\n","/* esm.sh - @floating-ui/dom@1.6.12 */\nimport{rectToClientRect as G,detectOverflow as it,offset as nt,autoPlacement as ot,shift as st,flip as rt,size as ct,hide as lt,arrow as ft,inline as ut,limitShift as ht,computePosition as at}from\"/@floating-ui/core@^1.6.0?target=es2022\";import{round as z,createCoords as v,max as E,min as I,floor as $}from\"/@floating-ui/utils@^0.2.8?target=es2022\";import{getComputedStyle as y,isHTMLElement as R,isElement as O,getWindow as L,isWebKit as J,getFrameElement as U,getNodeScroll as A,getDocumentElement as b,isTopLayer as S,getNodeName as M,isOverflowElement as P,getOverflowAncestors as V,getParentNode as W,isLastTraversableNode as D,isContainingBlock as Q,isTableElement as dt,getContainingBlock as gt}from\"/@floating-ui/utils@^0.2.8/dom?target=es2022\";import{getOverflowAncestors as jt}from\"/@floating-ui/utils@^0.2.8/dom?target=es2022\";function Y(t){let e=y(t),i=parseFloat(e.width)||0,n=parseFloat(e.height)||0,o=R(t),r=o?t.offsetWidth:i,s=o?t.offsetHeight:n,c=z(i)!==r||z(n)!==s;return c&&(i=r,n=s),{width:i,height:n,$:c}}function _(t){return O(t)?t:t.contextElement}function F(t){let e=_(t);if(!R(e))return v(1);let i=e.getBoundingClientRect(),{width:n,height:o,$:r}=Y(e),s=(r?z(i.width):i.width)/n,c=(r?z(i.height):i.height)/o;return(!s||!Number.isFinite(s))&&(s=1),(!c||!Number.isFinite(c))&&(c=1),{x:s,y:c}}var pt=v(0);function Z(t){let e=L(t);return!J()||!e.visualViewport?pt:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function wt(t,e,i){return e===void 0&&(e=!1),!i||e&&i!==L(t)?!1:e}function T(t,e,i,n){e===void 0&&(e=!1),i===void 0&&(i=!1);let o=t.getBoundingClientRect(),r=_(t),s=v(1);e&&(n?O(n)&&(s=F(n)):s=F(t));let c=wt(r,i,n)?Z(r):v(0),l=(o.left+c.x)/s.x,f=(o.top+c.y)/s.y,u=o.width/s.x,h=o.height/s.y;if(r){let p=L(r),g=n&&O(n)?L(n):n,x=p,a=U(x);for(;a&&n&&g!==x;){let w=F(a),d=a.getBoundingClientRect(),m=y(a),C=d.left+(a.clientLeft+parseFloat(m.paddingLeft))*w.x,B=d.top+(a.clientTop+parseFloat(m.paddingTop))*w.y;l*=w.x,f*=w.y,u*=w.x,h*=w.y,l+=C,f+=B,x=L(a),a=U(x)}}return G({width:u,height:h,x:l,y:f})}function k(t,e){let i=A(t).scrollLeft;return e?e.left+i:T(b(t)).left+i}function X(t,e,i){i===void 0&&(i=!1);let n=t.getBoundingClientRect(),o=n.left+e.scrollLeft-(i?0:k(t,n)),r=n.top+e.scrollTop;return{x:o,y:r}}function mt(t){let{elements:e,rect:i,offsetParent:n,strategy:o}=t,r=o===\"fixed\",s=b(n),c=e?S(e.floating):!1;if(n===s||c&&r)return i;let l={scrollLeft:0,scrollTop:0},f=v(1),u=v(0),h=R(n);if((h||!h&&!r)&&((M(n)!==\"body\"||P(s))&&(l=A(n)),R(n))){let g=T(n);f=F(n),u.x=g.x+n.clientLeft,u.y=g.y+n.clientTop}let p=s&&!h&&!r?X(s,l,!0):v(0);return{width:i.width*f.x,height:i.height*f.y,x:i.x*f.x-l.scrollLeft*f.x+u.x+p.x,y:i.y*f.y-l.scrollTop*f.y+u.y+p.y}}function vt(t){return Array.from(t.getClientRects())}function xt(t){let e=b(t),i=A(t),n=t.ownerDocument.body,o=E(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),r=E(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),s=-i.scrollLeft+k(t),c=-i.scrollTop;return y(n).direction===\"rtl\"&&(s+=E(e.clientWidth,n.clientWidth)-o),{width:o,height:r,x:s,y:c}}function yt(t,e){let i=L(t),n=b(t),o=i.visualViewport,r=n.clientWidth,s=n.clientHeight,c=0,l=0;if(o){r=o.width,s=o.height;let f=J();(!f||f&&e===\"fixed\")&&(c=o.offsetLeft,l=o.offsetTop)}return{width:r,height:s,x:c,y:l}}function Ot(t,e){let i=T(t,!0,e===\"fixed\"),n=i.top+t.clientTop,o=i.left+t.clientLeft,r=R(t)?F(t):v(1),s=t.clientWidth*r.x,c=t.clientHeight*r.y,l=o*r.x,f=n*r.y;return{width:s,height:c,x:l,y:f}}function K(t,e,i){let n;if(e===\"viewport\")n=yt(t,i);else if(e===\"document\")n=xt(b(t));else if(O(e))n=Ot(e,i);else{let o=Z(t);n={x:e.x-o.x,y:e.y-o.y,width:e.width,height:e.height}}return G(n)}function tt(t,e){let i=W(t);return i===e||!O(i)||D(i)?!1:y(i).position===\"fixed\"||tt(i,e)}function bt(t,e){let i=e.get(t);if(i)return i;let n=V(t,[],!1).filter(c=>O(c)&&M(c)!==\"body\"),o=null,r=y(t).position===\"fixed\",s=r?W(t):t;for(;O(s)&&!D(s);){let c=y(s),l=Q(s);!l&&c.position===\"fixed\"&&(o=null),(r?!l&&!o:!l&&c.position===\"static\"&&!!o&&[\"absolute\",\"fixed\"].includes(o.position)||P(s)&&!l&&tt(t,s))?n=n.filter(u=>u!==s):o=c,s=W(s)}return e.set(t,n),n}function Rt(t){let{element:e,boundary:i,rootBoundary:n,strategy:o}=t,s=[...i===\"clippingAncestors\"?S(e)?[]:bt(e,this._c):[].concat(i),n],c=s[0],l=s.reduce((f,u)=>{let h=K(e,u,o);return f.top=E(h.top,f.top),f.right=I(h.right,f.right),f.bottom=I(h.bottom,f.bottom),f.left=E(h.left,f.left),f},K(e,c,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function Ct(t){let{width:e,height:i}=Y(t);return{width:e,height:i}}function Lt(t,e,i){let n=R(e),o=b(e),r=i===\"fixed\",s=T(t,!0,r,e),c={scrollLeft:0,scrollTop:0},l=v(0);if(n||!n&&!r)if((M(e)!==\"body\"||P(o))&&(c=A(e)),n){let p=T(e,!0,r,e);l.x=p.x+e.clientLeft,l.y=p.y+e.clientTop}else o&&(l.x=k(o));let f=o&&!n&&!r?X(o,c):v(0),u=s.left+c.scrollLeft-l.x-f.x,h=s.top+c.scrollTop-l.y-f.y;return{x:u,y:h,width:s.width,height:s.height}}function N(t){return y(t).position===\"static\"}function j(t,e){if(!R(t)||y(t).position===\"fixed\")return null;if(e)return e(t);let i=t.offsetParent;return b(t)===i&&(i=i.ownerDocument.body),i}function et(t,e){let i=L(t);if(S(t))return i;if(!R(t)){let o=W(t);for(;o&&!D(o);){if(O(o)&&!N(o))return o;o=W(o)}return i}let n=j(t,e);for(;n&&dt(n)&&N(n);)n=j(n,e);return n&&D(n)&&N(n)&&!Q(n)?i:n||gt(t)||i}var Tt=async function(t){let e=this.getOffsetParent||et,i=this.getDimensions,n=await i(t.floating);return{reference:Lt(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function Et(t){return y(t).direction===\"rtl\"}var Ft={convertOffsetParentRelativeRectToViewportRelativeRect:mt,getDocumentElement:b,getClippingRect:Rt,getOffsetParent:et,getElementRects:Tt,getClientRects:vt,getDimensions:Ct,getScale:F,isElement:O,isRTL:Et};function Wt(t,e){let i=null,n,o=b(t);function r(){var c;clearTimeout(n),(c=i)==null||c.disconnect(),i=null}function s(c,l){c===void 0&&(c=!1),l===void 0&&(l=1),r();let{left:f,top:u,width:h,height:p}=t.getBoundingClientRect();if(c||e(),!h||!p)return;let g=$(u),x=$(o.clientWidth-(f+h)),a=$(o.clientHeight-(u+p)),w=$(f),m={rootMargin:-g+\"px \"+-x+\"px \"+-a+\"px \"+-w+\"px\",threshold:E(0,I(1,l))||1},C=!0;function B(q){let H=q[0].intersectionRatio;if(H!==l){if(!C)return s();H?s(!1,H):n=setTimeout(()=>{s(!1,1e-7)},1e3)}C=!1}try{i=new IntersectionObserver(B,{...m,root:o.ownerDocument})}catch{i=new IntersectionObserver(B,m)}i.observe(t)}return s(!0),r}function Dt(t,e,i,n){n===void 0&&(n={});let{ancestorScroll:o=!0,ancestorResize:r=!0,elementResize:s=typeof ResizeObserver==\"function\",layoutShift:c=typeof IntersectionObserver==\"function\",animationFrame:l=!1}=n,f=_(t),u=o||r?[...f?V(f):[],...V(e)]:[];u.forEach(d=>{o&&d.addEventListener(\"scroll\",i,{passive:!0}),r&&d.addEventListener(\"resize\",i)});let h=f&&c?Wt(f,i):null,p=-1,g=null;s&&(g=new ResizeObserver(d=>{let[m]=d;m&&m.target===f&&g&&(g.unobserve(e),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var C;(C=g)==null||C.observe(e)})),i()}),f&&!l&&g.observe(f),g.observe(e));let x,a=l?T(t):null;l&&w();function w(){let d=T(t);a&&(d.x!==a.x||d.y!==a.y||d.width!==a.width||d.height!==a.height)&&i(),a=d,x=requestAnimationFrame(w)}return i(),()=>{var d;u.forEach(m=>{o&&m.removeEventListener(\"scroll\",i),r&&m.removeEventListener(\"resize\",i)}),h?.(),(d=g)==null||d.disconnect(),g=null,l&&cancelAnimationFrame(x)}}var At=it,Ht=nt,Nt=ot,It=st,Vt=rt,St=ct,Mt=lt,Pt=ft,_t=ut,kt=ht,qt=(t,e,i)=>{let n=new Map,o={platform:Ft,...i},r={...o.platform,_c:n};return at(t,e,{...o,platform:r})};export{Pt as arrow,Nt as autoPlacement,Dt as autoUpdate,qt as computePosition,At as detectOverflow,Vt as flip,jt as getOverflowAncestors,Mt as hide,_t as inline,kt as limitShift,Ht as offset,Ft as platform,It as shift,St as size};\n//# sourceMappingURL=dom.mjs.map","/* esm.sh - @floating-ui/dom@1.6.12 */\nimport \"/@floating-ui/core@^1.6.0?target=es2022\";\nimport \"/@floating-ui/utils@^0.2.8/dom?target=es2022\";\nimport \"/@floating-ui/utils@^0.2.8?target=es2022\";\nexport * from \"/@floating-ui/dom@1.6.12/es2022/dom.mjs\";\n","// ============================================================================================\n// CASE STUDY CONTENT: the words. Edit this file to change what each mini case study says.\n// ============================================================================================\n//\n// Each project has its brand (logo and colours) and a list of case studies, in the order they play.\n// Each case study has a list of steps. For every step:\n//   title    a one-line summary, read out to screen readers\n//   say      what the narrator (you) says in the full-screen player. One paragraph of rich text:\n//              {{+20%}}  a big number in the client colour      {{!~50%}}  a big number in red\n//              **words** bold                                    [words](https://…)  a link to a source\n//   caption  the shorter caption the inline version shows next to the picture\n//   notes    points on the screen with a detail each. `on` names a layer in CaseStudyScenes\n//            (\"form\", or \"teachingPal/header\" for a hotspot inside a layer). `corner` is where the\n//            point sits on that layer: \"tl\", \"tr\", \"bl\", \"br\" (top/bottom, left/right). Default \"tr\".\n//   face     optional: the narrator's expression on this step: pleased, nervous, surprised, thinking, wince or angry.\n//            Leave it out for the normal photo. Use sparingly: a turning point, not decoration\n//   mark     optional: a variant of the face's effect (each face has a default): sparkle, note, sweat, alert, interro,\n//            alert2, question, question2, vein, anger, or none for the face alone\n//   alt      optional: what the step's picture shows, for screen readers. Without it they hear the screens'\n//            own descriptions (CaseStudyBoards), or the title when the screens are faded\n//\n// A case study's `slug` makes its page address: /work/<project>-<slug>. Keep it short and\n// never change it once shared (add a redirect if you must). `poster` is the step its card shows before you\n// press Play: pick the one that shows the finished work. `outcome` is the result line under its name.\n// To add a case study: add it here, give it a scene with the same id in CaseStudyScenes, and add an item\n// to the Mini case studies collection in Framer with the slug <project>-<slug> and Project set.\n//\n// Case studies marked `board: true` are laid out in the Figma storyboard instead of CaseStudyScenes.\n// Their words here and their layout in CaseStudyBoards both come from the read-back\n// (readback/gen_boards.py), so change them in Figma and run it again. Their notes say on: \"board\".\n// ============================================================================================\nexport const PROJECTS={// prolific: in CaseStudyPlayers.tsx, edited with the editor UI (?edit on a branch preview)\npearson:{name:\"Pearson\",title:\"A design system for ten product teams, and the designers behind them\",logo:\"https://framerusercontent.com/images/yE0RNxyakSJgZ81io3alIVruUs.svg\",logoHeight:24,logoRatio:4.375,colour:\"#a99bff\",textColour:\"var(--token-46f860d4-6708-40b9-930b-21c953d17e45, #c1bfff)\",stories:[{id:\"teams\",slug:\"ten-teams-one-toolkit\",name:\"Ten teams, one toolkit\",label:\"Ten teams, one toolkit\",outcome:\"80% of teams in 4 months\",poster:3,board:true,steps:[{title:\"A new brand\",say:\"Pearson had a new brand, and {{10}} product teams needed it in their products. I led the YLD team of six that had to get it there.\",caption:\"Pearson had a new brand, and 10 product teams needed it in their products. I led the YLD team of six that had to get it there.\",notes:[],alt:\"Pearson's brand before and after: old logo, palette and patterns beside the new logo and its wider palette\"},{face:\"surprised\",mark:\"interro\",title:\"Ten systems, 1,000 buttons\",say:\"Each team had built its own design system, and our audit found more than {{1,000}} button variants across them. These are three of them.\",caption:\"Each team had built its own design system, and our audit found more than 1,000 button variants across them. These are three of them.\",notes:[],alt:\"Products and design systems from three Pearson teams, Spark, Fredly and Delta, with 1,000+ button variants across the audit\"},{title:\"My team of six\",say:\"Pearson's own designers were busy keeping their products running, and no one team could build for the other nine. So they brought in an outside team who could stay neutral. I led it: six of us at YLD, four designers, a developer and me.\",caption:\"Pearson's own designers were busy keeping their products running, and no one team could build for the other nine. So they brought in an outside team who could stay neutral. I led it: six of us at YLD, four designers, a developer and me.\",notes:[],alt:\"The toolkit team of 6, a design lead, 4 designers and a developer, beside 28 designers in 10 product teams\"},{title:\"28 designers in ten teams\",say:\"We worked with 28 designers across those teams, so whatever we made had to fit how they already worked.\",caption:\"We worked with 28 designers across those teams, so whatever we made had to fit how they already worked.\",notes:[],alt:\"28 designers in 10 product teams, from Nemo and ModernXL to eText and Evolution, beside the toolkit team of 6\"},{title:\"Talking to every team first\",say:\"We started by interviewing every team and auditing every system.\",caption:\"We started by interviewing every team and auditing every system.\",notes:[{text:'\"We waste time rebuilding similar components across systems\"',on:\"board\"}],alt:\"The design system audit in Figma, with each team's foundations side by side and a checklist of what each system had\"},{title:\"No system general enough\",say:\"No existing system was general enough to become the base for everyone.\",caption:\"No existing system was general enough to become the base for everyone.\",notes:[],alt:\"Products from different Pearson teams, each built on its own design system with its own buttons\"},{title:\"Each team chose a level\",say:\"Asking ten teams to rebuild at once would have ruffled some feathers, so each team chose how far to go.\",caption:\"Asking ten teams to rebuild at once would have ruffled some feathers, so each team chose how far to go.\",notes:[],alt:\"Three levels a team could choose: alias your tokens to ours, use our tokens, or use our components\"},{title:\"Level 1\",say:\"At Level 1, a team pointed its own colour and type settings (tokens) at ours, so the new brand arrived without touching a component.\",caption:\"At Level 1, a team pointed its own colour and type settings (tokens) at ours, so the new brand arrived without touching a component.\",notes:[],alt:\"The three levels with Level 1 highlighted: point your own tokens at the toolkit and the new brand arrives\"},{title:\"Levels 2 and 3\",say:\"Level 2 used our tokens directly and brought light and dark themes. Level 3 swapped in our buttons, inputs and type.\",caption:\"Level 2 used our tokens directly and brought light and dark themes. Level 3 swapped in our buttons, inputs and type.\",notes:[],alt:\"The three levels with Levels 2 and 3 highlighted: use the toolkit tokens directly, or swap in its components\"},{title:\"Names any team could map to\",say:\"Our first token names kept tripping up even our own team, so two weeks in, we renamed them by what they do. One input border replaced {{16}} different ones, so mapping a team's old tokens to ours became a short job.\",caption:\"Our first token names kept tripping up even our own team, so two weeks in, we renamed them by what they do. One input border replaced 16 different ones, so mapping a team's old tokens to ours became a short job.\",notes:[],alt:\"Nemo's 16 separate stroke colours beside the toolkit's six border tokens, led by interactive/input/border/default\"},{title:\"The toolkit\",say:\"This is what teams were moving onto: foundations for colour, type, spacing and radius, and components built on them, each in light and dark.\",caption:\"This is what teams were moving onto: foundations for colour, type, spacing and radius, and components built on them, each in light and dark.\",notes:[],alt:\"The toolkit's foundations, colour ramps and light and dark surfaces, above components and products built on them\"},{title:\"The brand team\",say:\"Pearson's brand team had to approve everything before it shipped, so I ran that relationship myself and showed them our work every two weeks.\",caption:\"Pearson's brand team had to approve everything before it shipped, so I ran that relationship myself and showed them our work every two weeks.\",notes:[],alt:\"More than twenty toolkit components, from tabs and a date picker to a data table, in light and dark\"},{title:\"Recorded sessions\",say:\"We recorded every update meeting, Q&A and office hours session, and filed them in Pearson's design documentation. Any designer could catch up in their own time, or look back later.\",caption:\"We recorded every update meeting, Q&A and office hours session, and filed them in Pearson's design documentation. Any designer could catch up in their own time, or look back later.\",notes:[],alt:\"Recorded sessions filed for any designer: sprint demos, office hours and a team session, each marked Recording\"},{title:\"How-to videos\",say:\"We also made how-to videos, a quick-start guide to importing and using the toolkit, and left them in Figma with links any designer could find. New joiners didn't have to rely on second-hand advice.\",caption:\"We also made how-to videos, a quick-start guide to importing and using the toolkit, and left them in Figma with links any designer could find. New joiners didn't have to rely on second-hand advice.\",notes:[],alt:\"How-to videos on importing the toolkit, inserting components and component properties, each with a link to watch\"},{face:\"pleased\",title:\"80% integrating\",say:\"Within 4 months, {{80%}} of teams were integrating the toolkit, 8 of 10, 4 of them at Level 3. Any level counted: teams could start aligning and work up, without redesigning their whole product suite.\",caption:\"Within 4 months, 80% of teams were integrating the toolkit, 8 of 10, 4 of them at Level 3. Any level counted: teams could start aligning and work up, without redesigning their whole product suite.\",notes:[],alt:\"A product on the toolkit in light and dark, above a pulse check: eight teams integrating, Mondly not yet, and Evolution a marketing system\"},{title:\"Handed over\",say:\"Higher Education, one of the ten teams, went all in on Level 3 and began merging its systems into one file. Then we handed the toolkit to Pearson's own team to run.\",caption:\"Higher Education, one of the ten teams, went all in on Level 3 and began merging its systems into one file. Then we handed the toolkit to Pearson's own team to run.\",notes:[],alt:\"The same product and pulse check: eight of ten teams integrating the toolkit\"}]},{id:\"sayno\",slug:\"saying-no\",name:\"Saying no\",label:\"Saying no\",outcome:\"One toolkit, rules included\",poster:3,board:true,steps:[{title:\"Ten teams, my six\",say:\"Pearson had a new brand and {{10}} product teams to bring it to. My team of six built one toolkit for all of them, alongside their 28 designers.\",caption:\"Pearson had a new brand and 10 product teams to bring it to. My team of six built one toolkit for all of them, alongside their 28 designers.\",notes:[],alt:\"The toolkit team of 6, a design lead, 4 designers and a developer, beside 28 designers in 10 product teams\"},{title:\"The requests start\",say:\"Saying yes to every request would have meant ten toolkits again. And once teams were building with it, the requests started.\",caption:\"Saying yes to every request would have meant ten toolkits again. And once teams were building with it, the requests started.\",notes:[],alt:\"Six requests from Pearson teams, each tagged with its team, from a date picker to a tooltip without an arrow\"},{title:\"One board\",say:\"So every request went on one board, tagged by the team that asked. It held {{72}} by the time we handed over.\",caption:\"So every request went on one board, tagged by the team that asked. It held 72 by the time we handed over.\",notes:[],alt:\"The Toolkit Requests board, 72 requests, with columns for status, the request, the team that asked and the solution\"},{title:\"A designer per team\",say:\"Each designer on my team owned the conversation with their Pearson teams and brought the requests back, so I could see all ten before deciding.\",caption:\"Each designer on my team owned the conversation with their Pearson teams and brought the requests back, so I could see all ten before deciding.\",notes:[],alt:\"Four designers on the toolkit team, each owning two Pearson teams, with feedback going back to the requests board\"},{title:\"Yes, for everyone\",say:\"My first rule was to solve a request for every team or not at all. Higher Education needed 12px text, so every team got 12px sizes in its Body and Label styles.\",caption:\"My first rule was to solve a request for every team or not at all. Higher Education needed 12px text, so every team got 12px sizes in its Body and Label styles.\",notes:[],alt:\"A Higher Education request for 12px font sizes, done, with 12px added to the Body and Label styles\"},{title:\"Yes, without a fork\",say:\"Modern XL needed different button spacing, so we made spacing an option on the one button all teams use. No team got its own button.\",caption:\"Modern XL needed different button spacing, so we made spacing an option on the one button all teams use. No team got its own button.\",notes:[],alt:\"A Modern XL request about button spacing, done, solved as an optional property on the shared button\"},{title:\"No, with a reason\",say:\"The first teams asked for a sepia theme, and the answer was a plain no. It served one or two products, and every team would have had to carry the extra work.\",caption:\"The first teams asked for a sepia theme, and the answer was a plain no. It served one or two products, and every team would have had to carry the extra work.\",notes:[],alt:\"Light and dark themes, each for every team, beside a sepia theme marked Cut, used by one or two products\"},{title:\"Taking away\",say:\"We cut the extra button fills, so no team could pick any colour for its main button. Sometimes the answer was to take something away.\",caption:\"We cut the extra button fills, so no team could pick any colour for its main button. Sometimes the answer was to take something away.\",notes:[],alt:\"A Nemo request to remove excess button styles, done, with fills 2 and 3 removed\"},{title:\"The second-team rule\",say:\"A new component joined the toolkit only when a second team needed it. Until then, it lived in the team's own file.\",caption:\"A new component joined the toolkit only when a second team needed it. Until then, it lived in the team's own file.\",notes:[{text:\"That could be a team's first contribution\",on:\"board\"}],alt:\"A new component starts in a team's own file, and moves into the toolkit when another team needs it too\"},{title:\"Writing the rules down\",say:\"I wrote these rules into a governance plan, so the calls didn't depend on me. Every team got at least one voice to review, agree and vote on changes.\",caption:\"I wrote these rules into a governance plan, so the calls didn't depend on me. Every team got at least one voice to review, agree and vote on changes.\",notes:[],alt:\"A change to the toolkit, reviewed, agreed and voted on by all ten teams\"},{title:\"Handing over\",say:\"When Pearson's own team took over, the requests moved to their Jira board, with a change log so every team could see what had changed.\",caption:\"When Pearson's own team took over, the requests moved to their Jira board, with a change log so every team could see what had changed.\",notes:[],alt:\"Toolkit requests moving to Pearson's Jira board, above a change log of what had changed\"},{face:\"pleased\",mark:\"none\",title:\"More than a backlog\",say:\"Pearson's team got the backlog and the rules for deciding it.\",caption:\"Pearson's team got the backlog and the rules for deciding it.\",notes:[],alt:\"The requests board, faded behind the narration: 72 requests, each with its status, team and solution\"},{title:\"What we learnt\",say:\"The real work is finding the yes that helps every team, and saying a plain no when there isn't one. Saying yes to one team is easy.\",caption:\"The real work is finding the yes that helps every team, and saying a plain no when there isn't one. Saying yes to one team is easy.\",notes:[],alt:\"The requests board, faded behind the lesson: 72 requests, some done, some in progress, some not started\"}]},{id:\"colour\",slug:\"accessible-colour\",name:\"Contrast built in\",label:\"Contrast built in\",outcome:\"AA on every surface\",poster:8,board:true,steps:[{title:\"A brand for ten teams\",say:\"Pearson's new brand had to work in {{10}} teams' products, and pass WCAG 2.2 AA on every surface and text pair. I looked after the accessibility work, one to one with Pearson's brand team.\",caption:\"Pearson's new brand had to work in 10 teams' products, and pass WCAG 2.2 AA on every surface and text pair. I looked after the accessibility work, one to one with Pearson's brand team.\",notes:[],alt:\"The new brand's purple, fuchsia, amber and turquoise ramps, beside light text on turquoise that fails AA at 1.57:1\"},{face:\"wince\",title:\"Light on light\",say:\"Nothing stopped a team from putting light text on a light colour.\",caption:\"Nothing stopped a team from putting light text on a light colour.\",notes:[],alt:\"The brand ramps again, with light text on a light turquoise failing AA at 1.57:1\"},{title:\"No in-between shades\",say:\"The brand had no in-between shades. Its purples jumped from light purple straight to Pearson purple.\",caption:\"The brand had no in-between shades. Its purples jumped from light purple straight to Pearson purple.\",notes:[],alt:\"Pearson's brand colours: five purples from Mist purple to Pearson black, and four accents, with hex values\"},{title:\"The missing steps\",say:\"So I added the missing steps between the brand's colours, creating a more complete palette.\",caption:\"So I added the missing steps between the brand's colours, creating a more complete palette.\",notes:[],alt:\"The brand's five purples placed in a 14-step toolkit ramp, with the gaps between them filled\"},{title:\"Every combination\",say:\"Then I measured the contrast of every combination, to see which pairs could carry text.\",caption:\"Then I measured the contrast of every combination, to see which pairs could carry text.\",notes:[],alt:\"Every text and surface pair in the purple ramp with its contrast ratio, marked passes AA, large text only or fails\"},{title:\"A new middle step\",say:\"One of those new middle steps became our secondary text colour.\",caption:\"One of those new middle steps became our secondary text colour.\",notes:[],alt:\"The same contrast grid, showing which of the new in-between purples pass AA as text, and on which surfaces\"},{title:\"Surfaces with their own text\",say:\"We gave every background its own text colours, so text always has a readable pair.\",caption:\"We gave every background its own text colours, so text always has a readable pair.\",notes:[],alt:\"Surface stacks in light and dark, from surface low to highest, with on-surface text sitting on surface highest\"},{title:\"Pick a surface\",say:\"A designer picks a surface, and the text that sits on it is already decided.\",caption:\"A designer picks a surface, and the text that sits on it is already decided.\",notes:[],alt:\"The surface stacks again: pick a surface, and the on-surface text that sits on it comes with it\"},{title:\"Checked to AA\",say:\"Each surface and text pair was checked to AA, so a team didn't have to run contrast checks of its own.\",caption:\"Each surface and text pair was checked to AA, so a team didn't have to run contrast checks of its own.\",notes:[],alt:\"Body text on light, dark and brand surfaces, every pair labelled with its ratio, from 8.68:1 to 18.67:1, all AA\"},{title:\"Brand sign-off\",say:\"I went back and forth with stakeholders and the brand team on which pairs felt on brand in light and dark, until the brand team signed off.\",caption:\"I went back and forth with stakeholders and the brand team on which pairs felt on brand in light and dark, until the brand team signed off.\",notes:[],alt:\"The same light, dark and brand surface pairs, each labelled with its ratio and Passes AA\"},{title:\"Light and dark\",say:\"Light and dark come from the same set of colour names. Switching Figma's mode flips text, surfaces, inputs and buttons together.\",caption:\"Light and dark come from the same set of colour names. Switching Figma's mode flips text, surfaces, inputs and buttons together.\",notes:[],alt:\"The same course card in light and dark themes, from the same colour names: heading, search input and button\"},{title:\"Too small to read\",say:\"A 1.2 type scale gave us 13.3px and 11.1px below body text, which was too small to read comfortably.\",caption:\"A 1.2 type scale gave us 13.3px and 11.1px below body text, which was too small to read comfortably.\",notes:[],alt:\"The type scale with the 1.2 scale's 13.3px and 11.1px turned down below 16px body text\"},{title:\"14 and 12\",say:\"So I dropped those two and set the small sizes at {{14px}} and {{12px}}.\",caption:\"So I dropped those two and set the small sizes at 14px and 12px.\",notes:[],alt:\"The type scale, with 14px and 12px set instead of 13.3px and 11.1px, and shipped\"},{title:\"The focus ring\",say:\"My team tested focus rings in fuchsia, turquoise and blue against each type of colour blindness. Turquoise nearly vanished on Mist, Pearson's palest background. Blue held up in all of them, so we shipped a 2px blue ring.\",caption:\"My team tested focus rings in fuchsia, turquoise and blue against each type of colour blindness. Turquoise nearly vanished on Mist, Pearson's palest background. Blue held up in all of them, so we shipped a 2px blue ring.\",notes:[],alt:\"Fuchsia, turquoise and blue focus rings on Mist under simulated colour blindness. Blue, shipped at 2px, stays visible\"},{title:\"Forty chart colours\",say:\"Charts needed more colours than the brand's 12 to 16, so I grew the palette to {{40}}, four ramps of ten.\",caption:\"Charts needed more colours than the brand's 12 to 16, so I grew the palette to 40, four ramps of ten.\",notes:[],alt:\"The chart palette: amethyst, fuchsia, turquoise and amber, ten steps each, 40 colours\"},{title:\"Colour alone\",say:\"Colour alone can't carry meaning in a chart, so I added {{12}} patterns that layer over the colours.\",caption:\"Colour alone can't carry meaning in a chart, so I added 12 patterns that layer over the colours.\",notes:[],alt:\"Donut charts at 70% in the four chart colours, first solid, then with stripes, dots and diamonds over the colour\"},{title:\"All in the foundations\",say:\"Everything I've shown lives in the toolkit's foundations, the layer every component is built on.\",caption:\"Everything I've shown lives in the toolkit's foundations, the layer every component is built on.\",notes:[],alt:\"The foundations: colour ramps, light and dark surface stacks, the type scale, spacing from 2 to 128px, and radius\"},{title:\"Every component, every product\",say:\"So every component, and every product built from them, comes in light and dark with the same checked pairs.\",caption:\"So every component, and every product built from them, comes in light and dark with the same checked pairs.\",notes:[],alt:\"More than twenty toolkit components, from a date picker and toasts to tabs and a data table, in light and dark\"},{face:\"pleased\",title:\"Signed off, all AA\",say:\"The brand team signed off. Review still found some pairs that failed, like an info alert that all but vanished on a low surface, so I rebuilt the ramps and rechecked them before hand-over.\",caption:\"The brand team signed off. Review still found some pairs that failed, like an info alert that all but vanished on a low surface, so I rebuilt the ramps and rechecked them before hand-over.\",notes:[],alt:\"The toolkit components, faded behind the narration, light on one side and dark on the other\"},{title:\"What we learnt\",say:\"Building contrast into the colours meant teams didn't have to keep checking it.\",caption:\"Building contrast into the colours meant teams didn't have to keep checking it.\",notes:[],alt:\"The toolkit components in light and dark, faded behind the lesson\"}]}]},zego:{name:\"Zego\",title:\"A three-year vision and the design system to build it\",logo:\"https://framerusercontent.com/images/hkOWuSaYxQvcQywKY67UJccNWd4.svg\",logoHeight:20,logoRatio:3.4375,colour:\"#4ce99a\",textColour:\"var(--token-c925e94c-9f2a-4014-9ebf-19d23c054654, #c2ff66)\",stories:[{id:\"quote\",slug:\"quote-flow\",name:\"Quote flow\",label:\"Onboarding with no dead ends\",outcome:\"+15% in an early test\",poster:4,board:true,steps:[{title:\"Scene: who Zego is\",say:\"Zego insures people who drive for a living, from Uber drivers to companies with hundreds of vans. I led the redesign of how they get a quote.\",caption:\"Zego insures people who drive for a living, from Uber drivers to companies with hundreds of vans. I led the redesign of how they get a quote.\",notes:[]},{title:\"Scene: the starting point\",say:\"It had grown fast, and every new vehicle type or partner added another path to its quote flow.\",caption:\"It had grown fast, and every new vehicle type or partner added another path to its quote flow.\",notes:[]},{face:\"wince\",title:\"Scene: the problem\",say:\"A fleet manager could get halfway through a quote and then be told to phone customer service. Some of those paths went nowhere.\",caption:\"A fleet manager could get halfway through a quote and then be told to phone customer service. Some of those paths went nowhere.\",notes:[]},{title:\"One question\",say:\"So the new flow opens with one question, how many vehicles need insurance, and your answer sends you down the right path from the start.\",caption:\"So the new flow opens with one question, how many vehicles need insurance, and your answer sends you down the right path from the start.\",notes:[]},{title:\"Single drivers\",say:\"If it's one vehicle, it asks what work you do and who you drive for.\",caption:\"If it's one vehicle, it asks what work you do and who you drive for.\",notes:[]},{title:\"An early price\",say:\"Then it shows what drivers like you usually pay, before you've typed a single personal detail.\",caption:\"Then it shows what drivers like you usually pay, before you've typed a single personal detail.\",notes:[]},{title:\"The price sharpens\",say:\"Every answer after that sharpens the estimate, so each question feels worth answering.\",caption:\"Every answer after that sharpens the estimate, so each question feels worth answering.\",notes:[{text:\"The estimate updates as you answer\",on:\"board\"}]},{title:\"Scan, don't type\",say:\"And instead of typing out your licence, you scan it with your camera and check what it found.\",caption:\"And instead of typing out your licence, you scan it with your camera and check what it found.\",notes:[]},{title:\"Small fleets\",say:\"Fleets of 2 to 20 vehicles get their own online quote.\",caption:\"Fleets of 2 to 20 vehicles get their own online quote.\",notes:[]},{title:\"A soft no\",say:\"When a fleet doesn't fit the rules, say the vans are worth over \\xa340k, the flow says so and offers to get in touch, so Zego keeps the lead.\",caption:\"When a fleet doesn't fit the rules, say the vans are worth over \\xa340k, the flow says so and offers to get in touch, so Zego keeps the lead.\",notes:[]},{title:\"Big fleets\",say:\"Fleets of 21 or more go straight to booking a call with sales.\",caption:\"Fleets of 21 or more go straight to booking a call with sales.\",notes:[]},{face:\"pleased\",title:\"Outcome\",say:\"In an early A/B test, the new flow converted {{15%}} better. Across that year's revenue, that's about {{\\xa314m}} a year, projected.\",caption:\"In an early A/B test, the new flow converted 15% better. Across that year's revenue, that's about \\xa314m a year, projected.\",notes:[],alt:\"The new Zego quote flow on a phone, asking how many vehicles need insurance, faded behind the outcome\"},{title:\"What we learnt\",say:\"The gain came from taking out the places people got stuck, with no clever growth hacks. It was also the first piece of a bigger plan to ship.\",caption:\"The gain came from taking out the places people got stuck, with no clever growth hacks. It was also the first piece of a bigger plan to ship.\",notes:[],alt:\"The same quote flow screen, faded behind the lesson\"}]},{id:\"app\",slug:\"one-app-for-every-driver\",name:\"One app\",label:\"One app for every driver\",outcome:\"3-year roadmap\",poster:10,board:true,steps:[{title:\"Scene: who Zego is\",say:\"Zego insures people who drive for a living, and it grew fast, adding vans, scooters, fleets and gig partners as it went. I led the YLD design team asked to show what one app for all of them could look like.\",caption:\"Zego insures people who drive for a living, and it grew fast, adding vans, scooters, fleets and gig partners as it went. I led the YLD design team asked to show what one app for all of them could look like.\",notes:[]},{title:\"Scene: the starting point\",say:\"Each one came with its own journey, and some drivers needed separate apps to manage a single policy.\",caption:\"Each one came with its own journey, and some drivers needed separate apps to manage a single policy.\",notes:[]},{title:\"Scene: the problem\",say:\"Zego had plenty of ideas, but the team was too close to see what the product could become as a whole. Fleets even had their own separate portal.\",caption:\"Zego had plenty of ideas, but the team was too close to see what the product could become as a whole. Fleets even had their own separate portal.\",notes:[]},{title:\"Listening\",say:\"We started with one-to-one interviews across the business, from customer service and data to engineering and leadership.\",caption:\"We started with one-to-one interviews across the business, from customer service and data to engineering and leadership.\",notes:[]},{title:\"Building on research\",say:\"Zego's research team already had hundreds of findings, so we built on those instead of starting again.\",caption:\"Zego's research team already had hundreds of findings, so we built on those instead of starting again.\",notes:[]},{title:\"Workshops\",say:'I ran four creative workshops that turned what we\\'d heard into \"How might we\" questions, and the team voted on which to chase.',caption:'I ran four creative workshops that turned what we\\'d heard into \"How might we\" questions, and the team voted on which to chase.',notes:[]},{title:\"How might we\",say:\"The ideas with the most votes became the north star.\",caption:\"The ideas with the most votes became the north star.\",notes:[]},{title:\"The insight\",say:\"Every new product or partner multiplied the paths through Zego. That insight kept coming back.\",caption:\"Every new product or partner multiplied the paths through Zego. That insight kept coming back.\",notes:[]},{title:\"The north star\",say:\"So the north star starts on the website and ends in one app, whoever you are and whatever you drive.\",caption:\"So the north star starts on the website and ends in one app, whoever you are and whatever you drive.\",notes:[]},{title:\"Clever in the background\",say:\"In that vision, the app does the clever work behind the scenes, like a Driver Score that can bring your price down when you drive well.\",caption:\"In that vision, the app does the clever work behind the scenes, like a Driver Score that can bring your price down when you drive well.\",notes:[]},{title:\"Claims in the app\",say:\"Claims would live in the same app, with reporting one designed to take less than five minutes.\",caption:\"Claims would live in the same app, with reporting one designed to take less than five minutes.\",notes:[]},{face:\"pleased\",mark:\"none\",title:\"Outcome\",say:'The new onboarding shipped while we were there, and Zego planned the next three years around the rest. Its Lead Product Designer said \"there\\'s enough work here to keep us sustained for years\".',caption:'The new onboarding shipped while we were there, and Zego planned the next three years around the rest. Its Lead Product Designer said \"there\\'s enough work here to keep us sustained for years\".',notes:[],alt:\"Two phones showing the new Zego driver app, with policies and a driving score dashboard, faded behind the outcome\"},{title:\"What we learnt\",say:\"Fresh eyes helped, because the team was too close to the product to see it whole. And a vision only works with a plan to build it, which is why we shipped it in pieces.\",caption:\"Fresh eyes helped, because the team was too close to the product to see it whole. And a vision only works with a plan to build it, which is why we shipped it in pieces.\",notes:[],alt:\"The same two phones, faded behind the lesson\"}]},{id:\"system\",slug:\"design-system\",name:\"Design system\",label:\"A design system to support the vision\",outcome:\"40% faster, lead designer's estimate\",poster:1,board:true,steps:[{title:\"Scene: the system\",say:\"Zego insures people who drive for a living. By the end of our work, it had a design system of {{121}} components and {{891}} variants, built by my team and Zego's designers.\",caption:\"Zego insures people who drive for a living. By the end of our work, it had a design system of 121 components and 891 variants, built by my team and Zego's designers.\",notes:[]},{title:\"Scene: the starting point\",say:\"When we started, its teams kept rebuilding the same buttons and cards, and they drifted apart between the app and the website.\",caption:\"When we started, its teams kept rebuilding the same buttons and cards, and they drifted apart between the app and the website.\",notes:[]},{title:\"Scene: the problem\",say:\"Zego needed a vision and a design system at once, so we built the system alongside the new north star from week three. Most teams pick one or the other.\",caption:\"Zego needed a vision and a design system at once, so we built the system alongside the new north star from week three. Most teams pick one or the other.\",notes:[]},{title:\"Grouped by function\",say:\"We grouped every component by what it does, like inputs, feedback, and navigation, so names weren't a matter of opinion.\",caption:\"We grouped every component by what it does, like inputs, feedback, and navigation, so names weren't a matter of opinion.\",notes:[]},{title:\"Masters\",say:\"Every button comes from one of three master components. Change a master, and all 171 button variants change with it.\",caption:\"Every button comes from one of three master components. Change a master, and all 171 button variants change with it.\",notes:[]},{face:\"thinking\",title:\"If we built it today\",say:\"If we built them today, icons would be on and off toggles and the four button styles would be variable modes. The same buttons would need {{24}} variants instead of {{171}}.\",caption:\"If we built them today, icons would be on and off toggles and the four button styles would be variable modes. The same buttons would need 24 variants instead of 171.\",notes:[]},{title:\"Paying with confidence\",say:\"Paying is where trust matters most, so the payment buttons are each phone's own. The price estimate waited on a single-use page until it had been tested.\",caption:\"Paying is where trust matters most, so the payment buttons are each phone's own. The price estimate waited on a single-use page until it had been tested.\",notes:[]},{title:\"Zego's own\",say:\"Where the brand matters most, it's all Zego's own, from the Driver Score gauge in dark and light to icons for braking, cornering, and the apps drivers work for.\",caption:\"Where the brand matters most, it's all Zego's own, from the Driver Score gauge in dark and light to icons for braking, cornering, and the apps drivers work for.\",notes:[]},{title:\"Help in the app\",say:\"Help lives in the app too, with a full chat kit and illustrations that make claims and permissions feel less like paperwork.\",caption:\"Help lives in the app too, with a full chat kit and illustrations that make claims and permissions feel less like paperwork.\",notes:[]},{title:\"Every platform\",say:\"Everyday parts like inputs, dates, and navigation came in web, iOS, and Android versions, native where people expect it.\",caption:\"Everyday parts like inputs, dates, and navigation came in web, iOS, and Android versions, native where people expect it.\",notes:[]},{face:\"pleased\",title:\"Outcome\",say:'Zego\\'s Lead Product Designer said it had \"already sped us up significantly\", and estimated her team was moving {{40%}} faster.',caption:'Zego\\'s Lead Product Designer said it had \"already sped us up significantly\", and estimated her team was moving 40% faster.',notes:[],alt:\"A board of Zego design system components, including score gauges, buttons, inputs, a calendar and cards, faded behind the outcome\"},{title:\"What we learnt\",say:\"Working side by side in shared files saved far more rework than a hand-off document would have. We handed it over with training and design-along sessions. Then we gave a talk together at the Design Systems London meetup.\",caption:\"Working side by side in shared files saved far more rework than a hand-off document would have. We handed it over with training and design-along sessions. Then we gave a talk together at the Design Systems London meetup.\",notes:[],alt:\"The same component board, faded behind the lesson\"}]}]},perception:{name:\"Perception\",title:\"A Figma plugin that checks contrast the way people see it\",logo:\"https://framerusercontent.com/images/YRnnxueDWtzMOY0yVqb1vJyNtyQ.svg\",logoHeight:24,logoRatio:1.984,colour:\"#8f7cf0\",textColour:\"#9d8cff\",stories:[{id:\"scale\",slug:\"contrast-at-scale\",name:\"Contrast at scale\",label:\"Contrast checks for a whole system\",outcome:\"Used by 200+ designers\",poster:11,board:true,steps:[{title:\"The scale\",say:\"Pearson's brand refresh brought a new palette to a design system with hundreds of components. I had to guide the product and brand teams through it.\",caption:\"Pearson's brand refresh brought a new palette to a design system with hundreds of components. I had to guide the product and brand teams through it.\",notes:[]},{title:\"The bar\",say:\"Every colour had to pass strict accessibility requirements, and we had to prove it.\",caption:\"Every colour had to pass strict accessibility requirements, and we had to prove it.\",notes:[]},{face:\"nervous\",title:\"The churn\",say:\"And the colours kept changing in feedback rounds with product and brand. In this demo, a lighter blue makes ten components fail instead of six, so every change needs checking again.\",caption:\"And the colours kept changing in feedback rounds with product and brand. In this demo, a lighter blue makes ten components fail instead of six, so every change needs checking again.\",notes:[]},{title:\"Picking colours\",say:\"Picking colours and checking each pair by hand was slow, and across hundreds of components it was easy to get wrong.\",caption:\"Picking colours and checking each pair by hand was slow, and across hundreds of components it was easy to get wrong.\",notes:[]},{title:\"The constraint\",say:\"Nothing could leave the team's machines, so whatever checked the colours had to run entirely on them.\",caption:\"Nothing could leave the team's machines, so whatever checked the colours had to run entirely on them.\",notes:[]},{title:\"The first tool\",say:\"So I coded a contrast checker that ran inside Figma. It was slow and jammed the file while it ran, but it was faster and far more precise than picking colours by hand.\",caption:\"So I coded a contrast checker that ran inside Figma. It was slow and jammed the file while it ran, but it was faster and far more precise than picking colours by hand.\",notes:[]},{title:\"What it gave the team\",say:\"It saved my team hours, and it meant I could own accessibility on the new system we were building.\",caption:\"It saved my team hours, and it meant I could own accessibility on the new system we were building.\",notes:[]},{title:\"Rebuilt for everyone\",say:\"Then I rebuilt it from scratch as a plugin, with a fully accessible UI, more features, and a place people could find it.\",caption:\"Then I rebuilt it from scratch as a plugin, with a fully accessible UI, more features, and a place people could find it.\",notes:[]},{title:\"Same answer every time\",say:\"It calculates every result instead of asking AI, so the same file gives the same answer every time, and every result can be checked.\",caption:\"It calculates every result instead of asking AI, so the same file gives the same answer every time, and every result can be checked.\",notes:[]},{title:\"Anyone can check\",say:\"That means even a designer new to accessibility can check their own work and trust what it says.\",caption:\"That means even a designer new to accessibility can check their own work and trust what it says.\",notes:[]},{title:\"Fix and re-test\",say:\"Change the colour, re-test that one result, and the same check passes.\",caption:\"Change the colour, re-test that one result, and the same check passes.\",notes:[]},{face:\"pleased\",title:\"Payoff\",say:\"Now the {{200+}} people who use Perception and I spot-check designs with it in our daily work.\",caption:\"Now the 200+ people who use Perception and I spot-check designs with it in our daily work.\",notes:[],alt:\"Perception's results panel listing components that pass or fail contrast, faded behind the summary\"},{title:\"What we learnt\",say:\"A tool doesn't need to be polished to earn its place. It needs to be faster than what the team does now.\",caption:\"A tool doesn't need to be polished to earn its place. It needs to be faster than what the team does now.\",notes:[],alt:\"Perception's results panel listing components that pass or fail contrast, faded behind the lesson\"}]},{id:\"seen\",slug:\"what-checkers-miss\",name:\"What checkers miss\",label:\"Contrast checks that see what you see\",outcome:\"Catches what other tools miss\",poster:8,board:true,steps:[{title:\"The usual check\",say:\"I rebuilt my checker as Perception so it measures the colours people see. Most contrast checkers read the first solid fill. On this card that's a see-through white layer, so they compare white with white and miss the photo behind it.\",caption:\"I rebuilt my checker as Perception so it measures the colours people see. Most contrast checkers read the first solid fill. On this card that's a see-through white layer, so they compare white with white and miss the photo behind it.\",notes:[]},{face:\"surprised\",title:\"What people see\",say:\"Perception measures what people actually see, photo included, and all three lines fail.\",caption:\"Perception measures what people actually see, photo included, and all three lines fail.\",notes:[]},{title:\"Layers behind\",say:\"It works through images, gradients, opacity, and blur too, so it finds the one line on this photo that fails.\",caption:\"It works through images, gradients, opacity, and blur too, so it finds the one line on this photo that fails.\",notes:[]},{title:\"Icons\",say:\"Most checkers skip icons entirely. Perception finds them and tests them as well.\",caption:\"Most checkers skip icons entirely. Perception finds them and tests them as well.\",notes:[]},{title:\"More than one colour\",say:\"Text in more than one colour is tested colour by colour, so one failing word can't hide behind a passing one.\",caption:\"Text in more than one colour is tested colour by colour, so one failing word can't hide behind a passing one.\",notes:[]},{title:\"Checking the maths\",say:\"The maths is tested against WebAIM's own results, so it matches the checker people already trust.\",caption:\"The maths is tested against WebAIM's own results, so it matches the checker people already trust.\",notes:[]},{title:\"Acting on it\",say:\"Then you can filter to the fails, jump straight to each layer, and re-test it without scanning again.\",caption:\"Then you can filter to the fails, jump straight to each layer, and re-test it without scanning again.\",notes:[]},{title:\"All passing\",say:\"Darken the see-through layer, re-test, and the fails become passes.\",caption:\"Darken the see-through layer, re-test, and the fails become passes.\",notes:[]},{face:\"pleased\",mark:\"none\",title:\"Payoff\",say:\"So the results match what people see, and you can act on them before handoff.\",caption:\"So the results match what people see, and you can act on them before handoff.\",notes:[],alt:\"Perception's results panel for icons and complex backgrounds, faded behind the summary\"},{title:\"What we learnt\",say:\"A check that skips something without saying so looks the same as one that worked. So I test Perception against where each colour comes from, as well as the final ratio.\",caption:\"A check that skips something without saying so looks the same as one that worked. So I test Perception against where each colour comes from, as well as the final ratio.\",notes:[],alt:\"Perception's results panel for icons and complex backgrounds, faded behind the lesson\"}]}]}};\nexport const __FramerMetadata__ = {\"exports\":{\"ProjectContent\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Note\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StoryContent\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PROJECTS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StepContent\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CaseStudyContent.map","// ============================================================================================\n// CASE STUDY SCENES: what's on screen in each story, and what it does at each step.\n// ============================================================================================\n//\n// Every story has one scene: a 640 × 460 stage (scaled to fit wherever it's shown).\n// A scene is a list of layers, drawn in order (later layers sit on top).\n//\n// A layer:\n//   id      a short name, unique within the story. Notes point at it (see CaseStudyContent).\n//   kind    what it is:\n//             \"screen\"     an image of real UI in a rounded frame\n//             \"phone\"      the same, with phone corners\n//             \"component\"  a single component on a dark tile\n//             \"compare\"    a before image with an \"after\" image wiped over it\n//             \"label\"      a small pill of text (tone \"accent\" fills it in the client colour)\n//             \"box\"        a diagram box (tone \"good\", \"bad\" or \"root\")\n//             \"panel\"      a stat or quote card. Only the inline version shows these: the\n//                          player says them in the narration instead.\n//             \"track\"      a progress track (fill it with `fill`, change its text with `text`)\n//             \"ticks\"      a row of axis labels\n//             \"lines\"      diagram connectors, as SVG paths in stage pixels\n//   x, y, w, h   position and size in stage pixels (use `bottom` instead of `y` to pin to the bottom)\n//   src     the image (screen, phone, component, compare). `after` is compare's second image.\n//   fit     \"contain\" to show the whole image with padding, instead of filling the frame\n//   dark    true for a dark frame behind a transparent or dark image\n//   enter   how it appears: \"rise\" (default), \"fade\" or \"slide\" (in from the right)\n//   at      what it does at each step, by step number (step 0 is behind the story's start card):\n//             \"show\"   visible\n//             \"dim\"    visible but faded back\n//             { ... }  visible, with options:\n//                        delay: seconds to wait     move: [x, y] pixels to shift\n//                        scale: size multiplier     dim: true\n//                        z: stacking order          slow: true for a longer, smoother move\n//                        reveal: true (compare: wipe the after image in)\n//                        fill: 0 to 1 (track)       text: \"new text\" (track)\n//           A step that isn't listed hides the layer.\n//\n// Images are uploaded to Framer once and listed in IMG below, so a scene only names them.\n// ============================================================================================\nconst F=\"https://framerusercontent.com/images/\";export const IMG={// Prolific\npfForm:F+\"nuUre1Owtm0Sbnop0OVM74G1RaA.jpg\",pfGate:F+\"enz5eF2mhUFtHnybTVWfkmooXY.jpg\",pfQ1:F+\"03Lu6w5IPaBkBqZZ6rvtUdiZrk.jpg\",pfQ2:F+\"s4mKJEfaY5nBy3bicXrWRS8nM.jpg\",pfQ3:F+\"rsXfVdr5vqKMQO37bIMOnb0ye1k.jpg\",pfQ4:F+\"65ekSwZr4Pw8snoQgCqicyUg.jpg\",pfDash:F+\"6W6wMJDR331IjkOCjQbARxaPdA.jpg\",pfDashDark:F+\"sTyhFhw4lhtp6NhHA806CKJfNBE.jpg\",pfTodo:F+\"D4WOxYfsmgS723bYni39rmjLg.svg\",pfAi:F+\"s3KbFZJFkvh6Ux6Sxmfpg4xJEs.svg\",pfFinderCard:F+\"1kigQIZbk5W5Hqt4cWLl5uGRh0.svg\",pfSecUrl:F+\"4mKCQw7q45Q5wbeN6WyLD8AoF0.svg\",pfSecStart:F+\"nBHxdbqGbJe33E4yIucw1JE0E.svg\",pfSecIds:F+\"p6lnSIlWN549zRyz0IxOe5jDnUo.svg\",// Pearson\npeTeachingPal:F+\"m2wtRIqLRJTRPnybRxKUkc9bD0.jpg\",peTeachingPalAfter:F+\"vQQSWtFTn3kSOdC0tnHTJPwQG0.jpg\",peNemo:F+\"itVopIo4J3n1oLEE3QYH58RGoc.jpg\",peNemoAfter:F+\"R6YBx0d40uOJ4gmczCOIBasAxhM.jpg\",peVariables:F+\"X1VAhMFxV3L6iErIJBXS191uDDo.jpg\",peVideo:F+\"9dX0Ss0vdi3bbjmhOKkMi7QJo0g.jpg\",peDocs:F+\"JJ0vzkDqqXqJmddaYCy2WiU9yJI.jpg\",pePalette:F+\"eIvL9cnqg1W305OkDrHXhLUcw.svg\",peSurfaces:F+\"3yDc8Le24stQuSs0Rl9fQrLImdg.svg\",peCharts:F+\"IS3jtms7UpLj1bpjNbQnmdkLFo.svg\",peButtons:F+\"A8O1R4HVKzMTKvP0HZFGWiHPE.svg\",peType:F+\"AWQEVgo2yBKW2TXKITVWTUyIAg.svg\",// Zego\nzgQ1:F+\"ii6RpwHt5gp9TxxcBa4NIdcYI0.svg\",zgQ2:F+\"agAGFAOXfniGnsjxYiXOV6ztwU.svg\",zgQ3:F+\"Wc2XWgEmMcNyXpFCwUyTEKY7Js0.svg\",zgQ4:F+\"kvIk2e1J2Y9zr7f7qCL1lMpzA.svg\",zgAB:F+\"3fur9tSkLn5XJR3ILdhRbkPAZ4.svg\",zgBalance:F+\"tcbeA4nDzDRLBMDFzVeW3Op8mhI.svg\",zgTopUp:F+\"NG1WsVM1JgbBVUmEi4EovXBuRo.svg\",zgDashboard:F+\"nPMZzClX8sc6oFhFyMS9gEztPyU.svg\",zgButton:F+\"I8eb33nu21nLfgpp2xHYHIARk.svg\",zgToggle:F+\"0nzHXoH3eCQd0CJVYI5oAixgSU.svg\",zgCheckbox:F+\"VCfMpfwO3GBKXKrFw98vefUsuQ.svg\",zgChat:F+\"0p28bshl5BCNsmQQu3KhaLslgU.svg\",zgCalendar:F+\"0yNeilorKaLGlTwXv0OE5lyzs9Q.svg\",zgScore:F+\"VI4kU0vei57Z548YC55SSuMcFE.svg\"};export const SCENES={// ---------------------------------------------------------------- Prolific\nprolific:{signup:[{id:\"form\",kind:\"screen\",src:IMG.pfForm,x:30,y:40,w:400,h:225,enter:\"fade\",at:{0:\"show\",1:\"show\"}},{id:\"gate\",kind:\"screen\",src:IMG.pfGate,x:210,y:160,w:400,h:225,enter:\"slide\",at:{1:{delay:.25}}},{id:\"leak\",kind:\"panel\",big:\"~50%\",warn:true,size:44,text:\"of new users skipped verification, so we never learned who they were\",x:30,bottom:28,w:250,at:{1:{delay:.55}}},{id:\"q1\",kind:\"screen\",src:IMG.pfQ1,x:20,y:40,w:300,h:169,enter:\"fade\",at:{2:\"show\"}},{id:\"q2\",kind:\"screen\",src:IMG.pfQ2,x:20,y:40,w:300,h:169,enter:\"fade\",at:{2:{move:[100,60],delay:.08}}},{id:\"q3\",kind:\"screen\",src:IMG.pfQ3,x:20,y:40,w:300,h:169,enter:\"fade\",at:{2:{move:[200,120],delay:.16}}},{id:\"q4\",kind:\"screen\",src:IMG.pfQ4,x:20,y:40,w:300,h:169,enter:\"fade\",at:{2:{move:[300,180],delay:.24}}},{id:\"dash\",kind:\"screen\",src:IMG.pfDash,x:30,y:40,w:580,h:328,at:{3:\"show\",4:\"dim\"}},{id:\"todo\",kind:\"screen\",src:IMG.pfTodo,fit:\"contain\",x:330,y:214,w:280,h:181,at:{3:{delay:.35}}},{id:\"result\",kind:\"panel\",big:\"+20%\",text:\"more data collectors activating, with more screens and more clicks\",x:160,y:120,w:320,at:{4:{delay:.2}}}],finder:[{id:\"dashboard\",kind:\"screen\",src:IMG.pfDashDark,dark:true,x:30,y:40,w:580,h:302,at:{1:\"show\"}},{id:\"question\",kind:\"panel\",quote:\"Do they have the participants I need?\",by:\"One of the top three questions before a first study\",size:19,center:true,x:130,y:300,w:380,at:{1:{delay:.3}}},{id:\"ai\",kind:\"screen\",src:IMG.pfAi,fit:\"contain\",x:110,y:60,w:420,h:282,at:{2:\"show\"}},{id:\"light\",kind:\"screen\",src:IMG.pfDash,x:30,y:40,w:580,h:328,at:{3:\"show\"}},{id:\"card\",kind:\"screen\",src:IMG.pfFinderCard,fit:\"contain\",x:220,y:80,w:200,h:200,at:{3:{move:[118,224],scale:.44,slow:true,delay:.6}}}],secure:[{id:\"n1\",kind:\"box\",small:\"New\",text:\"Security settings page\",x:30,y:40,w:132,h:62,at:{1:\"show\",2:\"dim\"}},{id:\"n2\",kind:\"box\",small:\"Existing\",text:\"Study URL settings\",tone:\"good\",x:176,y:40,w:132,h:62,at:{1:{delay:.06},2:\"show\"}},{id:\"n3\",kind:\"box\",small:\"New\",text:\"Onboarding flow\",x:322,y:40,w:132,h:62,at:{1:{delay:.12},2:\"dim\"}},{id:\"n4\",kind:\"box\",small:\"Existing\",text:\"Info banner\",tone:\"good\",x:468,y:40,w:132,h:62,at:{1:{delay:.18},2:\"show\"}},{id:\"n5\",kind:\"box\",small:\"New\",text:\"Token manager\",x:103,y:116,w:132,h:62,at:{1:{delay:.24},2:\"dim\"}},{id:\"n6\",kind:\"box\",small:\"Existing\",text:\"Start study dialog\",tone:\"good\",x:249,y:116,w:132,h:62,at:{1:{delay:.3},2:\"show\"}},{id:\"n7\",kind:\"box\",small:\"New\",text:\"Admin dashboard\",x:395,y:116,w:132,h:62,at:{1:{delay:.36},2:\"dim\"}},{id:\"track\",kind:\"track\",text:\"~3 months of new UI\",x:30,y:300,w:580,h:44,at:{1:\"show\",2:\"show\",4:{fill:.25,text:\"3 weeks\",delay:.3}}},{id:\"ticks\",kind:\"ticks\",ticks:[\"Week 0\",\"3\",\"6\",\"9\",\"12\"],x:30,y:356,w:580,at:{1:\"show\",2:\"show\",4:\"show\"}},{id:\"urls\",kind:\"screen\",src:IMG.pfSecUrl,fit:\"contain\",x:30,y:40,w:350,h:200,at:{3:\"show\"}},{id:\"start\",kind:\"screen\",src:IMG.pfSecStart,fit:\"contain\",x:395,y:40,w:215,h:200,at:{3:{delay:.12}}},{id:\"ids\",kind:\"screen\",src:IMG.pfSecIds,fit:\"contain\",x:30,y:252,w:350,h:168,at:{3:{delay:.24}}},{id:\"result\",kind:\"panel\",big:\"3 weeks\",size:56,text:\"to ship, instead of the months planned\",x:195,y:96,w:250,at:{4:{delay:.2}}}]},// ---------------------------------------------------------------- Pearson\npearson:{teams:[{id:\"teachingPal\",kind:\"screen\",src:IMG.peTeachingPal,x:30,y:50,w:300,h:201,at:{1:\"show\"}},{id:\"nemo\",kind:\"screen\",src:IMG.peNemo,x:350,y:50,w:260,h:209,at:{1:{delay:.1}}},{id:\"teachingPalLabel\",kind:\"label\",text:\"Teaching Pal\",x:42,y:266,at:{1:\"show\"}},{id:\"nemoLabel\",kind:\"label\",text:\"Nemo\",x:362,y:274,at:{1:\"show\"}},{id:\"teams\",kind:\"panel\",row:true,big:\"10\",size:40,text:\"product teams across eight time zones, each with its own design approach\",x:30,y:320,w:580,at:{1:{delay:.3}}},{id:\"variables\",kind:\"screen\",src:IMG.peVariables,dark:true,x:90,y:60,w:460,h:293,at:{2:\"show\"}},{id:\"video\",kind:\"screen\",src:IMG.peVideo,x:90,y:60,w:460,h:293,at:{3:\"show\"}},{id:\"docs\",kind:\"screen\",src:IMG.peDocs,x:90,y:60,w:460,h:293,at:{4:\"dim\"}},{id:\"result\",kind:\"panel\",big:\"70%\",text:\"of teams integrated the toolkit\",x:170,y:140,w:300,at:{4:{delay:.2}}}],colour:[{id:\"palette\",kind:\"screen\",src:IMG.pePalette,x:170,y:60,w:300,h:300,at:{1:\"show\"}},{id:\"surfaces\",kind:\"screen\",src:IMG.peSurfaces,fit:\"contain\",x:170,y:60,w:300,h:300,at:{2:\"show\"}},{id:\"charts\",kind:\"screen\",src:IMG.peCharts,dark:true,x:170,y:60,w:300,h:300,at:{3:\"show\"}},{id:\"paletteLabel\",kind:\"label\",text:\"Rebrand palette\",x:170,y:376,at:{1:{delay:.3}}},{id:\"surfacesLabel\",kind:\"label\",text:\"Surface and on-surface pairs\",x:170,y:376,at:{2:{delay:.3}}},{id:\"chartsLabel\",kind:\"label\",text:\"Data palette with patterns\",x:170,y:376,at:{3:{delay:.3}}},{id:\"buttons\",kind:\"screen\",src:IMG.peButtons,fit:\"contain\",x:60,y:80,w:250,h:250,at:{4:\"show\"}},{id:\"type\",kind:\"screen\",src:IMG.peType,fit:\"contain\",x:330,y:80,w:250,h:250,at:{4:{delay:.12}}}],ui:[{id:\"teachingPal\",kind:\"compare\",src:IMG.peTeachingPal,after:IMG.peTeachingPalAfter,x:30,y:40,w:580,h:388,hotspots:{header:[0,0,100,10],body:[28,22,50,40]},at:{1:\"show\",2:{reveal:true}}},{id:\"nemo\",kind:\"compare\",src:IMG.peNemo,after:IMG.peNemoAfter,x:78,y:40,w:484,h:388,hotspots:{header:[0,0,100,9],charts:[62,60,34,22]},at:{3:\"show\",4:{reveal:true}}}]},// ---------------------------------------------------------------- Zego\nzego:{quote:[{id:\"lines\",kind:\"lines\",x:0,y:0,w:640,h:460,paths:[{d:\"M140 230 C170 230 170 100 200 100\"},{d:\"M140 230 C170 230 170 190 200 190\"},{d:\"M140 230 C170 230 170 280 200 280\"},{d:\"M140 230 C170 230 170 370 200 370\"},{d:\"M310 100 H400\"},{d:\"M310 190 H400\"},{d:\"M310 280 H400\",bad:true},{d:\"M310 370 H400\",bad:true}],at:{1:\"show\"}},{id:\"start\",kind:\"box\",tone:\"root\",text:\"Get a quote\",center:true,x:30,y:210,w:110,h:40,at:{1:\"show\"}},{id:\"car\",kind:\"box\",text:\"Car\",center:true,x:200,y:80,w:110,h:40,at:{1:\"show\"}},{id:\"scooter\",kind:\"box\",text:\"Scooter\",center:true,x:200,y:170,w:110,h:40,at:{1:\"show\"}},{id:\"van\",kind:\"box\",text:\"Van\",center:true,x:200,y:260,w:110,h:40,at:{1:\"show\"}},{id:\"fleet\",kind:\"box\",text:\"Fleet\",center:true,x:200,y:350,w:110,h:40,at:{1:\"show\"}},{id:\"carEnd\",kind:\"box\",tone:\"good\",text:\"Quote and buy\",x:400,y:80,w:200,h:40,at:{1:{delay:.3}}},{id:\"scooterEnd\",kind:\"box\",tone:\"good\",text:\"Quote and buy\",x:400,y:170,w:200,h:40,at:{1:{delay:.3}}},{id:\"vanEnd\",kind:\"box\",tone:\"bad\",text:\"Call customer support\",x:400,y:260,w:200,h:40,at:{1:{delay:.3}}},{id:\"fleetEnd\",kind:\"box\",tone:\"bad\",text:\"Dead end\",x:400,y:350,w:200,h:40,at:{1:{delay:.3}}},{id:\"q1\",kind:\"phone\",src:IMG.zgQ1,x:50,y:100,w:120,h:250,at:{2:\"show\"}},{id:\"q2\",kind:\"phone\",src:IMG.zgQ2,x:196,y:100,w:120,h:250,at:{2:{delay:.08}}},{id:\"q3\",kind:\"phone\",src:IMG.zgQ3,x:342,y:100,w:120,h:250,at:{2:{delay:.16}}},{id:\"q4\",kind:\"phone\",src:IMG.zgQ4,x:488,y:100,w:120,h:250,at:{2:{delay:.24}}},{id:\"abTest\",kind:\"screen\",src:IMG.zgAB,fit:\"contain\",x:90,y:60,w:460,h:288,at:{3:\"show\",4:\"dim\"}},{id:\"result\",kind:\"panel\",big:\"\\xa314m\",text:\"projected annual revenue, from the A/B test data\",x:170,y:140,w:300,at:{4:{delay:.2}}}],system:[{id:\"driver\",kind:\"phone\",src:IMG.zgBalance,x:70,y:100,w:150,h:310,at:{1:\"show\",2:{dim:true,move:[40,0]}}},{id:\"fleet\",kind:\"phone\",src:IMG.zgTopUp,x:245,y:100,w:150,h:310,at:{1:{delay:.08},2:{dim:true,move:[-40,0]}}},{id:\"web\",kind:\"phone\",src:IMG.zgDashboard,x:420,y:100,w:150,h:310,at:{1:{delay:.16},2:{move:[-175,0],z:2}}},{id:\"driverLabel\",kind:\"label\",text:\"Driver app\",x:70,y:64,at:{1:\"show\"}},{id:\"fleetLabel\",kind:\"label\",text:\"Fleet app\",x:245,y:64,at:{1:{delay:.08}}},{id:\"webLabel\",kind:\"label\",text:\"Web\",x:420,y:64,at:{1:{delay:.16}}},{id:\"northStar\",kind:\"label\",tone:\"accent\",text:\"North star prototype\",x:245,y:46,at:{2:{delay:.5,z:3}}},{id:\"button\",kind:\"component\",src:IMG.zgButton,x:30,y:40,w:180,h:182,at:{3:\"show\",4:\"dim\"}},{id:\"toggle\",kind:\"component\",src:IMG.zgToggle,x:230,y:40,w:180,h:182,at:{3:{delay:.06},4:\"dim\"}},{id:\"checkbox\",kind:\"component\",src:IMG.zgCheckbox,x:430,y:40,w:180,h:182,at:{3:{delay:.12},4:\"dim\"}},{id:\"chat\",kind:\"component\",src:IMG.zgChat,x:30,y:238,w:180,h:182,at:{3:{delay:.18},4:\"dim\"}},{id:\"calendar\",kind:\"component\",src:IMG.zgCalendar,x:230,y:238,w:180,h:182,at:{3:{delay:.24},4:\"dim\"}},{id:\"score\",kind:\"component\",src:IMG.zgScore,x:430,y:238,w:180,h:182,at:{3:{delay:.3},4:\"dim\"}},{id:\"result\",kind:\"panel\",big:\"40%\",text:\"faster for designers and developers\",quote:\"There's enough work here to keep us sustained for years.\",by:\"Kyrsten McCartney, Lead Product Designer, Zego\",x:130,y:100,w:380,at:{4:{delay:.2}}}]}};\nexport const __FramerMetadata__ = {\"exports\":{\"Layer\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SCENES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"State\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"IMG\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CaseStudyScenes.map","// ============================================================================================\n// CASE STUDY BOARDS: where everything sits, read back from the Figma storyboard. Don't edit by hand.\n// ============================================================================================\n//\n// Generated by framer-ms/readback/gen_boards.py from the \"Sign-up v2\" and \"Finder + Secure\" pages of the layout file\n// (figma.com/design/1y1LruPW9ziYZHI798v9jo). Move things in Figma, then run the read-back.\n//\n// Each story is a list of beats, one per click. Each beat has two layouts in Figma pixels:\n//   l  landscape, on a 1440 × 900 stage (the picture area is y 88 to 824, between the header and controls)\n//   p  portrait, on a 390 × 844 stage (the picture area is y 88 to 724)\n// A layout:\n//   clip   the picture window [x, y, w, h], or null to clip only top and bottom\n//   els    pictures in order, back to front: s is a screen (see BOARD_SCREENS), or fill + fop for a tint;\n//          c crops a screen to a window [x, y, w, h, corner radius]\n//          sh is a shadow from Figma, \"box\" or \"shape\" and a size, \"sm\", \"md\" or \"lg\" (no sh, no shadow)\n//   focus  what the beat is about [x, y, w, h]\n//   notes  where each note's point sits [x, y], in the order the notes are listed in CaseStudyContent\n//   nar    the narrator's box and which side its avatar is on\n// ============================================================================================\n// Each screen is an SVG (crisp, small for flat UI) or a 2× WebP (for screens with photos), exported\n// from the source Figma files and loaded only when the player needs it\nexport const BOARD_SCREENS={pfForm:{\"src\":\"https://framerusercontent.com/images/C2yNxfftoOTnWPLSySCYRVr20E.svg\",\"alt\":\"Prolific's old researcher sign-up: one long form asking for name, country, work email and password at once\"},pfOldForm2:{\"src\":\"https://framerusercontent.com/images/FtHJVpFpLBambWOjlzgjrjMbd3w.svg\",\"alt\":\"The second half of the old sign-up: company name, type of organisation, research area and where you heard about Prolific\"},iosEmailNotification:{\"src\":\"https://framerusercontent.com/images/WojNyvsy7greraznLiLvEHQB6Ow.webp\",\"alt\":\"An iPhone notification from Prolific: verify your email\"},pfEmail:{\"src\":\"https://framerusercontent.com/images/04CegK065OX23isEtbTbv6kiTM.webp\",\"alt\":\"The verification email from Prolific, with a Verify button\"},pfOldGetStarted:{\"src\":\"https://framerusercontent.com/images/sgXDSo9CFJmhA9UIAkXSQwxg.svg\",\"alt\":\"The old Get started page: cards to set up a study, screen participants and add funds\"},pfStudySetup:{\"src\":\"https://framerusercontent.com/images/sEBreNcxFDFN9kb9FcE8Qfrr4.webp\",\"alt\":\"Prolific's study setup page, with Publish now in the side panel\"},pfVerifyPopup:{\"src\":\"https://framerusercontent.com/images/vlEjSNsK3mJfPkqxEDq4fYG0pY8.svg\",\"alt\":\"A popup asking you to verify your email address before you continue\"},pfGs1:{\"src\":\"https://framerusercontent.com/images/Y8x82gon3fYvQSrH8PFWOgBu6So.webp\",\"alt\":\"The Getting started checklist, with Verify your email open\"},pfGs3:{\"src\":\"https://framerusercontent.com/images/B0PPJlmaycfZUxxjrwjt2PYypI.webp\",\"alt\":\"The Getting started checklist, 35% complete, asking what research you do\"},pfGs6:{\"src\":\"https://framerusercontent.com/images/ej5KNVMGB6kw3e9RPdpzx9IPo.webp\",\"alt\":\"The completed Getting started checklist, with confetti\"},regEarn:{\"src\":\"https://framerusercontent.com/images/t27uhfTIj2oZEHXbYp2Md5zA8Tk.svg\",\"alt\":\"Sign-up asking how you'd like to use Prolific, with Take Studies selected and the participant pitch\"},regResearch:{\"src\":\"https://framerusercontent.com/images/TG4Fad52H1O0NnSTP2YgDz0z8.svg\",\"alt\":\"Sign-up asking how you'd like to use Prolific, with Run Research selected and the researcher pitch\"},regEmail:{\"src\":\"https://framerusercontent.com/images/Gf4v7NB3Y4OSWNVh0ZzcfoDgfgU.svg\",\"alt\":\"Sign-up asking for your work email\"},regCheck:{\"src\":\"https://framerusercontent.com/images/iJzlDQ1N9RMF1APSr7MIJD4GPsA.svg\",\"alt\":\"Sign-up showing the details found from your work email, to confirm or edit\"},regCountry:{\"src\":\"https://framerusercontent.com/images/GxEUFJHmF7Goor3MkXbluZS7e0.webp\",\"alt\":\"Sign-up asking your country of residence\"},regOrgType:{\"src\":\"https://framerusercontent.com/images/yfsFS72XpHXHvBG5fDthggxkq8.svg\",\"alt\":\"Sign-up asking what kind of organisation you're from\"},regOrgName:{\"src\":\"https://framerusercontent.com/images/SCggaf7JI4BOQt9Lqepl7ze3a0.svg\",\"alt\":\"Sign-up asking your organisation's name\"},regName:{\"src\":\"https://framerusercontent.com/images/zoicpNuMRamMFNWzMnaHy95SGc.svg\",\"alt\":\"Sign-up asking what to call you\"},regPassword:{\"src\":\"https://framerusercontent.com/images/srTd0XqGqqHKXbRxO2yI6BXPekY.svg\",\"alt\":\"Sign-up asking you to set a password, the last step before you're in\"},setupOld:{\"src\":\"https://framerusercontent.com/images/JlcaKdAlXiBfj97ZHX87Yo2EY.webp\",\"alt\":\"Prolific's old study setup page, where Recruit participants sat below the study details\"},\"Card/prescreen\":{\"src\":\"https://framerusercontent.com/images/AVxFzIuj6N5q2o3yGgcX64s0N5k.webp\",\"alt\":\"Prescreen participants in study setup, with the count of matching participants at the bottom\"},\"Mobile/prescreen\":{\"src\":\"https://framerusercontent.com/images/zVplwga6XGgRObymfzOWsISVsis.svg\",\"alt\":\"Prescreen participants in study setup, with the count of matching participants at the bottom\"},\"Card/exploreBuilt\":{\"src\":\"https://framerusercontent.com/images/Cyqick4UnksgU18wrF7A4iXaVSw.webp\",\"alt\":\"The dashboard cards, with Find your participants among the first things to click\"},finderBuilt:{\"src\":\"https://framerusercontent.com/images/tvyQuByad205ct217b26PwhxE.webp\",\"alt\":\"The Participants page, with a live count of matching participants and the suggested pay beside the filters\"},\"Card/builtPopular\":{\"src\":\"https://framerusercontent.com/images/GUowLcMQYUSJqQMsPffXkybNHM.webp\",\"alt\":\"Screen your participants, with popular screeners first and the ones you picked listed underneath\"},\"Mobile/popular\":{\"src\":\"https://framerusercontent.com/images/azzRUTMNxn1ayACqNd4IAagjw.svg\",\"alt\":\"Screen your participants, with popular screeners first and the ones you picked listed underneath\"},\"Card/tellUs\":{\"src\":\"https://framerusercontent.com/images/t2VYHzJAjOdG8iDkSdVfTcYUFM0.webp\",\"alt\":\"Tell us who you need: a box to describe your participants and a Find Participants button\"},\"Mobile/tellUs\":{\"src\":\"https://framerusercontent.com/images/yOCen8J7WE87MQKNW1C6LaKTlJE.svg\",\"alt\":\"Tell us who you need: a box to describe your participants and a Find Participants button\"},\"Card/thinking\":{\"src\":\"https://framerusercontent.com/images/CohtkyCPawvEMQVn4VC1eK1aCc.webp\",\"alt\":\"Tell us who you need, dimmed while a Thinking spinner works on the description\"},\"Mobile/thinking\":{\"src\":\"https://framerusercontent.com/images/KN5PCEyRCSPxV24YWDd0idcBa8.svg\",\"alt\":\"Tell us who you need, dimmed while a Thinking spinner works on the description\"},\"Card/answer\":{\"src\":\"https://framerusercontent.com/images/zuWXf5w3oJZw9XBzpa6ny1a0g.webp\",\"alt\":\"The description, the three screeners it applied, and a summary of 324 matching participants at \\xa340 an hour with Create new study\"},\"Mobile/summary\":{\"src\":\"https://framerusercontent.com/images/TTY6ZyHxoDG69BoCGu3RjrYrVJA.svg\",\"alt\":\"A summary of 324 matching participants, the three screeners applied, \\xa340 an hour and Create new study\"},securePlan:{\"src\":\"https://framerusercontent.com/images/e4zNEch83aYv6cMx7VQOod6is.webp\",\"alt\":\"An illustration of the original plan: new pages and UI for researchers, admins and participants, backend work, and sticky notes asking about mobile, legal review, SSO and 12 weeks\"},\"Card/recV10\":{\"src\":\"https://framerusercontent.com/images/bzajkCUV9pP1u1zWK28lrOWmCSg.webp\",\"alt\":\"Recording Prolific IDs with a new Signed URLs option selected and the other options locked\"},\"Mobile/rec10\":{\"src\":\"https://framerusercontent.com/images/9y5cbkgT83xf554iDn9QWezAZMY.svg\",\"alt\":\"Recording Prolific IDs with a new Signed URLs option selected and the other options locked\"},\"Card/recV0\":{\"src\":\"https://framerusercontent.com/images/laKdJSOGAabBONLDPD3CuMO4E.webp\",\"alt\":\"Recording Prolific IDs as it already was: URL parameters, a question in the study, or not recording them\"},\"Mobile/rec0\":{\"src\":\"https://framerusercontent.com/images/dodhI01na66GLAXkeGORA96Q4.svg\",\"alt\":\"Recording Prolific IDs as it already was: URL parameters, a question in the study, or not recording them\"},\"Card/recV13\":{\"src\":\"https://framerusercontent.com/images/n5sQ2Tq4ZYIdH0N2IfcsCd4.webp\",\"alt\":\"Recording Prolific IDs with URL parameters, and a toggle to use secure transmission with JSON Web Tokens\"},\"Mobile/rec13\":{\"src\":\"https://framerusercontent.com/images/pLacunWlor9UgXZ5yZnTS2pd1o.svg\",\"alt\":\"Recording Prolific IDs with URL parameters, and a toggle to use secure transmission with JSON Web Tokens\"},secureFlow:{\"src\":\"https://framerusercontent.com/images/44D8TPRCU1aHhDL9jPQe9wk6S4.svg\",\"alt\":\"How a secure study link works: the participant opens the study, Prolific signs the link with a JSON Web Token, and the partner's tool checks it\"},\"Mobile/secureFlow\":{\"src\":\"https://framerusercontent.com/images/qw6Q5WQ3mGTFgxFL9eeBqMpKdc.svg\",\"alt\":\"How a secure study link works: the participant opens the study, Prolific signs the link with a JSON Web Token, and the partner's tool checks it\"},\"Card/recV14\":{\"src\":\"https://framerusercontent.com/images/zM1GQPRoy4L3KyuaJ3W0IRQaazY.webp\",\"alt\":\"Recording Prolific IDs with the secure URL toggle on and locked, because the organisation enforces it\"},\"Mobile/rec14\":{\"src\":\"https://framerusercontent.com/images/e1JoH9JIdEZKx7dqHoIqrnif63E.svg\",\"alt\":\"Recording Prolific IDs with the secure URL toggle on and locked, because the organisation enforces it\"},rSdsLight:{\"src\":\"https://framerusercontent.com/images/TnQpMrrMj1vN0CNwagBGMbKwabk.webp\",\"alt\":\"Twenty components from Figma's Simple Design System in a blue brand: a menu, pricing card, log-in form, notification, cards, tags, buttons and form fields\"},rMarksLight:{\"src\":\"https://framerusercontent.com/images/lcwHtHfkZHncQhn9CTh4zVAgvyo.webp\",\"alt\":\"The same components marked pass or fail. Six fail, including the log-in form, the testimonial card and the tag toggles\"},rMarksDark:{\"src\":\"https://framerusercontent.com/images/T6xisSYRQR3TmbAeOs8P9viEhnw.webp\",\"alt\":\"The components in a lighter blue, marked pass or fail. Ten now fail, including the pricing card, the buttons and the tags\"},rPick:{\"src\":\"https://framerusercontent.com/images/rdDAnDYwm6QADkkfYcpEGxzI12A.webp\",\"alt\":\"A log-in form beside a contrast checker comparing one pair by hand: #B3B3B3 on #FFFFFF, 2.09:1, fail\",\"flat\":1},pLocal:{\"src\":\"https://framerusercontent.com/images/l3FMC7uFNN6dgdSZzBhXy1tlskc.webp\",\"alt\":\"Illustration: every check ran inside Figma on the team's machines, and third-party servers weren't allowed\"},pWidget:{\"src\":\"https://framerusercontent.com/images/LaCyqXOGGFv8JEfATHRQWIcIvEs.webp\",\"alt\":\"Illustration of the first contrast checker widget, listing results such as the testimonial card description at 2.09:1 while Figma is busy\"},pWidgetOver:{\"src\":\"https://framerusercontent.com/images/epQd3JCVzayz4w0q6EeDmm8b0ao.webp\",\"alt\":\"The widget's results over the page of components it checked\",\"flat\":1},pHome:{\"src\":\"https://framerusercontent.com/images/HX24fjBzYADp9mHboLn7y5Tct6Q.webp\",\"alt\":\"Perception's home screen in Figma, ready to scan a selection\"},rResS1Fail:{\"src\":\"https://framerusercontent.com/images/uVtWyWvpYrQjxxYjRT7vyih33rY.webp\",\"alt\":\"Perception's results for the components: 12 fails and 93 passes, led by text at 2.09:1\"},rDetS1Fail:{\"src\":\"https://framerusercontent.com/images/VMkwaWdMUTjRJcTwB8Tsa6Z0w4.webp\",\"alt\":\"One result opened: the testimonial card description, #B3B3B3 on #FFFFFF, 2.09:1, failing WCAG AA\"},rDetS1Pass:{\"src\":\"https://framerusercontent.com/images/wB0PdF65U7Npb5wKy2d85eD3b0.webp\",\"alt\":\"The same result after the fix: #757575 on #FFFFFF, 4.6:1, passing WCAG AA\"},rResS1Pass:{\"src\":\"https://framerusercontent.com/images/3D3sAmHkzqBoDUcOyplAR6qerCo.webp\",\"alt\":\"Perception's results with all 105 checks passing\"},rS2Naive:{\"src\":\"https://framerusercontent.com/images/x0LPy2bZVMnz8sMuO6Jp0pEULBM.webp\",\"alt\":\"A testimonial card over a photo, beside a checker that reads only the first fill and compares white with white, 1:1\",\"flat\":1},rS2Testi:{\"src\":\"https://framerusercontent.com/images/q2qzroPOMlQMzvpsn3MUj7mVvfA.webp\",\"alt\":\"Perception's results for the card: the name at 2.27:1, the role at 2.49:1 and the company at 2.74:1, all failing\",\"flat\":1},rS2Quote:{\"src\":\"https://framerusercontent.com/images/CNDf8iWy3imZOhGahBRUI6KXCsc.webp\",\"alt\":\"A quote card over a photo, with Perception flagging the company line at 3.69:1\",\"flat\":1},rS2Icons:{\"src\":\"https://framerusercontent.com/images/lJ0SKeiBZLO9vFG0ouJQHnTY.webp\",\"alt\":\"A notification with its info and close icons, each found and tested by Perception, all passing\",\"flat\":1},rS2Multi:{\"src\":\"https://framerusercontent.com/images/BvJNaXEqBFpROlDbHMf9CUuJ44s.webp\",\"alt\":\"A heading in two colours, tested colour by colour at 8.65:1 and 6.43:1\",\"flat\":1},pWebaim:{\"src\":\"https://framerusercontent.com/images/K7oQMv8PdwrHLpOgGcqmY72kBjU.webp\",\"alt\":\"Perception's ratios beside WebAIM's checker for the same colour pairs, matching exactly\"},rS2Act:{\"src\":\"https://framerusercontent.com/images/dxYbNMW5XSBVi6HJilT9Ufg5k.webp\",\"alt\":\"Both cards with the results showing four fails, the first one selected\",\"flat\":1},rS2Fixed:{\"src\":\"https://framerusercontent.com/images/jUfZ0po0iN4BnoSbOFVrnQWdmo.webp\",\"alt\":\"Both cards with the see-through layer darkened, and every result passing\",\"flat\":1},rResS2Pass:{\"src\":\"https://framerusercontent.com/images/ZQq3MMHyhtiG9qiRXvAhsbW1Ma4.webp\",\"alt\":\"Perception's results with all seven checks passing\"},rSdsLightP:{\"src\":\"https://framerusercontent.com/images/6FJWpVrd40uY1i5iQmC8nEbXwM.webp\",\"alt\":\"Twenty components from Figma's Simple Design System in a blue brand: a menu, pricing card, log-in form, notification, cards, tags, buttons and form fields\"},rMarksLightP:{\"src\":\"https://framerusercontent.com/images/qxTMN9leqb1RkI1MUELa8xBpfuE.webp\",\"alt\":\"The same components marked pass or fail. Six fail, including the log-in form, the testimonial card and the tag toggles\"},rMarksDarkP:{\"src\":\"https://framerusercontent.com/images/EzAWp9QscnyNRno4qT8dU3rhU5U.webp\",\"alt\":\"The components in a lighter blue, marked pass or fail. Ten now fail, including the pricing card, the buttons and the tags\"},rPickP:{\"src\":\"https://framerusercontent.com/images/yHwaipo995NS18Z2j20QBq0QU8.webp\",\"alt\":\"A log-in form beside a contrast checker comparing one pair by hand: #B3B3B3 on #FFFFFF, 2.09:1, fail\",\"flat\":1},pLocalP:{\"src\":\"https://framerusercontent.com/images/ndm4ToFOPc4ZHvB6AUkanS4icL8.webp\",\"alt\":\"Illustration: every check ran inside Figma on the team's machines, and third-party servers weren't allowed\"},pWidgetOverP:{\"src\":\"https://framerusercontent.com/images/1vNpnq38np8HwhEY0ppy0B6q6Y.webp\",\"alt\":\"The widget's results over the page of components it checked\",\"flat\":1},\"Card/peBrand\":{\"src\":\"https://framerusercontent.com/images/yyAIphn6etU0NLJ5k6dY3hgr2Y.webp\",\"alt\":\"Pearson's brand before and after: the old logo, purple and blue palette and striped patterns beside the new logo, a wider palette of purples, pinks, yellows and teals, and new patterns\"},\"Card/peBrandP\":{\"src\":\"https://framerusercontent.com/images/4ECJFTexVVx4oWdCwKdLT26wXAE.webp\",\"alt\":\"Pearson's brand before and after: the old logo, palette and patterns beside the new ones\"},\"Card/peBefore\":{\"src\":\"https://framerusercontent.com/images/a439yZwBaKV8ORCwT58LdkGbLU.webp\",\"alt\":\"Products from different Pearson teams, each built on its own design system, such as Spark, Fredly and Delta, each with its own buttons\"},\"Card/peBeforeP\":{\"src\":\"https://framerusercontent.com/images/mlxvuCUzKoKZRSHcBIG9ObQ85k.webp\",\"alt\":\"Products from different Pearson teams, each built on its own design system, each with its own buttons\"},\"Card/peTeams\":{\"src\":\"https://framerusercontent.com/images/4m2toqP6Svtndtf46mTzqRiiQ.svg\",\"alt\":\"The toolkit team of 6, a design lead, 4 designers and a developer, beside 28 designers in 10 product teams: Nemo, ModernXL, Topaz, Mondly, Fredly, Console, Austin, Channels, eText and Evolution\"},\"Card/peTeamsP\":{\"src\":\"https://framerusercontent.com/images/gq3p0D9hakerrRzNP0eDSS40mrY.svg\",\"alt\":\"The toolkit team of 6, a design lead, 4 designers and a developer, above 28 designers in 10 product teams\"},\"Card/peReqSpread\":{\"src\":\"https://framerusercontent.com/images/wup2TxY9wzK4EbVNTqEPmzgwddw.webp\",\"alt\":\"Six requests from Pearson teams, each tagged with its team: a date picker for Higher Education, destructive buttons for Fredly, darker surfaces for Nemo, an accordion subtitle for Modern XL, copy-paste brand samples for Austin, and a tooltip without an arrow for Console\"},\"Card/peReqSpreadP\":{\"src\":\"https://framerusercontent.com/images/tlp5xPs05v1s2vH4ZOCbM5p2VE.webp\",\"alt\":\"Six requests from Pearson teams, each tagged with the team that asked\"},\"Card/peBoard\":{\"src\":\"https://framerusercontent.com/images/cUBuAYEezJE3DsI4qYdo7YQvIbs.webp\",\"alt\":\"The Toolkit Requests board, 72 requests, with columns for status, the request, the team that asked and the solution\"},\"Card/peBoardP\":{\"src\":\"https://framerusercontent.com/images/mK2aUaljGULgCMue8pHO0E9wmo.webp\",\"alt\":\"The Toolkit Requests board, 72 requests, each tagged with its team and status\"},\"Card/peOwners\":{\"src\":\"https://framerusercontent.com/images/ZZaddJFmSiaXuUHVKBpCwNof4.webp\",\"alt\":\"Four designers on my team, each owning two Pearson teams: Nemo and ModernXL, Topaz and Mondly, Fredly and Console, Austin and Channels, with their feedback going back to the requests board\"},\"Card/peOwnersP\":{\"src\":\"https://framerusercontent.com/images/TkgbrP7SdwdE4pohUeUaXq1U.webp\",\"alt\":\"Four designers on my team, each owning two Pearson teams, with feedback going back to the requests board\"},\"Card/peReq12\":{\"src\":\"https://framerusercontent.com/images/9N1tlGBDXtTRw4SDVxutXqEUpM.webp\",\"alt\":\"A request from Higher Education for 12px font sizes, done. Solution: 12px sizing for the Body and Label styles\"},\"Card/peReq12P\":{\"src\":\"https://framerusercontent.com/images/nICTu27F5dDIsVqxap1MeVTba98.webp\",\"alt\":\"A request from Higher Education for 12px font sizes, done, with 12px added to the Body and Label styles\"},\"Card/peReqPadding\":{\"src\":\"https://framerusercontent.com/images/7w0kDfM8qkOVOWAVbOZDkAjqw.webp\",\"alt\":\"A request from Modern XL: fill and outline buttons had different spacing. Solution: the padding difference became an optional property on the shared button\"},\"Card/peReqPaddingP\":{\"src\":\"https://framerusercontent.com/images/zF3eBYhjihDEAgi0W0aZG2YSjHc.webp\",\"alt\":\"A request from Modern XL about button spacing, solved as an optional property on the shared button\"},\"Card/peSepia\":{\"src\":\"https://framerusercontent.com/images/zr5KyuzvFm7b56L0RicDU9HREQ.webp\",\"alt\":\"Light and dark themes, both for every team, beside a faded sepia theme marked Cut, used by one or two products\"},\"Card/peSepiaP\":{\"src\":\"https://framerusercontent.com/images/UY5FcfjwPLOfPEuUskUas5tnA.webp\",\"alt\":\"Light and dark themes for every team, and a sepia theme marked Cut, used by one or two products\"},\"Card/peReqFills\":{\"src\":\"https://framerusercontent.com/images/4upa3LjdjfCdR3Ltwy7FNSyjyk.webp\",\"alt\":\"A request from Nemo to remove excess button styles, done. Solution: fills 2 and 3 removed so teams can only use the main button colour\"},\"Card/peReqFillsP\":{\"src\":\"https://framerusercontent.com/images/7QMJ9W38cbP4Akph691KWty8gQ.webp\",\"alt\":\"A request from Nemo to remove excess button styles, done, with fills 2 and 3 removed\"},\"Card/pePromote\":{\"src\":\"https://framerusercontent.com/images/Gx2JKVq8HJkqeuIqqANZpFAoU.webp\",\"alt\":\"A new component starts in a team's own file. When another team needs it too, it moves into the toolkit, where every team can use it\"},\"Card/pePromoteP\":{\"src\":\"https://framerusercontent.com/images/CiJ1RG3xRxJ8Db5brIDIgmCnsc.webp\",\"alt\":\"A new component starts in a team's own file, and moves into the toolkit when another team needs it\"},\"Card/peVoices\":{\"src\":\"https://framerusercontent.com/images/tGeI8QcEfbHLtcadG1Uzb0AzMo.webp\",\"alt\":\"A change to the toolkit is reviewed, agreed and voted on by all ten teams: Nemo, ModernXL, Topaz, Mondly, Fredly, Console, Austin, Channels, eText and Evolution\"},\"Card/peVoicesP\":{\"src\":\"https://framerusercontent.com/images/fWss68gg7uH6I4c3I3HXH1cqyf8.webp\",\"alt\":\"A change to the toolkit, voted on by all ten teams\"},\"Card/peHandover\":{\"src\":\"https://framerusercontent.com/images/q1lOI4x7khQxB42P1jD0nzbQk.webp\",\"alt\":\"Requests from the Toolkit Requests board moving to Pearson's Jira board, and a change log: 12px sizes for Body and Label styles, a subtitle in the accordion, a tooltip without an arrow\"},\"Card/peHandoverP\":{\"src\":\"https://framerusercontent.com/images/PMhrB9gowKBxclqgPEMgZm7FRh4.webp\",\"alt\":\"Requests moving from the toolkit board to Pearson's Jira board, and a change log of what changed\"},peAuditFile:{\"src\":\"https://framerusercontent.com/images/Jv4a7YlzgCeSXpTWHHAX9bJ7s.webp\",\"alt\":\"The design system audit in Figma: every team's foundations and components side by side, with a checklist of what each system had\"},\"Card/peLevels\":{\"src\":\"https://framerusercontent.com/images/7mDVh6C5fScLtOY0F414pzeOEk0.svg\",\"alt\":\"Three levels: Level 1, alias your tokens to ours. Level 2, use our tokens. Level 3, use our components\"},\"Card/peLevelsP\":{\"src\":\"https://framerusercontent.com/images/kgPO0HMVZ7Jfy6d2GLkJ8ePyXXg.svg\",\"alt\":\"Three levels: Level 1, alias your tokens to ours. Level 2, use our tokens. Level 3, use our components\"},peVariables:{\"src\":\"https://framerusercontent.com/images/hk1jylE4mOVA7LTYv27tp707cE.webp\",\"alt\":\"The toolkit's variables in Figma: Primitive, Theme, Breakpoint and Font collections, with colours named by what they do\"},\"Card/peBorders\":{\"src\":\"https://framerusercontent.com/images/UTQ2UGlHOuLAqJa9tn510vsao.svg\",\"alt\":\"Border colours before and after: Nemo's 16 separate interactive stroke colours, from input field to brand, beside the toolkit's six border tokens, led by interactive/input/border/default\"},\"Card/peBordersP\":{\"src\":\"https://framerusercontent.com/images/sz9kGeYrU7OzivxO4kyQtiFv24.svg\",\"alt\":\"Border colours before and after: Nemo's 16 separate interactive stroke colours above the toolkit's six border tokens, led by interactive/input/border/default\"},\"Card/peSurfaces\":{\"src\":\"https://framerusercontent.com/images/vazy0PNcvAwsuZF4KN1xRIrxAQ.svg\",\"alt\":\"Text on light, dark and brand surfaces, each pair labelled with its WCAG contrast ratio, all AAA\"},\"Card/pePalette\":{\"src\":\"https://framerusercontent.com/images/irTHAE9iNKw18kVj9MBOWCX2T4I.webp\",\"alt\":\"Pearson's brand colours. Primary: Mist purple #EDECF6, Light purple light #D6D5FB, Light purple #C1BFFF, Pearson purple #0D004D and Pearson black #05001C. Accents: Amethyst, Fuchsia, Turquoise and Amber\"},\"Card/pePaletteP\":{\"src\":\"https://framerusercontent.com/images/6RpHa3LDvuInqhv3sSyyGdEbtFs.webp\",\"alt\":\"Pearson's brand colours: five purples from Mist purple to Pearson black, and four accents\"},\"Card/peRampBuild\":{\"src\":\"https://framerusercontent.com/images/8KcJiG9H8Wf88aXyn67SYUT65c.webp\",\"alt\":\"The brand's five purples sit at stops 4, 6, 8, 12 and 14 of a 14-stop toolkit ramp. Stops 9 to 11 fill the gap between Light purple and Pearson purple\"},\"Card/peRampBuildP\":{\"src\":\"https://framerusercontent.com/images/r6tVKptLtxhs4MobEb2m0E4dhBw.webp\",\"alt\":\"The brand's five purples as stops in the 14-stop toolkit ramp, with the gaps between them filled\"},\"Card/peContrast\":{\"src\":\"https://framerusercontent.com/images/R6mHN2aCXqueBXUYXBnFUKd4.webp\",\"alt\":\"A grid of every text and surface pair in the purple ramp with its contrast ratio, marked as passing AA at 4.5 to 1, large text only from 3 to 1, or failing\"},\"Card/peContrastP\":{\"src\":\"https://framerusercontent.com/images/04MLRLfFzgF3I2i7pVGZzjOkiC4.webp\",\"alt\":\"Every text and surface pair in the purple ramp, marked as passing AA, large text only, or failing\"},\"Card/peSurfacesP\":{\"src\":\"https://framerusercontent.com/images/R0XoQQPTnnPAqCftG4cnQyz22LM.svg\",\"alt\":\"Text on light, dark and brand surfaces, each pair labelled with its WCAG contrast ratio, all AAA\"},peVideos:{\"src\":\"https://framerusercontent.com/images/7sZMXjUkKn12UvHvKlDBiVw.webp\",\"alt\":\"Seven short video guides: importing the toolkit, inserting components, component properties, surfaces, typography, buttons, and light and dark modes\"},\"Card/peAfter\":{\"src\":\"https://framerusercontent.com/images/HPNWncmWsXoyogx9TGebPecw.webp\",\"alt\":\"A product on the toolkit in light and dark themes, above the teams pulse check of 21 July 2025: eight teams integrating, Mondly not yet, and Evolution a marketing system\"},\"Card/peAfterP\":{\"src\":\"https://framerusercontent.com/images/0tMndrecRTAIQVfSXeb0n4k1uc.webp\",\"alt\":\"A product on the toolkit in light and dark themes, above the teams pulse check: eight teams integrating, Mondly not yet, and Evolution a marketing system\"},\"Card/peRamps\":{\"src\":\"https://framerusercontent.com/images/pYvQl3ds3nuZUd1Y5EyYfqKsK0.webp\",\"alt\":\"Pearson's new brand ramps of purple, fuchsia, amber and turquoise, beside white text on turquoise that fails WCAG AA at 1.57 to 1\"},\"Card/peRampsP\":{\"src\":\"https://framerusercontent.com/images/Ikbwj0OnaxKUUPR9HgrRlKGOH0.webp\",\"alt\":\"Pearson's new brand ramps, and white text on turquoise that fails WCAG AA at 1.57 to 1\"},peSurfStackLD:{\"src\":\"https://framerusercontent.com/images/PJtPbDHv0pyVjwHkqJBSSqDXSXY.webp\",\"alt\":\"The surface stack in light and dark: surface low, base, high and highest, and on-surface text sitting on surface highest\"},peSurfStackLDP:{\"src\":\"https://framerusercontent.com/images/DtQGQVDUxuWmRmE8MhcKqlGHEyM.webp\",\"alt\":\"The surface stack in light, then dark: four surface levels, and on-surface text sitting on surface highest\"},\"Card/peThemes\":{\"src\":\"https://framerusercontent.com/images/705k7YI3a5kn1luIOwV3z6M2zsk.webp\",\"alt\":\"The same course card in light and dark themes, from the same semantic tokens: heading, subtitle, search input and Continue button\"},\"Card/peThemesP\":{\"src\":\"https://framerusercontent.com/images/8rVWqGJyxcomaKiHXTunITIaUzs.webp\",\"alt\":\"The same course card in light and dark themes, from the same semantic tokens\"},\"Card/peType\":{\"src\":\"https://framerusercontent.com/images/2wjpBXDkXEUf5s2utlJ8gZ89FLs.webp\",\"alt\":\"The type scale from Heading 1 at 47.8px down to Extra small at 12px. The 1.2 scale below 16px, 13.3px and 11.1px, was turned down. 14px and 12px shipped instead\"},\"Card/peTypeP\":{\"src\":\"https://framerusercontent.com/images/Dcepe7FNmBNGcPbNDvKo2PVUKUE.webp\",\"alt\":\"The type scale from Heading 1 at 47.8px down to Extra small at 12px, each size labelled\"},\"Card/peFocus\":{\"src\":\"https://framerusercontent.com/images/WeYNOWMHLLspBTxJdSpV4i5TcM.webp\",\"alt\":\"A button with a fuchsia, turquoise or blue focus ring on the Mist surface, simulated for typical vision, protanopia, deuteranopia and tritanopia. Turquoise nearly disappears. Blue, which shipped at 2px, stays visible\"},\"Card/peFocusP\":{\"src\":\"https://framerusercontent.com/images/dxeYWbZ1tG38mjBg8SSy6HKkC8.webp\",\"alt\":\"Fuchsia, turquoise and blue focus rings under simulated colour blindness. Turquoise nearly disappears, and blue stays visible\"},\"Card/peViz\":{\"src\":\"https://framerusercontent.com/images/G3KocTTr2F5kvQLzPuRVEMVE7U.webp\",\"alt\":\"The chart palette: amethyst, fuchsia, turquoise and amber, ten steps each, 40 colours\"},\"Card/peVizP\":{\"src\":\"https://framerusercontent.com/images/zYUznNCZsspdRB6bS34QenlnQ.webp\",\"alt\":\"The chart palette: four ramps of ten, 40 colours\"},peDonuts:{\"src\":\"https://framerusercontent.com/images/OncJTp03ec1mnGnY4veCCjEB2g.webp\",\"alt\":\"Donut charts at 70% in amethyst, fuchsia, turquoise and amber, first in solid colour, then with stripes, dots and diamonds over the colour\"},peDonutsP:{\"src\":\"https://framerusercontent.com/images/Hwnw3JslfDlRxq5jRoWxUlSakk.webp\",\"alt\":\"Donut charts in amethyst and fuchsia, solid and then patterned\"},\"Card/peNemoLD\":{\"src\":\"https://framerusercontent.com/images/a3ssfaV2GUKXexgf7qeoNNktX80.webp\",\"alt\":\"A Pearson product on the toolkit in light and dark themes\"},\"Card/peNemoLDP\":{\"src\":\"https://framerusercontent.com/images/s3AqTmiiilmhHaR9qiSIp9QziE.webp\",\"alt\":\"A Pearson product on the toolkit in light and dark themes\"},peMontD:{\"src\":\"https://framerusercontent.com/images/4Vv183W2mP4qA8Z3uQCmD6TC5k.webp\",\"alt\":\"The toolkit in three layers. Foundations: the colour palette and the light and dark surface stacks. Components: a date picker, toasts and a data table. Products: three Pearson products built on the toolkit\"},peMontDP:{\"src\":\"https://framerusercontent.com/images/WNrPEBSiDaMaHRVet4ENR3Pc21o.webp\",\"alt\":\"The toolkit in three layers: foundations, components and products\"},peMontF:{\"src\":\"https://framerusercontent.com/images/2NiOFrDU0HJ685bIYHF7IQWbQ9Y.webp\",\"alt\":\"The foundations: neutral, purple, fuchsia, turquoise and amber colour ramps, light and dark surface stacks, the type scale, spacing tokens from 2 to 128px, and corner radius tokens\"},peMontFP:{\"src\":\"https://framerusercontent.com/images/EAXLFl7mXRQW2mnTAyPGcHrEDg.webp\",\"alt\":\"The foundations: colour ramps, surface stacks, the type scale, spacing and radius\"},peMontC:{\"src\":\"https://framerusercontent.com/images/1Ogtp2oN0XzWJlPvafLG4aVrGU.webp\",\"alt\":\"More than twenty toolkit components, from a date picker and toasts to tabs, switches and a data table, light on the left and dark on the right\"},peMontCP:{\"src\":\"https://framerusercontent.com/images/dimUCxQUndFFGtCUW08y14B4gU.webp\",\"alt\":\"Toolkit components, light on one side and dark on the other\"},peMontP:{\"src\":\"https://framerusercontent.com/images/mLiptOn7O2HZYlDEaQVRboXaYQ.webp\",\"alt\":\"Five Pearson products built on the toolkit, light on the left and dark on the right\"},peMontPP:{\"src\":\"https://framerusercontent.com/images/xpw4WVLupWUWltsNeDw9neNnZDQ.webp\",\"alt\":\"Pearson products built on the toolkit, light on one side and dark on the other\"},\"Card/peRecW1\":{\"src\":\"https://framerusercontent.com/images/BRyaj2VlvZtnfDjB0BVdadAqo1o.webp\",\"alt\":\"Sprint demo recording: spacing, breakpoints or none\"},\"Card/peRecW2\":{\"src\":\"https://framerusercontent.com/images/dVUBgp5auaQD3oVNXNEGYPmNQs.webp\",\"alt\":\"Sprint demo recording: mapping every team's type styles\"},\"Card/peRecW3\":{\"src\":\"https://framerusercontent.com/images/ZkrA1UsdxrmMJHPrpjguB2Xrt2U.webp\",\"alt\":\"Sprint demo recording: how we name tokens\"},\"Card/peRecW4\":{\"src\":\"https://framerusercontent.com/images/4niY9jmrN3U2tAv9YDxmQgfZzCc.webp\",\"alt\":\"Office hours recording: token categories, worked through\"},\"Card/peRecW5\":{\"src\":\"https://framerusercontent.com/images/2IRcr7ZOWVK6gibbtGFCiIdHSi4.webp\",\"alt\":\"Office hours recording: building with a toolkit component\"},\"Card/peRecW6\":{\"src\":\"https://framerusercontent.com/images/SFqo4GWbWhht4ft7Z2uVkrMFwc.webp\",\"alt\":\"Team session recording: a product before and after the toolkit\"},\"Card/peLvl1Off\":{\"src\":\"https://framerusercontent.com/images/XEDxuLZepwpbestNtGPqT9q6k.webp\",\"alt\":\"Level 1: Alias your tokens to ours. Point your own tokens at the toolkit, and the new brand arrives without touching a component\"},\"Card/peLvl1OffP\":{\"src\":\"https://framerusercontent.com/images/89C8oZXQORPrWLUpxzagjbJXRc.webp\",\"alt\":\"Level 1: Alias your tokens to ours. Point your own tokens at the toolkit, and the new brand arrives without touching a component\"},\"Card/peLvl1On\":{\"src\":\"https://framerusercontent.com/images/SjgwHRWCKv4dtsrtqwJ8aedl00.webp\",\"alt\":\"Level 1, highlighted: Alias your tokens to ours. Point your own tokens at the toolkit, and the new brand arrives without touching a component\"},\"Card/peLvl1OnP\":{\"src\":\"https://framerusercontent.com/images/Jl7dzA5cbjP10EAC3EKTFjC0h4.webp\",\"alt\":\"Level 1, highlighted: Alias your tokens to ours. Point your own tokens at the toolkit, and the new brand arrives without touching a component\"},\"Card/peLvl2Off\":{\"src\":\"https://framerusercontent.com/images/S5IAXRfbOALQlbFYanYoMrByWQ.webp\",\"alt\":\"Level 2: Use our tokens. Use the toolkit tokens directly, and light and dark themes come with them\"},\"Card/peLvl2OffP\":{\"src\":\"https://framerusercontent.com/images/EEIay4c9tXDGSelACk5u10JGAo.webp\",\"alt\":\"Level 2: Use our tokens. Use the toolkit tokens directly, and light and dark themes come with them\"},\"Card/peLvl2On\":{\"src\":\"https://framerusercontent.com/images/S4wNdTiUzrKc8VDxKuAyOGvLCh0.webp\",\"alt\":\"Level 2, highlighted: Use our tokens. Use the toolkit tokens directly, and light and dark themes come with them\"},\"Card/peLvl2OnP\":{\"src\":\"https://framerusercontent.com/images/2NuWQmiajOGfMe8stPEFeRRCa9U.webp\",\"alt\":\"Level 2, highlighted: Use our tokens. Use the toolkit tokens directly, and light and dark themes come with them\"},\"Card/peLvl3Off\":{\"src\":\"https://framerusercontent.com/images/7nGaOZSfbfIthT5UrZnOJWlJE08.webp\",\"alt\":\"Level 3: Use our components. Swap in the toolkit buttons, inputs and type\"},\"Card/peLvl3OffP\":{\"src\":\"https://framerusercontent.com/images/OgFZhIL2hMlm3ZPQ2KABXiSZY8.webp\",\"alt\":\"Level 3: Use our components. Swap in the toolkit buttons, inputs and type\"},\"Card/peLvl3On\":{\"src\":\"https://framerusercontent.com/images/7Jt3rIn54EnA5S1ASGFsEi5uE8E.webp\",\"alt\":\"Level 3, highlighted: Use our components. Swap in the toolkit buttons, inputs and type\"},\"Card/peLvl3OnP\":{\"src\":\"https://framerusercontent.com/images/h6GP97jnaNnVKADjCbljH9fKgW4.webp\",\"alt\":\"Level 3, highlighted: Use our components. Swap in the toolkit buttons, inputs and type\"},\"Card/peRec1\":{\"src\":\"https://framerusercontent.com/images/XbuZw4vO35B9YOD0FPolCXf5M.webp\",\"alt\":\"Sprint demo recording: spacing, breakpoints or none\"},\"Card/peRec2\":{\"src\":\"https://framerusercontent.com/images/zVObTarb5EEAtMEABXDmbBMYudI.webp\",\"alt\":\"Sprint demo recording: mapping every team's type styles\"},\"Card/peRec3\":{\"src\":\"https://framerusercontent.com/images/leTCsy9kDJC8lVWuwX1dlfRgKt0.webp\",\"alt\":\"Sprint demo recording: how we name tokens\"},\"Card/peRec4\":{\"src\":\"https://framerusercontent.com/images/YESx7zT9z67zIRVVhmAqqJw53s8.webp\",\"alt\":\"Office hours recording: token categories, worked through\"},\"Card/peRec5\":{\"src\":\"https://framerusercontent.com/images/dHWUdAapNLjufOA7xgO015tnYa0.webp\",\"alt\":\"Office hours recording: building with a toolkit component\"},\"Card/peRec6\":{\"src\":\"https://framerusercontent.com/images/4xJIxbg4Q0LPEbiaAdLrhisW6nM.webp\",\"alt\":\"Team session recording: a product before and after the toolkit\"},\"Card/peBefore2\":{\"src\":\"https://framerusercontent.com/images/l8w9pcvPOUTOEGBK0C4Nzm2Kc.webp\",\"alt\":\"Products from three Pearson teams, Spark, Fredly and Delta, each on its own design system with its own buttons. The audit found more than 1,000 button variants\"},\"Card/peBefore2P\":{\"src\":\"https://framerusercontent.com/images/GXfuRWxRaZDB0ollKSMWjewi0c.webp\",\"alt\":\"Products from Pearson teams, each on its own design system. The audit found more than 1,000 button variants\"},\"Card/peContacts\":{\"src\":\"https://framerusercontent.com/images/v1QDEiSREEKxKj7jQujBqsPpAPw.webp\",\"alt\":\"Ten Pearson teams, Nemo, ModernXL, Topaz, Mondly, Fredly, Console, Austin, Channels, eText and Evolution, each with a named contact on my team. Their issues came straight to me, the design lead\"},\"Card/peContactsP\":{\"src\":\"https://framerusercontent.com/images/VhKBXPmynuRmkXXktWZVeJKCOcU.webp\",\"alt\":\"Ten Pearson teams, each with a named contact on my team, whose issues came straight to me\"},\"Card/peRecordings\":{\"src\":\"https://framerusercontent.com/images/kEN164LNraJ1Lpt2hrUNT7H4x0.webp\",\"alt\":\"Recorded sessions filed in Pearson's design documentation: sprint demos on spacing, type mapping and token naming, office hours on token categories and building with a component, and a team session showing a product before and after the toolkit\"},\"Card/peRecordingsP\":{\"src\":\"https://framerusercontent.com/images/eYylkQEIKj8oBP4ptTFvjC0Mw.webp\",\"alt\":\"Recorded sprint demos and office hours sessions, filed in Pearson's design documentation\"},\"Card/peVideos2\":{\"src\":\"https://framerusercontent.com/images/YtmNyU2zOGzVZx79LRKMepBfKA.webp\",\"alt\":\"How-to videos linked from the toolkit's Figma file: importing the toolkit, inserting components, component properties, surfaces, typography, buttons, and light and dark modes\"},\"Card/peVideos2P\":{\"src\":\"https://framerusercontent.com/images/PtlgKj5Bl27lGCoPUOX8HRG4.webp\",\"alt\":\"How-to videos linked from the toolkit's Figma file: importing the toolkit, inserting components, component properties and surfaces\"},\"Card/peSurfaces2\":{\"src\":\"https://framerusercontent.com/images/C0FWY9tTWpeHxC9PBZpDrb0k.webp\",\"alt\":\"Body text on light, dark and brand surfaces, each pair labelled with its contrast ratio, from 8.68:1 to 18.67:1, and every one passes AA\"},\"Card/peSurfaces2P\":{\"src\":\"https://framerusercontent.com/images/5hqnsnnca1ZGwWX4bGTqqitETFU.webp\",\"alt\":\"Body text on light, dark and brand surfaces, each pair labelled with its contrast ratio, every one passing AA\"},\"Card/peAfter2\":{\"src\":\"https://framerusercontent.com/images/XgGdeVrAJfLSjDh8Cm9KdQH0Q.webp\",\"alt\":\"A product on the toolkit in light and dark themes, above the teams pulse check: eight teams integrating, Mondly not yet, and Evolution a marketing system\"},\"Card/peAfter2P\":{\"src\":\"https://framerusercontent.com/images/I3r0JzHaDFnPwCEWFk9FeGyUtk.webp\",\"alt\":\"A product on the toolkit in light and dark themes, above the teams pulse check: eight teams integrating, Mondly not yet, and Evolution a marketing system\"},\"Card/peType2P\":{\"src\":\"https://framerusercontent.com/images/a6qe0RZwSmQr7Qm9hqtWg1fI.webp\",\"alt\":\"Body text at 16px, then the 1.2 scale below it, 13.3px and 11.1px, turned down, and the 14px and 12px sizes set instead and shipped\"},zFleetHomeBoard:{\"src\":\"https://framerusercontent.com/images/siC0bEVFplUmP8VH55IA8vtGSY.webp\",\"alt\":\"Zego's old website in 2021: the fleet insurance homepage, headed Fleet insurance, driven by you\"},zOldJourney:{\"src\":\"https://framerusercontent.com/images/0azw2kQEwqZ8tKVHUVWeQKzUjdA.webp\",\"alt\":\"The old quote journey: drivers and fleets each landed on their own page. Private hire, food delivery and courier drivers each had their own quote form. Fleets of 2 to 20 and 21 to 500 or more vehicles had no online quote and were told to call customer service.\"},zCallUsMock:{\"src\":\"https://framerusercontent.com/images/m3UV0DwRCiROOY0ZvrWjdSTMxkg.webp\",\"alt\":\"The old fleet quote screen on a phone, telling fleet customers to call Zego, beside a UK No entry road sign\"},zGaqStart:{\"src\":\"https://framerusercontent.com/images/r9FqPS8v2xTF0oYYocRhpyZK4.webp\",\"alt\":\"The new quote flow opens with one question: how many vehicles need insurance? 1, 2 to 20, or 21 to 500 and more\"},zProvider:{\"src\":\"https://framerusercontent.com/images/HICVZ3ufHiWesToDUzhKTTpyMYA.webp\",\"alt\":\"Choosing who you drive for: Uber, Deliveroo, Bolt or Ola\"},zWantLess:{\"src\":\"https://framerusercontent.com/images/l3c39CUZGL0ThYhtAXdBkzDCTa4.webp\",\"alt\":\"An early step in the quote, already showing what drivers like you usually pay each month\"},zEstimate:{\"src\":\"https://framerusercontent.com/images/vh9sfYiMTejeG38qzwGvPYMffI.webp\",\"alt\":\"A later quote step with the monthly estimate narrowed to a minimum, typical and maximum price\"},zLicenceCam:{\"src\":\"https://framerusercontent.com/images/zfSvWNilwdNTw2x7LpWsY6g8pvk.webp\",\"alt\":\"Scanning a driving licence with the phone camera, then checking the details it found\"},zSmallFleet:{\"src\":\"https://framerusercontent.com/images/DQRjMYD3Mhy6P8ZTHMhmMwFCs.webp\",\"alt\":\"The small fleet quote: are your vehicles cars or vans?\"},zTooHigh:{\"src\":\"https://framerusercontent.com/images/tdkfaD6y04BS6eQFCNbPyrdiqlQ.webp\",\"alt\":\"A fleet that does not fit the rules: vehicles over \\xa340k get a message and a form so Zego can get in touch\"},zBigFleet:{\"src\":\"https://framerusercontent.com/images/ov8xwdJqwY2SolGiXII7YIQDcQ.webp\",\"alt\":\"That's a big fleet: booking a call with sales by Zoom, Google Meet or phone\"},zBcHomeBoard:{\"src\":\"https://framerusercontent.com/images/aFozsyY0O5X2sRhDRi2tWZwqIc.webp\",\"alt\":\"Zego's old drivers homepage in 2021, its menu listing scooter, courier van, private hire and car insurance\"},zAppsDiagram:{\"src\":\"https://framerusercontent.com/images/GNXPR0dbQFaGGNVj5DDritQPcY.webp\",\"alt\":\"The old set-up: the website leads to a driver app and a separate fleet app, with no link between the two\"},zFleetPortalBoard:{\"src\":\"https://framerusercontent.com/images/X547onI2uMnigWHZxRAuvdoG6I.webp\",\"alt\":\"Zego's old Fleet Portal, a separate website where fleet managers ran their policies\"},zDiscovery:{\"src\":\"https://framerusercontent.com/images/SxH3O5QvLyCUXhIvUcP3cMnpwM.webp\",\"alt\":\"Discovery: the teams interviewed one to one and six areas the north star had to cover\"},zPersonas3:{\"src\":\"https://framerusercontent.com/images/JwevkqLeDLOW8NXBwXxNiusGSY.webp\",\"alt\":\"Three driver personas from Zego research: a professional, a newcomer and a driver who is hard to win over\"},zWorkshopBoard:{\"src\":\"https://framerusercontent.com/images/XN2kQptLI6ZtaIlQsre5iNGbFrk.webp\",\"alt\":\"A remote workshop call with the Zego and YLD team, faces blurred\"},zHmwBoard:{\"src\":\"https://framerusercontent.com/images/hY0rjOKEg33SkpX1aGkt78ERwpE.webp\",\"alt\":\"A How might we board grouped into getting a quote, one app, fleets and our own tools, with dot votes on the winning ideas\"},zPaths:{\"src\":\"https://framerusercontent.com/images/pt0rhC0yqgV3ELdXUF6pmM1zGwU.webp\",\"alt\":\"How the paths multiplied: 3 fleet sizes, 3 types of work, 3 vehicles and 8 partners (Uber, Bolt, Ola, FREENOW, Deliveroo, Uber Eats, Just Eat and Stuart) make 216 paths to design for, before any rules.\"},zHeroPhones:{\"src\":\"https://framerusercontent.com/images/gj1JTUNycQvDiEIC0v37KTtysic.webp\",\"alt\":\"The north star app on two phones: the dashboard with the Driver Score and cover details\"},zDashboard:{\"src\":\"https://framerusercontent.com/images/H5W1lvFXCTDnQ42Eu8zmrUqYgFE.webp\",\"alt\":\"The app dashboard with the Driver Score gauge, balance and top-up\"},zNoEntry:{\"src\":\"https://framerusercontent.com/images/LajUrMS2zK74yyWAyGN04JG0sk.svg\",\"alt\":\"A UK No entry road sign: a red circle with a white bar\"},zClaimsIll:{\"src\":\"https://framerusercontent.com/images/LfCy7BN1GIx2Nz4jurA8bZgI.webp\",\"alt\":\"Reporting a claim in the app, with an illustration and the promise that it takes less than 5 minutes\"},z3Masonry:{\"src\":\"https://framerusercontent.com/images/c6p356U5AQA8zwEPVSKgp1xuo2o.webp\",\"alt\":\"38 Zego components on one board, each in a dashed purple outline with its name: Driver Score gauges, buttons, chat, payment buttons, calendar, inputs, cards and more\"},z3MasonryP:{\"src\":\"https://framerusercontent.com/images/IMBVg5mnKrkt0qYNcWGcyXvYKU.webp\",\"alt\":\"Zego components in two columns, each in a dashed purple outline with its name: Driver Score, buttons, chat, payment buttons, estimate meter, tiles and Trustpilot score\"},z3Audit:{\"src\":\"https://framerusercontent.com/images/u0SZwGbvFTaAsqNud4AAAQsWbhI.webp\",\"alt\":\"A UI audit of the text inputs that went to production, with red bands marking states that drifted apart or were never used\"},z3Categories:{\"src\":\"https://framerusercontent.com/images/y6K7nd1006RQp0oM19ubx2Il22o.webp\",\"alt\":\"121 components and 891 variants, grouped into seven categories named for what they do, such as inputs, feedback and navigation\"},z3CategoriesP:{\"src\":\"https://framerusercontent.com/images/RkcJfrxkZktAWvgdyIOUFEzQa0.webp\",\"alt\":\"The seven component categories, from Display to Style, each with its count of sets and variants\"},z3Masters:{\"src\":\"https://framerusercontent.com/images/w6YmtJXrcOuZe8Nt2wYPQgMaIng.webp\",\"alt\":\"One master Large Button feeding every button state and size, 171 buttons in all\"},z3MastersP:{\"src\":\"https://framerusercontent.com/images/xSPnZlgbxwC4NDlDpe2pxp0NM.webp\",\"alt\":\"One master button feeding its Default, Hover, Pressed, icon and Disabled versions\"},z3Rebuild:{\"src\":\"https://framerusercontent.com/images/XD7z3ifqAOInNXFjoTi8Iu84ANk.webp\",\"alt\":\"A table of button variants going from 171 to 24, beside a Figma properties panel with icon toggles and variable modes\"},z3RebuildP:{\"src\":\"https://framerusercontent.com/images/T1eiYarluQe45yrft5Hff6ubSaY.webp\",\"alt\":\"Button variants going from 171 originally, to 81 with properties, to 24 with variable modes\"},z3Paying:{\"src\":\"https://framerusercontent.com/images/XOOgSeCq3B2SePzVcpdzKpcHM5A.webp\",\"alt\":\"Payment components: a quote card, top-up, estimate meter, policy total, transaction, and Apple Pay and Google Pay buttons in light and dark\"},z3Own:{\"src\":\"https://framerusercontent.com/images/2IIH25ZBsdKbSKsFzUldXfGd7A.webp\",\"alt\":\"Zego's own components: the Driver Score gauge in dark and light, score badges, and icons for driving and the apps drivers work for\"},z3OwnP:{\"src\":\"https://framerusercontent.com/images/bICqSXl4YNLpEF9VkYByojpOV0.webp\",\"alt\":\"The Driver Score gauge in dark and light, beside driving and partner app icons\"},z3Help:{\"src\":\"https://framerusercontent.com/images/KXIxWFKODI4hJLmnlCX6brFxZk.webp\",\"alt\":\"The in-app help kit: a support chat, a message keyboard, and illustrations for claims, location, notifications and syncing\"},z3Platforms:{\"src\":\"https://framerusercontent.com/images/hUSYR2Z6ObB5eRmnLyzPo5iuk00.webp\",\"alt\":\"Everyday parts in web, iOS and Android versions: text inputs, a calendar, a time picker, a dropdown, app navigation and checkboxes\"}};export const BOARDS={// prolific: in CaseStudyPlayers.tsx, edited with the editor UI (?edit on a branch preview)\npearson:{teams:[// 1. A new brand\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":255,\"y\":135.1,\"w\":929.6,\"h\":641.3,\"r\":14.5,\"s\":\"Card/peBrand\"}],\"focus\":[736.2,156.2,427.7,599.7],\"notes\":[],\"nar\":{\"x\":40,\"y\":600,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":22.4,\"y\":230,\"w\":345.2,\"h\":486,\"r\":23.1,\"s\":\"Card/peBrandP\"}],\"focus\":[29.8,476.6,330.4,232],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 2. Ten systems, 1,000 buttons\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":255,\"y\":183,\"w\":930,\"h\":546.1,\"r\":14.3,\"s\":\"Card/peBefore2\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":54,\"y\":524,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-7.9,\"y\":256,\"w\":405.7,\"h\":372.6,\"r\":11.9,\"s\":\"Card/peBefore2P\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 3. My team of six\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":255,\"y\":207.7,\"w\":930,\"h\":496.8,\"r\":17.6,\"s\":\"Card/peTeams\"}],\"focus\":[293.9,246.7,294.7,418.7],\"notes\":[],\"nar\":{\"x\":44,\"y\":582,\"w\":687,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-10,\"y\":382,\"w\":409.1,\"h\":582.5,\"r\":15.3,\"s\":\"Card/peTeamsP\",\"c\":[0,382,390,342,0]}],\"focus\":[12,378,366,118],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":266,\"side\":\"Left\"}}},// 4. 28 designers in ten teams\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":255,\"y\":207.7,\"w\":930,\"h\":496.8,\"r\":17.6,\"s\":\"Card/peTeams\"}],\"focus\":[607.9,246.7,538.2,418.7],\"notes\":[],\"nar\":{\"x\":61,\"y\":571,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-9.6,\"y\":113.3,\"w\":409.1,\"h\":582.5,\"r\":15.3,\"s\":\"Card/peTeamsP\",\"c\":[0,256,390,468,0]}],\"focus\":[8,292,374,388.1],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 5. Talking to every team first\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":250,\"y\":100,\"w\":1878.8,\"h\":1030,\"r\":15,\"s\":\"peAuditFile\",\"c\":[250,100,940,712,20]}],\"focus\":null,\"notes\":[null],\"nar\":{\"x\":48,\"y\":518,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":167.6,\"w\":1275.9,\"h\":699.5,\"r\":10.2,\"s\":\"peAuditFile\",\"c\":[0,334,390,390,0]}],\"focus\":[11.4,326,223.1,398],\"notes\":[[234.5,524.2]],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 6. No system general enough\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":250,\"y\":180,\"w\":940,\"h\":551.9,\"r\":14.5,\"s\":\"Card/peBefore\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":72,\"y\":585,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":306.6,\"w\":358,\"h\":328.8,\"r\":10.5,\"s\":\"Card/peBeforeP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 7. Each team chose a level\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":288.2,\"y\":468.2,\"w\":276.8,\"h\":215.2,\"r\":13.8,\"s\":\"Card/peLvl1Off\"},{\"x\":581.6,\"y\":468.2,\"w\":276.8,\"h\":215.2,\"r\":13.8,\"s\":\"Card/peLvl2Off\"},{\"x\":875,\"y\":468.2,\"w\":276.8,\"h\":215.2,\"r\":13.8,\"s\":\"Card/peLvl3Off\"}],\"focus\":[276.2,456.2,887.6,237.9],\"notes\":[],\"nar\":{\"x\":511,\"y\":207,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":285.8,\"w\":358,\"h\":104.7,\"r\":14.9,\"s\":\"Card/peLvl1OffP\"},{\"x\":16,\"y\":405.4,\"w\":358,\"h\":104.7,\"r\":14.9,\"s\":\"Card/peLvl2OffP\"},{\"x\":16,\"y\":525,\"w\":358,\"h\":104.7,\"r\":14.9,\"s\":\"Card/peLvl3OffP\"}],\"focus\":[8,277.8,374,361.3],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 8. Level 1\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":288.2,\"y\":468.2,\"w\":276.8,\"h\":215.2,\"r\":13.8,\"s\":\"Card/peLvl1On\"},{\"x\":581.6,\"y\":468.2,\"w\":276.8,\"h\":215.2,\"r\":13.8,\"s\":\"Card/peLvl2Off\"},{\"x\":875,\"y\":468.2,\"w\":276.8,\"h\":215.2,\"r\":13.8,\"s\":\"Card/peLvl3Off\"}],\"focus\":[276.2,456.2,300.8,237.9],\"notes\":[],\"nar\":{\"x\":520,\"y\":170,\"w\":400,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":307.8,\"w\":358,\"h\":104.7,\"r\":14.9,\"s\":\"Card/peLvl1OnP\"},{\"x\":16,\"y\":427.4,\"w\":358,\"h\":104.7,\"r\":14.9,\"s\":\"Card/peLvl2OffP\"},{\"x\":16,\"y\":547,\"w\":358,\"h\":104.7,\"r\":14.9,\"s\":\"Card/peLvl3OffP\"}],\"focus\":[8,299.8,374,121.2],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 9. Levels 2 and 3\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":288.2,\"y\":468.2,\"w\":276.8,\"h\":215.2,\"r\":13.8,\"s\":\"Card/peLvl1Off\"},{\"x\":581.6,\"y\":468.2,\"w\":276.8,\"h\":215.2,\"r\":13.8,\"s\":\"Card/peLvl2On\"},{\"x\":875,\"y\":468.2,\"w\":276.8,\"h\":215.2,\"r\":13.8,\"s\":\"Card/peLvl3On\"}],\"focus\":[569.6,456.2,594.2,237.9],\"notes\":[],\"nar\":{\"x\":520,\"y\":227.2,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":311.8,\"w\":358,\"h\":104.7,\"r\":14.9,\"s\":\"Card/peLvl1OffP\"},{\"x\":16,\"y\":431.4,\"w\":358,\"h\":104.7,\"r\":14.9,\"s\":\"Card/peLvl2OnP\"},{\"x\":16,\"y\":551,\"w\":358,\"h\":104.7,\"r\":14.9,\"s\":\"Card/peLvl3OnP\"}],\"focus\":[8,423.9,374,241.2],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 10. Names any team could map to\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":232,\"y\":147,\"w\":929.5,\"h\":484.9,\"r\":16.9,\"s\":\"Card/peBorders\"}],\"focus\":[735,284,411.4,225],\"notes\":[],\"nar\":{\"x\":660,\"y\":555,\"w\":524,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":3.1,\"y\":23.6,\"w\":383.7,\"h\":702.1,\"r\":25.7,\"s\":\"Card/peBordersP\",\"c\":[0,334,390,390,0]}],\"focus\":[8,497.9,374,226.1],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 11. The toolkit\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":-234,\"y\":95,\"w\":1728,\"h\":961,\"r\":0,\"s\":\"peMontD\",\"c\":[0,95,1440,729,0]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":528,\"y\":317,\"w\":400,\"h\":268,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":379,\"w\":358,\"h\":412.8,\"r\":0,\"s\":\"peMontDP\",\"c\":[16,379,358,248,0]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 12. The brand team\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":86.2,\"y\":100,\"w\":1267.6,\"h\":712,\"r\":0,\"s\":\"peMontC\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":499,\"y\":282,\"w\":400,\"h\":268,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":38.1,\"y\":304,\"w\":313.8,\"h\":412,\"r\":0,\"s\":\"peMontCP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 13. Recorded sessions\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":69,\"y\":139,\"w\":800,\"h\":187.6,\"r\":17.5,\"s\":\"Card/peRecW1\"},{\"x\":901,\"y\":139,\"w\":800,\"h\":187.6,\"r\":17.5,\"s\":\"Card/peRecW2\"},{\"x\":69,\"y\":358.6,\"w\":800,\"h\":187.6,\"r\":17.5,\"s\":\"Card/peRecW3\"},{\"x\":901,\"y\":358.6,\"w\":800,\"h\":187.6,\"r\":17.5,\"s\":\"Card/peRecW4\"},{\"x\":69,\"y\":578.3,\"w\":800,\"h\":187.6,\"r\":17.5,\"s\":\"Card/peRecW5\"},{\"x\":901,\"y\":578.3,\"w\":800,\"h\":187.6,\"r\":17.5,\"s\":\"Card/peRecW6\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":523,\"y\":275,\"w\":400,\"h\":301,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":360,\"w\":456,\"h\":90,\"r\":10,\"s\":\"Card/peRec1\"},{\"x\":16,\"y\":462,\"w\":456,\"h\":90,\"r\":10,\"s\":\"Card/peRec2\"},{\"x\":16,\"y\":564,\"w\":456,\"h\":90,\"r\":10,\"s\":\"Card/peRec3\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":214,\"side\":\"Left\"}}},// 14. How-to videos\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":65.8,\"y\":156.3,\"w\":1042.5,\"h\":1424,\"r\":12.5,\"s\":\"peVideos\",\"c\":[111.7,166.7,950.7,187.6,20.8]},{\"x\":65.8,\"y\":164.6,\"w\":1042.5,\"h\":1424,\"r\":12.5,\"s\":\"peVideos\",\"c\":[111.7,379.4,950.7,187.6,20.8]},{\"x\":65.8,\"y\":173,\"w\":1042.5,\"h\":1424,\"r\":12.5,\"s\":\"peVideos\",\"c\":[111.7,592,950.7,187.6,20.8]},{\"x\":1058.3,\"y\":-661,\"w\":1042.5,\"h\":1424,\"r\":12.5,\"s\":\"peVideos\",\"c\":[1104.1,166.7,950.7,187.6,20.8]},{\"x\":1058.3,\"y\":-652.7,\"w\":1042.5,\"h\":1424,\"r\":12.5,\"s\":\"peVideos\",\"c\":[1104.1,379.4,950.7,187.6,20.8]},{\"x\":1058.3,\"y\":-644.3,\"w\":1042.5,\"h\":1424,\"r\":12.5,\"s\":\"peVideos\",\"c\":[1104.1,592,950.7,187.6,20.8]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":771,\"y\":300,\"w\":400,\"h\":335,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-6,\"y\":355,\"w\":500,\"h\":683,\"r\":6,\"s\":\"peVideos\",\"c\":[16,360,456,90,10]},{\"x\":-6,\"y\":359,\"w\":500,\"h\":683,\"r\":6,\"s\":\"peVideos\",\"c\":[16,462,456,90,10]},{\"x\":-6,\"y\":363,\"w\":500,\"h\":683,\"r\":6,\"s\":\"peVideos\",\"c\":[16,564,456,90,10]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":240,\"side\":\"Left\"}}},// 15. 80% integrating\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":162,\"y\":138.4,\"w\":1116,\"h\":635.3,\"r\":17.2,\"s\":\"Card/peAfter2\"}],\"focus\":[173,636,1082,117],\"notes\":[],\"nar\":{\"x\":520,\"y\":350,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-3.9,\"y\":252,\"w\":397.8,\"h\":382.5,\"r\":11.9,\"s\":\"Card/peAfter2P\"}],\"focus\":[8,421.5,374,201],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 16. Handed over\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":162,\"y\":138.4,\"w\":1116,\"h\":635.3,\"r\":17.2,\"s\":\"Card/peAfter2\"}],\"focus\":[275.6,211.9,888.8,373.7],\"notes\":[],\"nar\":{\"x\":458.5,\"y\":350,\"w\":523,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-3.9,\"y\":304,\"w\":397.8,\"h\":382.5,\"r\":11.9,\"s\":\"Card/peAfter2P\"}],\"focus\":[8,315.9,374,161.7],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}}],sayno:[// 1. Ten teams, my six\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":255,\"y\":207.7,\"w\":930,\"h\":496.8,\"r\":17.6,\"s\":\"Card/peTeams\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":61,\"y\":571,\"w\":400,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-9.6,\"y\":108.2,\"w\":409.1,\"h\":582.5,\"r\":15.3,\"s\":\"Card/peTeamsP\",\"c\":[0,282,390,442,0]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 2. The requests start\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":137,\"y\":128,\"w\":1166,\"h\":417,\"r\":0,\"s\":\"Card/peReqSpread\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":900,\"y\":500,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":27,\"y\":256,\"w\":336.1,\"h\":460,\"r\":0,\"s\":\"Card/peReqSpreadP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 3. One board\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":97,\"y\":108,\"w\":1246,\"h\":695,\"r\":0,\"s\":\"Card/peBoard\"}],\"focus\":[727,177,210,625],\"notes\":[],\"nar\":{\"x\":925,\"y\":494,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":25,\"y\":256,\"w\":341,\"h\":460,\"r\":0,\"s\":\"Card/peBoardP\"}],\"focus\":[34,336,130,375],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 4. A designer per team\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":142,\"y\":118,\"w\":1156,\"h\":406,\"r\":0,\"s\":\"Card/peOwners\"}],\"focus\":[130,106,1180,122],\"notes\":[],\"nar\":{\"x\":440,\"y\":633,\"w\":560,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":308,\"w\":358,\"h\":334,\"r\":0,\"s\":\"Card/peOwnersP\"}],\"focus\":[8,300,366,274],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 5. Yes, for everyone\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":206,\"y\":128,\"w\":1029,\"h\":323.4,\"r\":0,\"s\":\"Card/peReq12\"}],\"focus\":[238,336,969,83],\"notes\":[],\"nar\":{\"x\":420,\"y\":633,\"w\":600,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":308,\"w\":358,\"h\":277,\"r\":0,\"s\":\"Card/peReq12P\"}],\"focus\":[28,470,338,102],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 6. Yes, without a fork\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":206,\"y\":128,\"w\":1029,\"h\":400,\"r\":0,\"s\":\"Card/peReqPadding\"}],\"focus\":[238,382,969,113],\"notes\":[],\"nar\":{\"x\":420,\"y\":633,\"w\":600,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":308,\"w\":358,\"h\":331,\"r\":0,\"s\":\"Card/peReqPaddingP\"}],\"focus\":[28,503,338,123],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 7. No, with a reason\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":113,\"y\":128,\"w\":1215,\"h\":361.3,\"r\":0,\"s\":\"Card/peSepia\"}],\"focus\":[941,116,399,386],\"notes\":[],\"nar\":{\"x\":400,\"y\":600,\"w\":640,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":334,\"w\":358,\"h\":204.1,\"r\":0,\"s\":\"Card/peSepiaP\"}],\"focus\":[253,326,129,219],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":214,\"side\":\"Left\"}}},// 8. Taking away\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":206,\"y\":128,\"w\":1029,\"h\":353.8,\"r\":0,\"s\":\"Card/peReqFills\"}],\"focus\":[238,336,969,113],\"notes\":[],\"nar\":{\"x\":420,\"y\":633,\"w\":600,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":308,\"w\":358,\"h\":298,\"r\":0,\"s\":\"Card/peReqFillsP\"}],\"focus\":[28,470,338,123],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 9. The second-team rule\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":64,\"y\":218,\"w\":1313,\"h\":257.4,\"r\":0,\"s\":\"Card/pePromote\"}],\"focus\":[494,268,453,157],\"notes\":[[279,475]],\"nar\":{\"x\":440,\"y\":633,\"w\":560,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":308,\"w\":358,\"h\":377,\"r\":0,\"s\":\"Card/pePromoteP\"}],\"focus\":[72,413,246,167],\"notes\":[null],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 10. Writing the rules down\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":57,\"y\":138,\"w\":1327.1,\"h\":349.6,\"r\":0,\"s\":\"Card/peVoices\"}],\"focus\":[45,319,1351,180],\"notes\":[],\"nar\":{\"x\":440,\"y\":633,\"w\":560,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":308,\"w\":358,\"h\":358,\"r\":0,\"s\":\"Card/peVoicesP\"}],\"focus\":[8,401,374,273],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 11. Handing over\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":116,\"y\":108,\"w\":1207.5,\"h\":427.8,\"r\":0,\"s\":\"Card/peHandover\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":440,\"y\":633,\"w\":560,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":41,\"y\":282,\"w\":308.9,\"h\":434,\"r\":0,\"s\":\"Card/peHandoverP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 12. More than a backlog\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":159,\"y\":143,\"w\":1121.4,\"h\":625.5,\"r\":0,\"s\":\"Card/peBoard\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":384,\"w\":600,\"h\":133,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":34,\"y\":282,\"w\":321.7,\"h\":434,\"r\":0,\"s\":\"Card/peBoardP\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 13. What we learnt\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":159,\"y\":143,\"w\":1121.4,\"h\":625.5,\"r\":0,\"s\":\"Card/peBoard\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":367,\"w\":600,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":34,\"y\":282,\"w\":321.7,\"h\":434,\"r\":0,\"s\":\"Card/peBoardP\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}}],colour:[// 1. A brand for ten teams\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":40,\"y\":188.8,\"w\":1360,\"h\":534.4,\"r\":27.5,\"s\":\"Card/peRamps\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":497,\"y\":285,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":215,\"w\":358,\"h\":386,\"r\":24,\"s\":\"Card/peRampsP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 2. Light on light\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":40,\"y\":188.8,\"w\":1360,\"h\":534.4,\"r\":27.5,\"s\":\"Card/peRamps\"}],\"focus\":[992.9,235.8,359.9,440.2],\"notes\":[],\"nar\":{\"x\":493,\"y\":345,\"w\":400,\"h\":133,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":215,\"w\":358,\"h\":386,\"r\":24,\"s\":\"Card/peRampsP\"}],\"focus\":[24,427,342,166],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 3. No in-between shades\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":53.9,\"y\":100,\"w\":1332.1,\"h\":712,\"r\":27.6,\"s\":\"Card/pePalette\"}],\"focus\":[597.2,188.5,493.7,360.5],\"notes\":[],\"nar\":{\"x\":505,\"y\":122,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":108,\"w\":358,\"h\":600,\"r\":24,\"s\":\"Card/pePaletteP\"}],\"focus\":[24,278,342,144],\"notes\":[],\"nar\":{\"x\":16,\"y\":528,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 4. The missing steps\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":40,\"y\":201.6,\"w\":1360,\"h\":508.9,\"r\":27,\"s\":\"Card/peRampBuild\"}],\"focus\":[806.6,288.1,277.2,353.7],\"notes\":[],\"nar\":{\"x\":520,\"y\":100,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":128,\"w\":358,\"h\":560,\"r\":24,\"s\":\"Card/peRampBuildP\"}],\"focus\":[64,438,302,114],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 5. Every combination\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":195.9,\"y\":100,\"w\":1048.2,\"h\":712,\"r\":23.7,\"s\":\"Card/peContrast\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":927,\"y\":492,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-30,\"y\":90,\"w\":573,\"h\":634,\"r\":38.4,\"s\":\"Card/peContrastP\",\"c\":[0,226,390,498,0]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 6. A new middle step\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":195.9,\"y\":100,\"w\":1048.2,\"h\":712,\"r\":23.7,\"s\":\"Card/peContrast\"}],\"focus\":[644.8,139.5,55.6,631.1],\"notes\":[],\"nar\":{\"x\":923,\"y\":515,\"w\":400,\"h\":133,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-30,\"y\":90,\"w\":573,\"h\":634,\"r\":38.4,\"s\":\"Card/peContrastP\",\"c\":[0,226,390,498,0]}],\"focus\":[324.4,226,65.6,498],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 7. Surfaces with their own text\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":40,\"y\":121.5,\"w\":1360,\"h\":669.1,\"r\":0,\"s\":\"peSurfStackLD\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":619,\"y\":325,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":116.8,\"w\":358,\"h\":582.4,\"r\":0,\"s\":\"peSurfStackLDP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":606,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 8. Pick a surface\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":40,\"y\":121.5,\"w\":1360,\"h\":669.1,\"r\":0,\"s\":\"peSurfStackLD\"}],\"focus\":[32,161.4,1376,564.4],\"notes\":[],\"nar\":{\"x\":641,\"y\":302,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":116.8,\"w\":358,\"h\":582.4,\"r\":0,\"s\":\"peSurfStackLDP\"}],\"focus\":[8,283.4,374,116.4],\"notes\":[],\"nar\":{\"x\":16,\"y\":606,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 9. Checked to AA\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":69.2,\"y\":100,\"w\":1301.7,\"h\":712,\"r\":23.6,\"s\":\"Card/peSurfaces2\"}],\"focus\":[100.5,131.3,1239,216.6],\"notes\":[],\"nar\":{\"x\":512,\"y\":293,\"w\":400,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":25,\"y\":278,\"w\":340,\"h\":438,\"r\":16.1,\"s\":\"Card/peSurfaces2P\"}],\"focus\":[28.1,281.1,333.7,148.9],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 10. Brand sign-off\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":69.2,\"y\":100,\"w\":1301.7,\"h\":712,\"r\":23.6,\"s\":\"Card/peSurfaces2\"}],\"focus\":[100.5,564,1239,216.6],\"notes\":[],\"nar\":{\"x\":512,\"y\":290,\"w\":400,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":25,\"y\":278,\"w\":340,\"h\":438,\"r\":16.1,\"s\":\"Card/peSurfaces2P\"}],\"focus\":[28.1,564.7,333.7,148.9],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 11. Light and dark\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":40,\"y\":160,\"w\":1360,\"h\":592.1,\"r\":36.2,\"s\":\"Card/peThemes\"}],\"focus\":[92.2,212.2,619.1,485],\"notes\":[],\"nar\":{\"x\":513,\"y\":313,\"w\":400,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":100,\"w\":358,\"h\":616,\"r\":24,\"s\":\"Card/peThemesP\"}],\"focus\":[24,132,342,276],\"notes\":[],\"nar\":{\"x\":16,\"y\":554,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 12. Too small to read\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":40,\"y\":217.2,\"w\":1360,\"h\":477.6,\"r\":24.7,\"s\":\"Card/peType\"}],\"focus\":[874.3,258.5,484.4,137.2],\"notes\":[],\"nar\":{\"x\":497,\"y\":566,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":319,\"w\":358,\"h\":239.9,\"r\":14.2,\"s\":\"Card/peType2P\"}],\"focus\":[27,355.6,335.9,95.8],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 13. 14 and 12\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":40,\"y\":217.2,\"w\":1360,\"h\":477.6,\"r\":24.7,\"s\":\"Card/peType\"}],\"focus\":[874.3,404.3,484.4,139.3],\"notes\":[],\"nar\":{\"x\":498,\"y\":607,\"w\":400,\"h\":133,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":319,\"w\":358,\"h\":239.9,\"r\":14.2,\"s\":\"Card/peType2P\"}],\"focus\":[27,450.8,335.9,97.2],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 14. The focus ring\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":43.5,\"y\":165,\"w\":1353,\"h\":582,\"r\":25.7,\"s\":\"Card/peFocus\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":415,\"y\":326,\"w\":591,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":24.2,\"y\":382,\"w\":341.6,\"h\":334,\"r\":22.9,\"s\":\"Card/peFocusP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":266,\"side\":\"Left\"}}},// 15. Forty chart colours\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":37,\"y\":303,\"w\":1360,\"h\":460.2,\"r\":24.9,\"s\":\"Card/peViz\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":504,\"y\":121,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":251,\"w\":358,\"h\":314,\"r\":24,\"s\":\"Card/peVizP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 16. Colour alone\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":116.5,\"y\":100,\"w\":1207,\"h\":712,\"r\":32.5,\"s\":\"peDonuts\"}],\"focus\":[135.6,119.1,1168.8,341.5],\"notes\":[],\"nar\":{\"x\":512,\"y\":318,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":199.2,\"w\":358,\"h\":417.7,\"r\":19.1,\"s\":\"peDonutsP\"}],\"focus\":[16,207.1,358.1,206.9],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 17. All in the foundations\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":40,\"y\":169.7,\"w\":1360,\"h\":572.7,\"r\":0,\"s\":\"peMontF\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":40,\"y\":100,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":112.4,\"w\":358,\"h\":591.2,\"r\":0,\"s\":\"peMontFP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 18. Every component, every product\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":86.2,\"y\":100,\"w\":1267.6,\"h\":712,\"r\":0,\"s\":\"peMontC\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":40,\"y\":100,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":38.1,\"y\":304,\"w\":313.8,\"h\":412,\"r\":0,\"s\":\"peMontCP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 19. Signed off, all AA\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":86.2,\"y\":100,\"w\":1267.6,\"h\":712,\"r\":0,\"s\":\"peMontC\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":406,\"w\":600,\"h\":133,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":38.1,\"y\":304,\"w\":313.8,\"h\":412,\"r\":0,\"s\":\"peMontCP\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 20. What we learnt\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":86.2,\"y\":100,\"w\":1267.6,\"h\":712,\"r\":0,\"s\":\"peMontC\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":406,\"w\":600,\"h\":100,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":38.1,\"y\":304,\"w\":313.8,\"h\":412,\"r\":0,\"s\":\"peMontCP\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}}]},perception:{scale:[// 1. The scale\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":510,\"y\":200.4,\"w\":880,\"h\":519.2,\"r\":0,\"s\":\"rSdsLight\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":40,\"y\":360,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":256,\"w\":358,\"h\":423.7,\"r\":0,\"s\":\"rSdsLightP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 2. The bar\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":510,\"y\":200.4,\"w\":880,\"h\":519.2,\"r\":0,\"s\":\"rMarksLight\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":40,\"y\":376.5,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":230,\"w\":358,\"h\":423.7,\"r\":0,\"s\":\"rMarksLightP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 3. The churn\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":510,\"y\":200.4,\"w\":880,\"h\":519.2,\"r\":0,\"s\":\"rMarksDark\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":40,\"y\":326,\"w\":400,\"h\":268,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":24.3,\"y\":308,\"w\":341.4,\"h\":404,\"r\":0,\"s\":\"rMarksDarkP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 4. Picking colours\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":510,\"y\":260.7,\"w\":880,\"h\":398.5,\"r\":0,\"s\":\"rPick\"}],\"focus\":[968.4,303.3,429.6,314.9],\"notes\":[],\"nar\":{\"x\":40,\"y\":343.8,\"w\":400,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":38.5,\"y\":282,\"w\":313,\"h\":430,\"r\":0,\"s\":\"rPickP\"}],\"focus\":[75.2,511,284.3,209],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 5. The constraint\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":510,\"y\":205.8,\"w\":880,\"h\":508.4,\"r\":23.5,\"s\":\"pLocal\"}],\"focus\":[532.8,258.8,579.2,402.4],\"notes\":[],\"nar\":{\"x\":40,\"y\":360,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":256,\"w\":358,\"h\":400,\"r\":13.4,\"s\":\"pLocalP\"}],\"focus\":[30.4,270.4,329.3,228.6],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 6. The first tool\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":703,\"y\":216.3,\"w\":494,\"h\":486.5,\"r\":20.8,\"s\":\"pWidget\",\"sh\":\"box-md\"}],\"focus\":[704.9,339.9,490.2,142.8],\"notes\":[],\"nar\":{\"x\":40,\"y\":277.3,\"w\":400,\"h\":268,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":308,\"w\":358,\"h\":353.2,\"r\":15.1,\"s\":\"pWidget\",\"sh\":\"box-md\"}],\"focus\":[15.2,395.4,359.7,107.9],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 7. What it gave the team\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":510,\"y\":204.8,\"w\":880,\"h\":510.4,\"r\":0,\"s\":\"pWidgetOver\"}],\"focus\":[1030,196.8,350.4,347.8],\"notes\":[],\"nar\":{\"x\":40,\"y\":287.2,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":256,\"w\":358,\"h\":377.6,\"r\":0,\"s\":\"pWidgetOverP\"}],\"focus\":[153.4,248,228.6,225.7],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 8. Rebuilt for everyone\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":743.3,\"y\":150,\"w\":413.3,\"h\":620,\"r\":12.4,\"s\":\"pHome\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":40,\"y\":343,\"w\":400,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":48.3,\"y\":256,\"w\":293.3,\"h\":440,\"r\":8.8,\"s\":\"pHome\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 9. Same answer every time\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":743.3,\"y\":150,\"w\":413.3,\"h\":620,\"r\":12.4,\"s\":\"rResS1Fail\",\"sh\":\"box-md\"}],\"focus\":[751.6,321.5,396.8,427.8],\"notes\":[],\"nar\":{\"x\":40,\"y\":330.6,\"w\":400,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":48.3,\"y\":282,\"w\":293.3,\"h\":440,\"r\":8.8,\"s\":\"rResS1Fail\",\"sh\":\"box-md\"}],\"focus\":[54.2,403.7,281.6,303.6],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 10. Anyone can check\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":743.3,\"y\":150,\"w\":413.3,\"h\":620,\"r\":12.4,\"s\":\"rDetS1Fail\",\"sh\":\"box-md\"}],\"focus\":[751.6,298.8,396.8,167.4],\"notes\":[],\"nar\":{\"x\":40,\"y\":242.2,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":48.3,\"y\":256,\"w\":293.3,\"h\":440,\"r\":8.8,\"s\":\"rDetS1Fail\",\"sh\":\"box-md\"}],\"focus\":[54.2,361.6,281.6,118.8],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 11. Fix and re-test\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":743.3,\"y\":150,\"w\":413.3,\"h\":620,\"r\":12.4,\"s\":\"rDetS1Pass\",\"sh\":\"box-md\"}],\"focus\":[751.6,298.8,396.8,167.4],\"notes\":[],\"nar\":{\"x\":40,\"y\":275.7,\"w\":400,\"h\":133,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":48.3,\"y\":230,\"w\":293.3,\"h\":440,\"r\":8.8,\"s\":\"rDetS1Pass\",\"sh\":\"box-md\"}],\"focus\":[54.2,335.6,281.6,118.8],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 12. Payoff\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":513.3,\"y\":150,\"w\":413.3,\"h\":620,\"r\":12.4,\"s\":\"rResS1Pass\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":383.5,\"w\":600,\"h\":133,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":51.7,\"y\":300,\"w\":286.7,\"h\":430.1,\"r\":8.6,\"s\":\"rResS1Pass\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":372,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 13. What we learnt\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":513.3,\"y\":150,\"w\":413.3,\"h\":620,\"r\":12.4,\"s\":\"rResS1Pass\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":384,\"w\":600,\"h\":133,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":51.7,\"y\":300,\"w\":286.7,\"h\":430.1,\"r\":8.6,\"s\":\"rResS1Pass\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":372,\"w\":358,\"h\":136,\"side\":\"Left\"}}}],seen:[// 1. The usual check\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":510,\"y\":189.4,\"w\":880,\"h\":541.3,\"r\":0,\"s\":\"rS2Naive\"}],\"focus\":[955.2,298.7,442.8,321.6],\"notes\":[],\"nar\":{\"x\":40,\"y\":324.9,\"w\":400,\"h\":268,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":308,\"w\":358,\"h\":220.2,\"r\":0,\"s\":\"rS2Naive\"}],\"focus\":[192.4,347.7,189.6,140.3],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 2. What people see\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":545.4,\"y\":150,\"w\":809.1,\"h\":620,\"r\":0,\"s\":\"rS2Testi\"}],\"focus\":[949.4,321.5,396.8,427.8],\"notes\":[],\"nar\":{\"x\":40,\"y\":364.1,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-232.8,\"y\":256,\"w\":574.2,\"h\":440,\"r\":0,\"s\":\"rS2Testi\",\"c\":[48.6,256,292.8,440,12]}],\"focus\":[54,377.7,281.6,303.6],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 3. Layers behind\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":593,\"y\":150,\"w\":713.9,\"h\":620,\"r\":0,\"s\":\"rS2Quote\"}],\"focus\":[949.5,337.8,350.1,129.5],\"notes\":[],\"nar\":{\"x\":40,\"y\":260.8,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-182.5,\"y\":256,\"w\":506.6,\"h\":440,\"r\":0,\"s\":\"rS2Quote\",\"c\":[65.8,256,258.4,440,12]}],\"focus\":[70.5,389.3,248.4,91.9],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 4. Icons\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":555.3,\"y\":150,\"w\":789.5,\"h\":620,\"r\":0,\"s\":\"rS2Icons\"}],\"focus\":[939.7,321.5,396.8,252.1],\"notes\":[],\"nar\":{\"x\":40,\"y\":311.4,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-222.4,\"y\":230,\"w\":560.3,\"h\":440,\"r\":0,\"s\":\"rS2Icons\",\"c\":[52.1,230,285.7,440,12]}],\"focus\":[50.4,351.7,281.6,178.9],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 5. More than one colour\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":528.9,\"y\":150,\"w\":842.2,\"h\":620,\"r\":0,\"s\":\"rS2Multi\"}],\"focus\":[966,321.5,396.8,287.3],\"notes\":[],\"nar\":{\"x\":40,\"y\":304.2,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-250.3,\"y\":256,\"w\":597.7,\"h\":440,\"r\":0,\"s\":\"rS2Multi\",\"c\":[42.6,256,304.8,440,12]}],\"focus\":[60,377.7,281.6,203.9],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 6. Checking the maths\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":534,\"y\":286.5,\"w\":832,\"h\":345.8,\"r\":20.8,\"s\":\"pWebaim\",\"sh\":\"box-md\"}],\"focus\":[917,327,432,259],\"notes\":[],\"nar\":{\"x\":40,\"y\":356.5,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":256,\"w\":358,\"h\":149,\"r\":9,\"s\":\"pWebaim\",\"sh\":\"box-sm\"}],\"focus\":[176.3,268.9,195,120.5],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 7. Acting on it\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":510,\"y\":198.9,\"w\":880,\"h\":522.2,\"r\":0,\"s\":\"rS2Act\"}],\"focus\":[1089,315.6,294.9,371.7],\"notes\":[],\"nar\":{\"x\":40,\"y\":381.7,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-416.8,\"y\":256,\"w\":741.5,\"h\":440,\"r\":0,\"s\":\"rS2Act\",\"c\":[65.2,256,259.5,440,12]}],\"focus\":[71.1,354.3,248.5,313.2],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 8. All passing\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":510,\"y\":198.9,\"w\":880,\"h\":522.2,\"r\":0,\"s\":\"rS2Fixed\"}],\"focus\":[1089,315.6,294.9,371.7],\"notes\":[],\"nar\":{\"x\":40,\"y\":383.1,\"w\":400,\"h\":133,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-416.8,\"y\":230,\"w\":741.5,\"h\":440,\"r\":0,\"s\":\"rS2Fixed\",\"c\":[65.2,230,259.5,440,12]}],\"focus\":[71.1,328.3,248.5,313.2],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 9. Payoff\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":513.3,\"y\":150,\"w\":413.3,\"h\":620,\"r\":12.4,\"s\":\"rResS2Pass\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":400,\"w\":600,\"h\":100,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":51.7,\"y\":300,\"w\":286.7,\"h\":430.1,\"r\":8.6,\"s\":\"rResS2Pass\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":385,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 10. What we learnt\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":513.3,\"y\":150,\"w\":413.3,\"h\":620,\"r\":12.4,\"s\":\"rResS2Pass\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":400,\"w\":600,\"h\":100,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":51.7,\"y\":300,\"w\":286.7,\"h\":430.1,\"r\":8.6,\"s\":\"rResS2Pass\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":385,\"w\":358,\"h\":110,\"side\":\"Left\"}}}]},zego:{quote:[// 1. Scene: who Zego is\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":470,\"y\":177,\"w\":903.6,\"h\":558,\"r\":0,\"s\":\"zFleetHomeBoard\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":24,\"y\":356,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":379.5,\"w\":358,\"h\":221.1,\"r\":0,\"s\":\"zFleetHomeBoard\",\"c\":[16,379.5,358,221.1,0]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 2. Scene: the starting point\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":450,\"y\":182.1,\"w\":950.4,\"h\":547.8,\"r\":26.4,\"s\":\"zOldJourney\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":24,\"y\":356,\"w\":380,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":386.8,\"w\":358,\"h\":206.3,\"r\":9.9,\"s\":\"zOldJourney\",\"c\":[16,386.8,358,206.3,12]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 3. Scene: the problem\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":600.5,\"y\":188.3,\"w\":1136.7,\"h\":715,\"r\":0,\"s\":\"zCallUsMock\",\"sh\":\"shape-md\"},{\"x\":627.6,\"y\":143.9,\"w\":568.1,\"h\":357.3,\"r\":0,\"s\":\"zNoEntry\",\"sh\":\"shape-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":322,\"y\":333,\"w\":380,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":9,\"y\":317,\"w\":716,\"h\":450.4,\"r\":0,\"s\":\"zCallUsMock\",\"c\":[95.6,326.2,207.9,397.8,0],\"sh\":\"shape-md\"},{\"x\":26,\"y\":289,\"w\":358,\"h\":225.2,\"r\":0,\"s\":\"zNoEntry\",\"sh\":\"shape-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 4. One question\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":548.2,\"y\":100,\"w\":343.6,\"h\":712,\"r\":0,\"s\":\"zGaqStart\"}],\"focus\":[547.8,370.7,344.3,176.3],\"notes\":[],\"nar\":{\"x\":99.8,\"y\":324.9,\"w\":400,\"h\":268,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":27.9,\"y\":282,\"w\":334.3,\"h\":692.7,\"r\":0,\"s\":\"zGaqStart\",\"c\":[27.9,282,334.3,442,12]}],\"focus\":[29.3,547.1,331.4,168],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 5. Single drivers\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":548.2,\"y\":100,\"w\":343.6,\"h\":712,\"r\":0,\"s\":\"zProvider\"}],\"focus\":[547.8,309.6,344.3,229.8],\"notes\":[],\"nar\":{\"x\":99.8,\"y\":358,\"w\":400,\"h\":133,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":230,\"w\":358,\"h\":741.9,\"r\":0,\"s\":\"zProvider\",\"c\":[16,230,358,494,12]}],\"focus\":[18,450.7,354.1,234.8],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 6. An early price\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":552.3,\"y\":100,\"w\":335.5,\"h\":712,\"r\":0,\"s\":\"zWantLess\"}],\"focus\":[562.9,185.2,314.2,131.6],\"notes\":[],\"nar\":{\"x\":114.9,\"y\":167.5,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":230,\"w\":358,\"h\":759.8,\"r\":0,\"s\":\"zWantLess\",\"c\":[16,230,358,494,12]}],\"focus\":[29.9,323.4,330.2,135.3],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 7. The price sharpens\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":564.5,\"y\":100,\"w\":311.1,\"h\":712,\"r\":0,\"s\":\"zEstimate\"}],\"focus\":[573.7,178.4,292.5,123.1],\"notes\":[[866.3,240]],\"nar\":{\"x\":125.7,\"y\":156.5,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":256,\"w\":358,\"h\":819.4,\"r\":0,\"s\":\"zEstimate\",\"c\":[16,256,358,468,12]}],\"focus\":[29.9,349.4,330.2,135.3],\"notes\":[[49.9,484.8]],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 8. Scan, don't type\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":540.6,\"y\":100,\"w\":358.9,\"h\":712,\"r\":0,\"s\":\"zLicenceCam\"}],\"focus\":[563.1,240.9,313.8,206.9],\"notes\":[],\"nar\":{\"x\":115.1,\"y\":260.8,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":256,\"w\":358,\"h\":710.3,\"r\":0,\"s\":\"zLicenceCam\",\"c\":[16,256,358,468,12]}],\"focus\":[40.5,398.5,309.1,202.4],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 9. Small fleets\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":548.2,\"y\":100,\"w\":343.6,\"h\":712,\"r\":0,\"s\":\"zSmallFleet\"}],\"focus\":[547.8,256.2,344.3,367.2],\"notes\":[],\"nar\":{\"x\":99.8,\"y\":373.3,\"w\":400,\"h\":133,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":26.7,\"y\":204,\"w\":336.7,\"h\":697.7,\"r\":0,\"s\":\"zSmallFleet\",\"c\":[26.7,204,336.7,520,12]}],\"focus\":[28.1,358.9,333.7,356.2],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":84,\"side\":\"Left\"}}},// 10. A soft no\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":548.2,\"y\":100,\"w\":343.6,\"h\":712,\"r\":0,\"s\":\"zTooHigh\"}],\"focus\":[555.5,393.6,329.1,195.4],\"notes\":[],\"nar\":{\"x\":107.5,\"y\":374.3,\"w\":400,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":42,\"y\":282,\"w\":306,\"h\":634.1,\"r\":0,\"s\":\"zTooHigh\",\"c\":[42,282,306,442,12]}],\"focus\":[49.6,544.6,290.8,171.8],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 11. Big fleets\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":548.2,\"y\":100,\"w\":343.6,\"h\":712,\"r\":0,\"s\":\"zBigFleet\"}],\"focus\":[547.8,462.3,344.3,176.3],\"notes\":[],\"nar\":{\"x\":99.8,\"y\":484,\"w\":400,\"h\":133,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":39.5,\"y\":230,\"w\":310.9,\"h\":644.3,\"r\":0,\"s\":\"zBigFleet\",\"c\":[39.5,230,310.9,494,12]}],\"focus\":[40.5,559.1,309.1,157.1],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 12. Outcome\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":548.2,\"y\":100,\"w\":343.6,\"h\":712,\"r\":0,\"s\":\"zGaqStart\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":366.5,\"w\":600,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":88.4,\"y\":282,\"w\":213.3,\"h\":442,\"r\":0,\"s\":\"zGaqStart\",\"c\":[88.4,282,213.3,442,12],\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 13. What we learnt\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":548.2,\"y\":100,\"w\":343.6,\"h\":712,\"r\":0,\"s\":\"zGaqStart\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":366.5,\"w\":600,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":88.4,\"y\":282,\"w\":213.3,\"h\":442,\"r\":0,\"s\":\"zGaqStart\",\"c\":[88.4,282,213.3,442,12],\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}}],app:[// 1. Scene: who Zego is\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":520,\"y\":115,\"w\":678.7,\"h\":682,\"r\":0,\"s\":\"zBcHomeBoard\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":24,\"y\":356,\"w\":400,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":310.1,\"w\":358,\"h\":359.7,\"r\":0,\"s\":\"zBcHomeBoard\",\"c\":[16,310.1,358,359.7,0]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 2. Scene: the starting point\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":450,\"y\":182.1,\"w\":924,\"h\":547.8,\"r\":26.4,\"s\":\"zAppsDiagram\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":24,\"y\":356,\"w\":380,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":383.9,\"w\":358,\"h\":212.2,\"r\":10.2,\"s\":\"zAppsDiagram\",\"c\":[16,383.9,358,212.2,12]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 3. Scene: the problem\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":470,\"y\":168,\"w\":921.6,\"h\":576,\"r\":0,\"s\":\"zFleetPortalBoard\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":24,\"y\":322,\"w\":400,\"h\":268,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":404.1,\"w\":358,\"h\":223.8,\"r\":0,\"s\":\"zFleetPortalBoard\",\"c\":[16,404.1,358,223.8,0]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 4. Listening\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":450,\"y\":192,\"w\":924,\"h\":528,\"r\":26.4,\"s\":\"zDiscovery\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":24,\"y\":339,\"w\":380,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":400.7,\"w\":358,\"h\":204.6,\"r\":10.2,\"s\":\"zDiscovery\",\"c\":[16,400.7,358,204.6,12]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 5. Building on research\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":450,\"y\":192,\"w\":908.8,\"h\":528,\"r\":0,\"s\":\"zPersonas3\",\"sh\":\"shape-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":24,\"y\":356,\"w\":380,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":386,\"w\":358,\"h\":208,\"r\":0,\"s\":\"zPersonas3\",\"c\":[16,386,358,208,12],\"sh\":\"shape-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 6. Workshops\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":460,\"y\":246.6,\"w\":933.9,\"h\":418.8,\"r\":0,\"s\":\"zWorkshopBoard\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":24,\"y\":339,\"w\":400,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":422.7,\"w\":358,\"h\":160.6,\"r\":0,\"s\":\"zWorkshopBoard\",\"c\":[16,422.7,358,160.6,0]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 7. How might we\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":80,\"y\":128,\"w\":1280,\"h\":656,\"r\":22.4,\"s\":\"zHmwBoard\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":1040,\"y\":516.5,\"w\":300,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":7.1,\"y\":120.1,\"w\":1459.6,\"h\":748.1,\"r\":25.5,\"s\":\"zHmwBoard\",\"c\":[16.2,204,357.6,520,16]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":84,\"side\":\"Left\"}}},// 8. The insight\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":450,\"y\":174.4,\"w\":921.6,\"h\":563.2,\"r\":25.6,\"s\":\"zPaths\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":24,\"y\":356,\"w\":380,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":380.6,\"w\":358,\"h\":218.8,\"r\":9.9,\"s\":\"zPaths\",\"c\":[16,380.6,358,218.8,12]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 9. The north star\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":448.7,\"y\":100,\"w\":542.7,\"h\":712,\"r\":0,\"s\":\"zHeroPhones\",\"sh\":\"shape-md\"}],\"focus\":[678.7,105.6,320.7,628],\"notes\":[],\"nar\":{\"x\":24,\"y\":356,\"w\":380,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-41,\"y\":245.6,\"w\":415,\"h\":544.4,\"r\":0,\"s\":\"zHeroPhones\",\"c\":[16,256,358,468,12],\"sh\":\"shape-md\"}],\"focus\":[135,250,245,480],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 10. Clever in the background\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":581.6,\"y\":100,\"w\":276.8,\"h\":712,\"r\":0,\"s\":\"zDashboard\"}],\"focus\":[579.7,165.8,280.5,228.2],\"notes\":[],\"nar\":{\"x\":131.7,\"y\":162.9,\"w\":400,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":282,\"w\":358,\"h\":920.9,\"r\":0,\"s\":\"zDashboard\",\"c\":[16,282,358,442,12]}],\"focus\":[18,371.5,354.1,286.5],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 11. Claims in the app\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":548.2,\"y\":100,\"w\":343.6,\"h\":712,\"r\":0,\"s\":\"zClaimsIll\"}],\"focus\":[555.5,439.4,329.1,77.1],\"notes\":[],\"nar\":{\"x\":107.5,\"y\":394.5,\"w\":400,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":230,\"w\":358,\"h\":741.9,\"r\":0,\"s\":\"zClaimsIll\",\"c\":[16,230,358,494,12]}],\"focus\":[25.9,586,338.2,75.6],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},// 12. Outcome\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":448.7,\"y\":100,\"w\":542.7,\"h\":712,\"r\":0,\"s\":\"zHeroPhones\",\"op\":.28,\"sh\":\"shape-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":350,\"w\":600,\"h\":200,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":36.5,\"y\":308,\"w\":317.1,\"h\":416,\"r\":0,\"s\":\"zHeroPhones\",\"c\":[36.5,308,317.1,416,12],\"op\":.28,\"sh\":\"shape-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 13. What we learnt\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":448.7,\"y\":100,\"w\":542.7,\"h\":712,\"r\":0,\"s\":\"zHeroPhones\",\"op\":.28,\"sh\":\"shape-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":366.5,\"w\":600,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":36.5,\"y\":308,\"w\":317.1,\"h\":416,\"r\":0,\"s\":\"zHeroPhones\",\"c\":[36.5,308,317.1,416,12],\"op\":.28,\"sh\":\"shape-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}}],system:[// 1. Scene: the system\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":0,\"y\":88,\"w\":1440,\"h\":736,\"r\":0,\"s\":\"z3Masonry\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":367,\"w\":600,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":0,\"y\":88,\"w\":390,\"h\":636,\"r\":0,\"s\":\"z3MasonryP\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":325,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 2. Scene: the starting point\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":456,\"y\":177.1,\"w\":944,\"h\":557.8,\"r\":27.5,\"s\":\"z3Audit\",\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":40,\"y\":339,\"w\":380,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":397.2,\"w\":358,\"h\":211.5,\"r\":10.4,\"s\":\"z3Audit\",\"c\":[16,397.2,358,211.5,16],\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 3. Scene: the problem\n{l:{\"clip\":[41,80,1440,736],\"els\":[{\"x\":607,\"y\":184,\"w\":542,\"h\":617,\"r\":0,\"s\":\"zHeroPhones\",\"sh\":\"shape-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":191,\"y\":339,\"w\":380,\"h\":335,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":22,\"y\":332,\"w\":336.9,\"h\":442,\"r\":0,\"s\":\"zHeroPhones\",\"c\":[22,332,336.9,442,12],\"sh\":\"shape-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 4. Grouped by function\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":456,\"y\":179.5,\"w\":944,\"h\":552.9,\"r\":27,\"s\":\"z3Categories\",\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":40,\"y\":322,\"w\":380,\"h\":268,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":288,\"w\":358,\"h\":430,\"r\":24,\"s\":\"z3CategoriesP\",\"c\":[16,288,358,430,16],\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 5. Masters\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":456,\"y\":179.5,\"w\":944,\"h\":552.9,\"r\":27,\"s\":\"z3Masters\",\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":40,\"y\":339,\"w\":380,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":270,\"w\":358,\"h\":440,\"r\":24,\"s\":\"z3MastersP\",\"c\":[16,270,358,440,16],\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},// 6. If we built it today\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":456,\"y\":179.5,\"w\":944,\"h\":552.9,\"r\":27,\"s\":\"z3Rebuild\",\"sh\":\"box-md\"}],\"focus\":[485.8,483.1,525.8,165.7],\"notes\":[],\"nar\":{\"x\":40,\"y\":305.5,\"w\":380,\"h\":301,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":17.7,\"y\":308,\"w\":354.6,\"h\":416,\"r\":23.8,\"s\":\"z3RebuildP\",\"c\":[17.7,308,354.6,416,16],\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 7. Paying with confidence\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":456,\"y\":189.7,\"w\":944,\"h\":530.7,\"r\":27,\"s\":\"z3Paying\",\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":40,\"y\":322,\"w\":380,\"h\":268,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-743.1,\"y\":284,\"w\":1160.2,\"h\":652.2,\"r\":33.1,\"s\":\"z3Paying\",\"c\":[16,327.1,358,377.9,16],\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 8. Zego's own\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":456,\"y\":179.5,\"w\":944,\"h\":552.9,\"r\":27,\"s\":\"z3Own\",\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":40,\"y\":305.5,\"w\":380,\"h\":301,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":22.6,\"y\":308,\"w\":344.7,\"h\":416,\"r\":23.1,\"s\":\"z3OwnP\",\"c\":[22.6,308,344.7,416,16],\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":188,\"side\":\"Left\"}}},// 9. Help in the app\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":456,\"y\":179.5,\"w\":944,\"h\":552.9,\"r\":27,\"s\":\"z3Help\",\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":40,\"y\":339,\"w\":380,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":29.6,\"y\":249.9,\"w\":864.2,\"h\":506.2,\"r\":24.7,\"s\":\"z3Help\",\"c\":[61.7,282,266.7,442,16],\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 10. Every platform\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":456,\"y\":179.5,\"w\":944,\"h\":552.9,\"r\":27,\"s\":\"z3Platforms\",\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":40,\"y\":339,\"w\":380,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":-510,\"y\":249.9,\"w\":864.2,\"h\":506.2,\"r\":24.7,\"s\":\"z3Platforms\",\"c\":[67.8,282,254.3,442,16],\"sh\":\"box-md\"}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 11. Outcome\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":0,\"y\":88,\"w\":1440,\"h\":736,\"r\":0,\"s\":\"z3Masonry\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":367,\"w\":600,\"h\":167,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":0,\"y\":88,\"w\":390,\"h\":636,\"r\":0,\"s\":\"z3MasonryP\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":325,\"w\":358,\"h\":162,\"side\":\"Left\"}}},// 12. What we learnt\n{l:{\"clip\":[0,88,1440,736],\"els\":[{\"x\":0,\"y\":88,\"w\":1440,\"h\":736,\"r\":0,\"s\":\"z3Masonry\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":333,\"w\":600,\"h\":234,\"side\":\"Left\"}},p:{\"clip\":[0,88,390,636],\"els\":[{\"x\":0,\"y\":88,\"w\":390,\"h\":636,\"r\":0,\"s\":\"z3MasonryP\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":286,\"w\":358,\"h\":240,\"side\":\"Left\"}}}]}};\nexport const __FramerMetadata__ = {\"exports\":{\"BoardEl\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BOARD_SCREENS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BoardScreen\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BOARDS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BoardView\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CaseStudyBoards.map","// ============================================================================================\n// CASE STUDY PLAYERS: whole projects kept as Player JSON ({ project, boards, screens }), keyed by project.\n// They play on /work/<project>-<slug> like any case study, over anything CaseStudyContent says for that key.\n// Edit them in the player: run node ~/temp/portfolio-research/framer-ms/first-impressions/editor/fi-edit.mjs, open a\n// branch preview with ?edit, and Save writes back here. Between the markers is plain JSON that helper reads and writes.\n// ============================================================================================\nexport const PLAYERS=/* PLAYERS-JSON */{\"prolific\":{\"project\":{\"name\":\"Prolific\",\"title\":\"The projects behind “the single best ROI our team made all year”\",\"logo\":\"https://framerusercontent.com/images/qbelilPnm3fwYMpEcRGkwzO27BU.svg\",\"logoHeight\":24,\"logoRatio\":4.278,\"colour\":\"#6f86ff\",\"textColour\":\"var(--token-25d897a2-f011-4b5a-b3a5-62fa9a82fe3f, #788cff)\",\"stories\":[{\"id\":\"signup\",\"slug\":\"sign-up-and-getting-started\",\"name\":\"Sign-up and getting started\",\"label\":\"Sign-up and getting started\",\"outcome\":\"+20% activations\",\"poster\":8,\"board\":true,\"steps\":[{\"title\":\"Overview\",\"say\":\"At Prolific, I redesigned how new data collectors sign up to reduce the time to launch their first study. {{20%}} more of them activated, and answers about who they are went from {{50%}} to {{70%}}.\",\"caption\":\"At Prolific, I redesigned how new data collectors sign up to reduce the time to launch their first study. 20% more of them activated, and answers about who they are went from 50% to 70%.\",\"notes\":[]},{\"title\":\"The brief\",\"say\":\"When I joined the growth team, my brief was to get new data collectors to their first study faster.\",\"caption\":\"When I joined the growth team, my brief was to get new data collectors to their first study faster.\",\"notes\":[],\"face\":\"thinking\"},{\"title\":\"Answers lost partway\",\"say\":\"Sign-up was two screens, and the verification email arrived after the first. About {{!50%}} clicked it and skipped the questions about who they were.\",\"caption\":\"Sign-up was two screens, and the verification email arrived after the first. About 50% clicked it and skipped the questions about who they were.\",\"notes\":[],\"face\":\"wince\"},{\"title\":\"A blocking popup\",\"say\":\"Then a popup locked the whole app until they'd verified their email.\",\"caption\":\"Then a popup locked the whole app until they'd verified their email.\",\"notes\":[],\"face\":\"wince\"},{\"title\":\"Who signs up\",\"say\":\"Data collectors run research and participants take part in it. Some participants picked Run research by mistake and couldn't undo it, and some did it on purpose to skip the waitlist.\",\"caption\":\"Data collectors run research and participants take part in it. Some participants picked Run research by mistake and couldn't undo it, and some did it on purpose to skip the waitlist.\",\"notes\":[]},{\"title\":\"My part\",\"say\":\"I was the only designer, working with several PMs and engineers, both full stack and front end. I designed the flows, the sign-up concepts, the checklist and the error states.\",\"caption\":\"I was the only designer, working with several PMs and engineers, both full stack and front end. I designed the flows, the sign-up concepts, the checklist and the error states.\",\"notes\":[]},{\"title\":\"Marketing were nervous\",\"say\":\"Marketing, sales and product needed those answers, so marketing were nervous about changing sign-up. But the old flow was already losing half of them.\",\"caption\":\"Marketing, sales and product needed those answers, so marketing were nervous about changing sign-up. But the old flow was already losing half of them.\",\"notes\":[],\"face\":\"nervous\"},{\"title\":\"What I did\",\"say\":\"I put every idea on one board, with the psychology behind it. We'd ask one question per page, easy ones first so people keep going, and the rest once they're in.\",\"caption\":\"I put every idea on one board, with the psychology behind it. We'd ask one question per page, easy ones first so people keep going, and the rest once they're in.\",\"notes\":[],\"face\":\"thinking\"},{\"title\":\"What I didn't do\",\"say\":\"A flow per persona meant far more paths to build and test, so one first question does the sorting. Popups over a blurred app still lock people out, and every question stayed because the business needed the answers.\",\"caption\":\"A flow per persona meant far more paths to build and test, so one first question does the sorting. Popups over a blurred app still lock people out, and every question stayed because the business needed the answers.\",\"notes\":[]},{\"title\":\"Not in the first release\",\"say\":\"Magic links were too much engineering for the first release. Auto-filling from your work email felt creepy to pilot users and only matched about 40% of the time, so we tested it later as its own A/B experiment. That's this screen.\",\"caption\":\"Magic links were too much engineering for the first release. Auto-filling from your work email felt creepy to pilot users and only matched about 40% of the time, so we tested it later as its own A/B experiment. That's this screen.\",\"notes\":[]},{\"title\":\"Take studies or run research\",\"say\":\"So the new sign-up starts with one question. Are you here to take studies or run research?\",\"caption\":\"So the new sign-up starts with one question. Are you here to take studies or run research?\",\"notes\":[{\"text\":\"Run Research swaps in the researcher pitch\",\"on\":\"board\"}]},{\"title\":\"One question per page\",\"say\":\"Then it asks the same questions, one per page. It's more clicks, but each page asks for one thing.\",\"caption\":\"Then it asks the same questions, one per page. It's more clicks, but each page asks for one thing.\",\"notes\":[]},{\"title\":\"No email until you're in\",\"say\":\"The verification email now waits until people are logged in, so it can't pull them out halfway.\",\"caption\":\"The verification email now waits until people are logged in, so it can't pull them out halfway.\",\"notes\":[]},{\"title\":\"Getting started, did\",\"say\":\"Anything not needed to get in moves to a Getting started checklist. It shows progress as a percentage, and unfinished steps stay visible so people come back.\",\"caption\":\"Anything not needed to get in moves to a Getting started checklist. It shows progress as a percentage, and unfinished steps stay visible so people come back.\",\"notes\":[],\"face\":\"thinking\"},{\"title\":\"Too pushy?\",\"say\":\"I worried a forced checklist would put people off, so it nudges rather than blocks.\",\"caption\":\"I worried a forced checklist would put people off, so it nudges rather than blocks.\",\"notes\":[],\"face\":\"nervous\"},{\"title\":\"Not a page for every stage\",\"say\":\"A Getting started page that changed with each stage of the journey was messy to build, and our data couldn't make the business case. We saved it for later, once the first changes were proven.\",\"caption\":\"A Getting started page that changed with each stage of the journey was messy to build, and our data couldn't make the business case. We saved it for later, once the first changes were proven.\",\"notes\":[]},{\"title\":\"Verify first\",\"say\":\"The checklist starts with verifying your email. Until then you can explore everything, you just can't publish a study.\",\"caption\":\"The checklist starts with verifying your email. Until then you can explore everything, you just can't publish a study.\",\"notes\":[{\"text\":\"The verify reminder\",\"on\":\"board\"}]},{\"title\":\"The questions, after sign-up\",\"say\":\"Then it asks the questions that used to end sign-up, one at a time.\",\"caption\":\"Then it asks the questions that used to end sign-up, one at a time.\",\"notes\":[{\"text\":\"The questions that used to end sign-up\",\"on\":\"board\"}]},{\"title\":\"Office address\",\"say\":\"The office address comes last, because you only need it to pay for studies.\",\"caption\":\"The office address comes last, because you only need it to pay for studies.\",\"notes\":[]},{\"title\":\"First study\",\"say\":\"The quickest first study is the pre-built survey on the explore cards. That's the Welcome Study, which I joined late to finish off, so it isn't mine end to end.\",\"caption\":\"The quickest first study is the pre-built survey on the explore cards. That's the Welcome Study, which I joined late to finish off, so it isn't mine end to end.\",\"notes\":[]},{\"title\":\"Done\",\"say\":\"At 100%, it throws confetti and gets out of the way.\",\"caption\":\"At 100%, it throws confetti and gets out of the way.\",\"notes\":[],\"face\":\"pleased\"},{\"title\":\"What comes next\",\"say\":\"Then the explore cards point to what to do next.\",\"caption\":\"Then the explore cards point to what to do next.\",\"notes\":[]},{\"title\":\"Wrong email, wrong details\",\"say\":\"Sign-up already turned away personal addresses like Gmail to stop abuse, so that rule isn't mine. In the later auto-fill test, a note says you can edit anything it got wrong.\",\"caption\":\"Sign-up already turned away personal addresses like Gmail to stop abuse, so that rule isn't mine. In the later auto-fill test, a note says you can edit anything it got wrong.\",\"notes\":[]},{\"title\":\"If the email doesn't arrive\",\"say\":\"The checklist shows which address we used and suggests checking junk. You can resend the email or fix the address from there.\",\"caption\":\"The checklist shows which address we used and suggests checking junk. You can resend the email or fix the address from there.\",\"notes\":[]},{\"title\":\"Sign-up as shipped\",\"say\":\"It shipped in steps, with brand refreshes we A/B tested, and today it's almost the same as the design. This year Prolific reused the patterns for participant sign-up.\",\"caption\":\"It shipped in steps, with brand refreshes we A/B tested, and today it's almost the same as the design. This year Prolific reused the patterns for participant sign-up.\",\"notes\":[],\"face\":\"pleased\"},{\"title\":\"Getting started as shipped\",\"say\":\"This is Getting started, live in May 2025. The blocking popup is gone.\",\"caption\":\"This is Getting started, live in May 2025. The blocking popup is gone.\",\"notes\":[]},{\"title\":\"What changed\",\"say\":\"Each change shipped on its own, and the data analyst on our team measured the results. Together, the changes to onboarding got {{20%}} more data collectors to activate. Moving the verification email took answers from {{50%}} to {{70%}}.\",\"caption\":\"Each change shipped on its own, and the data analyst on our team measured the results. Together, the changes to onboarding got 20% more data collectors to activate. Moving the verification email took answers from 50% to 70%.\",\"notes\":[],\"face\":\"pleased\"},{\"title\":\"What came next\",\"say\":\"The next step was a new Home that changed once Getting started was done. It was dropped, and this is an early concept wireframe.\",\"caption\":\"The next step was a new Home that changed once Getting started was done. It was dropped, and this is an early concept wireframe.\",\"notes\":[],\"face\":\"thinking\"},{\"title\":\"Home in light and dark\",\"say\":\"This is where the concept went, in light and dark. Home lists what needs doing next, each with a count and one button.\",\"caption\":\"This is where the concept went, in light and dark. Home lists what needs doing next, each with a count and one button.\",\"notes\":[],\"face\":\"pleased\"}],\"end\":\"More pages can feel easier when each one only asks for one thing. And letting people in before asking the rest got us more answers.\"},{\"id\":\"finder\",\"slug\":\"participant-finder\",\"name\":\"Participant Finder\",\"label\":\"Finding participants before a study\",\"outcome\":\"Answered before setup\",\"poster\":4,\"board\":true,\"steps\":[{\"face\":\"thinking\",\"title\":\"The question\",\"say\":\"**“Do they have the participants I need?”** is a top-three question for new researchers. I designed Prolific's Participant Finder to answer it. Before that, only study setup could.\",\"caption\":\"“Do they have the participants I need?” is a top-three question for new researchers. I designed Prolific's Participant Finder to answer it. Before that, only study setup could.\",\"notes\":[]},{\"title\":\"Buried\",\"say\":\"And the answer sat near the bottom, so you had to fill in a whole study before you could check.\",\"caption\":\"And the answer sat near the bottom, so you had to fill in a whole study before you could check.\",\"notes\":[]},{\"title\":\"Its own page\",\"say\":\"So we gave it a page of its own, with a card on the dashboard, one of the first things a new user could click.\",\"caption\":\"So we gave it a page of its own, with a card on the dashboard, one of the first things a new user could click.\",\"notes\":[]},{\"title\":\"Check first\",\"say\":\"Now you could check before you started, with a live count of who matches as you go.\",\"caption\":\"Now you could check before you started, with a live count of who matches as you go.\",\"notes\":[]},{\"title\":\"Popular first\",\"say\":\"The most-used screeners came first, with the ones you’d picked listed underneath.\",\"caption\":\"The most-used screeners came first, with the ones you’d picked listed underneath.\",\"notes\":[]},{\"title\":\"Describe who you need\",\"say\":\"Then describing who you need became the first thing on the page.\",\"caption\":\"Then describing who you need became the first thing on the page.\",\"notes\":[]},{\"title\":\"The wait\",\"say\":\"It can take about 15 seconds, so the wait needed designing too.\",\"caption\":\"It can take about 15 seconds, so the wait needed designing too.\",\"notes\":[]},{\"title\":\"The answer\",\"say\":\"Then it applies the screeners, and shows how many people match and what to pay, ready to create a study.\",\"caption\":\"Then it applies the screeners, and shows how many people match and what to pay, ready to create a study.\",\"notes\":[]},{\"face\":\"pleased\",\"mark\":\"none\",\"title\":\"Payoff\",\"say\":\"New researchers could answer **“Do they have the participants I need?”** before they set up a study.\",\"caption\":\"New researchers could answer “Do they have the participants I need?” before they set up a study.\",\"notes\":[],\"alt\":\"The participant finder, with a description of who you need and a count of matching participants, faded behind the summary\"}],\"end\":\"I gave myself one rule. It had to work on its own, and drop into study setup later without a redesign. That rule shaped every layout and component.\"},{\"id\":\"secure\",\"slug\":\"secure-studies\",\"name\":\"Scoping down secure studies\",\"label\":\"Scoping down secure studies\",\"outcome\":\"Shipped in 3 weeks\",\"poster\":6,\"board\":true,\"steps\":[{\"title\":\"Overview\",\"say\":\"**Google** and **OpenAI** needed to lock down their Prolific studies. I turned that into one toggle that shipped in {{3 weeks}} instead of months.\",\"caption\":\"Google and OpenAI needed to lock down their Prolific studies. I turned that into one toggle that shipped in 3 weeks instead of months.\",\"notes\":[]},{\"title\":\"Plain URL parameters\",\"say\":\"Prolific passed participant IDs to the researcher's study tool as plain URL parameters.\",\"caption\":\"Prolific passed participant IDs to the researcher's study tool as plain URL parameters.\",\"notes\":[]},{\"title\":\"Who it touched\",\"say\":\"It affected researchers who set up studies, admins who run their organisation's workspace, and participants. The original plan had new screens for all three.\",\"caption\":\"It affected researchers who set up studies, admins who run their organisation's workspace, and participants. The original plan had new screens for all three.\",\"notes\":[]},{\"title\":\"The plan\",\"say\":\"Engineers estimated months for the new pages and flows. The customers needed it fast, with few changes to the integration API.\",\"caption\":\"Engineers estimated months for the new pages and flows. The customers needed it fast, with few changes to the integration API.\",\"notes\":[],\"face\":\"surprised\"},{\"title\":\"My part\",\"say\":\"The integrations team didn't have a designer, so I joined them, working with their PM and engineers. I changed the project's course by reshaping the solution and scoping it down.\",\"caption\":\"The integrations team didn't have a designer, so I joined them, working with their PM and engineers. I changed the project's course by reshaping the solution and scoping it down.\",\"notes\":[]},{\"title\":\"Test first, then invest\",\"say\":\"I reframed it as test first, then invest. We'd use what we already had and only build more once people used it. There was pushback, but it won the team round.\",\"caption\":\"I reframed it as test first, then invest. We'd use what we already had and only build more once people used it. There was pushback, but it won the team round.\",\"notes\":[],\"face\":\"thinking\"},{\"title\":\"My first idea\",\"say\":\"My first idea added signed URLs as a fourth option and locked the other three.\",\"caption\":\"My first idea added signed URLs as a fourth option and locked the other three.\",\"notes\":[]},{\"title\":\"Explaining why\",\"say\":\"Version 1.2 tells researchers why the other options are locked, and links to how signed URLs work.\",\"caption\":\"Version 1.2 tells researchers why the other options are locked, and links to how signed URLs work.\",\"notes\":[]},{\"title\":\"The pivot\",\"say\":\"Version 1.3 turned it into one toggle inside the URL parameters setting researchers already used, so there was no new method to learn.\",\"caption\":\"Version 1.3 turned it into one toggle inside the URL parameters setting researchers already used, so there was no new method to learn.\",\"notes\":[]},{\"title\":\"Enforced\",\"say\":\"Version 1.4 lets organisations enforce it, so the toggle stays on and says why.\",\"caption\":\"Version 1.4 lets organisations enforce it, so the toggle stays on and says why.\",\"notes\":[]},{\"title\":\"What we didn't build\",\"say\":\"We didn't build any new pages, flows or custom controls. The first designs needed new components like these, and we dropped them.\",\"caption\":\"We didn't build any new pages, flows or custom controls. The first designs needed new components like these, and we dropped them.\",\"notes\":[]},{\"title\":\"Token on Start study\",\"say\":\"My idea was to never show participants the URL. Prolific only creates the token when they click Start study, and the study tool checks it before letting them in.\",\"caption\":\"My idea was to never show participants the URL. Prolific only creates the token when they click Start study, and the study tool checks it before letting them in.\",\"notes\":[]},{\"title\":\"Three states\",\"say\":\"Without access, there's no toggle. With access, you can switch it on, and an organisation can enforce it, with a note that says why.\",\"caption\":\"Without access, there's no toggle. With access, you can switch it on, and an organisation can enforce it, with a note that says why.\",\"notes\":[]},{\"title\":\"A docs gap\",\"say\":\"The help centre had nothing explaining URL parameters, so every state links to the integration guide.\",\"caption\":\"The help centre had nothing explaining URL parameters, so every state links to the integration guide.\",\"notes\":[],\"face\":\"wince\"},{\"title\":\"If the check fails\",\"say\":\"We didn't design a screen for a failed check. These customers had a direct line to the integrations team, whose PM was in effect their account manager, so problems went straight to them.\",\"caption\":\"We didn't design a screen for a failed check. These customers had a direct line to the integrations team, whose PM was in effect their account manager, so problems went straight to them.\",\"notes\":[]},{\"title\":\"What changed\",\"say\":\"We shipped it in {{3 weeks}} instead of months. At first only one of the customers who asked for it used it, now and then, and uptake has grown since.\",\"caption\":\"We shipped it in 3 weeks instead of months. At first only one of the customers who asked for it used it, now and then, and uptake has grown since.\",\"notes\":[],\"face\":\"pleased\"}],\"end\":\"Sometimes the best design work is knowing what not to build. A small first slice showed real demand before anyone committed months.\"}]},\"boards\":{\"signup\":[{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":124.5,\"w\":1265.8,\"h\":663,\"r\":16,\"s\":\"wtProd\"}],\"focus\":[87.1,124.5,1265.8,663],\"notes\":[],\"nar\":{\"x\":474.7,\"y\":255.4,\"w\":465.9,\"h\":268.7,\"side\":\"Left\",\"align\":\"end\"},\"shades\":[{\"b\":[87.1,124.5,1265.8,663],\"r\":16,\"fill\":\"#000000\",\"op\":.6}]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-155,\"y\":300,\"w\":760,\"h\":398.1,\"r\":12,\"s\":\"wtProd\"}],\"focus\":[-155,300,760,398.1],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":245,\"side\":\"Bottom\",\"align\":\"center\"},\"shades\":[{\"b\":[-155,300,760,398.1],\"r\":12,\"fill\":\"#000000\",\"op\":.6}]}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":100,\"w\":1265.8,\"h\":712,\"r\":24,\"s\":\"pfForm\",\"sh\":\"box-lg\"}],\"focus\":[481.5,156.2,463.2,655.8],\"notes\":[],\"nar\":{\"x\":909.9,\"y\":107.3,\"w\":400,\"h\":199,\"side\":\"Left\"}},\"p\":{\"clip\":[0,294,390,430],\"els\":[{\"x\":-182.5,\"y\":332,\"w\":759.3,\"h\":426,\"r\":24,\"s\":\"pfForm\",\"sh\":\"box-md\"}],\"focus\":[58,365.4,273.9,394.7],\"notes\":[],\"nar\":{\"x\":18,\"y\":148,\"w\":358,\"h\":164,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":100,\"w\":1265.8,\"h\":712,\"r\":24,\"s\":\"pfOldForm2\"},{\"x\":783.3,\"y\":128.5,\"w\":531.6,\"h\":91.4,\"r\":33.1,\"s\":\"iosEmailNotification\"}],\"focus\":[765.9,111.1,566.3,126.1],\"notes\":[],\"nar\":{\"x\":929.2,\"y\":228.4,\"w\":400,\"h\":232,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-432.9,\"y\":311,\"w\":826.1,\"h\":464.7,\"r\":24,\"s\":\"pfOldForm2\"},{\"x\":21.5,\"y\":329.6,\"w\":347,\"h\":59.6,\"r\":21.6,\"s\":\"iosEmailNotification\"}],\"focus\":[8,316.1,374,86.7],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":191,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":100,\"w\":1265.8,\"h\":712,\"r\":16,\"s\":\"wtOldModal\"}],\"focus\":[411.2,369.8,617.7,170.2],\"notes\":[],\"nar\":{\"x\":556.4,\"y\":168.9,\"w\":400,\"h\":166,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-171.8,\"y\":278.2,\"w\":733.6,\"h\":412.7,\"r\":12,\"s\":\"wtOldModal\"}],\"focus\":[16,434.6,358,98.6],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":137,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":72.3,\"y\":100,\"w\":1265.8,\"h\":712,\"r\":16,\"s\":\"wtOldRegister\"}],\"focus\":[441.9,416.1,526.6,145.2],\"notes\":[],\"nar\":{\"x\":985.5,\"y\":169.4,\"w\":400,\"h\":298,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-235.3,\"y\":287.7,\"w\":860.6,\"h\":484.1,\"r\":12,\"s\":\"wtOldRegister\"}],\"focus\":[16,502.6,358,98.8],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":272,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":100,\"w\":1265.8,\"h\":712,\"r\":16,\"s\":\"wtOldRegister\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":351,\"w\":600,\"h\":199,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-235.3,\"y\":287.7,\"w\":860.6,\"h\":484.1,\"r\":12,\"s\":\"wtOldRegister\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":284,\"w\":358,\"h\":245,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":100,\"w\":1265.8,\"h\":712,\"r\":24,\"s\":\"pfOldForm2\"}],\"focus\":[509,166.1,421.9,503.5],\"notes\":[],\"nar\":{\"x\":937,\"y\":172.8,\"w\":400,\"h\":268,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-211,\"y\":338,\"w\":700,\"h\":393.8,\"r\":24,\"s\":\"pfOldForm2\"}],\"focus\":[78,383,240,270],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":218,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":100,\"w\":1265.8,\"h\":487.4,\"r\":16,\"s\":\"wtDid\"}],\"focus\":[87.1,100,1265.8,487.4],\"notes\":[],\"nar\":{\"x\":520,\"y\":547,\"w\":400,\"h\":265,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":359.5,\"w\":358,\"h\":358,\"r\":12,\"s\":\"wtDidP\"}],\"focus\":[16,359.5,358,358],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":245,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":100,\"w\":1265.8,\"h\":407.1,\"r\":16,\"s\":\"wtDidnt\"}],\"focus\":[87.1,100,1265.8,407.1],\"notes\":[],\"nar\":{\"x\":441.5,\"y\":309.8,\"w\":522,\"h\":326.3,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":386.5,\"w\":358,\"h\":358,\"r\":12,\"s\":\"wtDidntP\"}],\"focus\":[16,386.5,358,358],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":299,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":100,\"w\":1265.8,\"h\":712,\"r\":24,\"s\":\"regCheck\"}],\"focus\":[157.4,254.7,450.1,421.9],\"notes\":[],\"nar\":{\"x\":606,\"y\":-51.9,\"w\":455.4,\"h\":364.6,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":48.2,\"y\":499,\"w\":638.2,\"h\":359,\"r\":24,\"s\":\"regCheck\"}],\"focus\":[84.1,580.1,221.8,204.8],\"notes\":[],\"nar\":{\"x\":16,\"y\":153,\"w\":358,\"h\":326,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":100,\"w\":1265.8,\"h\":712,\"r\":24,\"s\":\"regResearch\"}],\"focus\":[87.1,100,1265.8,712],\"notes\":[[382.5,468.5]],\"nar\":{\"x\":608.3,\"y\":52,\"w\":400,\"h\":167,\"side\":\"Left\"}},\"p\":{\"clip\":[0,204,390,520],\"els\":[{\"x\":19.9,\"y\":310,\"w\":748.4,\"h\":421,\"r\":24,\"s\":\"regResearch\"}],\"focus\":[61.8,401.4,266.4,249.7],\"notes\":[[68.8,528.1]],\"nar\":{\"x\":16,\"y\":153,\"w\":358,\"h\":137,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":100,\"w\":1265.8,\"h\":712,\"r\":24,\"s\":\"regEmail\"}],\"focus\":[157.4,254.7,450.1,421.9],\"notes\":[],\"nar\":{\"x\":556.5,\"y\":38.8,\"w\":400,\"h\":200,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":48.2,\"y\":337,\"w\":638.2,\"h\":359,\"r\":24,\"s\":\"regEmail\"}],\"focus\":[84.1,418.1,221.8,204.8],\"notes\":[],\"nar\":{\"x\":16,\"y\":153,\"w\":358,\"h\":164,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":100,\"w\":1265.8,\"h\":712,\"r\":24,\"s\":\"regPassword\"}],\"focus\":[157.5,254.5,450.6,422.2],\"notes\":[],\"nar\":{\"x\":539.4,\"y\":55.6,\"w\":400,\"h\":166,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-2.2,\"y\":284,\"w\":842.7,\"h\":474,\"r\":24,\"s\":\"regPassword\"}],\"focus\":[45,386.9,300,281.1],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":164,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":180.7,\"y\":100,\"w\":1078.6,\"h\":712,\"r\":16,\"s\":\"wtGsDid\"}],\"focus\":[180.7,100,1078.6,712],\"notes\":[],\"nar\":{\"x\":990.5,\"y\":459.1,\"w\":400,\"h\":265,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":359.5,\"w\":358,\"h\":358,\"r\":12,\"s\":\"wtGsDidP\"}],\"focus\":[16,359.5,358,358],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":245,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":220.5,\"y\":156,\"w\":999,\"h\":600,\"r\":16,\"s\":\"wtGsPushy\"}],\"focus\":[220.5,156,999,600],\"notes\":[],\"nar\":{\"x\":553.4,\"y\":65.6,\"w\":400,\"h\":166,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":45,\"y\":334.5,\"w\":300,\"h\":300,\"r\":12,\"s\":\"wtGsPushyP\"}],\"focus\":[45,334.5,300,300],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":137,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":252.9,\"y\":170.5,\"w\":560,\"h\":560,\"r\":16,\"s\":\"wtGsStage\"}],\"focus\":[252.9,170.5,560,560],\"notes\":[],\"nar\":{\"x\":759,\"y\":98.5,\"w\":482.8,\"h\":397.5,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":45,\"y\":442.5,\"w\":300,\"h\":300,\"r\":12,\"s\":\"wtGsStage\"}],\"focus\":[45,442.5,300,300],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":353,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":186,\"y\":100,\"w\":1068,\"h\":712,\"r\":24,\"s\":\"wtGs1\"}],\"focus\":[447.7,259.5,499.8,277],\"notes\":[[461.4,277.1]],\"nar\":{\"x\":1005.2,\"y\":287.5,\"w\":400,\"h\":199,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-143,\"y\":284,\"w\":705.6,\"h\":470.4,\"r\":24,\"s\":\"wtGs1\"}],\"focus\":[29.9,389.4,330.2,183],\"notes\":[null],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":164,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":186,\"y\":100,\"w\":1068,\"h\":712,\"r\":24,\"s\":\"pfGs3\"}],\"focus\":[410.8,163.2,576.2,646.4],\"notes\":[[465.6,343.1]],\"nar\":{\"x\":997.9,\"y\":224.4,\"w\":400,\"h\":200,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-128.1,\"y\":282,\"w\":666.6,\"h\":444.4,\"r\":24,\"s\":\"pfGs3\"}],\"focus\":[21.9,323.7,346.3,370.3],\"notes\":[[45.9,432.9]],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.9,\"y\":100,\"w\":1264.2,\"h\":712,\"r\":16,\"s\":\"wtGs5\"}],\"focus\":[398.9,441.8,619.5,370.2],\"notes\":[],\"nar\":{\"x\":1049.1,\"y\":369.4,\"w\":400,\"h\":133,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-163.7,\"y\":265.3,\"w\":730.6,\"h\":411.5,\"r\":12,\"s\":\"wtGs5\"}],\"focus\":[16,462.8,358,214],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":186,\"y\":100,\"w\":1068,\"h\":712,\"r\":16,\"s\":\"wtGs1\"}],\"focus\":[447.7,740.8,502,46.3],\"notes\":[],\"nar\":{\"x\":1008.6,\"y\":247.3,\"w\":400,\"h\":265,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-170.6,\"y\":204.2,\"w\":761.7,\"h\":507.8,\"r\":12,\"s\":\"wtGs1\"}],\"focus\":[16,661.2,358,33],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":245,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":110,\"y\":105.5,\"w\":1220.1,\"h\":822.6,\"r\":16,\"s\":\"pfGs6\",\"c\":[111.2,112,1217.5,688.1,16]}],\"focus\":[111.2,112,1217.5,688.1],\"notes\":[],\"nar\":{\"x\":1023,\"y\":278.9,\"w\":400,\"h\":133,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":350.3,\"w\":358,\"h\":241.4,\"r\":12,\"s\":\"pfGs6\",\"c\":[16.4,352.2,357.2,201.9,16]}],\"focus\":[16.4,352.2,357.2,201.9],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":291.4,\"y\":150.7,\"w\":857.3,\"h\":712,\"r\":16,\"s\":\"Card/exploreBuilt\"}],\"focus\":[291.4,150.7,857.3,712],\"notes\":[],\"nar\":{\"x\":752,\"y\":31.3,\"w\":400,\"h\":199,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":349.3,\"w\":358,\"h\":297.3,\"r\":12,\"s\":\"Card/exploreBuilt\"}],\"focus\":[16,349.3,358,297.3],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":164,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":100,\"w\":1265.8,\"h\":712,\"r\":24,\"s\":\"regEmail\"}],\"focus\":[157.4,254.7,450.1,421.9],\"notes\":[],\"nar\":{\"x\":566.8,\"y\":-79.7,\"w\":484.1,\"h\":340.3,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":48.2,\"y\":472,\"w\":638.2,\"h\":359,\"r\":24,\"s\":\"regEmail\"}],\"focus\":[84.1,553.1,221.8,204.8],\"notes\":[],\"nar\":{\"x\":16,\"y\":153,\"w\":358,\"h\":299,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":124.5,\"w\":1265.8,\"h\":663,\"r\":16,\"s\":\"wtProd\"}],\"focus\":[412.4,368.5,584.8,297.7],\"notes\":[],\"nar\":{\"x\":921.9,\"y\":151.2,\"w\":400,\"h\":232,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-155,\"y\":300,\"w\":760,\"h\":398.1,\"r\":12,\"s\":\"wtProd\"}],\"focus\":[40.3,446.5,351.1,178.7],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":191,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":100,\"w\":1265.8,\"h\":382,\"r\":16,\"s\":\"wtRegCompare\"}],\"focus\":[87.1,100,1265.8,382],\"notes\":[],\"nar\":{\"x\":506.8,\"y\":478.6,\"w\":400,\"h\":265,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":315.2,\"w\":358,\"h\":446.5,\"r\":12,\"s\":\"wtRegCompareP\"}],\"focus\":[16,315.2,358,446.5],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":245,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":124.5,\"w\":1265.8,\"h\":663,\"r\":16,\"s\":\"wtProd\"}],\"focus\":[377,263.1,655.7,523.8],\"notes\":[],\"nar\":{\"x\":984.9,\"y\":391.7,\"w\":400,\"h\":166,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-155,\"y\":300,\"w\":760,\"h\":398.1,\"r\":12,\"s\":\"wtProd\"}],\"focus\":[19,383.2,393.7,314.5],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":137,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":110,\"y\":105.5,\"w\":1220.1,\"h\":822.6,\"r\":16,\"s\":\"pfGs6\",\"op\":.28,\"c\":[111.2,112,1217.5,688.1,16]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":338,\"w\":600,\"h\":224,\"side\":\"Left\",\"align\":\"end\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":350.3,\"w\":358,\"h\":241.4,\"r\":12,\"s\":\"pfGs6\",\"op\":.28,\"c\":[16.4,352.2,357.2,201.9,16]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":284,\"w\":358,\"h\":245,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":65.8,\"y\":100,\"w\":1012.6,\"h\":712,\"r\":16,\"s\":\"wtHomeDone\"}],\"focus\":[65.8,100,1012.6,712],\"notes\":[],\"nar\":{\"x\":992.1,\"y\":266.7,\"w\":400,\"h\":199,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":328.7,\"w\":520,\"h\":365.6,\"r\":12,\"s\":\"wtHomeDone\"}],\"focus\":[16,328.7,520,365.6],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":191,\"side\":\"Left\"}}},{\"l\":{\"clip\":null,\"els\":[{\"x\":87.1,\"y\":120,\"w\":620.9,\"h\":386.5,\"r\":12,\"s\":\"wtFeedLight\"},{\"x\":732,\"y\":120,\"w\":620.9,\"h\":386.5,\"r\":12,\"s\":\"wtFeedDark\"}],\"focus\":[87.1,120,1265.8,386.5],\"notes\":[],\"nar\":{\"x\":520,\"y\":547,\"w\":400,\"h\":265,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":75,\"y\":359,\"w\":240,\"h\":149.4,\"r\":10,\"s\":\"wtFeedLight\"},{\"x\":75,\"y\":518.4,\"w\":240,\"h\":149.4,\"r\":10,\"s\":\"wtFeedDark\"}],\"focus\":[75,359,240,308.8],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":245,\"side\":\"Left\"}}}],\"finder\":[{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":375,\"y\":110,\"w\":1337.1,\"h\":2196.7,\"r\":0,\"s\":\"setupOld\"}],\"focus\":[485,202,900,514],\"notes\":[],\"nar\":{\"x\":40,\"y\":566,\"w\":400,\"h\":234,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-71.5,\"y\":208.8,\"w\":1063.8,\"h\":1747.6,\"r\":0,\"s\":\"setupOld\",\"c\":[16,282,358,430,12]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":162,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":485,\"y\":327,\"w\":900,\"h\":266.7,\"r\":11.4,\"s\":\"Card/prescreen\"}],\"focus\":[495,508,879,77],\"notes\":[],\"nar\":{\"x\":40,\"y\":633,\"w\":400,\"h\":167,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":256,\"w\":358,\"h\":314.4,\"r\":12.6,\"s\":\"Mobile/prescreen\",\"c\":[16,256,358,314.4,12]}],\"focus\":[30,473.2,330,83.2],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":550,\"y\":140,\"w\":770.6,\"h\":640,\"r\":22.1,\"s\":\"Card/exploreBuilt\"}],\"focus\":[1068,241,208,235],\"notes\":[],\"nar\":{\"x\":40,\"y\":600,\"w\":400,\"h\":200,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-199.4,\"y\":189.4,\"w\":603.6,\"h\":501.4,\"r\":17.3,\"s\":\"Card/exploreBuilt\",\"c\":[16,256,358,456,12]}],\"focus\":[212.6,274.8,150.4,171.6],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":262,\"y\":78,\"w\":1146.9,\"h\":1767.3,\"r\":0,\"s\":\"finderBuilt\"}],\"focus\":[1154,277,215,167],\"notes\":[],\"nar\":{\"x\":40,\"y\":633,\"w\":400,\"h\":167,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-1230.6,\"y\":-22.5,\"w\":1635.8,\"h\":2520.8,\"r\":0,\"s\":\"finderBuilt\",\"c\":[16,230,358,300.9,12]}],\"focus\":[45.1,264.8,299.8,231.4],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":564,\"y\":140,\"w\":742.3,\"h\":640,\"r\":10.9,\"s\":\"Card/builtPopular\"}],\"focus\":[582,217,706,251],\"notes\":[],\"nar\":{\"x\":40,\"y\":633,\"w\":400,\"h\":167,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":43.9,\"y\":230,\"w\":302.1,\"h\":482.7,\"r\":10.6,\"s\":\"Mobile/popular\",\"c\":[43.9,230,302.1,482,12]}],\"focus\":[55.9,273.7,278.1,186],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":485,\"y\":314,\"w\":900,\"h\":292,\"r\":13.2,\"s\":\"Card/tellUs\"}],\"focus\":[510,451,856,132],\"notes\":[],\"nar\":{\"x\":40,\"y\":667,\"w\":400,\"h\":133,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":230,\"w\":358,\"h\":318.4,\"r\":12.6,\"s\":\"Mobile/tellUs\",\"c\":[16,230,358,318.4,12]}],\"focus\":[30,410.5,330,65.2],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":485,\"y\":314,\"w\":902.2,\"h\":322.7,\"r\":13.2,\"s\":\"Card/thinking\"}],\"focus\":[838,394,196,162],\"notes\":[],\"nar\":{\"x\":40,\"y\":667,\"w\":400,\"h\":133,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":230,\"w\":358,\"h\":362.2,\"r\":12.6,\"s\":\"Mobile/thinking\",\"c\":[16,230,358,362.2,12]}],\"focus\":[128.9,353.4,132.7,115.5],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":485,\"y\":204,\"w\":900,\"h\":512,\"r\":17.8,\"s\":\"Card/answer\"}],\"focus\":[1136,228,224,358],\"notes\":[],\"nar\":{\"x\":40,\"y\":600,\"w\":400,\"h\":200,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":44.6,\"y\":256,\"w\":300.9,\"h\":452.8,\"r\":10.6,\"s\":\"Mobile/summary\",\"c\":[44.6,256,300.9,456,12]}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":136,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":40,\"y\":88,\"w\":1360,\"h\":773.6,\"r\":26.9,\"s\":\"Card/answer\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":384,\"w\":600,\"h\":133,\"side\":\"Left\"}},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":24,\"y\":300,\"w\":342,\"h\":523,\"r\":12,\"s\":\"Mobile/summary\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":372,\"w\":358,\"h\":136,\"side\":\"Left\"}}}],\"secure\":[{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":168,\"y\":94.6,\"w\":1104.1,\"h\":722.8,\"r\":13.7,\"s\":\"Card/recV14\"}],\"focus\":[274.7,467.7,847.7,149.8],\"notes\":[],\"nar\":{\"x\":506.1,\"y\":275.2,\"w\":424,\"h\":233.1,\"side\":\"Left\"},\"rings\":[],\"shades\":[{\"b\":[168,94.6,1104.1,722.8],\"r\":13.7,\"fill\":\"#000000\",\"op\":.6}]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":338,\"w\":358,\"h\":535.2,\"r\":12.6,\"s\":\"Mobile/rec14\",\"c\":[16,338,358,482,12]}],\"focus\":[59.3,662.7,300.7,119.1],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":218,\"side\":\"Left\"},\"shades\":[{\"b\":[16,338,358,482],\"r\":12,\"fill\":\"#000000\",\"op\":.6}]}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":246.8,\"y\":193.7,\"w\":900,\"h\":532.1,\"r\":16,\"s\":\"wtF774\"}],\"focus\":[300.8,257.6,810,425.7],\"notes\":[],\"nar\":{\"x\":739.8,\"y\":152.5,\"w\":400,\"h\":133,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-7.9,\"y\":366.9,\"w\":397.8,\"h\":235.2,\"r\":12,\"s\":\"wtF774\"}],\"focus\":[16,395.1,358,188.1],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":137,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":138.8,\"y\":92.8,\"w\":1162.4,\"h\":726.5,\"r\":0,\"s\":\"securePlan\"}],\"focus\":[138.8,92.8,1162.4,726.5],\"notes\":[],\"nar\":{\"x\":519.5,\"y\":308.9,\"w\":400,\"h\":232,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-614.1,\"y\":123.6,\"w\":1031,\"h\":644.4,\"r\":0,\"s\":\"securePlan\"}],\"focus\":[16,338,358,430],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":218,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":151,\"y\":100.4,\"w\":1137.9,\"h\":711.2,\"r\":0,\"s\":\"securePlan\"}],\"focus\":[257,664.7,633.8,80.6],\"notes\":[],\"nar\":{\"x\":545.4,\"y\":278.7,\"w\":400,\"h\":232,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-75.1,\"y\":185.1,\"w\":937.3,\"h\":585.8,\"r\":0,\"s\":\"securePlan\"}],\"focus\":[12.5,650.3,357.5,65.6],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":191,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":178.4,\"y\":117.5,\"w\":1083.2,\"h\":677,\"r\":0,\"s\":\"securePlan\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":351,\"w\":600,\"h\":199,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":-75.1,\"y\":185.1,\"w\":937.3,\"h\":585.8,\"r\":0,\"s\":\"securePlan\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":284,\"w\":358,\"h\":245,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":270,\"y\":221.2,\"w\":900,\"h\":499.2,\"r\":13.7,\"s\":\"Card/recV0\"}],\"focus\":[297,458.2,436,221],\"notes\":[],\"nar\":{\"x\":801.9,\"y\":410.4,\"w\":400,\"h\":265,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":338,\"w\":358,\"h\":370.7,\"r\":12.6,\"s\":\"Mobile/rec0\",\"c\":[16,338,358,370.7,12]}],\"focus\":[30,540.5,330,154.2],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":218,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":283.9,\"y\":180.2,\"w\":900,\"h\":558.8,\"r\":13.7,\"s\":\"Card/recV10\"}],\"focus\":[330.9,416.2,566,281],\"notes\":[],\"nar\":{\"x\":829,\"y\":510.7,\"w\":400,\"h\":167,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":230,\"w\":358,\"h\":449.5,\"r\":12.6,\"s\":\"Mobile/rec10\",\"c\":[16,230,358,449.5,12]}],\"focus\":[30,432.5,330,233.1],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":110,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":277.4,\"y\":332,\"w\":900,\"h\":247.9,\"r\":16,\"s\":\"wtV12\"}],\"focus\":[277.4,332,900,247.9],\"notes\":[],\"nar\":{\"x\":783,\"y\":422.9,\"w\":400,\"h\":232,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":453.4,\"w\":520,\"h\":143.2,\"r\":12,\"s\":\"wtV12\"}],\"focus\":[16,453.4,520,143.2],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":218,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":270,\"y\":146,\"w\":900,\"h\":627.5,\"r\":13.7,\"s\":\"Card/recV13\"}],\"focus\":[317,367,816,236],\"notes\":[],\"nar\":{\"x\":763.8,\"y\":536.5,\"w\":400,\"h\":199,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":284,\"w\":358,\"h\":516.2,\"r\":12.6,\"s\":\"Mobile/rec13\",\"c\":[16,284,358,456,12]}],\"focus\":[26,481.2,338,227.5],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":164,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":260.5,\"y\":146,\"w\":900,\"h\":627.5,\"r\":13.7,\"s\":\"Card/recV14\"}],\"focus\":[347.5,470,691,130],\"notes\":[],\"nar\":{\"x\":863.4,\"y\":589.7,\"w\":400,\"h\":133,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":257,\"w\":358,\"h\":535.2,\"r\":12.6,\"s\":\"Mobile/rec14\",\"c\":[16,257,358,482,12]}],\"focus\":[59.3,581.7,300.7,119.1],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":137,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":270,\"y\":168.8,\"w\":900,\"h\":376.3,\"r\":16,\"s\":\"wtCustom\"}],\"focus\":[270,168.8,900,376.3],\"notes\":[],\"nar\":{\"x\":500.1,\"y\":483.3,\"w\":400,\"h\":199,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":402.8,\"w\":520,\"h\":217.4,\"r\":12,\"s\":\"wtCustom\"}],\"focus\":[16,402.8,520,217.4],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":191,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":276.4,\"y\":267.9,\"w\":900,\"h\":351.2,\"r\":16,\"s\":\"wtF775\"}],\"focus\":[276.4,267.9,900,351.2],\"notes\":[],\"nar\":{\"x\":247.5,\"y\":458,\"w\":452.7,\"h\":235.9,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":455.2,\"w\":358,\"h\":139.7,\"r\":12,\"s\":\"wtF775\"}],\"focus\":[16,455.2,358,139.7],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":218,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":188,\"y\":152.2,\"w\":800,\"h\":638.4,\"r\":16,\"s\":\"wtStates\"}],\"focus\":[188,152.2,800,638.4],\"notes\":[],\"nar\":{\"x\":958.7,\"y\":137.4,\"w\":400,\"h\":265,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":395.6,\"w\":358,\"h\":285.7,\"r\":12,\"s\":\"wtStates\"}],\"focus\":[16,395.6,358,285.7],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":245,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":269.9,\"y\":449,\"w\":900,\"h\":196.3,\"r\":16,\"s\":\"wtDocs\"}],\"focus\":[269.9,449,900,196.3],\"notes\":[],\"nar\":{\"x\":536.3,\"y\":147.1,\"w\":400,\"h\":232,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":472.5,\"w\":358,\"h\":78.1,\"r\":12,\"s\":\"wtDocs\"}],\"focus\":[16,472.5,358,78.1],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":191,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":201,\"y\":158.6,\"w\":1037.9,\"h\":648.7,\"r\":0,\"s\":\"secureFlow\"}],\"focus\":[243.7,358.1,950.3,154.5],\"notes\":[],\"nar\":{\"x\":805.9,\"y\":-1.8,\"w\":483.1,\"h\":309.5,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":392,\"w\":358,\"h\":576.6,\"r\":12.6,\"s\":\"Mobile/secureFlow\",\"c\":[16,392,358,430,12]}],\"focus\":[28.9,471.5,332.1,317.5],\"notes\":[],\"nar\":{\"x\":16,\"y\":100,\"w\":358,\"h\":272,\"side\":\"Left\"}}},{\"l\":{\"clip\":[0,88,1440,736],\"els\":[{\"x\":271,\"y\":153,\"w\":900,\"h\":627.5,\"r\":13.7,\"s\":\"Card/recV13\",\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":420,\"y\":351,\"w\":600,\"h\":199,\"side\":\"Left\"},\"rings\":[]},\"p\":{\"clip\":[0,88,390,636],\"els\":[{\"x\":16,\"y\":284,\"w\":358,\"h\":516.2,\"r\":12.6,\"s\":\"Mobile/rec13\",\"c\":[16,284,358,456,12],\"op\":.28}],\"focus\":null,\"notes\":[],\"nar\":{\"x\":16,\"y\":297,\"w\":358,\"h\":218,\"side\":\"Left\"}}}]},\"screens\":{\"Card/answer\":{\"src\":\"https://framerusercontent.com/images/zuWXf5w3oJZw9XBzpa6ny1a0g.webp\",\"alt\":\"The description, the three screeners it applied, and a summary of 324 matching participants at \\xa340 an hour with Create new study\"},\"Card/builtPopular\":{\"src\":\"https://framerusercontent.com/images/GUowLcMQYUSJqQMsPffXkybNHM.webp\",\"alt\":\"Screen your participants, with popular screeners first and the ones you picked listed underneath\"},\"Card/exploreBuilt\":{\"src\":\"https://framerusercontent.com/images/Cyqick4UnksgU18wrF7A4iXaVSw.webp\",\"alt\":\"The dashboard cards, with Find your participants among the first things to click\"},\"Card/prescreen\":{\"src\":\"https://framerusercontent.com/images/AVxFzIuj6N5q2o3yGgcX64s0N5k.webp\",\"alt\":\"Prescreen participants in study setup, with the count of matching participants at the bottom\"},\"Card/recV0\":{\"src\":\"https://framerusercontent.com/images/laKdJSOGAabBONLDPD3CuMO4E.webp\",\"alt\":\"Recording Prolific IDs as it already was: URL parameters, a question in the study, or not recording them\"},\"Card/recV10\":{\"src\":\"https://framerusercontent.com/images/bzajkCUV9pP1u1zWK28lrOWmCSg.webp\",\"alt\":\"Recording Prolific IDs with a new Signed URLs option selected and the other options locked\"},\"Card/recV13\":{\"src\":\"https://framerusercontent.com/images/n5sQ2Tq4ZYIdH0N2IfcsCd4.webp\",\"alt\":\"Recording Prolific IDs with URL parameters, and a toggle to use secure transmission with JSON Web Tokens\"},\"Card/recV14\":{\"src\":\"https://framerusercontent.com/images/zM1GQPRoy4L3KyuaJ3W0IRQaazY.webp\",\"alt\":\"Recording Prolific IDs with the secure URL toggle on and locked, because the organisation enforces it\"},\"Card/tellUs\":{\"src\":\"https://framerusercontent.com/images/t2VYHzJAjOdG8iDkSdVfTcYUFM0.webp\",\"alt\":\"Tell us who you need: a box to describe your participants and a Find Participants button\"},\"Card/thinking\":{\"src\":\"https://framerusercontent.com/images/CohtkyCPawvEMQVn4VC1eK1aCc.webp\",\"alt\":\"Tell us who you need, dimmed while a Thinking spinner works on the description\"},\"Mobile/popular\":{\"src\":\"https://framerusercontent.com/images/azzRUTMNxn1ayACqNd4IAagjw.svg\",\"alt\":\"Screen your participants, with popular screeners first and the ones you picked listed underneath\"},\"Mobile/prescreen\":{\"src\":\"https://framerusercontent.com/images/zVplwga6XGgRObymfzOWsISVsis.svg\",\"alt\":\"Prescreen participants in study setup, with the count of matching participants at the bottom\"},\"Mobile/rec0\":{\"src\":\"https://framerusercontent.com/images/dodhI01na66GLAXkeGORA96Q4.svg\",\"alt\":\"Recording Prolific IDs as it already was: URL parameters, a question in the study, or not recording them\"},\"Mobile/rec10\":{\"src\":\"https://framerusercontent.com/images/9y5cbkgT83xf554iDn9QWezAZMY.svg\",\"alt\":\"Recording Prolific IDs with a new Signed URLs option selected and the other options locked\"},\"Mobile/rec13\":{\"src\":\"https://framerusercontent.com/images/pLacunWlor9UgXZ5yZnTS2pd1o.svg\",\"alt\":\"Recording Prolific IDs with URL parameters, and a toggle to use secure transmission with JSON Web Tokens\"},\"Mobile/rec14\":{\"src\":\"https://framerusercontent.com/images/e1JoH9JIdEZKx7dqHoIqrnif63E.svg\",\"alt\":\"Recording Prolific IDs with the secure URL toggle on and locked, because the organisation enforces it\"},\"Mobile/secureFlow\":{\"src\":\"https://framerusercontent.com/images/qw6Q5WQ3mGTFgxFL9eeBqMpKdc.svg\",\"alt\":\"How a secure study link works: the participant opens the study, Prolific signs the link with a JSON Web Token, and the partner's tool checks it\"},\"Mobile/summary\":{\"src\":\"https://framerusercontent.com/images/TTY6ZyHxoDG69BoCGu3RjrYrVJA.svg\",\"alt\":\"A summary of 324 matching participants, the three screeners applied, \\xa340 an hour and Create new study\"},\"Mobile/tellUs\":{\"src\":\"https://framerusercontent.com/images/yOCen8J7WE87MQKNW1C6LaKTlJE.svg\",\"alt\":\"Tell us who you need: a box to describe your participants and a Find Participants button\"},\"Mobile/thinking\":{\"src\":\"https://framerusercontent.com/images/KN5PCEyRCSPxV24YWDd0idcBa8.svg\",\"alt\":\"Tell us who you need, dimmed while a Thinking spinner works on the description\"},\"finderBuilt\":{\"src\":\"https://framerusercontent.com/images/tvyQuByad205ct217b26PwhxE.webp\",\"alt\":\"The Participants page, with a live count of matching participants and the suggested pay beside the filters\"},\"iosEmailNotification\":{\"src\":\"https://framerusercontent.com/images/WojNyvsy7greraznLiLvEHQB6Ow.webp\",\"alt\":\"An iPhone notification from Prolific: verify your email\"},\"pfForm\":{\"src\":\"https://framerusercontent.com/images/C2yNxfftoOTnWPLSySCYRVr20E.svg\",\"alt\":\"Prolific's old researcher sign-up: one long form asking for name, country, work email and password at once\"},\"pfGs3\":{\"src\":\"https://framerusercontent.com/images/B0PPJlmaycfZUxxjrwjt2PYypI.webp\",\"alt\":\"The Getting started checklist, 35% complete, asking what research you do\"},\"pfGs6\":{\"src\":\"https://framerusercontent.com/images/ej5KNVMGB6kw3e9RPdpzx9IPo.webp\",\"alt\":\"The completed Getting started checklist, with confetti\"},\"pfOldForm2\":{\"src\":\"https://framerusercontent.com/images/FtHJVpFpLBambWOjlzgjrjMbd3w.svg\",\"alt\":\"The second half of the old sign-up: company name, type of organisation, research area and where you heard about Prolific\"},\"regCheck\":{\"src\":\"https://framerusercontent.com/images/iJzlDQ1N9RMF1APSr7MIJD4GPsA.svg\",\"alt\":\"Sign-up showing the details found from your work email, to confirm or edit\"},\"regEmail\":{\"src\":\"https://framerusercontent.com/images/Gf4v7NB3Y4OSWNVh0ZzcfoDgfgU.svg\",\"alt\":\"Sign-up asking for your work email\"},\"regPassword\":{\"src\":\"https://framerusercontent.com/images/srTd0XqGqqHKXbRxO2yI6BXPekY.svg\",\"alt\":\"Sign-up asking you to set a password, the last step before you're in\"},\"regResearch\":{\"src\":\"https://framerusercontent.com/images/TG4Fad52H1O0NnSTP2YgDz0z8.svg\",\"alt\":\"Sign-up asking how you'd like to use Prolific, with Run Research selected and the researcher pitch\"},\"secureFlow\":{\"src\":\"https://framerusercontent.com/images/44D8TPRCU1aHhDL9jPQe9wk6S4.svg\",\"alt\":\"How a secure study link works: the participant opens the study, Prolific signs the link with a JSON Web Token, and the partner's tool checks it\"},\"securePlan\":{\"src\":\"https://framerusercontent.com/images/DLduWKkR0hh5WutaKyumhM6c.webp\",\"alt\":\"An illustration of the original plan: new pages and UI for researchers, admins and participants, backend work, and sticky notes asking about mobile, legal review, SSO and 12 weeks\"},\"setupOld\":{\"src\":\"https://framerusercontent.com/images/JlcaKdAlXiBfj97ZHX87Yo2EY.webp\",\"alt\":\"Prolific's old study setup page, where Recruit participants sat below the study details\"},\"wtCustom\":{\"src\":\"https://framerusercontent.com/images/XSzGtVzr05m1q1yWvYG4Lu1CE0.webp\",\"alt\":\"New custom option controls drawn for the first designs, crossed out\"},\"wtDid\":{\"src\":\"https://framerusercontent.com/images/IlAnYWC33bhyaC9wMCrGbcXJhwE.webp\",\"alt\":\"Sticky notes marked done: chunk out the process, one question per page; easy qualifying questions first; design a flow with little friction and ask questions later. Beside them, cards on chunking and commitment and consistency\"},\"wtDidP\":{\"src\":\"https://framerusercontent.com/images/7WBMU6gPdnSaSJb641k5ckfs.webp\",\"alt\":\"Sticky notes marked done: one question per page, easy questions first, and little friction up front\"},\"wtDidnt\":{\"src\":\"https://framerusercontent.com/images/fUdCZefGtHLcMVwAbn7hs7iIjr8.webp\",\"alt\":\"Sticky notes crossed out: a different flow per persona; onboarding in popups over a blurred product; removing questions like where did you hear about us. Beside them, cards on Occam's razor and reactance\"},\"wtDidntP\":{\"src\":\"https://framerusercontent.com/images/ZUy8nwJBeSJvPvRLdkjEhM1GoTA.webp\",\"alt\":\"Sticky notes crossed out: a flow per persona, popups over a blurred product, and removing questions\"},\"wtDocs\":{\"src\":\"https://framerusercontent.com/images/bcu55aZy7PNzBjnTDMhXspROic.webp\",\"alt\":\"A design note: search for parameter in the researcher help centre. No result that explains URL parameters\"},\"wtF774\":{\"src\":\"https://framerusercontent.com/images/MSvGS6IyFKUd2EnRR3cOxoztw.webp\",\"alt\":\"Recording Prolific IDs as it was: I will use URL parameters, with the Prolific ID, study ID and session ID parameters\"},\"wtF775\":{\"src\":\"https://framerusercontent.com/images/P6e3J1VohEkRJUZkvJVkj1tUAQs.webp\",\"alt\":\"The bottom of the Start your study dialog: the study opens in a new window, with Cancel and Start study\"},\"wtGs1\":{\"src\":\"https://framerusercontent.com/images/D2jcSw2d6kHpeCA7xHV28no0N24.webp\",\"alt\":\"The Getting started checklist at 0%, with Verify your email open: it says where the link went, shows the email, and has Resend email and Update email. Below, the other steps, ending with Create your first study\"},\"wtGs5\":{\"src\":\"https://framerusercontent.com/images/SDI8eFpik2SHOogXbPMKmex0uY.webp\",\"alt\":\"The Getting started checklist at 86%, with the first four steps ticked and Set your office address open, a form for the invoice address\"},\"wtGsDid\":{\"src\":\"https://framerusercontent.com/images/tT55ESAQnkSZhGzkZfusU8Wc8UU.webp\",\"alt\":\"Sticky notes marked done: ask only what is needed to get in and move the rest into Getting started; show progress as a percentage; keep unfinished steps visible. Beside them, cards on progressive disclosure, the goal gradient effect and the Zeigarnik effect\"},\"wtGsDidP\":{\"src\":\"https://framerusercontent.com/images/LX5ymJ8OaGf40KAXPkhi0YE04l4.webp\",\"alt\":\"Sticky notes marked done: ask only what is needed to get in, show progress as a percentage, keep unfinished steps visible\"},\"wtGsPushy\":{\"src\":\"https://framerusercontent.com/images/ZlAiBjKidGFl3vCmLqpeAQMZEsE.webp\",\"alt\":\"A sticky note marked done: is this too pushy? A forced checklist could push people away, so it nudges rather than blocks. Beside it, a card on reactance\"},\"wtGsPushyP\":{\"src\":\"https://framerusercontent.com/images/vAAxcPb7ziBsDUtfSho9OpklbQY.webp\",\"alt\":\"A sticky note marked done: is this too pushy? A forced checklist could push people away, so it nudges rather than blocks\"},\"wtGsStage\":{\"src\":\"https://framerusercontent.com/images/tMBSMXIRwAAUA6l9cGOAzhYidmk.webp\",\"alt\":\"A sticky note crossed out: the Getting started page should change depending on the journey stage of the researcher\"},\"wtHomeDone\":{\"src\":\"https://framerusercontent.com/images/CO9Vld6bSS6PRiRGceYahQZ3CQ.webp\",\"alt\":\"A Home page design that never shipped: widgets for projects, finance, submissions to review and pinned projects\"},\"wtOldModal\":{\"src\":\"https://framerusercontent.com/images/ZF7oTSfYiUVf8NMb069FmPubVE.webp\",\"alt\":\"The old Get started page behind a popup: Verify your email address, with Resend email and Update account, blocking the app\"},\"wtOldRegister\":{\"src\":\"https://framerusercontent.com/images/sVEgBS9X9IxCno9WomrFACuHFW8.webp\",\"alt\":\"The old sign-up start: What do you want to do in Prolific? Take studies or Run research\"},\"wtProd\":{\"src\":\"https://framerusercontent.com/images/XUiIqPr7tesZlnIUSUHHXhlZs.webp\",\"alt\":\"The live Getting started checklist in May 2025, with Verify your email open: it shows the address used, says to check your junk folder, and has Resend email and Update email\"},\"wtRegCompare\":{\"src\":\"https://framerusercontent.com/images/zDsqr4XnVumqoy8fchLUjt5Pgs.webp\",\"alt\":\"The design and the live sign-up side by side: both ask how would you like to use Prolific, with Take studies selected and the Earn money pitch\"},\"wtRegCompareP\":{\"src\":\"https://framerusercontent.com/images/FM3wy29aVVF0zuniH9bOUnzDGno.webp\",\"alt\":\"The design above the live sign-up: both ask how would you like to use Prolific, with Take studies selected and the Earn money pitch\"},\"wtStates\":{\"src\":\"https://framerusercontent.com/images/E0xXxBskE7UWAEZcMX4FatMpkvg.webp\",\"alt\":\"The URL parameters setting three ways: with the secure URL toggle switched on, with no toggle at all, and with the toggle locked on and a note that the organisation enforces it\"},\"wtV12\":{\"src\":\"https://framerusercontent.com/images/qMpFvq2wD5MkP9OtM1Esgk0yH4.webp\",\"alt\":\"Recording Prolific IDs when the organisation enforces signed URLs: a note explains the other ways are off, with a link to how signed URLs work\"},\"wtFeedLight\":{\"src\":\"https://framerusercontent.com/images/bdPqB8SJXZlCcY6SWMJlsFzWk.webp\",\"alt\":\"A high-fidelity Home design in the light theme: an activity feed with counts for auto-approvals, submissions to review, unread messages and a draft, each with one button, beside the wallet balance and the account manager\"},\"wtFeedDark\":{\"src\":\"https://framerusercontent.com/images/DsRmcPwy5YmDwulIHW3f5w4YIc.webp\",\"alt\":\"The same Home design in the dark theme\"}}}}/* /PLAYERS-JSON */;\nexport const __FramerMetadata__ = {\"exports\":{\"PLAYERS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CaseStudyPlayers.map","// ============================================================================================\n// MINI CASE STUDY: the engine. You shouldn't need to edit this file to change a case study.\n//   · The words (stories, narration, notes, logo, colours) are in CaseStudyContent.tsx\n//   · What's on screen at each step (images, positions, movement) is in CaseStudyScenes.tsx\n//   · Stories laid out in the Figma storyboard (\"board\" stories) take their layout from\n//     CaseStudyBoards.tsx, which the read-back generates. Don't edit that one by hand.\n//   · This file is the templates and behaviour: inline stepper, launcher cards, full-screen player.\n// Two modes: Inline (stories, picture, caption and notes in the page) and Play button (a launcher\n// that opens a focused, full-screen player with a narrator, notes as hover/tap points, and start\n// and end cards). Scenes are a 640 × 460 stage scaled to fit. Floating UI keeps pins and tooltips\n// on screen and places the narrator. Swipe is Framer Motion drag.\n// The CSS below is baked in by framer-ms/build.py from stepper.css and scene-kit.css.\n// ============================================================================================\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useRouter}from\"framer\";import{motion,useReducedMotion,useMotionValue,animate}from\"framer-motion\";import{computePosition,offset,shift,flip}from\"https://esm.sh/@floating-ui/dom@1.6.12\";import{PROJECTS as CONTENT}from\"https://framerusercontent.com/modules/oSLXFzUXYrnpOw0Hs9hH/YC5NlZkDLEf9nWCUCMth/CaseStudyContent.js\";import{SCENES as SCENE_LAYERS}from\"https://framerusercontent.com/modules/FPnywvDPOv6xdm0e9KD3/cavpH7m2bCRACMo12lJv/CaseStudyScenes.js\";import{BOARDS as BOARD_DATA,BOARD_SCREENS}from\"https://framerusercontent.com/modules/ADGLRSSkygBvtHb7LL8T/cYvNetm5uFtKtfNZehUZ/CaseStudyBoards.js\";import{PLAYERS as CODE_PLAYERS}from\"https://framerusercontent.com/modules/ave90y2DRyjgnJKoUhBk/25hstvyrR5tfdfV1E6v4/CaseStudyPlayers.js\";import{useLiveCaseStudies}from\"https://framerusercontent.com/modules/zU36YQ7RXtHs4CkPKslb/uryH04OsavWGEk82q9C9/CmsCaseStudies.js\";import{navUp}from\"https://framerusercontent.com/modules/NaVM54w8Ymh9lTyfHrMz/9muDJnVqpvYKVtb4ddx8/BackNav.js\";import BackButton from\"https://framerusercontent.com/modules/xjga9Ml5BLKBedwbmiTJ/KVb8TmOe2AwekVSddrx3/BackButton.js\";import FoilButton from\"https://framerusercontent.com/modules/lwIAftjaqGUd8D0CDpIv/bSQA3PzC6REFuivZqde6/FoilButton.js\";import{MENU_CSS,MenuFoilDefs,useMenu}from\"https://framerusercontent.com/modules/XgscFj735loE0MwItRdZ/DOAQC1zmFws42ZcVgB51/MenuShared.js\";import{TOKENS}from\"https://framerusercontent.com/modules/xXMBRP6xEscknKQvTMla/nOgwdkXu2Q8xTbSE9F29/SpectrumShared.js\";// Typed loosely here: Framer type-checks each file on its own and can't see the sibling files\n// Local copies: First Impressions teardowns join them at runtime (registerTeardown), from their CMS item\nconst PROJECTS={...CONTENT};const LAYERS=SCENE_LAYERS;const BOARDS={...BOARD_DATA};const BSCR={...BOARD_SCREENS};// Talking-head takes for teardown steps (none recorded yet): Ben's video in the narrator's place, captions as a track\nconst TAKES={};const TEARDOWN_IDS=new Set;const isTeardown=pid=>TEARDOWN_IDS.has(pid);// ---------- From the content file to what the templates use ----------\nconst noteSel=on=>{const[l,h]=on.split(\"/\");return h?`[data-l=\"${l}\"] [data-h=\"${h}\"]`:`[data-l=\"${l}\"]`;};const projectData=p=>({stories:Object.fromEntries(p.stories.map(s=>[s.id,{label:s.label,outcome:s.outcome,name:s.name,poster:s.poster,board:!!s.board,slug:s.slug??s.id,end:s.end,steps:s.steps.map(st=>({t:st.title,alt:st.alt,p:st.caption,say:st.say,take:st.take,mood:st.mood,face:st.face,mark:st.mark,n:(st.notes??[]).map(n=>[n.text,noteSel(n.on),n.corner??\"tr\",n.on.split(\"/\")[0]])}))}]))});const DATA=Object.fromEntries(Object.entries(PROJECTS).map(([pid,p])=>[pid,projectData(p)]));/* Which case studies play, in what order, under what title and outcome: the CMS (the hidden \"Mini case studies data\"\n   list on the page, read through CmsCaseStudies.tsx; drafts left out). The steps and narration stay in CaseStudyContent.\n   A CMS item with no content here is skipped; without CMS data on the page, CaseStudyContent's list stands in. */function useLiveData(project){const base=DATA[project]??DATA.prolific;// Teardowns aren't in the Mini case studies collection, so they don't wait for its list. A component's project\n// never changes, so this hook is either always called or never called for it\nconst live=isTeardown(project)?null:useLiveCaseStudies(project);const key=live?live.map(c=>`${c.id}\\u0001${c.title}\\u0001${c.outcome}`).join(\"\\x02\"):null;return React.useMemo(()=>{if(!live)return base;const stories={};for(const c of live){const hit=Object.entries(base.stories).find(([,s])=>s.slug===c.id);if(hit)stories[hit[0]]={...hit[1],label:c.title||hit[1].label,outcome:c.outcome||hit[1].outcome};}return{stories};},[base,key]);}const metaOf=p=>({logo:p.logo,logoH:p.logoHeight,ar:p.logoRatio,title:p.title,client:p.colour,ink:p.textColour});const META=Object.fromEntries(Object.entries(PROJECTS).map(([pid,p])=>[pid,metaOf(p)]));/** A First Impressions teardown joins the player: its CMS item's Player JSON ({ project, boards, screens, takes? }), keyed by\n    the item's slug. Called while the page renders, before the player does (so the server HTML has it too). After an edit,\n    call it again, then brandTeardown, and send window event \"mcs:td-updated\" { pid } to re-render an open player */export function registerTeardown(pid,json){if(!pid||!json?.project?.stories)return;// Edit mode: the edited copy stands until it's saved and published, whatever the page passes in again\njson=EDITED[pid]??json;RAW[pid]=json;PROJECTS[pid]=json.project;DATA[pid]=projectData(json.project);META[pid]=metaOf(json.project);BOARDS[pid]=json.boards??{};Object.assign(BSCR,json.screens??{});Object.assign(TAKES,json.takes??{});TEARDOWN_IDS.add(pid);}// ---------- Edit mode: the branch preview with ?edit ----------\n// The editor comes from Ben's local helper (node ~/Documents/GitHub/crawl/fi-edit.mjs, framer-ms/first-impressions/editor),\n// so none of it ships. It gets window.__fiEdit: pid, get(), set(json), cur() (the open player's story, 0-based step,\n// orientation and phase) and on(fn) (called when those change). set re-registers the Player JSON and redraws the player\nconst RAW={},EDITED={};// Branch previews only (<site>--<branch>-<id>.framer.app): never the live domain or main's staging address\nconst EDIT=typeof window!==\"undefined\"&&/^[a-z0-9-]+--[a-z0-9-]+\\.framer\\.app$/.test(window.location.hostname)&&new URLSearchParams(window.location.search).has(\"edit\")?{cur:null,fns:new Set}:null;/** Case studies kept as Player JSON in a code file (CaseStudyPlayers.tsx): they play like any\n    case study (CMS titles, /work pages), and open in the editor on a branch preview with ?edit, which saves back to that file */const CODE_IDS=new Set;function registerCode(pid,json){if(!pid||!json?.project?.stories)return;json=EDITED[pid]??json;RAW[pid]=json;PROJECTS[pid]=json.project;DATA[pid]=projectData(json.project);META[pid]=metaOf(json.project);BOARDS[pid]=json.boards??{};Object.assign(BSCR,json.screens??{});CODE_IDS.add(pid);}Object.entries(CODE_PLAYERS).forEach(([pid,json])=>registerCode(pid,json));// Teardowns and code-file case studies take the editor's narrator controls (avatar side, alignment)\nconst editable=pid=>isTeardown(pid)||CODE_IDS.has(pid);function editMode(pid,story,step,o,phase){if(!EDIT)return;const c=EDIT.cur;if(c&&c.pid===pid&&c.story===story&&c.step===step&&c.o===o&&c.phase===phase)return;EDIT.cur={pid,story,step,o,phase};const w=window;if(!w.__fiEdit){w.__fiEdit={pid,get:()=>RAW[pid],cur:()=>EDIT.cur,on:fn=>EDIT.fns.add(fn),faces:{...FACES},moods:MOODS,marks:MARKS,faceMarks:FACE_MARKS,defaultMark:DEFAULT_MARK,markArt:MARK_ART,set:next=>{const m=META[pid],b=m&&{logo:m.logo,ratio:m.ar,colour:m.client,ink:m.ink};EDITED[pid]=next;if(CODE_IDS.has(pid))registerCode(pid,next);else{registerTeardown(pid,next);if(b)brandTeardown(pid,b);}window.dispatchEvent(new CustomEvent(\"mcs:td-updated\",{detail:{pid}}));}};const sc=document.createElement(\"script\");sc.src=\"http://127.0.0.1:4317/editor.js\";document.head.appendChild(sc);}EDIT.fns.forEach(fn=>fn());}/** The teardown's brand from its CMS item (logo, Brand colour, Brand ink), over what its Player JSON says. The logo is\n    drawn as a mask, so it needs a transparent background */export function brandTeardown(pid,b){const m=META[pid];if(!m)return;if(b.logo)m.logo=b.logo;if(b.ratio)m.ar=b.ratio;if(b.colour)m.client=b.colour;if(b.ink)m.ink=b.ink;}// ---------- From the scenes file to markup and CSS ----------\nconst esc=(t=\"\")=>t.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\");function layerHTML(l){const enter=l.enter===\"fade\"?\"\":l.enter===\"slide\"?\" e-slide\":\" e-rise\";const attr=`data-l=\"${l.id}\"`;switch(l.kind){case\"screen\":case\"phone\":case\"component\":{const cls=[\"fr\",l.kind===\"phone\"?\"phone\":\"\",l.kind===\"component\"?\"comp\":\"\",l.fit===\"contain\"?\"contain\":\"\",l.dark?\"darkbg\":\"\"].filter(Boolean).join(\" \");return`<div class=\"el ${cls}${enter}\" ${attr}><img src=\"${l.src}\" alt=\"\"></div>`;}case\"compare\":{const hs=Object.entries(l.hotspots??{}).map(([k,[x,y,w,h]])=>`<i class=\"hot\" data-h=\"${k}\" style=\"left:${x}%;top:${y}%;width:${w}%;height:${h}%\"></i>`).join(\"\");return`<div class=\"el fr cmp${enter}\" ${attr}><img src=\"${l.src}\" alt=\"\"><img class=\"after\" src=\"${l.after}\" alt=\"\"><span class=\"label tag b\">Before</span><span class=\"label accent tag a\">After</span>${hs}</div>`;}case\"label\":return`<span class=\"el label${l.tone===\"accent\"?\" accent\":\"\"}${enter}\" ${attr}>${esc(l.text)}</span>`;case\"box\":return`<div class=\"el dg${l.tone?\" \"+l.tone:\"\"}${l.center?\" center\":\"\"}${enter}\" ${attr}>${l.small?`<small>${esc(l.small)}</small>`:\"\"}${esc(l.text)}</div>`;case\"panel\":return`<div class=\"el panel${l.row?\" row\":\"\"}${l.center?\" center\":\"\"}${enter}\" ${attr}>`+(l.big?`<b class=\"${l.warn?\"warn\":\"\"}\"${l.size?` style=\"font-size:${l.size}px\"`:\"\"}>${esc(l.big)}</b>`:\"\")+(l.text?`<span>${esc(l.text)}</span>`:\"\")+(l.quote?`<q${l.size&&!l.big?` style=\"font-size:${l.size}px\"`:\"\"}>${esc(l.quote)}</q>`:\"\")+(l.by?`<small>${esc(l.by)}</small>`:\"\")+`</div>`;case\"track\":{const alt=Object.entries(l.at).filter(([,v])=>typeof v===\"object\"&&v.text).map(([n,v])=>`<span data-t=\"${n}\">${esc(v.text)}</span>`).join(\"\");return`<div class=\"el track${enter}\" ${attr}><i></i><span data-t=\"base\">${esc(l.text)}</span>${alt}</div>`;}case\"ticks\":return`<div class=\"el ticks${enter}\" ${attr}>${(l.ticks??[]).map(t=>`<span>${esc(t)}</span>`).join(\"\")}</div>`;case\"lines\":return`<svg class=\"el dg-lines${enter}\" ${attr} width=\"640\" height=\"460\" viewBox=\"0 0 640 460\">${(l.paths??[]).map(p=>`<path${p.bad?' class=\"bad\"':\"\"} d=\"${p.d}\"/>`).join(\"\")}</svg>`;}}function sceneCSS(pid){const out=[];for(const[sid,layers]of Object.entries(LAYERS[pid]??{})){const base=`.mcs[data-project=\"${pid}\"] .scene[data-scene=\"${sid}\"]`;for(const l of layers){const box=[`left:${l.x}px`,l.bottom!=null?`bottom:${l.bottom}px`:`top:${l.y??0}px`,l.w!=null?`width:${l.w}px`:\"\",l.h!=null?`height:${l.h}px`:\"\"].filter(Boolean).join(\";\");out.push(`${base} [data-l=\"${l.id}\"]{${box}}`);for(const[n,raw]of Object.entries(l.at)){const v=raw===\"show\"?{}:raw===\"dim\"?{dim:true}:raw;const sel=`${base}[data-st=\"${n}\"] [data-l=\"${l.id}\"]`;const[mx,my]=v.move??[0,0];const tf=mx||my||v.scale?`translate(${mx}px,${my}px)${v.scale?` scale(${v.scale})`:\"\"}`:\"none\";const d=v.delay?`${v.delay}s`:\"0s\";const trans=v.slow?`transition:transform 1.1s cubic-bezier(.65,0,.35,1) ${d},opacity .4s ease ${d};transform-origin:0 0;`:`transition-delay:${d};`;out.push(`${sel}{opacity:${v.dim?.28:1};transform:${tf};${trans}${v.z?`z-index:${v.z};`:\"\"}}`);if(v.reveal)out.push(`${sel} .after{clip-path:inset(0 0 0 0)}${sel} .tag.a{opacity:1;transition-delay:.9s}${sel} .tag.b{opacity:0}`);if(v.fill!=null)out.push(`${sel} i{transform:scaleX(${v.fill});background:var(--client);transition-delay:${d}}${sel} span{color:#0b0d1a}`);if(v.text)out.push(`${sel} [data-t=\"base\"]{display:none}${sel} [data-t=\"${n}\"]{display:inline}`);}}}return out.join(\"\\n\");}const SCENES=Object.fromEntries(Object.entries(LAYERS).map(([pid,stories])=>[pid,Object.fromEntries(Object.entries(stories).map(([sid,layers])=>[sid,layers.map(layerHTML).join(\"\")]))]));const SCENE_CSS=Object.fromEntries(Object.keys(LAYERS).map(pid=>[pid,sceneCSS(pid)]));const CSS='.mcs{--pg: var(--token-cc944d59-d713-46c5-805a-36c4e8480b17, #161616);\\n  --fg: var(--token-72be4b58-ad30-40d4-9403-e97ffbb2d1b3, #f6f6f6);\\n  --muted: var(--token-1103eab9-1384-4e53-8ad9-d060dcee532a, #a1a1a1);\\n  --line: var(--token-05b8d98e-abe0-4137-a801-0f724209b039, #393939);\\n  --ease: cubic-bezier(.25, 1, .5, 1);\\n  container-type: inline-size; isolation: isolate; overflow: clip; box-sizing: border-box; -webkit-text-size-adjust: 100%; text-size-adjust: 100%;\\n  background: var(--pg); color: var(--fg);\\n  font-family: \"Inter\", \"Inter Placeholder\", sans-serif; -webkit-font-smoothing: antialiased;}\\n.mcs:has(.lc-grid){overflow: visible;}\\n.mcs .lc-grid .lc-poster{box-shadow: none;}\\n.lc-grid .lc-card{position: relative;}\\n.mcs[data-dividers=\"both\"], .mcs[data-dividers=\"top\"]{border-top: 1px solid var(--line);}\\n.mcs[data-dividers=\"both\"], .mcs[data-dividers=\"bottom\"]{border-bottom: 1px solid var(--line);}\\n.mcs *, .mcs *::before, .mcs *::after{box-sizing: border-box;}\\n.mcs :focus-visible{outline: 2px solid var(--fg); outline-offset: 3px; border-radius: 6px;}\\n.mcs .sr-only{position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0;}\\n.mcs-in{max-width: 1920px; margin: 0 auto; padding: clamp(32px, 4.5cqi, 64px) clamp(20px, 4.2cqi, 64px); display: grid; gap: 24px;}\\n.mcs .st-head{display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px;}\\n.mcs-logo{display: block; background: var(--fg); -webkit-mask: var(--logo) left center / contain no-repeat; mask: var(--logo) left center / contain no-repeat;}\\n.mcs .st-link{font: 600 14px/1 \"Inter\", sans-serif; color: var(--fg); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; transition: text-decoration-color .2s; padding: 8px 0;}\\n.mcs .st-link:hover{text-decoration-color: var(--fg);}\\n.mcs h2.framer-text{max-width: 32ch; text-wrap: balance; --framer-text-color: var(--fg);}\\n.mcs .st-tabs{display: flex; gap: clamp(18px, 3cqi, 40px); border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; padding: 4px 4px 0; margin: -4px -4px 0;}\\n.mcs .st-tab{all: unset; box-sizing: border-box; position: relative; flex: none; cursor: pointer; padding: 0 0 14px; display: grid; grid-template-columns: auto 1fr; column-gap: 10px; row-gap: 3px; align-items: baseline; text-align: left;}\\n.mcs .st-tab .no{grid-row: span 2; font: 600 13px/1 \"Inter\", sans-serif; color: var(--muted); font-variant-numeric: tabular-nums; transition: color .2s;}\\n.mcs .st-tab b{font: 600 16px/1.25 \"Inter Display\", \"Inter\", sans-serif; letter-spacing: -0.015em; color: var(--fg);}\\n.mcs .st-tab small{font: 400 12.5px/1.3 \"Inter\", sans-serif; color: var(--muted);}\\n.mcs .st-tab small{transition: color .2s;}\\n.mcs .st-tab:hover .no,.mcs .st-tab:hover small{color: var(--client-ink);}\\n.mcs .st-tab[aria-current] .no,.mcs .st-tab[aria-current] small{color: var(--client-ink);}\\n.mcs .st-tab::after{content: \"\"; position: absolute; left: 0; bottom: -1px; height: 2px; width: 100%; background: var(--fg); transform: scaleX(var(--prog, 0)); transform-origin: left; transition: transform .6s var(--ease);}\\n.mcs .st-tab:focus-visible{outline: 2px solid var(--fg); outline-offset: 2px; border-radius: 6px;}\\n.mcs .st-stage{display: grid; grid-template-columns: minmax(0, calc((100svh - var(--chrome, 220px)) * 640 / 460)) minmax(280px, 1fr); grid-template-areas: \"canvas text\" \"canvas nav\"; grid-template-rows: 1fr auto; gap: 16px clamp(24px, 3.5cqi, 56px); align-items: start;}\\n.mcs[data-controls=\"picture\"] .st-stage{grid-template-areas: \"canvas text\" \"nav .\"; grid-template-rows: auto auto;}\\n.mcs .st-text{grid-area: text; display: grid; gap: 14px; align-content: start; padding-top: 8px; min-width: 0; max-width: 460px;}\\n.mcs .st-copy{display: grid; gap: 14px; align-content: start;}\\n.mcs .st-copy p.st-cap.framer-text{margin: 0; max-width: 40ch; text-wrap: pretty; --framer-text-color: var(--fg);}\\n.mcs .st-notes{margin: 0; padding: 0; list-style: none; display: grid; gap: 10px;}\\n.mcs .st-notes li{display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; align-items: start;}\\n.mcs .st-notes li i{width: 22px; height: 22px; margin-top: 1px; border-radius: 50%; background: var(--client); color: #0b0d1a; font: 700 11.5px/22px \"Inter\", sans-serif; font-style: normal; text-align: center;}\\n.mcs .st-note{margin: 0; text-wrap: pretty;}\\n.mcs .st-cap,.mcs .st-notes li{animation: st-in .5s var(--ease) both;}\\n.mcs .st-notes li:nth-child(1){animation-delay: .25s;}\\n.mcs .st-notes li:nth-child(2){animation-delay: .37s;}\\n.mcs .st-notes li:nth-child(3){animation-delay: .49s;}\\n.mcs .st-notes li:nth-child(4){animation-delay: .61s;}\\n@keyframes st-in{ from { opacity: 0; transform: translateY(8px); } }\\n.mcs .st-canvas{grid-area: canvas; position: relative; aspect-ratio: 640 / 460;\\n  width: 100%;\\n  border-radius: 20px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--client) 38%, transparent);\\n  background:\\n    radial-gradient(90% 80% at 75% 0%, color-mix(in srgb, var(--client) 30%, transparent), transparent 70%),\\n    radial-gradient(60% 60% at 0% 100%, color-mix(in srgb, var(--client) 12%, transparent), transparent 70%),\\n    linear-gradient(160deg, color-mix(in oklch, #17181e 90%, var(--client)), #111217);\\n  box-shadow: inset 0 1px 0 rgb(255 255 255 / .06), 0 40px 90px -50px color-mix(in srgb, var(--client) 55%, transparent);\\n  user-select: none; -webkit-user-select: none;}\\n.mcs .st-drag{position: absolute; inset: 0;}\\n.mcs .st-drag[data-swipe=\"on\"]{cursor: grab; touch-action: pan-y;}\\n.mcs .st-drag[data-swipe=\"on\"]:active{cursor: grabbing;}\\n.mcs .st-scenes{position: absolute; inset: 0;}\\n.mcs .scene{position: absolute; left: 0; top: 0; width: 640px; height: 460px; transform: scale(var(--s, 1)); transform-origin: 0 0;}\\n.mcs .scene[hidden]{display: none;}\\n.mcs .scene .el{position: absolute;}\\n.mcs .scene img{-webkit-user-drag: none; user-select: none;}\\n.mcs .scene.measure,.mcs .scene.measure *{transition: none !important; animation: none !important;}\\n.mcs .sc{font-family: \"Inter\", system-ui, sans-serif; color: #18181b; letter-spacing: -0.01em;}\\n.mcs .pins{position: absolute; inset: 0; pointer-events: none;}\\n.mcs .pin{position: absolute; left: 0; top: 0; width: 26px; height: 26px; border-radius: 50%; background: var(--client); color: #0b0d1a; font: 700 12px/26px \"Inter\", sans-serif; text-align: center;\\n  box-shadow: 0 0 0 4px color-mix(in srgb, var(--client) 28%, transparent), 0 6px 16px -4px rgb(0 0 0 / .7);\\n  opacity: 0; transform: scale(.4); transition: opacity .35s ease, transform .45s var(--ease);}\\n.mcs .pins.on .pin{opacity: 1; transform: none;}\\n.mcs .pins.on .pin:nth-child(2){transition-delay: .1s;}\\n.mcs .pins.on .pin:nth-child(3){transition-delay: .2s;}\\n.mcs .pins.on .pin.hl{transform: scale(1.18); transition-delay: 0s; box-shadow: 0 0 0 6px color-mix(in srgb, var(--client) 40%, transparent), 0 6px 16px -4px rgb(0 0 0 / .7);}\\n.mcs .pins.snap .pin{transition: none !important;}\\n.mcs .st-nav{grid-area: nav; align-self: end; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px;}\\n.mcs[data-controls=\"picture\"] .st-nav{align-self: start;}\\n.mcs .st-btn{font: 600 14px/1 \"Inter\", sans-serif; border-radius: 10px; padding: 0 16px; min-height: 44px; cursor: pointer; display: inline-flex; gap: 8px; align-items: center; justify-content: center;\\n  background: transparent; color: var(--fg); border: 1px solid var(--line); transition: background .2s, border-color .2s, opacity .2s;}\\n.mcs .st-btn:hover:not([disabled]){border-color: var(--fg);}\\n.mcs .st-btn.st-prev{padding: 0 16px 0 12px;}\\n.mcs .st-btn.st-next{padding: 0 12px 0 16px;}\\n.mcs .st-btn.primary{background: var(--fg); color: var(--pg); border-color: transparent;}\\n.mcs .st-btn.primary:hover{opacity: .88;}\\n.mcs .st-btn[disabled]{opacity: .4; cursor: default;}\\n.mcs .st-btn svg{width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;}\\n.mcs .st-keys{display: none; margin-left: auto; align-items: center; gap: 4px; font: 400 13px/1 \"Inter\", sans-serif; color: var(--muted); white-space: nowrap;}\\n.mcs .st-keys kbd{font: 600 12px/1 \"Inter\", sans-serif; color: var(--fg); min-width: 22px; height: 22px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-bottom-width: 2px; border-radius: 5px; padding: 0 4px;}\\n.mcs .st-keys kbd + kbd{margin-right: 4px;}\\n@media (hover: hover) and (pointer: fine) and (min-width: 1024px){.mcs .st-keys{display: inline-flex;}}\\n@container (max-width: 900px){.mcs .st-stage, .mcs[data-controls=\"picture\"] .st-stage{grid-template-columns: 1fr; grid-template-areas: \"canvas\" \"text\" \"nav\"; grid-template-rows: none; gap: 18px;}\\n.mcs .st-canvas{width: auto; justify-self: stretch;}\\n.mcs .st-text{padding-top: 0;}\\n.mcs .st-keys{display: none !important;}\\n.mcs .st-btn{min-height: 52px; font-size: 16px; border-radius: 12px;}\\n.mcs .st-btn.st-prev{padding: 0 20px 0 16px;}\\n.mcs .st-btn.st-next{padding: 0 16px 0 20px;}\\n.mcs .st-btn svg{width: 18px; height: 18px;}}\\n@container (max-width: 700px){.mcs-in{padding-block: 48px 56px; gap: 20px; padding-inline: var(--bleed);}\\n.mcs .st-tabs{gap: 4px; overflow: visible; flex-wrap: nowrap; align-items: flex-start;}\\n.mcs .st-tab{min-width: 44px; min-height: 44px; padding: 12px 8px 14px; flex: none;}\\n.mcs .st-tab[aria-current]{flex: 0 1 auto; min-width: 0;}\\n.mcs .st-tab:not([aria-current]) b,.mcs .st-tab:not([aria-current]) small{display: none;}\\n.mcs .st-tab:not([aria-current]) .no{grid-row: auto;}\\n.mcs .st-tab .no{font-size: 14px; line-height: 1.25;}\\n.mcs .st-tab b{font-size: 15px;}\\n.mcs .st-tab small{display: block;}\\n.mcs .st-canvas{margin-inline: calc(-1 * var(--bleed)); border-radius: 0; border-inline: 0;}\\n.mcs .st-btn.primary span{max-width: 12em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}\\n.mcs .pin{width: 22px; height: 22px; font-size: 11px; line-height: 22px; box-shadow: 0 0 0 3px color-mix(in srgb, var(--client) 28%, transparent), 0 4px 10px -2px rgb(0 0 0 / .7);}}\\n@media (prefers-reduced-motion: reduce){.mcs .scene .el, .mcs .scene .el *,.mcs .pin,.mcs .st-tab::after{transition: none !important;}\\n.mcs .st-cap,.mcs .st-notes li{animation: none;}}\\n@media (forced-colors: active){.mcs-logo{background: CanvasText;}\\n.mcs .st-canvas{border: 1px solid CanvasText;}\\n.mcs .pin,.mcs .st-notes li i{border: 1px solid CanvasText;}\\n.mcs .st-tab[aria-current] b{text-decoration: underline;}}\\n.mcs .st-canvas[data-ended] .st-scenes{opacity: .22; transition: opacity .4s ease;}\\n.mcs .st-end{position: absolute; inset: 0; z-index: 4; display: grid; align-content: center; justify-items: start; gap: 8px; padding: clamp(20px, 7%, 56px);\\n  background: linear-gradient(100deg, rgb(13 14 18 / .9) 0 55%, rgb(13 14 18 / .6)); color: #f6f6f6;}\\n.mcs .st-end > *{animation: st-in .5s var(--ease) both;}\\n.mcs .st-end-h{margin: 0; font: 600 clamp(26px, 4cqi, 44px)/1.05 \"Inter Display\", \"Inter\", sans-serif; letter-spacing: -0.04em; text-wrap: balance;}\\n.mcs .st-end-sub{margin: 0; font: 500 16px/1.4 \"Inter\", sans-serif; color: #d4d4d8;}\\n.mcs .st-end .pl-eyebrow{color: color-mix(in srgb, var(--client) 70%, #fff);}\\n.mcs .st-end .st-btn{color: #f6f6f6; border-color: rgb(255 255 255 / .22); text-decoration: none;}\\n.mcs .st-end .st-btn:hover{border-color: #f6f6f6;}\\n.mcs .st-end .st-btn.primary{background: #f6f6f6; color: #111;}\\n.mcs .st-copy[data-ended]{visibility: hidden;}\\n.mcs .lc-poster{all: unset; box-sizing: border-box; position: relative; display: block; cursor: pointer; aspect-ratio: 640 / 460; width: 100%; border-radius: 20px; overflow: hidden;\\n  border: 1px solid rgb(127 127 127 / .2);\\n  background:\\n    radial-gradient(90% 80% at 75% 0%, color-mix(in srgb, var(--client) 30%, transparent), transparent 70%),\\n    linear-gradient(160deg, color-mix(in oklch, #17181e 90%, var(--client)), #111217);\\n  box-shadow: inset 0 1px 0 rgb(255 255 255 / .06), 0 40px 90px -50px color-mix(in srgb, var(--client) 55%, transparent);}\\n.mcs .lc-canvas{position: absolute; inset: 0; display: block; transition: opacity .4s ease;}\\n.mcs .lc-canvas[hidden]{display: none;}\\n.mcs .lc-canvas .scene{pointer-events: none;}\\n.mcs .lc .scene .panel{display: none;}\\n.mcs .lc-play{position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 12px; padding: 8px 18px 8px 8px; border-radius: 999px;\\n  background: #f6f6f6; color: #111; white-space: nowrap; box-shadow: 0 20px 40px -16px rgb(0 0 0 / .8); transition: transform .3s var(--ease);}\\n.mcs .lc-play-i{width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--client); flex: none;}\\n.mcs .lc-play-i svg{width: 16px; height: 16px; fill: #0b0d1a; margin-left: 0;}\\n.mcs .lc-play b{display: block; font: 600 15px/1.2 \"Inter Display\", \"Inter\", sans-serif; letter-spacing: -0.01em;}\\n.mcs .lc-play small{display: block; font: 400 12.5px/1.3 \"Inter\", sans-serif; color: #4b4b52;}\\n.mcs .lc-card:hover .lc-txt b{text-decoration: underline; text-decoration-color: rgb(255 255 255 / .4); text-underline-offset: 4px;}\\n.mcs .lc-canvas{opacity: .5;}\\n.mcs .lc-grid .lc-canvas::after{content: \"\"; position: absolute; inset: 0; background: linear-gradient(to bottom, rgb(9 9 14 / .45) 0%, rgb(9 9 14 / .94) 58%);}\\n.mcs .lc-poster:hover .lc-canvas,.mcs .lc-card:hover .lc-canvas{opacity: .62;}\\n.mcs .lc-poster:focus-visible,.mcs .lc-card:focus-visible{outline: 2px solid var(--fg); outline-offset: 4px;}\\n.mcs .lc-grid{margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(16px, 2.5cqi, 32px);}\\n.mcs .lc-card{all: unset; box-sizing: border-box; display: block; width: 100%; cursor: pointer; border-radius: 22px;}\\n.mcs .lc-card .lc-play{padding: 6px 14px 6px 6px; gap: 10px;}\\n.mcs .lc-card .lc-play-i{width: 34px; height: 34px;}\\n.mcs .lc-meta{position: absolute; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: baseline;\\n  padding: 48px 18px 16px; background: linear-gradient(to top, rgb(10 11 15 / .92), rgb(10 11 15 / .6) 60%, transparent); text-align: left;}\\n.mcs .lc-meta .no{font: 600 13px/1 \"Inter\", sans-serif; color: color-mix(in srgb, var(--client) 70%, #fff); font-variant-numeric: tabular-nums;}\\n.mcs .lc-txt b{display: block; font: 600 17px/1.25 \"Inter Display\", \"Inter\", sans-serif; letter-spacing: -0.015em; color: #f6f6f6; text-wrap: balance;}\\n.mcs .lc-txt small{display: block; margin-top: 4px; font: 400 13px/1.35 \"Inter\", sans-serif; color: #c9c9d1;}\\n.mcs .lc-card .lc-play{top: 42%;}\\n.mcs .lc-tabs{display: grid; gap: 20px;}\\n.mcs .lc-tabs .lc-poster{width: min(100%, calc((100svh - 220px) * 640 / 460));}\\n@container (max-width: 700px){.mcs .lc-tabs .lc-poster{margin-inline: calc(-1 * var(--bleed)); border-radius: 0; border-inline: 0;}}\\n.mcs .pl-dialog{position: fixed; inset: 0; width: 100vw; height: 100vh; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; overflow: hidden;\\n  background: #0b0c10; color: #f6f6f6; overscroll-behavior: contain;}\\n.mcs .pl-dialog::backdrop{background: rgb(0 0 0 / .7);}\\n.mcs .pl-dialog[open]{animation: pl-in .35s var(--ease);}\\n@keyframes pl-in{ from { opacity: 0; transform: scale(.985); } }\\n.mcs .pl{--fg: #f6f6f6; --muted: #b4b4bc; --line: rgb(255 255 255 / .16); --pg: color-mix(in oklch, var(--client) 16%, #08090c);\\n  position: relative; height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; container-type: size; container-name: pl;\\n  background: var(--pg);}\\n.mcs .pl :focus-visible{outline: 2px solid #f6f6f6; outline-offset: 3px; border-radius: 8px;}\\n.mcs .pl-top{display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 18px 24px 8px; position: relative; z-index: 2;}\\n.mcs .pl-id{display: flex; align-items: center; gap: 16px; min-width: 0;}\\n.mcs .pl-id .pl-where{padding-left: 16px; border-left: 1px solid var(--line);}\\n.mcs .pl-logo{background: #f6f6f6;}\\n.mcs .pl-where{margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; font: 400 13px/1.3 \"Inter\", sans-serif; color: var(--muted);}\\n.mcs .pl-where b{font: 600 16px/1.3 \"Inter Display\", \"Inter\", sans-serif; color: #f6f6f6;}\\n.mcs .pl-count{white-space: nowrap; font-variant-numeric: tabular-nums;}\\n.mcs .pl-x{all: unset; box-sizing: border-box; flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; cursor: pointer; color: var(--muted); transition: color .2s, background .2s;}\\n.mcs .pl-x:hover{color: #f6f6f6; background: rgb(255 255 255 / .08);}\\n.mcs .pl-x svg{width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round;}\\n.mcs .pl-top[data-page]{justify-content: flex-start; align-items: center;}\\n.mcs .pl-back{flex: none; margin: 0 0 0 -6px;}\\n.mcs .pl:focus{outline: none;}\\n.mcs .pl-main{position: relative; min-height: 0; padding: 8px clamp(16px, 3cqw, 48px); overflow-x: clip;}\\n.mcs .pl-stage{height: 100%; min-height: 0; display: grid; place-items: center; container-type: size;}\\n.mcs .pl-canvas{position: relative; width: min(100cqw, 100cqh * 640 / 460); aspect-ratio: 640 / 460; user-select: none; -webkit-user-select: none;}\\n.mcs .pl-canvas .st-scenes{transition: opacity .5s ease;}\\n.mcs .pl-main:not([data-phase=\"step\"]) .pl-canvas .st-scenes{opacity: .22;}\\n.mcs .pl-narrator{position: fixed; left: 0; top: 0; z-index: 4; width: min(25rem, calc(100vw - 32px)); display: grid; grid-template-columns: 3.5rem 1fr; gap: .875rem; align-items: end;\\n  visibility: hidden; pointer-events: none; transition: opacity .3s ease;}\\n.mcs .pl-narrator[data-ready]{visibility: visible;}\\n.mcs .pl-narrator[data-moving]{transition: left .7s var(--ease), top .7s var(--ease), opacity .3s ease;}\\n.mcs .pl-narrator[data-centre]{width: min(37.5rem, calc(100vw - 32px)); grid-template-columns: 4.5rem 1fr;}\\n.mcs .pl-narrator[data-centre] .pl-avatar{width: 4.5rem; height: 4.5rem;}\\n.mcs .pl-narrator[data-centre] p.pl-say.framer-text{--framer-font-size: clamp(1.25rem, 2.2cqw, 1.625rem);}\\n.mcs .pl-avatar{width: 3.5rem; height: 3.5rem; border-radius: 50%; object-fit: cover; object-position: top center; display: block;\\n  background: radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--client) 55%, #fff), var(--client)); border: 2px solid #f6f6f6; box-shadow: 0 12px 24px -12px rgb(0 0 0 / .8);}\\n.mcs .pl-bubble{position: relative; background: #f6f6f6; color: #111; border-radius: 1rem; padding: 1rem 1.125rem; filter: drop-shadow(0 1px 1px rgb(16 18 40 / .12)) drop-shadow(0 2px 3px rgb(16 18 40 / .12)) drop-shadow(0 6px 10px rgb(16 18 40 / .14)) drop-shadow(0 14px 24px rgb(16 18 40 / .18)) drop-shadow(0 28px 48px rgb(16 18 40 / .24)); pointer-events: auto;}\\n.mcs .pl-bubble::before{content: \"\"; position: absolute; left: -9px; bottom: 18px; width: 10px; height: 18px; background: inherit; clip-path: polygon(100% 0, 0 50%, 100% 100%);}\\n.mcs .pl-words{animation: pl-words .4s var(--ease) .08s both;}\\n.mcs .pl-clip{overflow: hidden; height: 100%;}\\n.mcs .pl-main[data-board] .pl-words{width: var(--tw, auto); max-width: none;}\\n.mcs .pl-measure{position: absolute; left: 0; top: 0; visibility: hidden; pointer-events: none;}\\n.mcs .pl-main[data-board] .pl-bubble{transform-origin: 0 calc(100% - 27px);}\\n@keyframes pl-words{ from { opacity: 0; transform: translateY(6px); } }\\n.mcs .pl-bubble p.pl-say.framer-text{margin: 0; --framer-text-color: #111; text-wrap: pretty;}\\n.mcs .pl-say .pl-num{font: 700 1.25em/1 \"Inter Display\", \"Inter\", sans-serif; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; color: color-mix(in oklch, var(--client) 60%, #000); white-space: nowrap;}\\n.mcs .pl-say .pl-num[data-warn]{color: #c4202f;}\\n.mcs .pl-say strong{font-weight: 650; color: #000;}\\n.mcs .pl-say a{color: inherit; text-decoration: underline; text-decoration-color: color-mix(in oklch, var(--client) 60%, #000); text-underline-offset: 3px; pointer-events: auto;}\\n.mcs .pl .scene .panel{display: none;}\\n.mcs .pl-pins{pointer-events: none;}\\n.mcs .pl-pins .pl-pin{all: unset; pointer-events: auto; cursor: pointer; position: absolute; left: 0; top: 0; width: 18px; height: 18px; border-radius: 50%; box-sizing: border-box;\\n  background: var(--client); border: 3px solid #f6f6f6; box-shadow: 0 4px 12px -2px rgb(0 0 0 / .7);\\n  opacity: 0; transform: scale(.4); transition: opacity .35s ease, transform .45s var(--ease);}\\n.mcs .pl-pins.on .pl-pin{opacity: 1; transform: none;}\\n.mcs .pl-pins .pl-pin::after{content: \"\"; position: absolute; inset: -3px; border-radius: 50%; border: 2px solid var(--client); opacity: 0;}\\n.mcs .pl-pins.on .pl-pin::after{animation: pl-ping 2.4s ease-out .4s 2;}\\n@keyframes pl-ping{ 0% { opacity: .9; transform: scale(1); } 70%, 100% { opacity: 0; transform: scale(2.4); } }\\n.mcs .pl-pins.on .pl-pin:hover,.mcs .pl-pins.on .pl-pin.hl{transform: scale(1.25);}\\n.mcs .pl-pins .pl-pin:focus-visible{outline: 2px solid #f6f6f6; outline-offset: 5px; border-radius: 50%;}\\n.mcs .pl-pins .pl-pin::before{content: \"\"; position: absolute; inset: -13px; border-radius: 50%;}\\n.mcs .pl-tip{position: fixed; left: 0; top: 0; z-index: 10; max-width: min(320px, calc(100vw - 32px)); padding: 12px 14px; border-radius: 12px;\\n  background: #f6f6f6; color: #111; font: 500 15px/1.45 \"Inter\", sans-serif; filter: drop-shadow(0 1px 1px rgb(16 18 40 / .12)) drop-shadow(0 2px 3px rgb(16 18 40 / .12)) drop-shadow(0 6px 10px rgb(16 18 40 / .14)) drop-shadow(0 14px 24px rgb(16 18 40 / .18)) drop-shadow(0 28px 48px rgb(16 18 40 / .24));  pointer-events: auto; animation: pl-tip .2s var(--ease);}\\n@keyframes pl-tip{ from { opacity: 0; transform: translateY(4px); } }\\n.mcs .pl-card{position: absolute; z-index: 5; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(560px, calc(100% - 32px)); display: grid; justify-items: start; gap: 10px;\\n  padding: clamp(24px, 4cqw, 40px); border-radius: 24px; background: color-mix(in oklch, var(--pg) 88%, #000); border: 1px solid var(--line); box-shadow: 0 40px 80px -40px rgb(0 0 0 / .9);}\\n.mcs .pl-card > *{animation: st-in .5s var(--ease) both;}\\n.mcs .pl-eyebrow{margin: 0; font: 600 12px/1.3 \"Inter\", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: color-mix(in srgb, var(--client) 70%, #fff);}\\n.mcs .pl-h{margin: 0; font: 600 clamp(28px, 4cqw, 48px)/1.05 \"Inter Display\", \"Inter\", sans-serif; letter-spacing: -0.04em; color: #f6f6f6; text-wrap: balance;}\\n.mcs .pl-out,.mcs .pl-sub{margin: 0; font: 500 clamp(16px, 1.5cqw, 19px)/1.4 \"Inter\", sans-serif; color: #d4d4d8;}\\n.mcs .pl-how{margin: 14px 0 0; padding-top: 16px; border-top: 1px solid var(--line); width: 100%; display: flex; align-items: center; gap: 12px; font: 400 14.5px/1.45 \"Inter\", sans-serif; color: var(--muted);}\\n.mcs .pl-dot{flex: none; position: relative; width: 18px; height: 18px; border-radius: 50%; background: var(--client); border: 3px solid #f6f6f6; box-sizing: border-box;}\\n.mcs .pl-dot::after{content: \"\"; position: absolute; inset: -3px; border-radius: 50%; border: 2px solid var(--client); animation: pl-ping 2.4s ease-out .6s infinite;}\\n.mcs .pl-acts{display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px;}\\n.mcs .pl .st-btn{color: #f6f6f6; border-color: rgb(255 255 255 / .22); text-decoration: none;}\\n.mcs .pl .st-btn:hover:not([disabled]){border-color: #f6f6f6;}\\n.mcs .pl .st-btn.primary{background: #f6f6f6; color: #111;}\\n.mcs .pl .st-btn.ghost,.mcs .st-end .st-btn.ghost{border-color: transparent; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgb(255 255 255 / .35);}\\n.mcs .pl .st-btn.ghost:hover,.mcs .st-end .st-btn.ghost:hover{border-color: transparent; background: rgb(255 255 255 / .08); text-decoration-color: currentColor;}\\n.mcs .pl-foot{position: relative; z-index: 2; display: flex; align-items: center; justify-content: flex-end; gap: 16px; padding: 12px 24px 44px;}\\n.mcs .pl-nav{display: grid; grid-template-columns: 1fr 1fr; gap: 8px;}\\n.mcs .pl-b{min-width: 128px;}\\n.mcs .pl-strip{position: absolute; left: 24px; right: 24px; bottom: 12px; display: flex; align-items: center; gap: 16px; pointer-events: none;}\\n.mcs .pl-progress{flex: 1; height: 4px; border-radius: 2px; overflow: hidden; background: color-mix(in srgb, var(--fg) 12%, transparent);}\\n.mcs .pl-strip .pl-count{font: 500 13px/16px \"Inter\", sans-serif; color: var(--muted);}\\n.mcs .pl-progress i{display: block; height: 100%; background: var(--client); transform-origin: left; transition: transform .6s var(--ease);}\\n.mcs .pl-hints{margin-right: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px;}\\n.mcs .pl .st-keys{margin: 0;}\\n.mcs .pl-foot .pl-how{margin: 0; padding: 0; border: 0; width: auto; font-size: 13.5px; gap: 10px;}\\n@container pl ((max-aspect-ratio: 1 / 1) or (max-width: 47.5rem)){.mcs .pl-top{padding: 12px 8px 4px 16px;}\\n.mcs .pl-main{padding: 0; display: flex; flex-direction: column; justify-content: flex-start; gap: clamp(16px, 4cqh, 40px); overflow-x: hidden; overflow-y: auto;}\\n.mcs .pl-main > .pl-narrator{margin-top: auto;}\\n.mcs .pl-main > .pl-stage{margin-bottom: auto;}\\n.mcs .pl-narrator{position: relative; left: auto !important; top: auto !important; width: auto; margin: 0 16px; grid-template-columns: 2.75rem 1fr; gap: .625rem; visibility: visible; flex: none;}\\n.mcs .pl-avatar{width: 2.75rem; height: 2.75rem;}\\n.mcs .pl-bubble p.pl-say.framer-text{--framer-font-size: 1.125rem; --framer-line-height: 1.45em;}\\n.mcs .pl-stage{height: auto; flex: none; display: block; container-type: inline-size;}\\n.mcs .pl-canvas{width: 100%;}\\n.mcs .pl-id{display: grid; gap: 8px;}\\n.mcs .pl-id .pl-logo{position: absolute; width: 1px !important; height: 1px !important; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0);}\\n.mcs .pl-id .pl-where{padding-left: 0; border-left: 0;}\\n.mcs .pl-foot{padding: 8px 16px 52px; flex-wrap: wrap;}\\n.mcs .pl-strip{left: 16px; right: 16px; bottom: 16px;}\\n.mcs .pl-hints{width: 100%;}\\n.mcs .pl-nav{width: 100%;}\\n.mcs .pl-b{min-width: 0; min-height: 48px; font-size: 16px;}}\\n@media (max-width: 375px){.mcs .pl-bubble p.pl-say.framer-text{--framer-font-size: 1rem; --framer-line-height: 1.45em;}\\n.mcs .pl-narrator[data-centre] p.pl-say.framer-text{--framer-font-size: 1.125rem;}}\\n@media (prefers-reduced-motion: reduce){.mcs .pl-dialog[open],.mcs .pl-words,.mcs .pl-card > *,.mcs .pl-tip,.mcs .pl-pins.on .pl-pin::after,.mcs .pl-dot::after{animation: none;}\\n.mcs .pl-pins .pl-pin,.mcs .pl-progress i,.mcs .lc-play,.mcs .lc-go,.mcs .lc-canvas .st-scenes,.mcs .pl-narrator,.mcs .pl-narrator[data-moving],.mcs .pl-bubble{transition: none;}}\\n@media (forced-colors: active){.mcs .pl-bubble,.mcs .pl-tip,.mcs .lc-play,.mcs .pl-card{border: 1px solid CanvasText;}\\n.mcs .pl-pins .pl-pin,.mcs .pl-dot{border-color: CanvasText;}}\\n.mcs .bd-host{position: absolute; inset: 0; overflow: hidden; user-select: none; -webkit-user-select: none;}\\n.mcs .bd-host .st-drag{position: absolute; inset: 0;}\\n.mcs .bd{position: absolute; left: 0; top: 0; transform-origin: 0 0; animation: bd-in .45s var(--ease) both;}\\n@keyframes bd-in{ from { opacity: 0; } }\\n.mcs .bd-img,.mcs .bd-tint{position: absolute; display: block; max-width: none;}\\n.mcs .bd-img{object-fit: cover;}\\n.mcs .bd-img.bd-bleed{object-fit: fill; box-shadow: none; border-radius: 0;}\\n.mcs .bd-clip{position: absolute; overflow: hidden;}\\n.mcs .bd-crop{position: absolute; overflow: hidden;}\\n.mcs{--sh-box-sm: 0 6px 16px -4px rgb(0 0 0 / .45); --sh-box-md: 0 16px 40px -12px rgb(0 0 0 / .6); --sh-box-lg: 0 40px 80px -40px rgb(0 0 0 / .9);\\n  --sh-shape-sm: drop-shadow(0 4px 8px rgb(0 0 0 / .35)); --sh-shape-md: drop-shadow(0 10px 16px rgb(0 0 0 / .45)); --sh-shape-lg: drop-shadow(0 20px 24px rgb(0 0 0 / .5));}\\n.mcs .bd-sh-box-sm{box-shadow: var(--sh-box-sm);}\\n.mcs .bd-sh-box-md{box-shadow: var(--sh-box-md);}\\n.mcs .bd-sh-box-lg{box-shadow: var(--sh-box-lg);}\\n.mcs .bd-sh-shape-sm{filter: var(--sh-shape-sm);}\\n.mcs .bd-sh-shape-md{filter: var(--sh-shape-md);}\\n.mcs .bd-sh-shape-lg{filter: var(--sh-shape-lg);}\\n.mcs .bd-img.bd-dim,.mcs .bd-crop.bd-dim{box-shadow: none; filter: none;}\\n.mcs .bd-in{position: absolute;}\\n.mcs .bd-pin{margin: -13px 0 0 -13px;}\\n.mcs .pl-pins .bd-pin{margin: -9px 0 0 -9px;}\\n.mcs .st-canvas[data-ended] .bd-host{opacity: .22; transition: opacity .4s ease;}\\n.mcs .pl-main[data-board]{padding: 0; overflow: hidden;}\\n.mcs .pl-main[data-board] .pl-stage{position: absolute; inset: 0; height: auto; display: block;}\\n.mcs .pl-main[data-board] .pl-canvas.bd-host{position: absolute; inset: 0; width: auto; aspect-ratio: auto;}\\n.mcs .pl-main[data-board]:not([data-phase=\"step\"]) .bd{opacity: .22; transition: opacity .5s ease;}\\n.mcs .pl-main[data-board] .pl-narrator{position: absolute !important; left: var(--nx, 0) !important; top: var(--ny, 0) !important; width: var(--nw, 25rem) !important; margin: 0 !important; z-index: 4;}\\n.mcs .pl-main[data-board] .pl-narrator[data-anchor=\"bottom\"]{top: auto !important; bottom: var(--nb, 0) !important;}\\n.mcs .pl-main[data-board] .pl-narrator[data-moving]{transition: left .45s var(--ease), top .45s var(--ease), bottom .45s var(--ease);}\\n.mcs .pl-main[data-board] .pl-words{animation-delay: .15s;}\\n.mcs .lc-spot{position: relative; aspect-ratio: 640 / 460; width: min(100%, calc((100svh - 240px) * 640 / 460)); margin-inline: auto;}\\n.mcs .lc-dim{position: absolute; inset: 0; opacity: .3; transition: opacity .4s ease; pointer-events: none;}\\n.mcs .lc-dim .lc-canvas{opacity: 1;}\\n.mcs .lc-hit{all: unset; position: absolute; inset: 0; z-index: 3; cursor: pointer; border-radius: 20px;}\\n.mcs .lc-spot:has(.lc-hit:hover) .lc-dim{opacity: .42;}\\n.mcs .lc-hit:focus-visible{outline: 2px solid var(--fg); outline-offset: -4px;}\\n.mcs .lc-play-big{padding: 10px 24px 10px 10px; gap: 14px; max-width: calc(100% - 32px);}\\n.mcs .lc-play-big .lc-play-i{width: 52px; height: 52px;}\\n.mcs .lc-play-big .lc-play-i svg{width: 20px; height: 20px;}\\n.mcs .lc-play-big b{font-size: 18px; line-height: 1.25;}\\n.mcs .lc-play-big small{font-size: 14px; margin-top: 2px;}\\n.mcs .lc-track{display: flex; gap: clamp(16px, 2.5cqi, 32px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;}\\n.mcs .lc-track::-webkit-scrollbar{display: none;}\\n.mcs .lc-track .lc-spot{flex: none; width: min(86%, calc((100svh - 240px) * 640 / 460)); margin: 0; scroll-snap-align: start;}\\n.mcs .lc-tile{all: unset; box-sizing: border-box; position: relative; display: block; width: 100%; aspect-ratio: 640 / 460; cursor: pointer; border-radius: 20px; overflow: hidden;\\n  border: 1px solid rgb(238 238 238 / .38); background: linear-gradient(160deg, color-mix(in oklch, #17181e 90%, var(--client)), #111217);\\n  box-shadow: inset 0 1px 0 rgb(255 255 255 / .06), 0 40px 90px -50px color-mix(in srgb, var(--client) 55%, transparent);}\\n.mcs .lc-tile .lc-canvas{opacity: 1;}\\n.mcs .lc-tile-meta{position: absolute; inset: 0; display: flex; align-items: flex-end; gap: 12px; padding: 0 18px 16px;\\n  background: linear-gradient(to top, rgb(10 11 15 / .9), rgb(10 11 15 / .7) 23%, rgb(10 11 15 / 0));}\\n.mcs .lc-tile-meta .lc-txt{flex: 1; min-width: 0;}\\n.mcs .lc-round{flex: none; width: 48px; height: 48px; border-radius: 50%; padding: 2.5px; background: #f6f6f6; box-shadow: 0 20px 40px -16px rgb(0 0 0 / .8); transition: transform .3s var(--ease);}\\n.mcs .lc-round .lc-play-i{width: 100%; height: 100%;}\\n.mcs .lc-tile:hover .lc-txt b{text-decoration: underline; text-decoration-color: rgb(255 255 255 / .4); text-underline-offset: 4px;}\\n.mcs .lc-tile:focus-visible{outline: 2px solid var(--fg); outline-offset: 4px;}\\n.mcs[data-play=\"neutral\"] .lc-play-i{background: #111;}\\n.mcs[data-play=\"neutral\"] .lc-play-i svg{fill: #f6f6f6;}\\n.mcs .lc-board{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; display: block;}\\n@media (prefers-reduced-motion: reduce){.mcs .bd{animation: none;}}\\n.mcs .pl-main:not([data-phase=\"step\"]) .pl-narrator{opacity: .22; pointer-events: none; transition: opacity .4s ease;}\\n.mcs button, .mcs .st-btn, .mcs .st-tab, .mcs .st-keys, .mcs .lc-count, .mcs .pl-where, .mcs .pl-count, .mcs kbd{-webkit-user-select: none; user-select: none;}\\n.mcs .pl-av{position: relative; display: block; align-self: end; pointer-events: auto;}\\n.mcs .pl-narrator{translate: var(--dx, 0px) var(--dy, 0px);}\\n.mcs .pl-grip{all: unset; position: absolute; left: -1.375rem; top: -.25rem; z-index: 2; width: 1.125rem; height: 1.75rem; display: grid; place-items: center; border-radius: 6px;\\n  background: rgb(246 246 246 / .92); color: #4b4b52; box-shadow: 0 4px 12px -4px rgb(0 0 0 / .6); cursor: grab; touch-action: none; pointer-events: auto;\\n  opacity: 0; transform: scale(.85); transition: opacity .2s ease, transform .2s ease;}\\n.mcs .pl-grip svg{width: .5rem; height: .8rem; fill: currentColor;}\\n.mcs .pl-main[data-phase=\"step\"] .pl-narrator{cursor: grab; touch-action: none;}\\n.mcs .pl-main[data-phase=\"step\"] .pl-narrator a{cursor: pointer;}\\n.mcs .pl-grip{pointer-events: none !important;}\\n.mcs .pl-grip:focus-visible{opacity: 1; transform: none;}\\n.mcs .pl-grip:hover{color: #111;}\\n.mcs .pl-grip:focus-visible{outline: 2px solid var(--client); outline-offset: 2px;}\\n.mcs .pl-narrator[data-dragging],.mcs .pl-narrator[data-dragging] .pl-grip{cursor: grabbing;}\\n/* Held: the grabbing hand from the press until release, wherever the pointer goes (text and the stage included) */\\nhtml[data-mcs-grabbing],html[data-mcs-grabbing] *{cursor: grabbing !important;}\\n.mcs .pl-narrator[data-dragging] .pl-bubble{filter: drop-shadow(0 2px 3px rgb(16 18 40 / .14)) drop-shadow(0 14px 24px rgb(16 18 40 / .22)) drop-shadow(0 40px 64px rgb(16 18 40 / .3));}\\n.mcs .pl-main:not([data-phase=\"step\"]) .pl-grip{display: none;}\\n.mcs .lc-rail{overflow: visible;}\\n.mcs .lc-track .lc-spot{border: 1px solid rgb(255 255 255 / .09); border-radius: 20px; overflow: hidden;\\n  background:\\n    radial-gradient(90% 80% at 75% 0%, color-mix(in srgb, var(--client) 13%, transparent), transparent 70%),\\n    radial-gradient(60% 60% at 0% 100%, color-mix(in srgb, var(--client) 6%, transparent), transparent 70%),\\n    linear-gradient(160deg, color-mix(in oklch, #15161b 94%, var(--client)), #111217);\\n  box-shadow: inset 0 1px 0 rgb(255 255 255 / .04);}\\n.mcs .lc-carousel .lc-rail{margin-top: clamp(20px, 2.5cqi, 32px);}\\n.mcs .lc-track[data-dragging]{scroll-snap-type: none; cursor: grabbing;}\\n.mcs .lc-track[data-dragging] .lc-hit{cursor: grabbing;}\\n.mcs .lc-arrows{display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 16px;}\\n.mcs .lc-arrow{width: 44px; height: 44px; padding: 0; justify-content: center; border-radius: 999px;}\\n.mcs .lc-arrow svg{width: 18px; height: 18px;}\\n.mcs .lc-count{font: 500 13px/1 \"Inter\", sans-serif; color: var(--muted); font-variant-numeric: tabular-nums; min-width: 3.5em; text-align: center;}\\n.mcs .lc-foil{--g: 0; --mx: 50%; --my: 50%; --px: 50%; --py: 50%; --tx: 0px; --ty: 0px;\\n  --c1: oklch(80% .17 205.8); --c2: oklch(82% .16 257.2); --c3: oklch(84% .15 308.6); --c4: oklch(83% .15 0);\\n  --c5: oklch(80% .16 51.4); --c6: oklch(78% .17 102.8); --c7: oklch(80% .17 154.2);\\n  --fb-glitter: url(\"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22150%22%20height%3D%22150%22%3E%3Cfilter%20id%3D%22g%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%221.1%22%20numOctaves%3D%221%22%20seed%3D%224%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3CfeComponentTransfer%3E%3CfeFuncR%20type%3D%22discrete%22%20tableValues%3D%220%200%200%200%200%200%200%200%200%201%22%2F%3E%3CfeFuncG%20type%3D%22discrete%22%20tableValues%3D%220%200%200%200%200%200%200%200%200%201%22%2F%3E%3CfeFuncB%20type%3D%22discrete%22%20tableValues%3D%220%200%200%200%200%200%200%200%200%201%22%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23g%29%22%2F%3E%3C%2Fsvg%3E\");\\n  isolation: isolate; overflow: hidden;\\n  background: linear-gradient(135deg, #f7f8fa, #e3e6ec 55%, #d3d7df);\\n  box-shadow: inset 0 0 0 1px rgb(0 0 0 / .1), inset 0 1px 0 rgb(255 255 255 / .9), 0 20px 40px -16px rgb(0 0 0 / .8);}\\n.mcs .lc-play.lc-foil{transform: translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(calc((1 + min(var(--g), 1) * .05) * var(--press, 1))); transition: none;}\\n.mcs .lc-round.lc-foil{position: relative; translate: var(--tx) var(--ty); transform: scale(calc((1 + min(var(--g), 1) * .06) * var(--press, 1))); transition: none;}\\n.mcs .lc-foil > i{position: absolute; inset: 0; pointer-events: none; border-radius: inherit;}\\n.mcs .lc-foil .fb-shine{z-index: 2;\\n  background-image:\\n    repeating-linear-gradient(0deg, var(--c1) 0%, var(--c2) 4.5%, var(--c3) 9%, var(--c4) 13.5%, var(--c5) 18%, var(--c6) 22.5%, var(--c7) 27%, var(--c1) 31.5%),\\n    repeating-linear-gradient(126deg, #0e152e 0%, oklch(68% 0.03 210) 3.8%, oklch(76% 0.06 200) 4.5%, oklch(68% 0.03 210) 5.2%, #0e152e 10%, #0e152e 12%),\\n    radial-gradient(farthest-corner circle at var(--mx) var(--my), oklch(100% 0 0 / .1) 12%, oklch(0% 0 0 / .18) 30%, oklch(0% 0 0 / .45) 120%);\\n  background-size: 200% 700%, 300% 300%, 200% 200%;\\n  background-position: 0% var(--py), var(--px) var(--py), center;\\n  background-blend-mode: soft-light, hard-light, normal;\\n  mix-blend-mode: overlay; opacity: calc(var(--g) * .9); filter: brightness(calc(.9 + var(--g) * .3)) contrast(1.8) saturate(1.6);}\\n.mcs .lc-foil .fb-glitter{z-index: 2; background-image: var(--fb-glitter); background-size: 150px 150px; background-position: calc(var(--px) * 2) calc(var(--py) * 2);\\n  mix-blend-mode: overlay; opacity: calc(var(--g) * .7); filter: brightness(1.2);}\\n.mcs .lc-foil .fb-glare{z-index: 4; background: radial-gradient(farthest-corner circle at var(--mx) var(--my), oklch(100% 0 0 / .8) 6%, oklch(100% 0 0 / .4) 22%, oklch(0% 0 0 / .5) 95%);\\n  mix-blend-mode: soft-light; opacity: calc(var(--g) * .7);}\\n.mcs .lc-foil > .lc-play-i,.mcs .lc-foil > span:not(.lc-play-i){position: relative; z-index: 6;}\\n.mcs .lc-foil b{text-shadow: 0 1px 0 rgb(255 255 255 / .6);}\\n@media (prefers-reduced-motion: reduce){.mcs .lc-play.lc-foil,.mcs .lc-round.lc-foil{--tx: 0px; --ty: 0px;}}\\n.mcs [data-wake]:active .lc-foil,.mcs .lc-hit:active .lc-foil,.mcs .lc-card:active .lc-foil{--press: .97;}\\n.mcs .lc-pulse{position: absolute; z-index: 7; pointer-events: none; border-radius: 999px; padding: 2px; box-sizing: border-box;\\n  background: conic-gradient(from 0deg, oklch(80% .17 205.8), oklch(84% .15 308.6), oklch(80% .16 51.4), oklch(80% .17 154.2), oklch(80% .17 205.8));\\n  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;\\n  animation: lc-pulse .65s cubic-bezier(.2, .7, .3, 1) forwards;}\\n@keyframes lc-pulse{ from { transform: none; opacity: 1; } to { transform: scale(var(--sx), var(--sy)); opacity: 0; } }\\n@media (forced-colors: active){.mcs .lc-pulse,.mcs .lc-foil > i{display: none;}}\\n.mcs .lc-frame{position: absolute; inset: 0; animation: lc-frame-in .9s var(--ease) both;}\\n.mcs .lc-frame[data-out]{animation: lc-frame-out .9s var(--ease) both;}\\n@keyframes lc-frame-in{ from { opacity: 0; transform: scale(1.015); } }\\n@keyframes lc-frame-out{ to { opacity: 0; } }\\n.mcs .lc-reel{position: absolute; left: 20px; right: 20px; bottom: 16px; z-index: 4; display: flex; gap: 4px; pointer-events: none;}\\n.mcs .lc-reel i{flex: 1; height: 3px; border-radius: 3px; background: color-mix(in srgb, var(--fg) 14%, transparent); overflow: hidden; position: relative;}\\n.mcs .lc-reel i::after{content: \"\"; position: absolute; inset: 0; background: color-mix(in srgb, var(--fg) 70%, transparent); transform-origin: left; transform: scaleX(0);}\\n.mcs .lc-reel i[data-on=\"done\"]::after{transform: none;}\\n.mcs .lc-reel i[data-on=\"now\"]::after{animation: lc-reel var(--beat) linear forwards;}\\n.mcs .lc-reel[data-paused] i[data-on=\"now\"]::after{animation-play-state: paused;}\\n@keyframes lc-reel{ to { transform: none; } }\\n@media (prefers-reduced-motion: reduce){.mcs .lc-frame{animation-name: lc-frame-fade; animation-duration: 1.2s;}\\n@keyframes lc-frame-fade{ from { opacity: 0; } }}\\n.mcs .lc-play-big b,.mcs .lc-play-big small{white-space: normal; text-wrap: balance;}\\n@container (max-width: 47.5rem){.mcs .lc-track .lc-spot{width: 86%;}\\n.mcs .lc-play-big{padding: 8px 18px 8px 8px; gap: 12px; width: max-content; max-width: calc(100% - 24px);}\\n.mcs .lc-play-big .lc-play-i{width: 44px; height: 44px;}\\n.mcs .lc-play-big b{font-size: 16px;}\\n.mcs .lc-play-big small{font-size: 13px;}\\n.mcs .lc-reel{left: 14px; right: 14px; bottom: 12px;}}\\n.mcs .pl-main[data-board=\"p\"] .pl-grip{left: -.5rem;}\\n.mcs[data-flush] .mcs-in{padding-inline: 0;}\\n.mcs[data-launcher=\"carousel\"]{overflow: visible;}\\n.mcs .lc-carousel .lc-track{margin-right: calc(-1 * var(--to-edge, 0px)); padding-right: var(--to-edge, 0px); scroll-padding-left: 0;}\\n.mcs[data-surface=\"light\"] .lc-track .lc-spot, .mcs[data-surface=\"light\"] .lc-preview .lc-spot{border-color: rgb(0 0 0 / .08);\\n  background:\\n    radial-gradient(90% 80% at 75% 0%, color-mix(in srgb, var(--client) 12%, transparent), transparent 70%),\\n    radial-gradient(60% 60% at 0% 100%, color-mix(in srgb, var(--client) 6%, transparent), transparent 70%),\\n    linear-gradient(160deg, #f7f7f9, #eceef3);\\n  box-shadow: inset 0 1px 0 rgb(255 255 255 / .8);}\\n.mcs[data-surface=\"light\"] .lc-spot .lc-dim{opacity: .38;}\\n.mcs[data-surface=\"light\"] .lc-spot:has(.lc-hit:hover) .lc-dim{opacity: .5;}\\n.mcs[data-surface=\"light\"] .lc-spot .lc-reel i{background: rgb(0 0 0 / .1);}\\n.mcs[data-surface=\"light\"] .lc-spot .lc-reel i::after{background: rgb(17 17 17 / .6);}\\n.mcs[data-surface=\"light\"] .lc-spot .lc-foil{background: linear-gradient(135deg, #454a5a, #1d2029 55%, #15171d); color: #fff;\\n  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .1), inset 0 1px 0 rgb(255 255 255 / .18), 0 20px 40px -16px rgb(17 18 23 / .55);}\\n.mcs[data-surface=\"light\"] .lc-spot .lc-foil b{color: #fff; text-shadow: 0 1px 2px rgb(0 0 0 / .5);}\\n.mcs[data-surface=\"light\"] .lc-spot .lc-foil small{color: rgb(255 255 255 / .72);}\\n.mcs[data-surface=\"light\"] .lc-spot .lc-foil .lc-play-i{background: #f6f6f6;}\\n.mcs[data-surface=\"light\"] .lc-spot .lc-foil .lc-play-i svg{fill: #111;}\\n.mcs[data-surface=\"dark\"] .lc-track .lc-spot{border-color: rgb(255 255 255 / .09);}\\n.mcs .lc-track .lc-spot .lc-dim{opacity: .14; transition: opacity .6s var(--ease);}\\n.mcs .lc-track .lc-spot[data-on] .lc-dim{opacity: .42;}\\n.mcs .lc-track .lc-spot[data-on]:has(.lc-hit:hover) .lc-dim{opacity: .52;}\\n.mcs .lc-track .lc-spot:not([data-on]) .lc-play{opacity: .6; transition: opacity .6s var(--ease);}\\n.mcs .lc-track .lc-spot[data-on] .lc-play{opacity: 1; transition: opacity .6s var(--ease);}\\n@media not (prefers-color-scheme: dark){.mcs .pl{--fg: #141416; --muted: #5c5c66; --line: rgb(0 0 0 / .12); --pg: color-mix(in oklch, var(--client) 7%, #f6f6f8);}\\n.mcs .pl-dialog::backdrop{background: rgb(240 240 244 / .7);}\\n.mcs .pl :focus-visible{outline-color: #141416;}\\n.mcs .pl-logo{background: #141416;}\\n.mcs .pl-where b,.mcs .pl-h{color: #141416;}\\n.mcs .pl-x:hover{color: #141416; background: rgb(0 0 0 / .06);}\\n.mcs .pl-bubble{background: #fff; filter: drop-shadow(0 1px 1px rgb(16 18 40 / .1)) drop-shadow(0 4px 10px rgb(16 18 40 / .1)) drop-shadow(0 18px 32px rgb(16 18 40 / .12));}\\n.mcs .pl-pins .pl-pin:focus-visible{outline-color: #141416;}\\n.mcs .pl-tip{background: #141416; color: #f6f6f6; filter: drop-shadow(0 1px 1px rgb(16 18 40 / .1)) drop-shadow(0 4px 10px rgb(16 18 40 / .1)) drop-shadow(0 18px 32px rgb(16 18 40 / .12));}\\n.mcs .pl-card{background: color-mix(in oklch, var(--pg) 70%, #fff); box-shadow: 0 40px 80px -40px rgb(16 18 40 / .35);}\\n.mcs .pl-eyebrow{color: color-mix(in srgb, var(--client) 75%, #000);}\\n.mcs .pl-out,.mcs .pl-sub{color: #3c3c44;}\\n.mcs .pl-dot{border-color: #fff;}\\n.mcs .pl .st-btn{color: #141416; border-color: rgb(0 0 0 / .18);}\\n.mcs .pl .st-btn:hover:not([disabled]){border-color: #141416;}\\n.mcs .pl .st-btn.primary{background: #141416; color: #f6f6f6;}\\n.mcs .pl .st-btn.ghost,.mcs .st-end .st-btn.ghost{text-decoration-color: rgb(0 0 0 / .3);}\\n.mcs .pl .st-btn.ghost:hover,.mcs .st-end .st-btn.ghost:hover{background: rgb(0 0 0 / .05);}\\n.mcs .pl-progress i{background: color-mix(in oklch, var(--client) 85%, #000);}\\n.mcs .pl{--sh-box-sm: 0 4px 12px -2px rgb(16 18 40 / .14); --sh-box-md: 0 14px 32px -12px rgb(16 18 40 / .28); --sh-box-lg: 0 30px 60px -36px rgb(16 18 40 / .45);\\n    --sh-shape-sm: drop-shadow(0 3px 6px rgb(16 18 40 / .12)); --sh-shape-md: drop-shadow(0 8px 12px rgb(16 18 40 / .16)); --sh-shape-lg: drop-shadow(0 14px 18px rgb(16 18 40 / .2));}}\\n.mcs .scene .el{transition: transform .8s cubic-bezier(.25, 1, .5, 1), opacity .5s ease;}\\n.mcs .fr{position: absolute; border-radius: 12px; overflow: hidden; background: #fff; box-shadow: 0 0 0 1px rgb(255 255 255 / .12), 0 30px 60px -28px rgb(0 0 0 / .9);}\\n.mcs .fr img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block;}\\n.mcs .fr.phone{border-radius: 20px;}\\n.mcs .fr.contain{background: #f7f7fa;}\\n.mcs .fr.contain img{object-fit: contain; padding: 12px;}\\n.mcs .fr.darkbg{background: #1b1b1f;}\\n.mcs .fr.comp{background: #1b1d24; box-shadow: 0 0 0 1px #2c2f38, 0 24px 40px -24px rgb(0 0 0 / .9);}\\n.mcs .fr.comp img{object-fit: contain; padding: 14px;}\\n.mcs .fr .after{clip-path: inset(0 100% 0 0); transition: clip-path 1.1s cubic-bezier(.65, 0, .35, 1) .2s;}\\n.mcs .panel{position: absolute; background: #101217; border: 1px solid rgb(255 255 255 / .14); border-radius: 16px; padding: 18px 22px; color: #f5f5f7; display: grid; gap: 6px; align-content: center;\\n  box-shadow: 0 30px 60px -24px rgb(0 0 0 / .95); font-family: \"Inter\", sans-serif;}\\n.mcs .panel b{font: 700 64px/1 \"Inter\", sans-serif; letter-spacing: -0.05em; font-variant-numeric: tabular-nums; color: var(--client);}\\n.mcs .panel b.warn{color: #fb7185;}\\n.mcs .panel span{font-size: 18px; line-height: 1.35; color: #c9c9d1;}\\n.mcs .panel q{font: 500 20px/1.35 \"Inter\", sans-serif; color: #f5f5f7;}\\n.mcs .panel small{font-size: 14px; color: #a3a3ab;}\\n.mcs .label{position: absolute; font: 600 14px/1 \"Inter\", sans-serif; padding: 8px 12px; border-radius: 999px; background: #101217; color: #e5e7eb; border: 1px solid rgb(255 255 255 / .14); white-space: nowrap;}\\n.mcs .label.accent{background: var(--client); color: #0b0d1a; border-color: transparent;}\\n.mcs .dg{position: absolute; background: #1b1d24; border: 1px solid #2f323c; color: #e5e7eb; border-radius: 10px; font: 600 15px/1.2 \"Inter\", sans-serif; padding: 10px 12px; display: grid; align-content: center;}\\n.mcs .dg small{font: 700 11px/1 \"Inter\"; letter-spacing: .08em; text-transform: uppercase; color: #a3a3ab; margin-bottom: 4px;}\\n.mcs .dg.good{border-color: color-mix(in srgb, var(--client) 60%, transparent); background: color-mix(in oklch, #1b1d24 82%, var(--client));}\\n.mcs .dg.good small{color: var(--client);}\\n.mcs .dg.bad{border-color: #7f1d1d; background: #2a1517; color: #fecaca;}\\n.mcs .dg.bad small{color: #fca5a5;}\\n.mcs .dg.root{background: var(--client); color: #0b0d1a; border-color: transparent;}\\n.mcs .dg-lines{position: absolute; left: 0; top: 0; overflow: visible;}\\n.mcs .dg-lines path,.mcs .dg-lines line{fill: none; stroke: #3a3e4a; stroke-width: 2;}\\n.mcs .dg-lines .bad{stroke: #b91c1c; stroke-dasharray: 5 5;}\\n.mcs .track{position: absolute; height: 44px; border-radius: 10px; background: #1b1d24; border: 1px solid #2f323c; overflow: hidden;}\\n.mcs .track i{position: absolute; left: 0; top: 0; bottom: 0; width: 100%; transform-origin: left; background: repeating-linear-gradient(135deg, #2b2e38 0 9px, #252832 9px 18px); transition: transform 1.1s cubic-bezier(.25, 1, .5, 1), background .5s;}\\n.mcs .track span{position: absolute; left: 14px; top: 0; font: 700 14px/44px \"Inter\"; color: #e5e7eb; z-index: 1;}\\n.mcs .ticks{position: absolute; display: flex; justify-content: space-between; font: 600 13px/1 \"Inter\"; color: #a3a3ab;}\\n.mcs .scene .el{opacity: 0; pointer-events: none;}\\n.mcs .scene .el.e-rise{transform: translateY(14px);}\\n.mcs .scene .el.e-slide{transform: translateX(40px);}\\n.mcs .panel.row{grid-template-columns: auto 1fr; align-items: center; gap: 16px;}\\n.mcs .panel.center,.mcs .dg.center{text-align: center; justify-items: center;}\\n.mcs .fr.cmp .tag{position: absolute; left: 12px; bottom: 12px; transition: opacity .4s;}\\n.mcs .fr.cmp .tag.a{opacity: 0;}\\n.mcs .fr .hot{position: absolute; display: block; pointer-events: none;}\\n.mcs .track span[data-t]:not([data-t=\"base\"]){display: none;}\\n@media (prefers-reduced-motion: reduce){.mcs .fr .after,.mcs .track i{transition: none !important;}}\\n@media (max-width: 809.98px){.mcs .pl-id .pl-logo{position: absolute; width: 1px !important; height: 1px !important; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0);}\\n.mcs .pl-id .pl-where{padding-left: 0; border-left: 0;}}\\n.mcs .pl-zoom{position: absolute; inset: 0; transform-origin: 0 0;}\\n.mcs .pl-zoom .pl-pin{scale: calc(1 / var(--z, 1));}\\n.mcs .bd-host[data-pinch]{touch-action: none;}';// The narrator: Ben's cut-out portrait (the SpectrumAvatar asset)\nconst NARRATOR=\"https://framerusercontent.com/images/YpUbhhV8v5WWFXZCEeZUDC59Xg.webp\";// Teardown narrator moods: a face per mood (AI expressions of Ben's photo), a status over the head and marks on\n// the avatar's rim. A step's `mood` picks them; no mood is neutral. A project's Player JSON can bring its own `faces`\n// Each face at 80 to 320px wide, in AVIF and WebP, plus a 1x PNG (80 and 120px) for browsers with neither, from the\n// 1024px originals. The head pops out at 1.4x its box, so the largest (101px, the centred case-study narrator) still\n// gets a sharp file at 3x. 120w is the 1.5x step for the 79px face\nconst FACE_IDS={\"neutral\":{avif:[\"5ImXb1fDBwsPn4dmuMq7upLpGCI\",\"XVJaDXsckBom8qFeR7DgbHB6Ec\",\"MdltZzWjPL7uYHJmUKAkPLRdY\",\"dVjUUf7yRvS8Lf1eTNe3cD2zyZk\",\"b3ge6zTtjJkqMsBYXG1BdVtRbRw\"],webp:[\"2JXN0KJOu3LuIEs0UfIh1WPzDA\",\"KjAE5C9C83R9dpTa9x4Wf7FItS0\",\"hL2pc7PbPHpzZuEqI7GETRVofzQ\",\"OQRpHajGcCuzf7AkoAqAhS3IQ\",\"NBW01nJmjyPWzOsoER75YmYoX4\"],png:[\"MjfOzdgj3Fxtr6SnnVtgS613c4\",\"ObFSE3LcAs8E8SfrOEqOaPhwixg\"]},\"pleased\":{avif:[\"HBaPiCxYALOHHQ0EnMTrBJiZls\",\"MKBDTes4bbAQIZ8hc8cHbLCv94w\",\"yPH8tDsXoB9aM7XOvmRmA3oZx6Y\",\"w2OHzeikskVX1T66seUrs4wE6g\",\"TABReUF1nyK8iAcgAWwHQQUy8\"],webp:[\"5bh9iYlqeIn6zY4RaxCHlhDJXc\",\"PTYrhIKDhhTmA4ZJezztJTTuA\",\"JbffshEULB4QDX7RfVbU27mylc\",\"BazsLbh5sNssu6smc4roz8iWQ\",\"hvMvVsNE2S6kiW7dk0ozQSMpPw\"],png:[\"9udtDQzs4FfVVTpTfHwL2sllXLY\",\"uuYludNGzaoevoGqxFMla5cSBw\"]},\"nervous\":{avif:[\"ZXuz68i0WeSKIF0x7FkAJg8F2k\",\"mlrw2xWSoq6H8xTGJ9hTvQ2srZU\",\"oo3ZSRuSr4qYHsLkw16NNuH4sA\",\"G6KBNQJ5AUFA04d5aKUzt3EURsU\",\"uyLDLyqN8EvfddEKX6XDpxU3w\"],webp:[\"awc8JiwHULdxM46cryCDzWtVQ\",\"aQ5o1CczQ93XdCu4xc0yjHUl70\",\"iLA5iky9KbsLYsoVosEXuXnl84A\",\"E4X1Ek3tHEvksmWxkItoazFdSg\",\"cxUQQOCRBhp8hdLx6vE4E1jUk\"],png:[\"kEZaPST1SeV5EI3GuIrwa9S3js\",\"GBiRo1Jh7krsIYIPogxIQnbak\"]},\"surprised\":{avif:[\"HiqXUoFaSeficl6SxjD6zurspkQ\",\"Ww9nX8Weu2LpFRdJa17s9IDT7Q\",\"kgT4GeZaRA9POJ0l7pIhAwvH3s\",\"jmGsdQLiGhUOVCojDRpFFu5wOko\",\"MGYQBcKemT1c9NnE4ravriejCo\"],webp:[\"L94ZzFPjlDNpnV0scgeIFp2Noqo\",\"M1WmSwrZqj88oBPsIXPK4agJ4\",\"VrdOqM6jGisKdWKbU7M33sKq6Y\",\"bT3UQf5OrYSzBKGtAwHuQGJBOE4\",\"vQb7X40WyysfLyH1Mn2HtYkPeA\"],png:[\"RaV6LSaEPGP2kDzJQS5ziKOEvFs\",\"JIT6WcYoeTkmOXdvMLkEFqStY\"]},\"thinking\":{avif:[\"QSvGybDdLwtLhOvvaQJu2ee9O0\",\"XADkJj6D4cgh1h90SEhX0DGoM\",\"7psU41fwU8kbnfUGKzZWDDzA\",\"LU0zvlDFslN95rf94jJezx4Fzyk\",\"k6H4z5Llrg82GRpoLWEmN1V95c\"],webp:[\"6ffJOF9oqT1Zp49Ax84cwhrxs\",\"C47X1QK4S487EDrf8Lw03AR5gMw\",\"FCntVo4zRypxuQXSDpEQmhJLlHE\",\"3FCkhoWnH4BZxmVGXcGAv7bek\",\"Pn1xbH2lGmOBiGOPaRGaowYZGd4\"],png:[\"A1wc0dvB8ziCNDt503G55W21jM\",\"xTKFCxyoptxOyYyjietI2htZCdo\"]},\"wince\":{avif:[\"or2ZdMTO4sVtm00TEsPiK0yl7ps\",\"o1b1o7qCAf537NylpNZXR805U\",\"KZBsBohvOzErRpn7PycrG8yb4E\",\"B4lYJrFP2zmfVTR3BCLxqJZFDCw\",\"hk2esmS8s4cUqDyYy4ZHNIUhXo\"],webp:[\"DLW61zarht0sSSAx9bnSmwWXTU\",\"YAt2ehZnPLIZ12BR9meLxgmvnA\",\"iDZWtIs5HnvLLsMOQTElIEY2TKE\",\"p9cwed60zLnMaGlxtWJQimYqaM\",\"xH0yN043mX7hYAG7JtMCZZuWiQ\"],png:[\"amjCsnYgaKv4g2OnuFaOGV2IArE\",\"2iT5GHnedqevFWQzbcHHeMVyU\"]},\"angry\":{avif:[\"pzi0QEXJRMFFepWSqQ2fpxBUq8\",\"Xatrjmz5FP5ANfT7d5Fwb7lXXw\",\"wWpnc3Bkon1jnl2b1hMcSthDQc\",\"K54nV2OizrEyXVKImmHX8hvtcE\",\"2sSR6HFkGntLQku1W85UZSMOVk\"],webp:[\"oCqaqMGaTlliOl6l3eWI2Go18I\",\"OtCNfRLb5BamFd24jSBw6rXLYc\",\"rMoTHf0GMwwtsVe2LTzUPdntRBA\",\"xHVyRVHMeS6xO6qmC3XYuyapDs\",\"7SYa85FNFWNLqbo6dXvqhxUgis\"],png:[\"Vj9KNWcKyhwiHpjKah1MaWw5kY\",\"8E5X0qzhQCUpx0PIzPkoidJSqqg\"]}};const FACE_W=[80,120,160,240,320];// The 1x fallback: the PNG at least as wide as the face is drawn\nconst facePng=(f,shown)=>faceUrl(f.png[shown<=80?0:1],\"png\");const faceUrl=(id,type)=>`https://framerusercontent.com/images/${id}.${type}`;const faceSrcset=(ids,type)=>ids.map((id,k)=>`${faceUrl(id,type)} ${FACE_W[k]}w`).join(\", \");// The face URL each mood is known by (its 320px WebP). A project's own face (not one of these) stays a plain <img>\nconst FACES=Object.fromEntries(Object.entries(FACE_IDS).map(([m,f])=>[m,faceUrl(f.webp[4],\"webp\")]));const FACE_BY_URL=Object.fromEntries(Object.values(FACE_IDS).map(f=>[faceUrl(f.webp[4],\"webp\"),f]));const escAttr=v=>v.replace(/&/g,\"&amp;\").replace(/\"/g,\"&quot;\").replace(/</g,\"&lt;\");/** A face as <picture>: AVIF, then WebP, each sized for `shown` px (the face's drawn width, so the browser takes the 1x,\n    1.5x, 2x or 3x file it needs), and a plain 1x PNG <img> under them. The img keeps every attribute it was given.\n    The picture goes in as one piece of HTML, not as React elements: React makes the <img> and sets its src before the\n    img is inside the <picture>, so Safari fetched (and showed) the 1x PNG after hydration instead of the sharp source */function FacePicture({src,shown,className,...img}){const f=FACE_BY_URL[src];if(!f)return /*#__PURE__*/_jsx(\"img\",{src:src,className:className,...img});const sizes=`${shown}px`;const attrs=Object.entries({class:className,...img}).filter(([,v])=>v!==undefined&&v!==null).map(([k,v])=>` ${k}=\"${escAttr(String(v))}\"`).join(\"\");const html=`<picture class=\"pl-pict\"><source type=\"image/avif\" srcset=\"${faceSrcset(f.avif,\"avif\")}\" sizes=\"${sizes}\">`+`<source type=\"image/webp\" srcset=\"${faceSrcset(f.webp,\"webp\")}\" sizes=\"${sizes}\"><img src=\"${facePng(f,shown)}\"${attrs}></picture>`;return /*#__PURE__*/_jsx(\"span\",{className:\"pl-pict\",dangerouslySetInnerHTML:{__html:html}});}const MOODS=[\"neutral\",\"pleased\",\"nervous\",\"surprised\",\"thinking\",\"wince\",\"angry\"];// The effects round the head, chosen apart from the face: sparkles and a note, a sweat drop, \"!\", \"?\", \"!!\" with a vein\nconst MARKS=[\"none\",\"sparkle\",\"note\",\"sweat\",\"alert\",\"interro\",\"alert2\",\"question\",\"question2\",\"vein\",\"anger\"];// What a face shows unless a beat picks one of its variants\nconst DEFAULT_MARK={neutral:\"none\",pleased:\"sparkle\",nervous:\"sweat\",surprised:\"alert\",thinking:\"question\",wince:\"sweat\",angry:\"anger\"};// The variants each face offers in the editor, default first\nconst FACE_MARKS={neutral:[\"none\",\"question\",\"alert\"],pleased:[\"sparkle\",\"note\",\"none\"],nervous:[\"sweat\",\"none\"],surprised:[\"alert\",\"interro\",\"alert2\",\"none\"],thinking:[\"question\",\"question2\",\"none\"],wince:[\"sweat\",\"none\"],angry:[\"anger\",\"vein\",\"none\"]};// A step set before faces and effects were split: its mood gives both\nconst MOOD_MARK={pleased:\"sparkle\",nervous:\"sweat\",surprised:\"alert\",thinking:\"question\",wince:\"sweat\",angry:\"anger\"};// Where the avatar sits on the bubble. \"Auto\" (or none): between the bubble and what it's about (the focus, else the\n// screen). Portrait, or landscape with long words: above or below the bubble, so the words get the full width;\n// otherwise beside it\nconst sideOf=(n,o,v,say)=>{const s=n?.side;if(s===\"Left\"||s===\"Right\"||s===\"Top\"||s===\"Bottom\")return s;if(!n)return o===\"p\"?\"Top\":\"Left\";const f=v?.focus,e=v?.els?.find(x=>x.s);const dx=o===\"p\"?v?.pan??0:0// portrait: the picture slides sideways by the pan\n;const tx=f?f[0]+f[2]/2+dx:e?e.x+e.w/2+dx:n.x+n.w/2,ty=f?f[1]+f[3]/2:e?e.y+e.h/2:n.y+n.h;if(o===\"p\"||plain(say||\"\").length>240)return ty<n.y+n.h/2?\"Top\":\"Bottom\";return tx>n.x+n.w/2?\"Right\":\"Left\";};// The marks: drawn like game icons (dark outline, white keyline, colour fill) so they hold up on any client colour\nconst mkG=(d,fill)=>`<path class=\"g-o\" d=\"${d}\"/><path class=\"g-w\" d=\"${d}\"/><path d=\"${d}\" fill=\"${fill}\"/>`;const mkC=(cx,cy,r,fill)=>`<circle class=\"g-o\" cx=\"${cx}\" cy=\"${cy}\" r=\"${r}\"/><circle class=\"g-w\" cx=\"${cx}\" cy=\"${cy}\" r=\"${r}\"/><circle cx=\"${cx}\" cy=\"${cy}\" r=\"${r}\" fill=\"${fill}\"/>`;const BANG=\"M-6 -40 H6 L4 -14 H-4 Z\";const QUEST=\"M-9 -30 C-9 -38 -3 -43 3 -43 C10 -43 15 -38 15 -32 C15 -24 6 -22 5 -15 L5 -13 H-4 L-4 -16 C-4 -25 5 -26 5 -31 C5 -34 3 -35 1 -35 C-2 -35 -3 -33 -3 -30 Z\";const KIRA=(x,y,r)=>`<g class=\"k\">${mkG(`M${x} ${y-r} C${x+r*.12} ${y-r*.3} ${x+r*.3} ${y-r*.12} ${x+r} ${y} C${x+r*.3} ${y+r*.12} ${x+r*.12} ${y+r*.3} ${x} ${y+r} C${x-r*.12} ${y+r*.3} ${x-r*.3} ${y+r*.12} ${x-r} ${y} C${x-r*.3} ${y-r*.12} ${x-r*.12} ${y-r*.3} ${x} ${y-r} Z`,\"#fff\")}</g>`;const VEIN=[\"M-11 -3 Q-4 -3 -4 -11\",\"M3 -11 Q3 -4 11 -4\",\"M11 3 Q4 3 4 11\",\"M-3 11 Q-3 4 -11 4\"].map(d=>`<path d=\"${d}\" stroke=\"#0b0d1a\" stroke-width=\"9\" fill=\"none\" stroke-linecap=\"round\"/><path d=\"${d}\" stroke=\"#fff\" stroke-width=\"6\" fill=\"none\" stroke-linecap=\"round\"/><path d=\"${d}\" stroke=\"#ff3b30\" stroke-width=\"3.4\" fill=\"none\" stroke-linecap=\"round\"/>`).join(\"\");const MARK_ART={sparkle:{status:`<g transform=\"translate(14 -8)\">${mkG(\"M2 -22 V-4 a5.5 4.2 0 1 1 -3 -3.6 V-26 L12 -22 V-17 L2 -20 Z\",\"#fff\")}</g>`,rim:KIRA(0,-3,11)+KIRA(9,9,6),rim2:KIRA(0,0,8)},alert:{status:`<circle class=\"flash\" cx=\"0\" cy=\"-26\" r=\"18\"/>${mkG(BANG,\"#ff3b30\")}${mkC(0,-5,4.6,\"#ff3b30\")}`},question:{status:`${mkG(QUEST,\"#ffcc00\")}${mkC(.5,-5,4.6,\"#ffcc00\")}`},sweat:{rim:mkG(\"M0 -15 C0 -15 -10 0 -10 5 a10 10 0 0 0 20 0 C10 0 0 -15 0 -15 Z\",\"#9fe3ff\")+`<ellipse cx=\"-3.5\" cy=\"3\" rx=\"2.2\" ry=\"4\" fill=\"#fff\" transform=\"rotate(20 -3.5 3)\"/>`},note:{status:`<g transform=\"translate(14 -8)\">${mkG(\"M2 -22 V-4 a5.5 4.2 0 1 1 -3 -3.6 V-26 L12 -22 V-17 L2 -20 Z\",\"#fff\")}</g>`},alert2:{status:`<g transform=\"translate(-9 0)\">${mkG(BANG,\"#ff3b30\")}${mkC(0,-5,4.6,\"#ff3b30\")}</g><g transform=\"translate(9 0)\">${mkG(BANG,\"#ff3b30\")}${mkC(0,-5,4.6,\"#ff3b30\")}</g>`},interro:{status:`<g transform=\"translate(-9 0)\">${mkG(BANG,\"#ff3b30\")}${mkC(0,-5,4.6,\"#ff3b30\")}</g><g transform=\"translate(8 3) scale(.86)\">${mkG(QUEST,\"#ffcc00\")}${mkC(.5,-5,4.6,\"#ffcc00\")}</g>`},question2:{status:`<g transform=\"translate(-10 3) scale(.86)\">${mkG(QUEST,\"#ffcc00\")}${mkC(.5,-5,4.6,\"#ffcc00\")}</g><g transform=\"translate(10 3) scale(.86)\">${mkG(QUEST,\"#ffcc00\")}${mkC(.5,-5,4.6,\"#ffcc00\")}</g>`},vein:{rim:VEIN},anger:{status:`<g transform=\"translate(-9 0)\">${mkG(BANG,\"#ff3b30\")}${mkC(0,-5,4.6,\"#ff3b30\")}</g><g transform=\"translate(9 0)\">${mkG(BANG,\"#ff3b30\")}${mkC(0,-5,4.6,\"#ff3b30\")}</g>`,rim:VEIN}};function MoodMarks({mark}){const m=MARK_ART[mark];if(!m)return null;return /*#__PURE__*/_jsxs(_Fragment,{children:[m.status?/*#__PURE__*/_jsx(\"svg\",{className:\"pl-mk pl-status\",viewBox:\"-22 -46 44 52\",\"aria-hidden\":\"true\",dangerouslySetInnerHTML:{__html:m.status}}):null,m.rim?/*#__PURE__*/_jsx(\"svg\",{className:\"pl-mk pl-rim\",viewBox:\"-17 -17 34 34\",\"aria-hidden\":\"true\",dangerouslySetInnerHTML:{__html:m.rim}}):null,m.rim2?/*#__PURE__*/_jsx(\"svg\",{className:\"pl-mk pl-rim2\",viewBox:\"-15 -15 30 30\",\"aria-hidden\":\"true\",dangerouslySetInnerHTML:{__html:m.rim2}}):null]});}// Site text styles (class hash, scope class). Their CSS ships on any page that uses them.\nconst TS={title:[\"2cnlwx\",\"zKMWs\",\"WWkBJJ2Ow\"],cap:[\"1tv8ti9\",\"NqdHl\",\"j4bPuPyEH\"],body:[\"1jqjsz4\",\"q7VkU\",\"gT9NUyniF\"]};const ts=(k,extra=\"\")=>({className:`framer-text framer-styles-preset-${TS[k][0]}${extra?\" \"+extra:\"\"}`,\"data-styles-preset\":TS[k][2]});const SCOPES=Object.values(TS).map(x=>`framer-${x[1]}`).join(\" \");const EASE=[.25,1,.5,1];const cap=s=>s[0].toUpperCase()+s.slice(1);const pad=i=>String(i+1).padStart(2,\"0\");function countUp(el,f,reduce){const pre=f.pre||\"\",suf=f.suf||\"\",to=f.to||0,from=f.from||0;if(reduce){el.textContent=pre+to.toLocaleString(\"en-GB\")+suf;return;}const t0=performance.now();const tick=t=>{const p=Math.min(1,(t-t0)/1100),e=1-Math.pow(1-p,4);el.textContent=pre+Math.round(from+(to-from)*e).toLocaleString(\"en-GB\")+suf;if(p<1)requestAnimationFrame(tick);};requestAnimationFrame(tick);}// ---------- Narration: one paragraph of rich text ----------\n// {{x}} a big number in the client colour, {{!x}} a big number in warning red, **x** bold, [text](url) a source.\nconst SAY_RE=/\\{\\{(!?)(.+?)\\}\\}|\\*\\*(.+?)\\*\\*|\\[(.+?)\\]\\((https?:\\/\\/[^)\\s]+)\\)/g;// The bubble's spring: quick out, a small overshoot, then settle. Only for its first pop out of the avatar\nconst POP=\"cubic-bezier(.34,1.3,.64,1)\";// Bubble morphs between beats: no overshoot, same clock as the narrator's move (stepper.css, data-moving)\nconst MORPH={duration:450,easing:\"cubic-bezier(.25,1,.5,1)\"};// The narrowest width (up to max) that wraps the words onto no more lines than max does, then the width\n// of the longest line at that size\nfunction hug(p,max){p.style.width=`${max}px`;const h=p.offsetHeight;let lo=max*.3,hi=max;for(let i=0;i<8;i++){const mid=(lo+hi)/2;p.style.width=`${mid}px`;if(p.offsetHeight<=h+1)hi=mid;else lo=mid;}p.style.width=`${hi}px`;const r=document.createRange();r.selectNodeContents(p);// Screen rects include any transform (the bubble's pop, the player opening), so scale back to layout px\nconst box=p.getBoundingClientRect(),k=box.width/p.offsetWidth||1;const right=Math.max(...Array.from(r.getClientRects(),x=>x.right));return Math.min(max,Math.ceil((right-box.left)/k)+1);}function Say({text}){const out=[];let last=0,m,k=0;SAY_RE.lastIndex=0;while(m=SAY_RE.exec(text)){if(m.index>last)out.push(text.slice(last,m.index));if(m[2]!=null)out.push(/*#__PURE__*/_jsx(\"b\",{className:\"pl-num\",\"data-warn\":m[1]?\"true\":undefined,children:m[2]},k++));else if(m[3]!=null)out.push(/*#__PURE__*/_jsx(\"strong\",{children:m[3]},k++));else out.push(/*#__PURE__*/_jsx(\"a\",{href:m[5],target:\"_blank\",rel:\"noopener noreferrer\",children:m[4]},k++));last=SAY_RE.lastIndex;}if(last<text.length)out.push(text.slice(last));return /*#__PURE__*/_jsx(_Fragment,{children:out});}const plain=t=>t.replace(/\\{\\{!?(.+?)\\}\\}/g,\"$1\").replace(/\\*\\*(.+?)\\*\\*/g,\"$1\").replace(/\\[(.+?)\\]\\([^)]*\\)/g,\"$1\");const sayOf=st=>st.say??st.p;// Reading time: about 200 words a minute, plus a few seconds to look at each screen\nconst storySecs=S=>S.steps.reduce((n,st)=>n+(plain(sayOf(st))+\" \"+st.n.map(x=>x[0]).join(\" \")).split(/\\s+/).length*.3+4,0);const readTime=secs=>secs<45?\"Under 1 min read\":`${Math.max(1,Math.round(secs/60))} min read`;// End screen: an outcome that starts with a number shows it big (\"+20% activations\" → {{+20%}} activations)\nconst bigLead=t=>t.replace(/^([+\\-−]?[£$€]?\\d[\\d.,]*(?:%|x|k|m)?)(?=\\s|$)/i,\"{{$1}}\");// The teaser for the next case study: the biggest screen on its last beat, at full strength (the payoff beat fades it)\nconst teaserOf=(pid,sid)=>{const b=boardOf(pid,sid),v=b?.[b.length-1]?.l;const big=v?.els.filter(e=>e.s&&BSCR[e.s]).sort((a,z)=>z.w*z.h-a.w*a.h)[0];return big?BSCR[big.s].src:null;};// Icons for FoilButton's custom slot (drawn as a mask, so the colour follows the label)\nconst maskIcon=d=>`data:image/svg+xml,${encodeURIComponent(`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">${d}</svg>`)}`;const ICO_RESTART=maskIcon('<path d=\"M4 12a8 8 0 1 0 2.4-5.7M4 4v4.5h4.5\"/>');const ICO_EXIT=maskIcon('<path d=\"M6 6l12 12M18 6L6 18\"/>');const REG=new Set;// Scene pictures in the launcher load as they come into view\nconst lazyImgs=html=>html.replace(/<img(?![^>]*loading=)/g,'$& loading=\"lazy\" decoding=\"async\"');const REELS=new Set;const pickReel=()=>{let best=null;REELS.forEach(r=>{if(r.ratio>=.35&&(!best||r.ratio>best.ratio))best=r;});REELS.forEach(r=>r.set(r===best));};let keysBound=false;const ARROW_WIDGETS='input, textarea, select, [contenteditable=\"\"], [contenteditable=\"true\"], video, audio, [role=\"slider\"], [role=\"listbox\"], [role=\"menu\"], [role=\"menubar\"], [role=\"tablist\"], [role=\"radiogroup\"], [role=\"grid\"], [role=\"tree\"], [role=\"treegrid\"], [role=\"combobox\"], [role=\"spinbutton\"], [role=\"scrollbar\"]';function onKeys(e){if(e.defaultPrevented||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;const d=e.key===\"ArrowRight\"?1:e.key===\"ArrowLeft\"?-1:0;if(!d||document.querySelector(\"dialog.pl-dialog[open]\"))return;const t=e.target;if(t?.closest?.(ARROW_WIDGETS))return;let pick=null;for(const r of REG)if(t&&r.root.contains(t))pick=r;if(!pick){for(const r of REG)if(r.ratio>=.6&&(!pick||r.ratio>pick.ratio))pick=r;}if(!pick)return;e.preventDefault();pick.go(d);}// Scroll lock shared by every player on the page: lock on the first open, restore on the last close\nlet locks=0,saved=[\"\",\"\"];function lockScroll(d){const h=document.documentElement,b=document.body;if(d>0&&locks++===0){const bar=window.innerWidth-h.clientWidth// 0 on phones and with overlay scrollbars\n;saved=[h.style.overflow,b.style.paddingRight];h.style.overflow=\"hidden\";if(bar>0)b.style.paddingRight=`${bar}px`;}if(d<0&&locks>0&&--locks===0){h.style.overflow=saved[0];b.style.paddingRight=saved[1];}}function useCoarsePointer(){const[coarse,setCoarse]=React.useState(false);React.useEffect(()=>{const m=window.matchMedia(\"(pointer: coarse)\");const f=()=>setCoarse(m.matches);f();m.addEventListener(\"change\",f);return()=>m.removeEventListener(\"change\",f);},[]);return coarse;}// ---------- Zoom on the stage (board stories) ----------\n// Two fingers zoom the picture from 1× to 4× around the point between them. One finger pans it while it's\n// zoomed, kept so the picture can't leave the stage. Swiping between steps only works at 1×: a touch that\n// pinched never counts as a swipe. A new step (or Back, Next) glides back to the planned framing.\n// Desktop: a trackpad pinch (it arrives as ctrl + wheel) zooms around the pointer, the wheel or a mouse\n// drag pans while zoomed, and the zoom buttons in the footer (or +, − and 0) zoom around the middle.\nconst ZOOM_MAX=4,ZOOM_STEP=1.5;function usePinch(host,on,reduce,reset,drag,onStart,label){const z=useMotionValue(1),x=useMotionValue(0),y=useMotionValue(0);const[zoomed,setZoomed]=React.useState(false);const[atMax,setAtMax]=React.useState(false);const pinched=React.useRef(false)// this touch pinched: lifting it isn't a swipe\n;const startRef=React.useRef(onStart);startRef.current=onStart;// Points (pins) stay the same size on screen while the picture grows. The footer shows the zoom level,\n// written straight into the label so a pinch doesn't re-render the player every frame\nReact.useEffect(()=>z.on(\"change\",v=>{host.current?.style.setProperty(\"--z\",String(v));if(label?.current)label.current.textContent=`${Math.round(v*100)}%`;const big=v>1.001;if(big)host.current?.setAttribute(\"data-zoomed\",\"\");else host.current?.removeAttribute(\"data-zoomed\");setZoomed(big);setAtMax(v>=ZOOM_MAX-.001);}),[]);// The zoomed picture always covers the stage: no edge comes inside it\nconst fit=(s,nx,ny)=>{const el=host.current,W=el?.clientWidth??0,H=el?.clientHeight??0;return{s,x:Math.min(0,Math.max(W-W*s,nx)),y:Math.min(0,Math.max(H-H*s,ny))};};// Where a running zoom is heading, so quick clicks on + or − add up\nconst target=React.useRef(1);const stepZoom=d=>zoomTo((z.isAnimating()?target.current:z.get())*(d>0?ZOOM_STEP:1/ZOOM_STEP));// Zoom to a level around a point of the stage (its middle by default): the picture point there stays put\nconst zoomTo=(level,px,py,glide=true)=>{const el=host.current;if(!el)return;const s0=z.get(),s=Math.min(ZOOM_MAX,Math.max(1,level));const cx=px??el.clientWidth/2,cy=py??el.clientHeight/2;const t=fit(s,cx-(cx-x.get())/s0*s,cy-(cy-y.get())/s0*s);target.current=t.s;if(s>1)startRef.current?.();if(!glide||reduce){z.set(t.s);x.set(t.x);y.set(t.y);return;}const o={duration:.3,ease:EASE};animate(z,t.s,o);animate(x,t.x,o);animate(y,t.y,o);};React.useEffect(()=>{const el=host.current;if(!on||!el)return;const pts=new Map;let start=null;let last=null;const local=e=>{const r=el.getBoundingClientRect();return{x:e.clientX-r.left,y:e.clientY-r.top};};const set=(s,nx,ny)=>{const t=fit(s,nx,ny);z.set(t.s);x.set(t.x);y.set(t.y);};const pair=()=>{const[a,b]=Array.from(pts.values());return{d:Math.hypot(a.x-b.x,a.y-b.y)||1,mx:(a.x+b.x)/2,my:(a.y+b.y)/2};};const down=e=>{if(e.pointerType!==\"touch\")return;if(!pts.size)pinched.current=false;const p=local(e);pts.set(e.pointerId,p);if(pts.size===2){start={...pair(),z:z.get(),x:x.get(),y:y.get()};pinched.current=true;drag.stop();drag.set(0);setZoomed(true);startRef.current?.();}last=pts.size===1?p:null;};const move=e=>{if(!pts.has(e.pointerId))return;const p=local(e);pts.set(e.pointerId,p);if(pts.size>=2&&start){// The point of the picture that was between the fingers stays between them\nconst q=pair(),s=Math.min(ZOOM_MAX,Math.max(1,start.z*q.d/start.d));const cx=(start.mx-start.x)/start.z,cy=(start.my-start.y)/start.z;set(s,q.mx-cx*s,q.my-cy*s);drag.set(0);}else if(pts.size===1&&z.get()>1&&last){set(z.get(),x.get()+p.x-last.x,y.get()+p.y-last.y);last=p;}};const up=e=>{if(!pts.delete(e.pointerId))return;if(pts.size<2)start=null;// One finger left after a pinch: it pans on from where it is now\nlast=pts.size===1?Array.from(pts.values())[0]:null;if(!pts.size&&z.get()<=1.02){set(1,0,0);setZoomed(false);}};// Trackpad pinch: ctrl + wheel, zoomed around the pointer. Zoomed in, the wheel pans\nconst wheel=e=>{if(e.ctrlKey){e.preventDefault();z.stop();x.stop();y.stop();const r=el.getBoundingClientRect();zoomTo(z.get()*Math.exp(-e.deltaY*.01),e.clientX-r.left,e.clientY-r.top,false);}else if(z.get()>1){e.preventDefault();set(z.get(),x.get()-e.deltaX,y.get()-e.deltaY);}};// Mouse: drag to pan while zoomed. A drag never counts as a click on a point under it\nconst mouse=e=>{if(e.pointerType!==\"mouse\"||e.button!==0||z.get()<=1)return;e.preventDefault()// no native image drag: it would cancel the pointer\n;const id=e.pointerId,x0=e.clientX,y0=e.clientY,sx=x.get(),sy=y.get();let moved=false;el.setAttribute(\"data-panning\",\"\");const mv=ev=>{if(ev.pointerId!==id)return;if(!moved&&Math.hypot(ev.clientX-x0,ev.clientY-y0)<4)return;if(!moved){moved=true;el.setPointerCapture(id);}set(z.get(),sx+ev.clientX-x0,sy+ev.clientY-y0);};const eat=ev=>{ev.preventDefault();ev.stopPropagation();};const end=ev=>{if(ev.pointerId!==id)return;el.removeAttribute(\"data-panning\");if(moved){el.addEventListener(\"click\",eat,{capture:true,once:true});setTimeout(()=>el.removeEventListener(\"click\",eat,{capture:true}),0);}el.removeEventListener(\"pointermove\",mv);el.removeEventListener(\"pointerup\",end);el.removeEventListener(\"pointercancel\",end);};el.addEventListener(\"pointermove\",mv);el.addEventListener(\"pointerup\",end);el.addEventListener(\"pointercancel\",end);};// Safari's own page zoom\nconst gesture=e=>e.preventDefault();const opts={capture:true};el.addEventListener(\"pointerdown\",down,opts);el.addEventListener(\"pointermove\",move,opts);el.addEventListener(\"pointerup\",up,opts);el.addEventListener(\"pointercancel\",up,opts);el.addEventListener(\"gesturestart\",gesture);el.addEventListener(\"gesturechange\",gesture);el.addEventListener(\"wheel\",wheel,{passive:false});el.addEventListener(\"pointerdown\",mouse);return()=>{el.removeEventListener(\"wheel\",wheel);el.removeEventListener(\"pointerdown\",mouse);el.removeEventListener(\"pointerdown\",down,opts);el.removeEventListener(\"pointermove\",move,opts);el.removeEventListener(\"pointerup\",up,opts);el.removeEventListener(\"pointercancel\",up,opts);el.removeEventListener(\"gesturestart\",gesture);el.removeEventListener(\"gesturechange\",gesture);};},[on]);// Back to the planned framing on every new step, and from Reset view in the menu. Reduced motion: straight there\nconst back=()=>{setZoomed(false);target.current=1;if(z.get()===1&&x.get()===0&&y.get()===0)return;if(reduce){z.set(1);x.set(0);y.set(0);return;}const o={duration:.45,ease:EASE};animate(z,1,o);animate(x,0,o);animate(y,0,o);};React.useEffect(back,[reset]);return{z,x,y,zoomed,atMax,pinched,back,zoomTo,stepZoom};}// ---------- Boards: stories laid out in the Figma storyboard ----------\n// Each beat has a landscape and a portrait layout in Figma pixels. The picture area of each (between\n// the header and the controls) is scaled to fit the space it's shown in, and centred.\nconst boardOf=(pid,sid)=>BOARDS[pid]?.[sid];const AREA={l:[0,88,1440,736],p:[0,88,390,636]};const STAGE={l:[1440,900],p:[390,844]};const fitArea=(o,W,H)=>{const[ax,ay,aw,ah]=AREA[o],s=Math.min(W/aw,H/ah);return{s,ox:(W-aw*s)/2-ax*s,oy:(H-ah*s)/2-ay*s,W,H};};// Portrait when the space is taller than wide, or too narrow for the landscape layout (in rem, so large text counts)\nconst orientFor=(W,H)=>{const rem=typeof window===\"undefined\"?16:parseFloat(getComputedStyle(document.documentElement).fontSize)||16;return W<=H||W<47.5*rem?\"p\":\"l\";};const boardAlt=v=>v.els.filter(e=>e.s&&(e.op??1)>.5).map(e=>BSCR[e.s]?.alt).filter(Boolean).join(\". \");const boardSrcs=v=>v.els.filter(e=>e.s).map(e=>BSCR[e.s]?.src).filter(Boolean);// Fetch a beat's screens ahead of time (the next beat, or the first ones when Play is near)\nconst warmed=new Set;function warm(srcs){for(const u of srcs)if(!warmed.has(u)){warmed.add(u);const i=new Image;i.decoding=\"async\";i.src=u;}}// ---------- Teardown steps: highlight rings, the portrait slide, talking-head captions ----------\n// The take's captions are kept in Player JSON as text, served from a blob so the track is same-origin\nfunction useVtt(text){const[url,setUrl]=React.useState(null);React.useEffect(()=>{if(!text||typeof URL===\"undefined\"){setUrl(null);return;}const u=URL.createObjectURL(new Blob([text],{type:\"text/vtt\"}));setUrl(u);return()=>URL.revokeObjectURL(u);},[text]);return url;}const squash=t=>plain(t).toLowerCase().replace(/[^a-z0-9 ]/g,\"\").replace(/\\s+/g,\" \").trim();// The narration, a sentence at a time, so the sentence being said in the take can be marked\nfunction SayCues({text,cue}){const parts=text.split(RegExp(\"(?<=[.?!])\\\\s+\")),c=squash(cue);return /*#__PURE__*/_jsx(_Fragment,{children:parts.map((p,i)=>{const q=squash(p),hit=!!c&&(q.includes(c)||c.includes(q));return /*#__PURE__*/_jsxs(React.Fragment,{children:[i?\" \":\"\",/*#__PURE__*/_jsx(\"span\",{className:\"pl-cue\",\"data-on\":hit?\"\":undefined,children:/*#__PURE__*/_jsx(Say,{text:p})})]},i);})});}// Measures an element's content box\nfunction useBox(ref,on=true){const[box,setBox]=React.useState(null);React.useLayoutEffect(()=>{const el=ref.current;if(!on||!el)return;const f=()=>setBox(b=>b&&b[0]===el.clientWidth&&b[1]===el.clientHeight?b:[el.clientWidth,el.clientHeight]);f();// The player measures before its dialog opens: look again once it's on screen\nconst r1=requestAnimationFrame(()=>{f();r2=requestAnimationFrame(f);});let r2=0;window.addEventListener(\"resize\",f);const ro=typeof ResizeObserver===\"undefined\"?null:new ResizeObserver(f);ro?.observe(el);return()=>{cancelAnimationFrame(r1);cancelAnimationFrame(r2);window.removeEventListener(\"resize\",f);ro?.disconnect();};},[on]);return box;}function BoardPicture({view,fit,o,bleed=false}){const[W,H]=STAGE[o];let els=view.els.map((e,i)=>{const sc=e.s?BSCR[e.s]:null,op=e.op??1;if(!sc)return /*#__PURE__*/_jsx(\"i\",{className:\"bd-tint\",style:{left:e.x,top:e.y,width:e.w,height:e.h,borderRadius:e.r,background:e.fill,opacity:(e.fop??1)*op}},i);if(sc.bleed){const[l,t,r,b]=sc.bleed;return /*#__PURE__*/_jsx(\"img\",{className:\"bd-img bd-bleed\",src:sc.src,alt:\"\",decoding:\"async\",style:{left:e.x-e.w*l,top:e.y-e.h*t,width:e.w*(1+l+r),height:e.h*(1+t+b),opacity:op}},i);}// Shadows only where the Figma layer has one (e.sh: box or shape, sm, md or lg). A dimmed screen has none\n// The sizes are the --sh-box-* and --sh-shape-* tokens in the CSS (.mcs for dark, .mcs .pl for light). Figma blur under 25 is sm, 25 to 70 md, over 70 lg\nconst fx=(e.sh?\" bd-sh-\"+e.sh:\"\")+(op<1?\" bd-dim\":\"\");// Cropped: the screen seen through a window, which carries the corners and the shadow\nif(e.c){const[cx,cy,cw,ch,cr]=e.c;return /*#__PURE__*/_jsx(\"div\",{className:\"bd-crop\"+fx,style:{left:cx,top:cy,width:cw,height:ch,borderRadius:cr??0,opacity:op},children:/*#__PURE__*/_jsx(\"img\",{className:\"bd-img\",src:sc.src,alt:\"\",decoding:\"async\",loading:\"lazy\",style:{left:e.x-cx,top:e.y-cy,width:e.w,height:e.h,borderRadius:e.r}})},i);}return /*#__PURE__*/_jsx(\"img\",{className:\"bd-img\"+fx,src:sc.src,alt:\"\",decoding:\"async\",loading:\"lazy\",style:{left:e.x,top:e.y,width:e.w,height:e.h,borderRadius:e.r,opacity:op}},i);});// Teardown steps: rings over what the step highlights, and in portrait the picture and its rings slide together so\n// the focus stays on screen. Shades sit between the picture and the rings\nif(view.rings||view.pan!=null||view.shades)els=/*#__PURE__*/_jsxs(\"div\",{className:\"bd-pan\",style:{transform:`translateX(${view.pan??0}px)`},children:[els,(view.shades??[]).map((d,j)=>/*#__PURE__*/_jsx(Shade,{d:d},\"s\"+j)),(view.rings??[]).map((b,j)=>/*#__PURE__*/_jsx(\"i\",{className:\"bd-ring\",style:{left:b[0],top:b[1],width:b[2],height:b[3]}},\"r\"+j))]});// Phones: the picture's window keeps its top and bottom but runs to the edges of the screen, so screens\n// wider than the Figma frame bleed past its sides instead of being cut off at its margins\nconst c=view.clip&&bleed?[-fit.ox/fit.s,view.clip[1],fit.W/fit.s,view.clip[3]]:view.clip;return /*#__PURE__*/_jsx(\"div\",{className:\"bd\",style:{width:W,height:H,transform:`translate(${fit.ox}px, ${fit.oy}px) scale(${fit.s})`},children:c?/*#__PURE__*/_jsx(\"div\",{className:\"bd-clip\",style:{left:c[0],top:c[1],width:c[2],height:c[3]},children:/*#__PURE__*/_jsx(\"div\",{className:\"bd-in\",style:{left:-c[0],top:-c[1],width:W,height:H},children:els})}):els});}// A teardown shade: a dim over [x, y, w, h] (corner radius r, colour fill, opacity op), or a spotlight when it has a\n// hole [x, y, w, h] cut out of it: a rounded rectangle (radius hr) or, with shape \"ellipse\", an ellipse\nconst rrect=(x,y,w,h,r)=>{r=Math.max(0,Math.min(r,w/2,h/2));return r?`M${x+r} ${y}H${x+w-r}A${r} ${r} 0 0 1 ${x+w} ${y+r}V${y+h-r}A${r} ${r} 0 0 1 ${x+w-r} ${y+h}H${x+r}A${r} ${r} 0 0 1 ${x} ${y+h-r}V${y+r}A${r} ${r} 0 0 1 ${x+r} ${y}Z`:`M${x} ${y}H${x+w}V${y+h}H${x}Z`;};function Shade({d}){const[x,y,w,h]=d.b;let path=rrect(0,0,w,h,d.r??0);if(d.hole){const[hx,hy,hw,hh]=d.hole,X=hx-x,Y=hy-y;path+=d.shape===\"ellipse\"?`M${X} ${Y+hh/2}A${hw/2} ${hh/2} 0 1 0 ${X+hw} ${Y+hh/2}A${hw/2} ${hh/2} 0 1 0 ${X} ${Y+hh/2}Z`:rrect(X,Y,hw,hh,d.hr??0);}return /*#__PURE__*/_jsx(\"svg\",{className:\"bd-shade\",style:{left:x,top:y,width:w,height:h},viewBox:`0 0 ${w} ${h}`,\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:path,fillRule:\"evenodd\",fill:d.fill||\"#000\",fillOpacity:d.op??.6})});}// A note's point, in the space the board is shown in\nconst notePoint=(view,i,fit)=>{const p=view.notes[i],dx=view.pan??0;return p?[fit.ox+(p[0]+dx)*fit.s,fit.oy+p[1]*fit.s]:null;};function useStage(project,story,stepNo,notes,fx,active,reduce,onBoxes,tag=\"\"){const onBoxesRef=React.useRef(onBoxes);onBoxesRef.current=onBoxes;const canvas=React.useRef(null);const scenes=React.useRef(null);const pins=React.useRef(null);const prev=React.useRef(null);const notesRef=React.useRef(notes);notesRef.current=notes;const[pinsOn,setPinsOn]=React.useState(false);const sceneHTML=React.useMemo(()=>({__html:Object.entries(SCENES[project]??{}).map(([k,h],i)=>`<div class=\"scene sc\" data-scene=\"${k}\" aria-hidden=\"true\"${i?\" hidden\":' data-st=\"1\"'}>${h}</div>`).join(\"\")}),[project]);const sceneEl=()=>scenes.current?.querySelector(`.scene[data-scene=\"${story}\"]`);const fit=()=>{const c=canvas.current;if(c)c.style.setProperty(\"--s\",String(c.clientWidth/640));};// Final-state layout: snap the scene to this step with transitions off, read the targets, put it back.\nconst measure=(scene,n,prevNo)=>{scene.classList.add(\"measure\");scene.dataset.st=String(n);void scene.offsetWidth;const inset=-Math.max(3,Math.min(6,(canvas.current?.clientWidth??640)/100));const keep=[];const rects=notesRef.current.map(([,sel,anc])=>{const el=scene.querySelector(sel);if(!el)return null;const r=el.getBoundingClientRect();keep.push(r);const x=anc.includes(\"l\")?r.left+inset:anc.includes(\"r\")?r.right-inset:(r.left+r.right)/2;const y=anc.includes(\"t\")?r.top+inset:anc.includes(\"b\")?r.bottom-inset:(r.top+r.bottom)/2;return{x,y,width:0,height:0,left:x,right:x,top:y,bottom:y};});if(prevNo!=null&&prevNo!==n){scene.dataset.st=String(prevNo);void scene.offsetWidth;}scene.classList.remove(\"measure\");void scene.offsetWidth;scene.dataset.st=String(n);// The note points themselves (with room for their tap target) must stay clear too\nconst points=rects.filter(Boolean).map(r=>new DOMRect(r.x-24,r.y-24,48,48));onBoxesRef.current?.({keep,points,scene:scene.getBoundingClientRect()});return rects;};const place=async rects=>{const wrap=pins.current,c=canvas.current;if(!wrap||!c)return;// Clamp to the canvas only. The default root boundary is the viewport, which pushes pins\n// to the top edge whenever the panel is scrolled out of view.\nconst cr=c.getBoundingClientRect(),box={x:cr.left,y:cr.top,width:cr.width,height:cr.height};await Promise.all([...wrap.children].map(async(pin,i)=>{const r=rects[i];if(!r){pin.style.visibility=\"hidden\";return;}const half=pin.offsetHeight/2;const{x,y}=await computePosition({getBoundingClientRect:()=>r},pin,{strategy:\"absolute\",placement:\"top\",// Centre the pin on the point, then keep it whole inside the canvas.\nmiddleware:[offset(-half),shift({boundary:c,rootBoundary:box,padding:8,crossAxis:true})]});pin.style.visibility=\"\";pin.style.left=`${x}px`;pin.style.top=`${y}px`;}));};React.useLayoutEffect(()=>{const root=scenes.current;if(!active||!root)return;fit();root.querySelectorAll(\".scene\").forEach(x=>x.hidden=x.dataset.scene!==story);const scene=sceneEl();if(!scene)return;const p=prev.current;const prevNo=p&&p.story===story?p.no:0;prev.current={story,no:stepNo};setPinsOn(false);place(measure(scene,stepNo,prevNo));const t=setTimeout(()=>setPinsOn(true),reduce?0:700);let typeT;(fx||[]).forEach(f=>{const q=s=>s?scene.querySelector(s):null;if(f.set){const el=q(f.set);if(el)el.textContent=f.text||\"\";}if(f.count){const el=q(f.count);if(el)countUp(el,f,reduce);}if(f.type){const el=q(f.type);if(!el)return;const text=f.text||\"\",done=()=>{const n=f.then;const e=q(n?.count);if(n&&e)countUp(e,n,reduce);};if(reduce){el.textContent=text;done();return;}let i=0;el.textContent=\"\";typeT=setInterval(()=>{el.textContent=text.slice(0,++i);if(i>=text.length){clearInterval(typeT);done();}},45);}});return()=>{clearTimeout(t);clearInterval(typeT);};},[project,story,stepNo,active,tag]);// Re-place pins when the canvas changes size\nReact.useEffect(()=>{const c=canvas.current;if(!active||!c||typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(()=>{fit();const scene=sceneEl();if(!scene)return;pins.current?.classList.add(\"snap\");place(measure(scene,stepNo,stepNo)).then(()=>requestAnimationFrame(()=>pins.current?.classList.remove(\"snap\")));});ro.observe(c);return()=>ro.disconnect();},[project,story,stepNo,active,tag]);return{canvas,scenes,pins,pinsOn,sceneHTML};}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 1200\n */// Case study pages share one address pattern, /work/<project>-<slug> (one CMS collection, \"Mini case studies\"),\n// so the page works out the project and the case study from the last part of the address\n/* The site's light/dark toggle (the Theme switch) rewrites \"prefers-color-scheme\" in every style tag when it runs,\n   then fires \"themeChange\". A style tag that mounts later (this one, on a page reached through the router) would\n   miss that, so it applies the same rule itself: the stored toggle against the OS theme */function siteScheme(){let t=null;try{t=localStorage.getItem(\"currentToggleState\");}catch{}if(t!==\"dark\"&&t!==\"light\")return null;const os=window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\";return t===os?\"dark\":\"light\";}function useSiteTheme(ref){React.useLayoutEffect(()=>{const fix=()=>{const el=ref.current,s=siteScheme();if(!el||!s)return;const h=el.innerHTML,n=h.replace(/prefers-color-scheme:\\s?\\w+/g,`prefers-color-scheme: ${s}`);if(n!==h)el.innerHTML=n;};fix();window.addEventListener(\"themeChange\",fix);return()=>window.removeEventListener(\"themeChange\",fix);});}const urlSlug=()=>typeof location===\"undefined\"?\"\":decodeURIComponent(location.pathname.replace(/\\/+$/,\"\").split(\"/\").pop()||\"\");const pageProject=(slug=urlSlug())=>Object.keys(PROJECTS).find(p=>slug.startsWith(p+\"-\"));export default function MiniCaseStudy(props){// Case study page: the address's slug, from the router so the server render knows it too (no location there)\nconst router=useRouter?.();const slug=props.mode===\"page\"?String(Object.values(router?.currentPathVariables??{})[0]??\"\")||urlSlug():\"\";const project=props.mode===\"page\"?pageProject(slug)??props.project??\"prolific\":props.project??\"prolific\";const{project:_p,mode=\"inline\",showLogo=true,showTitle=false,link=\"\",linkLabel=\"Read the full case study\",bleed=20,controls=\"text\",dividers=\"both\",launcher=\"grid\",playColour=\"client\",reel=false,sidePadding=true,showLink=true,cardTone=\"dark\"}=props;const M=META[project]??META.prolific;const uid=React.useId().replace(/:/g,\"\");const name=cap(project);const shell={className:`mcs ${SCOPES}`,\"data-project\":project,\"data-dividers\":dividers,\"data-flush\":sidePadding?undefined:\"\",\"aria-labelledby\":`${uid}-h`,style:{position:\"relative\",width:\"100%\",[\"--client\"]:M.client,[\"--client-ink\"]:M.ink,[\"--bleed\"]:`${bleed}px`}};const styleRef=React.useRef(null);useSiteTheme(styleRef);const head=/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{ref:styleRef,dangerouslySetInnerHTML:{__html:CSS+(SCENE_CSS[project]??\"\")+MORE_CSS+MENU_CSS+COVER_CSS+FACE_CSS+(editable(project)?TD_CSS:\"\")}}),/*#__PURE__*/_jsxs(\"div\",{className:\"st-head\",children:[showLogo?/*#__PURE__*/_jsx(\"span\",{className:\"mcs-logo\",role:\"img\",\"aria-label\":name,style:{height:M.logoH,width:M.logoH*M.ar,[\"--logo\"]:`url(\"${M.logo}\")`}}):null,link&&showLink?/*#__PURE__*/_jsxs(\"a\",{className:\"st-link\",href:link,children:[linkLabel,/*#__PURE__*/_jsxs(\"span\",{className:\"sr-only\",children:[\": \",name]})]}):null]}),showTitle||mode!==\"player\"?/*#__PURE__*/_jsx(\"h2\",{id:`${uid}-h`,...ts(\"title\",showTitle?\"\":\"sr-only\"),style:{margin:0},children:M.title}):/*#__PURE__*/_jsx(\"p\",{id:`${uid}-h`,...ts(\"title\",\"sr-only\"),style:{margin:0},children:M.title})]});// Nothing live for this project in the CMS: nothing to play\nconst live=useLiveData(project);if(!Object.keys(live.stories).length)return null;const menuPanel=Array.isArray(props.menuPanel)?props.menuPanel[0]:props.menuPanel;if(mode===\"page\")return /*#__PURE__*/_jsx(MenuPanelContext.Provider,{value:menuPanel??null,children:/*#__PURE__*/_jsx(Launcher,{project:project,shell:shell,head:head,link:link||`/projects/${project}`,linkLabel:linkLabel,layout:\"none\",page:true,slug:slug})});return mode===\"player\"?/*#__PURE__*/_jsx(MenuPanelContext.Provider,{value:menuPanel??null,children:/*#__PURE__*/_jsx(Launcher,{project:project,shell:shell,head:head,link:link,linkLabel:linkLabel,layout:launcher,playColour:playColour,reel:reel,cardTone:cardTone})}):/*#__PURE__*/_jsx(Inline,{project:project,shell:shell,head:head,controls:controls,link:link,linkLabel:linkLabel});}// A board story in the inline version: the landscape layout, with numbered points\nfunction InlineBoard({view:one,views,count,hl,beat}){const host=React.useRef(null);const box=useBox(host);// Given both layouts, a tall box (the phone carousel) shows the portrait one\nconst o=views&&box&&box[0]<box[1]?\"p\":\"l\";const view=views?views[o]:one;const fit=box?fitArea(o,box[0],box[1]):null;return /*#__PURE__*/_jsxs(\"div\",{className:\"bd-host\",ref:host,children:[fit?/*#__PURE__*/_jsx(BoardPicture,{view:view,fit:fit,o:o},beat):null,fit?/*#__PURE__*/_jsx(\"div\",{className:\"pins on\",\"aria-hidden\":\"true\",children:Array.from({length:count},(_,i)=>{const p=notePoint(view,i,fit);return p?/*#__PURE__*/_jsx(\"span\",{className:`pin bd-pin${hl===i?\" hl\":\"\"}`,style:{left:p[0],top:p[1]},children:i+1},`${beat}-${i}`):null;})}):null]});}// ================================ Inline ================================\nfunction Inline({project,shell,head,controls,link,linkLabel}){const P=useLiveData(project);const order=Object.keys(P.stories);const uid=React.useId().replace(/:/g,\"\");const reduce=!!useReducedMotion();const coarse=useCoarsePointer();const[story,setStory]=React.useState(order[0]);const[step,setStep]=React.useState(0);// After a story's last step comes a rest card, so the next story never starts without you noticing\nconst[ended,setEnded]=React.useState(false);const S=P.stories[story],st=S.steps[step],total=S.steps.length;const idx=order.indexOf(story);const root=React.useRef(null);const nextBtn=React.useRef(null);const stage=React.useRef(null);const nav=React.useRef(null);const[hl,setHl]=React.useState(-1);const drag=useMotionValue(0);const board=boardOf(project,story);const{canvas,scenes,pins,pinsOn,sceneHTML}=useStage(project,story,step+1,ended?[]:st.n,ended?undefined:st.fx,!board,reduce,undefined,ended?\"end\":\"step\");const select=k=>{setStory(k);setStep(0);setEnded(false);};const go=d=>{if(d>0){if(ended)select(order[idx+1]??order[0]);else if(step<total-1)setStep(step+1);else setEnded(true);}else{if(ended)setEnded(false);else if(step>0)setStep(step-1);else if(idx>0){const k=order[idx-1];setStory(k);setStep(P.stories[k].steps.length-1);setEnded(true);}}};const first=step===0&&idx===0&&!ended,nx=order[idx+1];const nextLabel=!ended?\"Next\":nx?`Next: ${P.stories[nx].name}`:\"Start again\";const fromCard=fn=>()=>{fn();requestAnimationFrame(()=>nextBtn.current?.focus());};// Register for the arrow keys; track how much of the picture is on screen\nconst reg=React.useRef(null);if(reg.current)reg.current.go=go;React.useEffect(()=>{const el=root.current,c=canvas.current;if(!el||!c)return;const r={root:el,ratio:0,go};reg.current=r;REG.add(r);if(!keysBound){window.addEventListener(\"keydown\",onKeys);keysBound=true;}const io=new IntersectionObserver(([x])=>{r.ratio=x.intersectionRatio;},{threshold:[0,.2,.4,.5,.6,.7,.8,.9,1]});io.observe(c);return()=>{io.disconnect();REG.delete(r);if(!REG.size&&keysBound){window.removeEventListener(\"keydown\",onKeys);keysBound=false;}};},[]);// Fit the study to the window: the picture may only be as tall as the space left by the header,\n// story buttons, padding (and the controls when they sit under the picture).\nReact.useEffect(()=>{const el=root.current,sg=stage.current;if(!el||!sg||typeof ResizeObserver===\"undefined\")return;const measureChrome=()=>{const r=el.getBoundingClientRect(),g=sg.getBoundingClientRect();let chrome=g.top-r.top+(r.bottom-g.bottom);if(controls===\"picture\"&&nav.current)chrome+=nav.current.offsetHeight+parseFloat(getComputedStyle(sg).rowGap||\"0\");el.style.setProperty(\"--chrome\",`${Math.round(chrome)}px`);};measureChrome();const ro=new ResizeObserver(measureChrome);ro.observe(el);return()=>ro.disconnect();},[controls]);const panelId=`${uid}-panel`;const name=cap(project);return /*#__PURE__*/_jsx(\"section\",{ref:root,...shell,\"data-mode\":\"inline\",\"data-controls\":controls,\"aria-keyshortcuts\":\"ArrowLeft ArrowRight\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"mcs-in\",children:[head,/*#__PURE__*/_jsx(\"div\",{className:\"st-tabs\",role:\"group\",\"aria-label\":`${name} case studies`,children:order.map((k,i)=>{const T=P.stories[k],on=k===story;return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"st-tab\",\"aria-current\":on?\"true\":undefined,\"aria-controls\":panelId,\"data-story\":k,onClick:()=>select(k),style:{[\"--prog\"]:on?ended?1:(step+1)/(total+1):0},children:[/*#__PURE__*/_jsx(\"span\",{className:\"no\",\"aria-hidden\":\"true\",children:pad(i)}),/*#__PURE__*/_jsx(\"b\",{children:T.label}),/*#__PURE__*/_jsx(\"small\",{children:T.outcome})]},k);})}),/*#__PURE__*/_jsxs(\"div\",{className:\"st-stage\",ref:stage,id:panelId,role:\"region\",\"aria-label\":`${S.label}, case study ${idx+1} of ${order.length}`,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"st-text\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"sr-only\",\"aria-live\":\"polite\",children:ended?`End of ${S.label}. ${S.outcome}.`:`${S.name}, step ${step+1} of ${total+1}: ${st.t}`}),/*#__PURE__*/_jsxs(\"div\",{className:\"st-copy\",\"data-ended\":ended?\"true\":undefined,children:[/*#__PURE__*/_jsx(\"p\",{...ts(\"cap\",\"st-cap\"),children:st.p}),/*#__PURE__*/_jsx(\"ol\",{className:\"st-notes\",children:st.n.map((x,i)=>/*#__PURE__*/_jsxs(\"li\",{onMouseEnter:()=>setHl(i),onMouseLeave:()=>setHl(-1),children:[/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":\"true\",children:i+1}),/*#__PURE__*/_jsx(\"span\",{...ts(\"body\",\"st-note\"),children:x[0]})]},i))})]},`${story}-${step}-${ended}`)]}),/*#__PURE__*/_jsxs(\"div\",{className:\"st-canvas\",ref:canvas,role:\"img\",\"aria-label\":ended?`End of ${S.label}`:st.alt||(board?boardAlt(board[step].l)||st.t:st.t),\"data-ended\":ended?\"true\":undefined,children:[/*#__PURE__*/_jsx(motion.div,{className:\"st-drag\",\"data-swipe\":coarse&&!reduce?\"on\":\"off\",style:{x:drag},drag:coarse&&!reduce?\"x\":false,dragConstraints:{left:0,right:0},dragElastic:.3,dragMomentum:false,onDragEnd:(_,info)=>{const dx=info.offset.x,v=info.velocity.x;if(Math.abs(dx)>48||Math.abs(v)>500){const d=dx<0?1:-1;if(!(d<0&&first))go(d);}animate(drag,0,{duration:.45,ease:EASE});},children:board?/*#__PURE__*/_jsx(InlineBoard,{view:board[step].l,count:ended?0:st.n.length,hl:hl,beat:`${story}-${step}`}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{className:\"st-scenes\",ref:scenes,dangerouslySetInnerHTML:sceneHTML}),/*#__PURE__*/_jsx(\"div\",{className:`pins${pinsOn?\" on\":\"\"}`,ref:pins,\"aria-hidden\":\"true\",children:st.n.map((_,i)=>/*#__PURE__*/_jsx(\"span\",{className:`pin${hl===i?\" hl\":\"\"}`,children:i+1},`${story}-${step}-${i}`))})]})}),ended?/*#__PURE__*/_jsxs(\"div\",{className:\"st-end\",children:[/*#__PURE__*/_jsx(\"h3\",{className:\"st-end-h\",children:S.outcome}),/*#__PURE__*/_jsx(\"p\",{className:\"st-end-sub\",children:S.label}),/*#__PURE__*/_jsxs(\"div\",{className:\"pl-acts\",children:[nx?/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"st-btn primary\",onClick:fromCard(()=>select(nx)),children:[\"Next: \",P.stories[nx].name,/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 6l6 6-6 6\"})})]}):null,/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"st-btn\",onClick:fromCard(()=>{setEnded(false);setStep(0);}),children:[/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M4 12a8 8 0 1 0 2.4-5.7M4 4v4.5h4.5\"})}),\"Restart\"]})]})]}):null]}),/*#__PURE__*/_jsxs(\"div\",{className:\"st-nav\",ref:nav,children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"st-btn st-prev\",disabled:first,onClick:()=>go(-1),children:[/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M19 12H5M11 6l-6 6 6 6\"})}),/*#__PURE__*/_jsx(\"span\",{children:\"Back\"}),/*#__PURE__*/_jsx(\"span\",{className:\"sr-only\",children:\" a step\"})]}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",ref:nextBtn,className:\"st-btn primary st-next\",onClick:()=>go(1),children:[/*#__PURE__*/_jsx(\"span\",{children:nextLabel}),/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 6l6 6-6 6\"})})]}),/*#__PURE__*/_jsxs(\"span\",{className:\"st-keys\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"kbd\",{children:\"←\"}),/*#__PURE__*/_jsx(\"kbd\",{children:\"→\"}),\" to step\"]})]})]})]})});}// ================================ Launcher ================================\n// How the stories sit on the page before you press Play. Each story shows its poster step (the\n// finished work, set per story in CaseStudyContent) with a Play button in the middle.\n//   · Grid: one card per story, side by side\n//   · Tabs: one large poster; the numbered stories above it switch which one it shows\n//   · Preview: the inline layout's stories and first beat (picture and words), with Play to open the player\nfunction Launcher({project,shell,head,link,linkLabel,layout,playColour,reel:reelProp,cardTone=\"dark\",page=false,slug=\"\"}){const P=useLiveData(project);const order=Object.keys(P.stories);const name=cap(project);const total=readTime(order.reduce((n,k)=>n+storySecs(P.stories[k]),0));const[current,setCurrent]=React.useState(order[0]);const[open,setOpen]=React.useState(null);const dlg=React.useRef(null);const root=React.useRef(null);// A poster is the story's scene at its poster step\nconst poster=k=>({__html:`<div class=\"scene sc\" data-scene=\"${k}\" aria-hidden=\"true\" data-st=\"${P.stories[k].poster}\">${lazyImgs(SCENES[project]?.[k]??\"\")}</div>`});// A board story's card shows the biggest screen of its poster beat, loaded only as the card nears the screen\nconst boardPoster=k=>{const v=boardOf(project,k)?.[P.stories[k].poster-1]?.l;if(!v)return null;const e=v.els.filter(x=>x.s).sort((a,b)=>b.w*b.h-a.w*a.h)[0];return e?/*#__PURE__*/_jsx(\"img\",{className:\"lc-board\",src:BSCR[e.s].src,alt:\"\",loading:\"lazy\",decoding:\"async\"}):null;};const canvasFor=(k,hidden)=>boardOf(project,k)?/*#__PURE__*/_jsx(\"span\",{className:\"lc-canvas\",hidden:hidden,children:boardPoster(k)},k):/*#__PURE__*/_jsx(\"span\",{className:\"lc-canvas\",hidden:hidden,dangerouslySetInnerHTML:poster(k)},k);// Hovering or focusing Play starts fetching the first two beats, so the story opens straight away\nconst prime=k=>{const b=boardOf(project,k);if(!b)return;const o=orientFor(window.innerWidth,window.innerHeight);b.slice(0,2).forEach(beat=>warm(boardSrcs(beat[o])));};// Scale every poster's 640 × 460 stage to its card\nReact.useEffect(()=>{const el=root.current;if(!el||typeof ResizeObserver===\"undefined\")return;const boxes=[...el.querySelectorAll(\".lc-canvas\")];const ro=new ResizeObserver(es=>es.forEach(e=>e.target.style.setProperty(\"--s\",String(e.target.clientWidth/640))));boxes.forEach(b=>ro.observe(b));return()=>ro.disconnect();},[layout,current]);React.useEffect(()=>{const d=dlg.current;if(!open||!d||d.open)return;d.showModal();// showModal focuses the first control (Back or Close). Start on the player itself instead: screen readers\n// announce the case study, no control shows a focus ring, and the first Tab goes to Back\nd.querySelector(\":scope > .pl\")?.focus({preventScroll:true});},[open]);React.useEffect(()=>{if(open){lockScroll(1);return()=>lockScroll(-1);}},[open]);// Return focus to whatever opened the player\nconst opener=React.useRef(null);const play=k=>{opener.current=document.activeElement;setOpen(k);};// Pressing Play: like the site's primary buttons, the foil flashes and a pulse ring leaves the button's\n// edge, then the player opens\nconst pressing=React.useRef(false);const pressPlay=(k,e)=>{if(pressing.current)return;const host=e.currentTarget,panel=host.closest(\"[data-wake]\")??host.querySelector(\"[data-wake]\")??host;const btn=panel.querySelector(\".lc-foil\");const still=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;if(!btn||still){play(k);opener.current=host;return;}pressing.current=true;opener.current=host;const w=btn._wake;if(w){w.g=1.4;w.kick?.();}const b=btn.getBoundingClientRect(),pr=panel.getBoundingClientRect();const ring=document.createElement(\"span\");ring.className=\"lc-pulse\";ring.setAttribute(\"aria-hidden\",\"true\");Object.assign(ring.style,{left:`${b.left-pr.left-2}px`,top:`${b.top-pr.top-2}px`,width:`${b.width+4}px`,height:`${b.height+4}px`});ring.style.setProperty(\"--sx\",String((b.width+32)/(b.width+4)));ring.style.setProperty(\"--sy\",String((b.height+32)/(b.height+4)));panel.append(ring);ring.addEventListener(\"animationend\",()=>ring.remove());setTimeout(()=>{pressing.current=false;setOpen(k);},320);};const closed=()=>{setOpen(null);// Back to the Play that opened it (Safari doesn't focus buttons on click, so it's recorded on press)\nconst o=opener.current;requestAnimationFrame(()=>(o&&o!==document.body&&o.isConnected?o:root.current?.querySelector(\".lc-card, .lc-poster, .lc-tile, .lc-hit\"))?.focus());};// The native close event (Esc, the Close buttons, Finish): React's onClose isn't reliable on <dialog>\nconst closedRef=React.useRef(closed);closedRef.current=closed;React.useEffect(()=>{const d=dlg.current;if(!d)return;// Ignore a late event that lands after the player was opened again\nconst f=()=>{if(!d.open)closedRef.current();};d.addEventListener(\"close\",f);return()=>d.removeEventListener(\"close\",f);},[]);// Close the dialog and tidy up straight away; the native close event can arrive late\nconst closeDialog=()=>{if(dlg.current?.open)dlg.current.close();closed();};// Opened from elsewhere on the page (a case study link): window event \"mcs:open\" { project, caseStudy }.\n// Closing tells the page with \"mcs:closed\", so it can put the URL back.\nReact.useEffect(()=>{const f=e=>{const d=e.detail;if(d?.project===project&&P.stories[d.caseStudy]){opener.current=document.activeElement;setOpen(d.caseStudy);}};window.addEventListener(\"mcs:open\",f);return()=>window.removeEventListener(\"mcs:open\",f);},[project]);// Case study page (/work/<project>/<case-study>): the player is the page. It opens on the case study named by the last\n// part of the address, the address follows the case study being played, and Close goes back to where you came from\n// (or to the project, for someone who arrived from a shared link)\nconst router=useRouter?.();const slugNow=()=>urlSlug().replace(new RegExp(`^${project}-`),\"\");React.useEffect(()=>{if(!page)return;const k=order.find(x=>P.stories[x].slug===slugNow())??order[0];opener.current=null;setOpen(k);},[page]);const onStory=page?k=>{const slug=P.stories[k]?.slug;if(!slug||slug===slugNow())return;const base=location.pathname.replace(/\\/+$/,\"\").split(\"/\").slice(0,-1).join(\"/\");history.replaceState(history.state,\"\",`${base}/${project}-${slug}${location.search}`);}:undefined;const left=React.useRef(false);const leavePage=()=>{if(left.current)return;// once: Esc can arrive as a key and as the dialog's cancel\nleft.current=true;if(router&&router.isInitialNavigation===false){history.back();return;}// The step belongs to this page's address only, so it doesn't follow you to the project\nconst q=new URLSearchParams(location.search);if(q.has(\"step\")){q.delete(\"step\");const s=q.toString();history.replaceState(history.state,\"\",location.pathname+(s?`?${s}`:\"\")+location.hash);}// Arrived from a shared link: up to the project, animated as a back, and that page's Back goes home (not here)\nconst id=router?.routes&&Object.entries(router.routes).find(([,r])=>r.path===link)?.[0];if(id){navUp();router.navigate(id,\"\");}else if(link)location.assign(link);};const wasOpen=React.useRef(false);React.useEffect(()=>{if(open)wasOpen.current=true;else if(wasOpen.current){wasOpen.current=false;if(page)leavePage();else window.dispatchEvent(new CustomEvent(\"mcs:closed\",{detail:{project}}));}},[open]);const playPill=k=>/*#__PURE__*/_jsxs(\"span\",{className:\"lc-play lc-foil\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"i\",{className:\"fb-shine\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"i\",{className:\"fb-glitter\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"i\",{className:\"fb-glare\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{className:\"lc-play-i\",children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M8 5.5v13l11-6.5z\"})})}),/*#__PURE__*/_jsxs(\"span\",{children:[/*#__PURE__*/_jsx(\"b\",{children:\"Play the case study\"}),/*#__PURE__*/_jsx(\"small\",{children:readTime(storySecs(P.stories[k]))})]})]});const reduce=!!useReducedMotion();const track=React.useRef(null);const goTo=k=>{const t=track.current,el=t?.querySelector(`[data-k=\"${k}\"]`);if(t&&el)t.scrollTo({left:el.offsetLeft-t.offsetLeft,behavior:reduce?\"auto\":\"smooth\"});setCurrent(k);};// Touch and trackpads scroll the track natively (with snapping). A mouse can drag it too: on release\n// it keeps the speed you threw it with, slows down, and settles on the nearest story (a framer-motion\n// spring, starting at the throw's speed). A drag never counts as a click on the story under it\nconst dragged=React.useRef(false);const glide=React.useRef(null);const dragTrack=e=>{const t=track.current;if(!t||e.pointerType!==\"mouse\"||e.button!==0)return;glide.current?.stop();const x0=e.clientX,l0=t.scrollLeft;let samples=[[performance.now(),e.clientX]];dragged.current=false;const move=ev=>{const dx=ev.clientX-x0;if(!dragged.current&&Math.abs(dx)>6){dragged.current=true;t.dataset.dragging=\"\";try{t.setPointerCapture(e.pointerId);}catch{}}if(!dragged.current)return;t.scrollLeft=l0-dx;const now=performance.now();samples.push([now,ev.clientX]);samples=samples.filter(([at])=>now-at<100);};const up=()=>{t.removeEventListener(\"pointermove\",move);t.removeEventListener(\"pointerup\",up);t.removeEventListener(\"pointercancel\",up);if(!dragged.current)return;const[a,b]=[samples[0],samples[samples.length-1]];const v=b&&a&&b[0]>a[0]?-((b[1]-a[1])/(b[0]-a[0]))*1e3:0// px per second, in scroll direction\n;const edges=[...t.querySelectorAll(\".lc-spot\")].map(x=>({k:x.dataset.k,at:Math.min(x.offsetLeft-t.offsetLeft,t.scrollWidth-t.clientWidth)}));const nearest=to=>edges.reduce((m,x)=>Math.abs(x.at-to)<Math.abs(m.at-to)?x:m);const done=()=>{delete t.dataset.dragging;glide.current=null;};if(reduce){const n=nearest(t.scrollLeft);t.scrollLeft=n.at;setCurrent(n.k);done();return;}// Where the throw would carry it (about a third of a second at that speed), settled on the nearest story,\n// reached by a spring that starts at the throw's speed\nconst n=nearest(t.scrollLeft+v*.35);setCurrent(n.k);glide.current=animate(t.scrollLeft,n.at,{type:\"spring\",velocity:v,stiffness:140,damping:26,restDelta:.5,onUpdate:x=>{t.scrollLeft=x;},onComplete:done});};t.addEventListener(\"pointermove\",move);t.addEventListener(\"pointerup\",up);t.addEventListener(\"pointercancel\",up);};const storyTabs=pick=>/*#__PURE__*/_jsx(\"div\",{className:\"st-tabs\",role:\"group\",\"aria-label\":`${name} case studies`,children:order.map((k,i)=>{const S=P.stories[k],on=k===current;return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"st-tab\",\"aria-current\":on?\"true\":undefined,onClick:()=>pick(k),style:{[\"--prog\"]:on?1:0},children:[/*#__PURE__*/_jsx(\"span\",{className:\"no\",\"aria-hidden\":\"true\",children:pad(i)}),/*#__PURE__*/_jsx(\"b\",{children:S.label}),/*#__PURE__*/_jsx(\"small\",{children:S.outcome})]},k);})});// Preview reel (carousel only): the story in view plays through its screens at an easy pace, one\n// after another, like a trailer. Only that story moves. Payoff beats (everything faded back) are\n// skipped. Reduced motion keeps it going, slower, with plain cross-fades. It stops off screen, in a\n// background tab, and when paused (WCAG 2.2.2: anything that moves for more than 5 seconds can be paused)\nconst reelOn=!!reelProp&&layout===\"carousel\";const beatMs=reduce?4e3:2400;const reelBeats=k=>{const b=boardOf(project,k),n=P.stories[k].steps.length;return Array.from({length:n},(_,i)=>i).filter(i=>!b||!!b[i].l.focus||b[i].l.els.some(e=>e.s&&(e.op??1)>=1));};const[reelAt,setReelAt]=React.useState({k:order[0],i:0,prev:-1});const[paused,setPaused]=React.useState(false);const[seen,setSeen]=React.useState(false);React.useEffect(()=>{setReelAt({k:current,i:0,prev:-1});},[current]);React.useEffect(()=>{const el=root.current;if(!reelOn||!el)return;const me={ratio:0,set:setSeen};REELS.add(me);const io=new IntersectionObserver(([e])=>{me.ratio=e.isIntersecting?e.intersectionRatio:0;pickReel();},{threshold:[0,.2,.35,.5,.65,.8,1]});io.observe(el);return()=>{io.disconnect();REELS.delete(me);pickReel();};},[reelOn]);React.useEffect(()=>{if(!reelOn||paused||!seen||reelAt.k!==current)return;const beats=reelBeats(current);if(beats.length<2)return;const next=(reelAt.i+1)%beats.length,b=boardOf(project,current);if(b)warm(boardSrcs(b[beats[next]].l));const id=setTimeout(()=>{if(!document.hidden)setReelAt({k:current,i:next,prev:reelAt.i});},beatMs);return()=>clearTimeout(id);},[reelOn,paused,seen,reelAt,current,beatMs]);// Scenes (the older stories) step through by their data-st attribute, which their own CSS animates\nReact.useEffect(()=>{if(!reelOn||boardOf(project,current))return;const sc=root.current?.querySelector(`.lc-spot[data-k=\"${current}\"] .scene`);if(sc)sc.dataset.st=String(reelBeats(current)[reelAt.i]+1);},[reelOn,reelAt,current]);// Pictures load only as the carousel nears the screen, and then only for the story in view and the\n// ones either side (plus any already shown), so the homepage stays light\nconst[near,setNear]=React.useState(layout!==\"carousel\");const shownK=React.useRef(new Set);React.useEffect(()=>{const el=root.current;if(layout!==\"carousel\"||!el)return;const io=new IntersectionObserver(([e])=>{if(e.isIntersecting){setNear(true);io.disconnect();}},{rootMargin:\"600px 0px\"});io.observe(el);return()=>io.disconnect();},[layout]);const wants=k=>{if(layout!==\"carousel\")return true;if(!near)return false;const d=Math.abs(order.indexOf(k)-order.indexOf(current));if(d<=1)shownK.current.add(k);return shownK.current.has(k);};// The frames a story shows: its first beat, or in the reel the current beat over the one fading out\nconst frames=k=>{if(!reelOn||k!==reelAt.k)return[[0,false]];const beats=reelBeats(k),now=beats[reelAt.i]??0,was=reelAt.prev>=0?beats[reelAt.prev]:-1;return was>=0&&was!==now?[[was,true],[now,false]]:[[now,false]];};// A story's first beat, as it opens in the player, faded right back into the page so its Play\n// button (named with the story, payoff and read time) is the one clear thing. No frame, no overlay.\nconst spot=k=>{const T=P.stories[k],first=T.steps[0],b=boardOf(project,k);return /*#__PURE__*/_jsxs(\"div\",{className:\"lc-spot\",\"data-wake\":\"\",\"data-k\":k,\"data-on\":k===current?\"\":undefined,role:\"group\",\"aria-label\":T.label,children:[/*#__PURE__*/_jsx(\"div\",{className:\"lc-dim\",role:\"img\",\"aria-label\":first.alt||(b?boardAlt(b[0].l)||first.t:first.t),children:!wants(k)?null:b?frames(k).map(([i,out])=>/*#__PURE__*/_jsx(\"div\",{className:\"lc-frame\",\"data-out\":out?\"\":undefined,children:/*#__PURE__*/_jsx(InlineBoard,{views:b[i],count:0,hl:-1,beat:`${k}-${i}`})},`${k}-${i}`)):/*#__PURE__*/_jsx(\"span\",{className:\"lc-canvas\",dangerouslySetInnerHTML:{__html:`<div class=\"scene sc\" data-scene=\"${k}\" aria-hidden=\"true\" data-st=\"1\">${lazyImgs(SCENES[project]?.[k]??\"\")}</div>`}})}),reelOn&&k===current?/*#__PURE__*/_jsx(\"span\",{className:\"lc-reel\",\"aria-hidden\":\"true\",\"data-paused\":paused?\"\":undefined,style:{[\"--beat\"]:`${beatMs}ms`},children:reelBeats(k).map((_,j)=>/*#__PURE__*/_jsx(\"i\",{\"data-on\":j<reelAt.i?\"done\":j===reelAt.i?\"now\":undefined},j))}):null,/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"lc-hit\",onClick:e=>pressPlay(k,e),onPointerEnter:()=>prime(k),onFocus:()=>prime(k),\"aria-label\":`Play ${T.label}. ${T.outcome}. ${readTime(storySecs(T))}.`,children:/*#__PURE__*/_jsxs(\"span\",{className:\"lc-play lc-play-big lc-foil\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"i\",{className:\"fb-shine\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"i\",{className:\"fb-glitter\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"i\",{className:\"fb-glare\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{className:\"lc-play-i\",children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M8 5.5v13l11-6.5z\"})})}),/*#__PURE__*/_jsxs(\"span\",{children:[/*#__PURE__*/_jsx(\"b\",{children:T.label}),/*#__PURE__*/_jsxs(\"small\",{children:[T.outcome,\" \\xb7 \",readTime(storySecs(T))]})]})]})})]},k);};// Play buttons wake as the pointer comes near their panel: the primary button's foil (the Silver\n// recipe from FoilButton) brightens and follows the light, and the button drifts a little towards\n// the pointer. Inside the panel it's fully awake. Focus wakes it too.\nReact.useEffect(()=>{const el=root.current;if(!el)return;const REACH=140;let ws=[],ptr=null,raf=0;const collect=()=>{ws=[...el.querySelectorAll(\"[data-wake]\")].flatMap(panel=>{const btn=panel.querySelector(\".lc-foil\");if(!btn)return[];const w={panel,btn,p:0,g:0,x:.5,y:.5,mx:0,my:0,kick:()=>kick()};btn._wake=w;return[w];});};collect();const still=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const step=()=>{raf=0;let busy=false;for(const w of ws){const r=w.panel.getBoundingClientRect();if(!r.width)continue;let pt=0,rx=.5,ry=.5,mx=0,my=0;const focused=w.panel.matches(\":focus-visible\")||!!w.panel.querySelector(\":focus-visible\");if(ptr){const dx=Math.max(r.left-ptr.x,0,ptr.x-r.right),dy=Math.max(r.top-ptr.y,0,ptr.y-r.bottom);pt=Math.max(0,1-Math.hypot(dx,dy)/REACH);pt=pt*pt*(3-2*pt);const b=w.btn.getBoundingClientRect();rx=(ptr.x-b.left)/b.width;ry=(ptr.y-b.top)/b.height;if(!still){// The button only reaches for the pointer within 32px of where it rests, and always towards it\nconst cx=b.left+b.width/2-w.mx,cy=b.top+b.height/2-w.my;const ex=Math.max(cx-b.width/2-ptr.x,0,ptr.x-cx-b.width/2),ey=Math.max(cy-b.height/2-ptr.y,0,ptr.y-cy-b.height/2);let near=Math.max(0,1-Math.hypot(ex,ey)/32);near=near*near*(3-2*near);mx=Math.max(-10,Math.min(10,(ptr.x-cx)*.2))*near;my=Math.max(-8,Math.min(8,(ptr.y-cy)*.2))*near;}}if(focused){pt=1;rx=.7;ry=.3;}w.p+=(pt-w.p)*.14;w.g+=(pt-w.g)*(w.g>1?.06:.1);if(w.p>.02){w.x+=(Math.min(1.3,Math.max(-.3,rx))-w.x)*.16;w.y+=(Math.min(1.3,Math.max(-.3,ry))-w.y)*.16;}w.mx+=(mx-w.mx)*.12;w.my+=(my-w.my)*.12;const c=w.btn.style,cx=Math.min(1,Math.max(0,w.x)),cy=Math.min(1,Math.max(0,w.y));c.setProperty(\"--mx\",(w.x*100).toFixed(2)+\"%\");c.setProperty(\"--my\",(w.y*100).toFixed(2)+\"%\");c.setProperty(\"--px\",(37+cx*26).toFixed(2)+\"%\");c.setProperty(\"--py\",(33+cy*34).toFixed(2)+\"%\");c.setProperty(\"--g\",w.g.toFixed(3));c.setProperty(\"--tx\",w.mx.toFixed(2)+\"px\");c.setProperty(\"--ty\",w.my.toFixed(2)+\"px\");if(Math.abs(pt-w.g)>.003||Math.abs(mx-w.mx)>.05||Math.abs(my-w.my)>.05||w.p>.003)busy=true;}if(busy)raf=requestAnimationFrame(step);};const kick=()=>{if(!raf)raf=requestAnimationFrame(step);};const onMove=e=>{if(e.pointerType===\"touch\")return;ptr={x:e.clientX,y:e.clientY};kick();};const onLeave=()=>{ptr=null;kick();};window.addEventListener(\"pointermove\",onMove,{passive:true});document.documentElement.addEventListener(\"pointerleave\",onLeave);el.addEventListener(\"focusin\",kick);el.addEventListener(\"focusout\",kick);return()=>{cancelAnimationFrame(raf);window.removeEventListener(\"pointermove\",onMove);document.documentElement.removeEventListener(\"pointerleave\",onLeave);el.removeEventListener(\"focusin\",kick);el.removeEventListener(\"focusout\",kick);};},[layout,current]);// Carousel: the track runs past any padding to the window's right edge, so the next story is never\n// cut off by the page's margin. It keeps its left edge aligned with the content above\nReact.useEffect(()=>{const t=track.current,rail=t?.parentElement;if(layout!==\"carousel\"||!t||!rail)return;const fit=()=>{const r=rail.getBoundingClientRect();rail.style.setProperty(\"--to-edge\",`${Math.max(0,Math.round(document.documentElement.clientWidth-r.right))}px`);};fit();const ro=typeof ResizeObserver!==\"undefined\"?new ResizeObserver(fit):null;ro?.observe(rail);window.addEventListener(\"resize\",fit);return()=>{ro?.disconnect();window.removeEventListener(\"resize\",fit);};},[layout]);// The site's light or dark theme, read from the page colour, so the cards match it. The site switches\n// theme by changing its colour tokens, so any change to the page's classes, styles or head re-checks\nconst[surface,setSurface]=React.useState(\"dark\");React.useEffect(()=>{const el=root.current;if(!el)return;const check=()=>{const m=getComputedStyle(el).backgroundColor.match(/[\\d.]+/g);if(!m)return;const[r,g,b]=m.map(Number);setSurface(.2126*r+.7152*g+.0722*b>140?\"light\":\"dark\");};check();const mo=new MutationObserver(check);mo.observe(document.documentElement,{attributes:true});mo.observe(document.body,{attributes:true});mo.observe(document.head,{childList:true});const mq=window.matchMedia(\"(prefers-color-scheme: dark)\");mq.addEventListener?.(\"change\",check);return()=>{mo.disconnect();mq.removeEventListener?.(\"change\",check);};},[]);// The arrow keys move the carousel when it's on screen (or has focus), like the inline stories\nconst goRef=React.useRef(d=>{});goRef.current=d=>{const i=order.indexOf(current)+d;if(i>=0&&i<order.length)goTo(order[i]);};React.useEffect(()=>{const el=root.current,t=track.current;if(layout!==\"carousel\"||!el||!t)return;const r={root:el,ratio:0,go:d=>goRef.current(d)};REG.add(r);if(!keysBound){window.addEventListener(\"keydown\",onKeys);keysBound=true;}const io=new IntersectionObserver(([x])=>{r.ratio=x.intersectionRatio;},{threshold:[0,.2,.4,.5,.6,.7,.8,.9,1]});io.observe(t);return()=>{io.disconnect();REG.delete(r);if(!REG.size&&keysBound){window.removeEventListener(\"keydown\",onKeys);keysBound=false;}};},[layout]);// Carousel: the story most in view is the current one, so the tabs follow a swipe\nReact.useEffect(()=>{const t=track.current;if(layout!==\"carousel\"||!t)return;const io=new IntersectionObserver(es=>es.forEach(e=>{if(e.intersectionRatio>.6)setCurrent(e.target.dataset.k);}),{root:t,threshold:[.6]});t.querySelectorAll(\".lc-spot\").forEach(x=>io.observe(x));return()=>io.disconnect();},[layout]);// No launcher: only the player, opened by \"mcs:open\" (case study links in the foil card takeover and sheet).\n// On a case study page, Back leaves with the player still open, so the page change animates from the player\n// (closing first would show the page's no-JavaScript text underneath)\nif(layout===\"none\")return /*#__PURE__*/_jsxs(_Fragment,{children:[page?/*#__PURE__*/_jsx(PageCover,{project:project,slug:slug,link:link,cls:shell.className,covered:!!open}):null,/*#__PURE__*/React.createElement(page?\"main\":\"section\",{...shell,\"data-mode\":\"player\",\"data-launcher\":\"none\"},/*#__PURE__*/_jsx(\"div\",{hidden:true,children:head}),page?/*#__PURE__*/_jsx(\"script\",{dangerouslySetInnerHTML:{__html:THEME_NOW}}):null,/*#__PURE__*/_jsx(\"dialog\",{className:\"pl-dialog\",ref:dlg,\"aria-label\":isTeardown(project)?`${name}: First Impressions`:`${name} case study`,children:open?/*#__PURE__*/_jsx(Player,{project:project,start:open,link:link,linkLabel:linkLabel,close:page?leavePage:closeDialog,dialog:dlg,onStory:onStory,page:!!page}):null}))]});return /*#__PURE__*/_jsxs(\"section\",{ref:root,...shell,\"data-mode\":\"player\",\"data-launcher\":layout,\"data-play\":playColour,\"data-surface\":cardTone===\"auto\"?surface:cardTone,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"mcs-in\",children:[head,layout===\"preview\"?/*#__PURE__*/_jsxs(\"div\",{className:\"lc lc-preview\",children:[storyTabs(k=>setCurrent(k)),spot(current)]}):layout===\"carousel\"?/*#__PURE__*/_jsxs(\"div\",{className:\"lc lc-carousel\",children:[storyTabs(goTo),/*#__PURE__*/_jsx(\"div\",{className:\"lc-rail\",children:/*#__PURE__*/_jsx(\"div\",{className:\"lc-track\",ref:track,onPointerDown:dragTrack,onClickCapture:e=>{if(dragged.current){e.preventDefault();e.stopPropagation();dragged.current=false;}},children:order.map(k=>spot(k))})}),/*#__PURE__*/_jsxs(\"div\",{className:\"lc-arrows\",children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"st-btn lc-arrow\",\"aria-label\":\"Previous case study\",disabled:order.indexOf(current)===0,onClick:()=>goTo(order[order.indexOf(current)-1]),children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M19 12H5M11 6l-6 6 6 6\"})})}),reelOn?/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"st-btn lc-arrow\",\"aria-pressed\":paused,\"aria-label\":paused?\"Play the previews\":\"Pause the previews\",onClick:()=>setPaused(!paused),children:paused?/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M8 5.5v13l11-6.5z\"})}):/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M8 5v14M16 5v14\"})})}):null,/*#__PURE__*/_jsxs(\"span\",{className:\"lc-count\",\"aria-live\":\"polite\",children:[order.indexOf(current)+1,\" of \",order.length]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"st-btn lc-arrow\",\"aria-label\":\"Next case study\",disabled:order.indexOf(current)===order.length-1,onClick:()=>goTo(order[order.indexOf(current)+1]),children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 6l6 6-6 6\"})})})]})]}):layout===\"tiles\"?/*#__PURE__*/_jsx(\"ol\",{className:\"lc lc-grid lc-tiles\",\"aria-label\":`${name} case studies, ${total}`,children:order.map(k=>{const T=P.stories[k];return /*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"lc-tile\",\"data-wake\":\"\",onClick:e=>pressPlay(k,e),onPointerEnter:()=>prime(k),onFocus:()=>prime(k),\"aria-label\":`Play ${T.label}. ${T.outcome}. ${readTime(storySecs(T))}.`,children:[canvasFor(k),/*#__PURE__*/_jsxs(\"span\",{className:\"lc-tile-meta\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsxs(\"span\",{className:\"lc-txt\",children:[/*#__PURE__*/_jsx(\"b\",{children:T.label}),/*#__PURE__*/_jsxs(\"small\",{children:[T.outcome,\" \\xb7 \",readTime(storySecs(T))]})]}),/*#__PURE__*/_jsxs(\"span\",{className:\"lc-round lc-foil\",children:[/*#__PURE__*/_jsx(\"i\",{className:\"fb-shine\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"i\",{className:\"fb-glitter\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"i\",{className:\"fb-glare\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{className:\"lc-play-i\",children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M8 5.5v13l11-6.5z\"})})})]})]})]})},k);})}):layout===\"tabs\"?/*#__PURE__*/_jsxs(\"div\",{className:\"lc lc-tabs\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"st-tabs\",role:\"group\",\"aria-label\":`${name} case studies`,children:order.map((k,i)=>{const T=P.stories[k],on=k===current;return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"st-tab\",\"aria-current\":on?\"true\":undefined,onClick:()=>setCurrent(k),style:{[\"--prog\"]:on?1:0},children:[/*#__PURE__*/_jsx(\"span\",{className:\"no\",\"aria-hidden\":\"true\",children:pad(i)}),/*#__PURE__*/_jsx(\"b\",{children:T.label}),/*#__PURE__*/_jsx(\"small\",{children:T.outcome})]},k);})}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"lc-poster\",\"data-wake\":\"\",onClick:e=>pressPlay(current,e),onPointerEnter:()=>prime(current),onFocus:()=>prime(current),\"aria-label\":`Play ${P.stories[current].label}. ${P.stories[current].outcome}. ${readTime(storySecs(P.stories[current]))}.`,children:[order.map(k=>canvasFor(k,k!==current)),playPill(current)]})]}):/*#__PURE__*/_jsx(\"ol\",{className:\"lc lc-grid\",\"aria-label\":`${name} case studies, ${total}`,children:order.map((k,i)=>{const T=P.stories[k];return /*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"lc-card\",onClick:e=>pressPlay(k,e),onPointerEnter:()=>prime(k),onFocus:()=>prime(k),\"aria-label\":`Play ${T.label}. ${T.outcome}. ${readTime(storySecs(T))}.`,children:/*#__PURE__*/_jsxs(\"span\",{className:\"lc-poster\",\"data-wake\":\"\",children:[canvasFor(k),playPill(k),/*#__PURE__*/_jsxs(\"span\",{className:\"lc-meta\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"no\",children:pad(i)}),/*#__PURE__*/_jsxs(\"span\",{className:\"lc-txt\",children:[/*#__PURE__*/_jsx(\"b\",{children:T.label}),/*#__PURE__*/_jsx(\"small\",{children:T.outcome})]})]})]})})},k);})})]}),/*#__PURE__*/_jsx(\"dialog\",{className:\"pl-dialog\",ref:dlg,\"aria-label\":isTeardown(project)?`${name}: First Impressions`:`${name} case study`,children:open?/*#__PURE__*/_jsx(Player,{project:project,start:open,link:link,linkLabel:linkLabel,close:closeDialog,dialog:dlg,onStory:onStory,page:!!page}):null})]});}const NARRATOR_PLACES=[\"right-start\",\"left-start\",\"right-end\",\"left-end\",\"bottom-start\",\"top-start\",\"bottom-end\",\"top-end\",\"bottom\",\"top\"];const overlap=(a,b)=>Math.max(0,Math.min(a.x+a.w,b.right)-Math.max(a.x,b.left))*Math.max(0,Math.min(a.y+a.h,b.bottom)-Math.max(a.y,b.top));// ---------- Player: the options menu (⋮) ----------\n// The page itself can be pinch-zoomed outside the picture (on the header or the controls). Setting the\n// viewport's maximum scale to 1 for a moment brings it back to 100% in Safari and Chrome on phones.\nfunction resetPageZoom(){const vv=window.visualViewport;if(!vv||vv.scale<=1.01)return;const meta=document.querySelector('meta[name=\"viewport\"]');if(!meta)return;const was=meta.content;meta.content=`${was.replace(/,?\\s*maximum-scale=[^,]*/g,\"\")}, maximum-scale=1`;setTimeout(()=>{meta.content=was;},400);}// The options menu, built like the site menu (MenuFab.tsx): a disclosure button with aria-expanded and\n// aria-controls, the menu straight after it in the tab order, Escape to close (focus back on the button),\n// focus moved into the menu when it's opened from the keyboard, and closing on a tap outside, tabbing out,\n// or choosing an item. On phones the player behind it is dimmed and blurred, like the site menu's overlay.\n// Up and down move between the items.\nconst MORE_ICONS={more:'<circle cx=\"12\" cy=\"5\" r=\"1.6\"/><circle cx=\"12\" cy=\"12\" r=\"1.6\"/><circle cx=\"12\" cy=\"19\" r=\"1.6\"/>',reset:'<path d=\"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5\"/><circle cx=\"12\" cy=\"12\" r=\"2.5\"/>',restart:'<path d=\"M4 12a8 8 0 1 0 2.4-5.7M4 4v4.5h4.5\"/>',play:'<path d=\"M8 5.5v13l10-6.5z\"/>'};const MoreIcon=({name})=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",dangerouslySetInnerHTML:{__html:MORE_ICONS[name]}});// The site menu component (Nav/Menu Panel, its Player variant: Theme, Contact, Book a call) under the player's own rows: the Menu panel control\nconst MenuPanelContext=/*#__PURE__*/React.createContext(null);function PlMore({items,openRef}){const sitePanel=React.useContext(MenuPanelContext);const[open,setOpen]=React.useState(false);const root=React.useRef(null),btn=React.useRef(null),panel=React.useRef(null);const focusOnOpen=React.useRef(false);const id=\"pl-more-\"+React.useId().replace(/:/g,\"\");// Escape is caught first: the player closes on Escape too, and this closes before it\nconst{surface,close,onPanelKeyDown}=useMenu({open,setOpen,root,panel,focusButton:()=>btn.current?.focus(),focusOnOpen,captureEscape:true,scrim:\"pl-more-scrim\"});// The player's Escape (the dialog's cancel) closes this first, while it's open\nopenRef.current=open?()=>close(true):null;return /*#__PURE__*/_jsxs(\"div\",{ref:root,className:\"pl-more smenu\",\"data-open\":open?\"\":undefined,\"data-surface\":surface,children:[sitePanel?/*#__PURE__*/_jsx(MenuFoilDefs,{}):null,/*#__PURE__*/_jsx(\"div\",{className:\"pl-more-scrim\",\"aria-hidden\":\"true\",onClick:()=>close(false)}),/*#__PURE__*/_jsx(\"button\",{ref:btn,type:\"button\",className:\"pl-x pl-more-btn\",\"aria-label\":\"Case study options\",\"aria-expanded\":open,\"aria-controls\":id,onClick:e=>{if(!open)focusOnOpen.current=e.detail===0;setOpen(!open);},children:/*#__PURE__*/_jsx(MoreIcon,{name:\"more\"})}),/*#__PURE__*/_jsxs(\"div\",{ref:panel,id:id,className:\"pl-more-panel smenu-panel\",role:\"group\",\"aria-label\":\"Case study options\",onKeyDown:onPanelKeyDown,children:[/*#__PURE__*/_jsx(\"div\",{className:\"pl-more-own\",children:items.map((it,i)=>it===\"divider\"?/*#__PURE__*/_jsx(\"hr\",{className:\"pl-more-line\"},`d${i}`):\"heading\"in it?/*#__PURE__*/_jsx(\"p\",{className:\"pl-more-head\",children:it.heading},`h${i}`):/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"pl-more-row\",\"aria-current\":it.current?\"true\":undefined,onClick:()=>{close(true);it.act();},children:[/*#__PURE__*/_jsx(\"span\",{className:\"pl-more-ico\",children:it.icon?/*#__PURE__*/_jsx(MoreIcon,{name:it.icon}):null}),/*#__PURE__*/_jsx(\"span\",{className:\"pl-more-lbl\",children:it.label})]},it.key))}),sitePanel?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"hr\",{className:\"pl-more-line\"}),/*#__PURE__*/_jsx(\"div\",{className:\"pl-more-site\",children:sitePanel})]}):null]})]});}// The panel is the site menu's (Nav/Menu Panel): its fill, 264 wide, radius 14, 6px padding, 40px rows with a\n// 24px icon, 14/24 medium text in Text/Secondary, and a 7% pill for hover, focus and the current item. The site\n// panel inside drops its own fill, padding and shadow, so the two read as one menu. Rows, focus ring and foil\n// come from MenuShared.tsx (MENU_CSS), as in the site menu\n/* Case study page, before the player opens (the server's HTML, the wait for scripts, a page change coming in): the\n   player's own background and top bar over the page (it carries the .mcs classes: the player's CSS is scoped to them),\n   so the no-JavaScript text never shows to someone with scripts on. It also starts fetching the first beat's screens\n   for this window's orientation.\n   With JavaScript off it's the player at its first step, controls and all (switched off), with the narrator asking for\n   JavaScript and a link to the project page. The page's own text stays underneath for search and screen readers */const COVER_CSS=`\n.pl-cover{display: none;}\n@media (scripting: enabled), (scripting: none){ .pl-cover{display: block; position: fixed; inset: 0; z-index: 60;} .pl-cover > .pl{height: 100%;} }\n.pl-cover .pl-back{text-decoration: none;}\n.pl-cover .pl-nojs{display: none;}\n@media (scripting: none){ .pl-cover .pl-nojs{display: flex;} .pl-cover footer.pl-nojs{display: flex;} }\n.mcs .pl-cover-main{flex-direction: column; align-items: center; justify-content: center; gap: clamp(16px, 4cqh, 32px); padding: 8px 24px; min-height: 0; overflow: hidden;}\n.mcs .pl-cover-say{display: flex; align-items: flex-end; gap: 12px; max-width: 34rem;}\n.mcs .pl-cover-say .pl-av{flex: none; align-self: flex-end;}\n.mcs .pl-cover-say .pl-bubble{margin: 0;}\n.mcs .pl-cover-say .pl-bubble p{margin: 0; font: 400 1.25rem/1.4 \"Inter\", sans-serif;}\n.mcs .pl-cover-say .pl-bubble p + p{margin-top: .5rem; font-size: 1rem;}\n.mcs .pl-cover-say .pl-bubble a{color: inherit; text-decoration: underline; text-underline-offset: 3px;}\n.mcs .pl-cover-pic{flex: 1 1 auto; min-height: 0; width: 100%; display: flex; justify-content: center;}\n.mcs .pl-cover-pic img{max-width: min(100%, 960px); max-height: 100%; object-fit: contain; border-radius: 8px; box-shadow: var(--sh-box-md, 0 14px 32px -12px rgb(16 18 40 / .28));}\n.mcs .pl-cover .st-btn[disabled]{opacity: .45; cursor: not-allowed;}\n@container pl (max-width: 47.49rem){ .mcs .pl-cover-say .pl-bubble p{font-size: 1.125rem;} }\n`;/* Runs as the server's HTML is read, before any script loads: the same rule as useSiteTheme for the style tag just\n   above, so the cover is in the site's theme from the first paint (the head script only patches Framer's own CSS) */const THEME_NOW=`(function(){try{var t=localStorage.getItem(\"currentToggleState\");if(t!==\"light\")t=\"dark\";var os=matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\",s=t===os?\"dark\":\"light\",p=document.currentScript.previousElementSibling,el=p&&p.querySelector(\"style\");if(el)el.innerHTML=el.innerHTML.replace(/prefers-color-scheme:\\\\s?\\\\w+/g,\"prefers-color-scheme: \"+s)}catch(e){}})()`;const PORTRAIT=\"(orientation: portrait), (max-width: 47.49rem)\",LANDSCAPE=\"(orientation: landscape) and (min-width: 47.5rem)\";function PageCover({project,slug,link,cls,covered=false}){const P=useLiveData(project);const M=META[project]??META.prolific;const name=cap(project);const order=Object.keys(P.stories);const k=order.find(x=>P.stories[x].slug===slug.replace(new RegExp(`^${project}-`),\"\"))??order[0];const beats=k?boardOf(project,k):undefined;const first=beats?.[0];const steps=(beats?.length??P.stories[k]?.steps?.length??0)+1// the end card counts as a step\n;const pre=(v,media)=>v?boardSrcs(v).map(u=>/*#__PURE__*/_jsx(\"link\",{rel:\"preload\",as:\"image\",href:u,media:media},media+u)):null;// The first beat's biggest screen, from the same files as the preloads (so it costs nothing extra)\nconst big=v=>v?.els.filter(e=>e.s&&BSCR[e.s]).sort((x,y)=>y.w*y.h-x.w*x.h)[0];const bl=big(first?.l),bp=big(first?.p)??bl;const back=/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M19 12H5M11 6l-6 6 6 6\"})});return(// Once the player is open over it, the cover leaves the accessibility tree and the tab order (its Back would be a\n// second one)\n/*#__PURE__*/_jsxs(\"div\",{className:`pl-cover ${cls}`,\"data-project\":project,\"aria-hidden\":covered||undefined,ref:el=>{if(el)el.inert=covered;},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pl\",style:{[\"--client\"]:M.client},children:[/*#__PURE__*/_jsxs(\"header\",{className:\"pl-top\",\"data-page\":\"\",children:[/*#__PURE__*/_jsx(BackButton,{className:\"pl-back\",variant:\"icon\",link:link,label:`Back to ${name} case study`}),/*#__PURE__*/_jsxs(\"div\",{className:\"pl-id\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mcs-logo pl-logo\",style:{height:M.logoH,width:M.logoH*M.ar,[\"--logo\"]:`url(\"${M.logo}\")`}}),/*#__PURE__*/_jsx(\"p\",{className:\"pl-where\",children:/*#__PURE__*/_jsx(\"b\",{children:k?P.stories[k].label:\"\"})})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"pl-main pl-cover-main pl-nojs\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pl-cover-say\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"pl-av\",children:/*#__PURE__*/_jsx(FacePicture,{className:\"pl-avatar\",src:FACES.neutral||NARRATOR,shown:79,alt:\"\",width:56,height:56})}),/*#__PURE__*/_jsxs(\"div\",{className:\"pl-bubble\",role:\"note\",children:[/*#__PURE__*/_jsx(\"p\",{children:\"This case study plays step by step in your browser, so it needs JavaScript. Turn it on and reload the page to watch it.\"}),/*#__PURE__*/_jsx(\"p\",{children:/*#__PURE__*/_jsxs(\"a\",{href:link,children:[\"Go to the \",name,\" project page\"]})})]})]}),bl?/*#__PURE__*/_jsx(\"div\",{className:\"pl-cover-pic\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsxs(\"picture\",{children:[/*#__PURE__*/_jsx(\"source\",{media:PORTRAIT,srcSet:BSCR[bp.s].src}),/*#__PURE__*/_jsx(\"img\",{src:BSCR[bl.s].src,alt:\"\",decoding:\"async\"})]})}):null]}),/*#__PURE__*/_jsxs(\"footer\",{className:\"pl-foot pl-nojs\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"pl-hints\",children:/*#__PURE__*/_jsxs(\"span\",{className:\"st-keys\",children:[/*#__PURE__*/_jsx(\"kbd\",{children:\"←\"}),/*#__PURE__*/_jsx(\"kbd\",{children:\"→\"}),\" to step\"]})}),/*#__PURE__*/_jsxs(\"div\",{className:\"pl-nav\",children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"st-btn pl-b\",disabled:true,tabIndex:-1,children:[back,/*#__PURE__*/_jsx(\"span\",{children:\"Back\"})]}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"st-btn pl-b\",disabled:true,tabIndex:-1,children:[/*#__PURE__*/_jsx(\"span\",{children:\"Next\"}),/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 6l6 6-6 6\"})})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"pl-strip\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"pl-progress\",children:/*#__PURE__*/_jsx(\"i\",{style:{transform:`scaleX(${1/steps})`}})}),/*#__PURE__*/_jsxs(\"span\",{className:\"pl-count\",children:[\"1 of \",steps]})]})]})]}),pre(first?.p,PORTRAIT),pre(first?.l,LANDSCAPE)]}));}// Teardown steps: rings, the portrait slide, the talking-head take\n// Faces and effects: every player (teardowns and case studies)\nconst FACE_CSS=`\n/* The head pops out of the circle: the circle is a disc behind the cut-out photo, which is drawn a quarter bigger from\n   the bottom (1.4x), so the head rises over the rim while the shoulders stay inside it. The mask: the circle, in the photo's own\n   (unscaled) box, plus everything above the circle's middle */\n.mcs [data-pop] .pl-face::before{content: \"\"; position: absolute; inset: 0; border-radius: 50%; border: 2px solid #f6f6f6;\n  background: radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--client) 55%, #fff), var(--client)); box-shadow: 0 12px 24px -12px rgb(0 0 0 / .8);}\n.mcs .pl-pic{display: block; position: relative;}\n.mcs .pl-pict{display: contents;}\n.mcs [data-pop] .pl-pic{display: block; position: relative; z-index: 1; scale: 1.4; transform-origin: 50% 100%;\n  -webkit-mask-image: radial-gradient(ellipse 35.6% 35.6% at 50% 64.3%, #000 97%, transparent 100%), linear-gradient(#000, #000);\n  mask-image: radial-gradient(ellipse 35.6% 35.6% at 50% 64.3%, #000 97%, transparent 100%), linear-gradient(#000, #000);\n  -webkit-mask-size: 100% 100%, 100% 64.3%; mask-size: 100% 100%, 100% 64.3%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: 0 0; mask-position: 0 0;}\n/* The photo sits a little low inside the mask, so the shoulders run past the bottom of the circle: no gap above the rim */\n.mcs [data-pop] .pl-pic .pl-avatar{background: none; border-color: transparent; box-shadow: none; border-radius: 0; translate: 0 7%;}\n.mcs [data-pop] .pl-face::after{content: \"\"; position: absolute; inset: 0; z-index: 2; border-radius: 50%; border: 2px solid #f6f6f6;\n  clip-path: inset(50% -2px -2px -2px); pointer-events: none;}\n/* Popped out: the sweat drop sits beside the head, above the rim */\n.mcs [data-pop][data-mark=\"sweat\"] .pl-rim{top: -36%; right: -24%;}\n.mcs [data-pop] .pl-mk{z-index: 3;}\n.mcs [data-pop] .pl-status{margin-bottom: 36%;}\n/* Avatar below the bubble: the status goes beside the head, not up into the words */\n.mcs .pl-narrator[data-side=\"bottom\"] .pl-status{bottom: auto; top: -6%; left: 100%; margin: 0 0 0 6%;}\n.mcs .pl-narrator[data-side=\"bottom\"][data-align=\"end\"] .pl-status{left: auto; right: 100%; margin: 0 6% 0 0;}\n/* Moods: a face per mood, a status over the head, marks on the rim. Each plays its entrance when the mood changes */\n.mcs .pl-face{position: relative; display: block;}\n.mcs .pl-mk{position: absolute; overflow: visible; pointer-events: none; opacity: 0;}\n.mcs .pl-status{left: 50%; bottom: 100%; width: 80%; height: 92%; margin: 0 0 6% -40%; transform-origin: 50% 100%;}\n.mcs .pl-rim{right: -25%; top: -21%; width: 60%; height: 60%;}\n.mcs .pl-rim2{left: -29%; top: -11%; width: 54%; height: 54%;}\n.mcs .pl-mk .g-o{stroke: #0b0d1a; stroke-width: 7; stroke-linejoin: round; stroke-linecap: round; fill: #0b0d1a;}\n.mcs .pl-mk .g-w{stroke: #fff; stroke-width: 3.5; stroke-linejoin: round; stroke-linecap: round; fill: #fff;}\n.mcs .pl-mk .flash{fill: none; stroke: #fff; stroke-width: 2; opacity: 0; transform-box: fill-box; transform-origin: center;}\n.mcs .pl-mk .k{transform-box: fill-box; transform-origin: center;}\n.mcs [data-mark=\"alert\"] .pl-status{animation: pl-pop .5s var(--pop) both, pl-bob 2.4s ease-in-out .6s infinite;}\n.mcs [data-mark=\"alert\"] .pl-status .flash{animation: pl-flash .5s var(--ease) .08s both;}\n.mcs [data-mark=\"alert\"] .pl-face{animation: pl-jolt .35s var(--ease);}\n.mcs [data-mark=\"question\"] .pl-status{animation: pl-rise .55s var(--pop) both, pl-sway 3s ease-in-out .6s infinite;}\n.mcs [data-mark=\"question\"] .pl-face{animation: pl-tilt .6s var(--ease); transform-origin: 50% 100%;}\n.mcs [data-mark=\"sparkle\"] .pl-rim,.mcs [data-mark=\"sparkle\"] .pl-rim2{opacity: 1;}\n.mcs [data-mark=\"sparkle\"] .pl-rim .k,.mcs [data-mark=\"sparkle\"] .pl-rim2 .k{animation: pl-kira 1.6s var(--ease) infinite;}\n.mcs [data-mark=\"sparkle\"] .pl-rim .k:nth-of-type(2){animation-delay: .5s;}\n.mcs [data-mark=\"sparkle\"] .pl-rim2 .k{animation-delay: .9s;}\n.mcs [data-mark=\"sparkle\"] .pl-status{animation: pl-note 2.2s ease-out .3s infinite;}\n.mcs [data-mark=\"sparkle\"] .pl-face{animation: pl-hop .5s var(--pop);}\n.mcs [data-mark=\"sweat\"] .pl-rim{opacity: 1; animation: pl-drop .45s var(--pop) both, pl-slide 2.6s ease-in-out .5s infinite;}\n.mcs [data-mark=\"sweat\"] .pl-face{animation: pl-sink .5s var(--ease) both;}\n.mcs [data-mark=\"note\"] .pl-status{animation: pl-note 2.2s ease-out .3s infinite;}\n.mcs [data-mark=\"note\"] .pl-face{animation: pl-hop .5s var(--pop);}\n.mcs [data-mark=\"alert2\"] .pl-status,.mcs [data-mark=\"interro\"] .pl-status{animation: pl-pop .5s var(--pop) both, pl-bob 2.4s ease-in-out .6s infinite;}\n.mcs [data-mark=\"alert2\"] .pl-face,.mcs [data-mark=\"interro\"] .pl-face{animation: pl-jolt .35s var(--ease);}\n.mcs [data-mark=\"question2\"] .pl-status{animation: pl-rise .55s var(--pop) both, pl-sway 3s ease-in-out .6s infinite;}\n.mcs [data-mark=\"question2\"] .pl-face{animation: pl-tilt .6s var(--ease); transform-origin: 50% 100%;}\n.mcs [data-mark=\"vein\"] .pl-rim{opacity: 1; animation: pl-pop .4s var(--pop) both, pl-throb .9s ease-in-out .4s infinite;}\n.mcs [data-mark=\"anger\"] .pl-rim{opacity: 1; animation: pl-pop .4s var(--pop) both, pl-throb .9s ease-in-out .4s infinite;}\n.mcs [data-mark=\"anger\"] .pl-status{animation: pl-pop .45s var(--pop) .12s both, pl-shake .5s ease-in-out .6s infinite;}\n.mcs [data-mark=\"anger\"] .pl-face{animation: pl-shake-av .45s ease-in-out;}\n.mcs{--pop: cubic-bezier(.34, 1.7, .5, 1);}\n@keyframes pl-pop{0%{opacity: 0; transform: translateY(10px) scale(.2);}60%{opacity: 1;}100%{opacity: 1; transform: none;}}\n@keyframes pl-rise{0%{opacity: 0; transform: translateY(12px) scale(.6);}100%{opacity: 1; transform: none;}}\n@keyframes pl-bob{0%,100%{transform: translateY(0);}50%{transform: translateY(-3px);}}\n@keyframes pl-sway{0%,100%{transform: rotate(-7deg);}50%{transform: rotate(7deg);}}\n@keyframes pl-flash{0%{opacity: .95; transform: scale(.4);}100%{opacity: 0; transform: scale(1.6);}}\n@keyframes pl-jolt{0%{transform: none;}30%{transform: translateY(-4px) scale(1.04);}100%{transform: none;}}\n@keyframes pl-tilt{0%{transform: none;}50%{transform: rotate(-6deg);}100%{transform: none;}}\n@keyframes pl-kira{0%{transform: scale(0) rotate(-30deg); opacity: 0;}25%{transform: scale(1.15) rotate(0); opacity: 1;}55%{transform: scale(.9); opacity: 1;}100%{transform: scale(0) rotate(30deg); opacity: 0;}}\n@keyframes pl-note{0%{opacity: 0; transform: translate(0, 8px) rotate(-8deg);}20%{opacity: 1;}100%{opacity: 0; transform: translate(10px, -14px) rotate(10deg);}}\n@keyframes pl-hop{0%{transform: none;}35%{transform: translateY(-7px);}65%{transform: translateY(1px);}100%{transform: none;}}\n@keyframes pl-drop{0%{opacity: 0; transform: translateY(-14px) scale(.4);}100%{opacity: 1; transform: none;}}\n@keyframes pl-slide{0%,100%{transform: translateY(0);}50%{transform: translateY(4px);}}\n@keyframes pl-sink{0%{transform: none;}100%{transform: translateY(2px) scale(.97);}}\n@keyframes pl-throb{0%,100%{transform: scale(.9);}50%{transform: scale(1.12);}}\n@keyframes pl-shake{0%,100%{transform: translateX(0) rotate(0);}25%{transform: translateX(-1.5px) rotate(-4deg);}75%{transform: translateX(1.5px) rotate(4deg);}}\n@keyframes pl-shake-av{0%,100%{transform: none;}20%{transform: translateX(-3px);}40%{transform: translateX(3px);}60%{transform: translateX(-2px);}80%{transform: translateX(2px);}}\n/* Reduced motion: the marks show, nothing moves */\n@media (prefers-reduced-motion: reduce){\n  .mcs .pl-face *,.mcs .pl-face{animation: none !important;}\n  .mcs [data-mark] .pl-status,.mcs [data-mark=\"sparkle\"] .pl-rim,.mcs [data-mark=\"sparkle\"] .pl-rim2,.mcs [data-mark=\"sweat\"] .pl-rim,.mcs [data-mark=\"anger\"] .pl-rim,.mcs [data-mark=\"vein\"] .pl-rim{opacity: 1;}\n}\n`;const TD_CSS=`\n.mcs .bd-pan{position: absolute; left: 0; top: 0; width: 100%; height: 100%;}\n.mcs .bd-shade{position: absolute; pointer-events: none; overflow: visible;}\n/* Narrator: the avatar on any side of the bubble, its tail pointing at it */\n.mcs .pl-narrator[data-side=\"left\"] .pl-bubble::before{top: calc(var(--ty, 50%) - 9px); bottom: auto;}\n.mcs .pl-narrator[data-side=\"right\"]{grid-template-columns: 1fr auto;}\n.mcs .pl-narrator[data-side=\"right\"] .pl-av{order: 2;}\n.mcs .pl-narrator[data-side=\"right\"] .pl-bubble::before{left: auto; right: -9px; top: calc(var(--ty, 50%) - 9px); bottom: auto; clip-path: polygon(0 0, 100% 50%, 0 100%);}\n.mcs .pl-narrator[data-side=\"top\"],.mcs .pl-narrator[data-side=\"bottom\"]{grid-template-columns: 1fr; row-gap: .75rem;}\n.mcs .pl-narrator[data-side=\"top\"] .pl-av,.mcs .pl-narrator[data-side=\"bottom\"] .pl-av{justify-self: start; margin-left: .5rem; width: max-content;}\n.mcs .pl-narrator[data-side=\"bottom\"] .pl-av{order: 2;}\n.mcs .pl-narrator[data-side=\"top\"] .pl-bubble::before{left: calc(var(--tx, 1.75rem) - 9px); top: -9px; bottom: auto; width: 18px; height: 10px; clip-path: polygon(0 100%, 50% 0, 100% 100%);}\n.mcs .pl-narrator[data-side=\"bottom\"] .pl-bubble::before{left: calc(var(--tx, 1.75rem) - 9px); bottom: -9px; width: 18px; height: 10px; clip-path: polygon(0 0, 50% 100%, 100% 0);}\n/* Where along its side the avatar sits */\n.mcs .pl-narrator[data-side=\"left\"][data-align=\"start\"] .pl-av,.mcs .pl-narrator[data-side=\"right\"][data-align=\"start\"] .pl-av{align-self: start;}\n.mcs .pl-narrator[data-side=\"left\"][data-align=\"center\"] .pl-av,.mcs .pl-narrator[data-side=\"right\"][data-align=\"center\"] .pl-av{align-self: center;}\n.mcs .pl-narrator[data-side=\"top\"][data-align=\"center\"] .pl-av,.mcs .pl-narrator[data-side=\"bottom\"][data-align=\"center\"] .pl-av{justify-self: center; margin-left: 0;}\n.mcs .pl-narrator[data-side=\"top\"][data-align=\"end\"] .pl-av,.mcs .pl-narrator[data-side=\"bottom\"][data-align=\"end\"] .pl-av{justify-self: end; margin-left: 0; margin-right: .5rem;}\n.mcs .bd-ring{position: absolute; border-radius: 10px; pointer-events: none;\n  box-shadow: 0 0 0 2px var(--client), 0 0 0 7px color-mix(in srgb, var(--client) 28%, transparent);}\n.mcs .pl-narrator[data-take]{grid-template-columns: 5.5rem 1fr;}\n.mcs .pl-take{position: relative; display: block; width: 5.5rem; height: 5.5rem;}\n.mcs .pl-narrator .pl-take .pl-take-v{width: 100%; height: 100%; object-fit: cover; transition: box-shadow .3s ease;}\n.mcs .pl-take[data-playing] .pl-take-v{box-shadow: 0 0 0 3px var(--client), 0 12px 24px -12px rgb(0 0 0 / .8);}\n.mcs .pl-take-b{all: unset; box-sizing: border-box; position: absolute; right: -4px; bottom: -4px; width: 2.25rem; height: 2.25rem; border-radius: 50%;\n  display: grid; place-items: center; background: #f6f6f6; color: #161616; cursor: pointer; box-shadow: 0 4px 12px rgb(0 0 0 / .45);}\n.mcs .pl-take-b svg{width: 1rem; height: 1rem; fill: currentColor;}\n.mcs .pl-take-b:focus-visible{outline: 2px solid #f6f6f6; outline-offset: 3px;}\n.mcs .pl-cue{transition: opacity .25s ease;}\n.mcs .pl-bubble[data-playing] .pl-cue:not([data-on]){opacity: .5;}\n@media (max-width: 1199.98px){ .mcs .pl-narrator[data-take]{grid-template-columns: 4.5rem 1fr;} .mcs .pl-take{width: 4.5rem; height: 4.5rem;} }\n@container pl ((max-aspect-ratio: 1 / 1) or (max-width: 47.5rem)){\n  .mcs .pl-narrator[data-take]{grid-template-columns: 4rem 1fr;}\n  .mcs .pl-take{width: 4rem; height: 4rem;}\n  .mcs .pl-take-b{width: 2rem; height: 2rem;}\n}\n@media (prefers-reduced-motion: reduce){ .mcs .pl-cue{transition: none;} }\n@media (forced-colors: active){ .mcs .bd-ring{outline: 2px solid Highlight; box-shadow: none;} }\n`;const MORE_CSS=`\n.mcs .pl-main[data-board][data-phase=\"end\"] .pl-narrator{opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility 0s linear .3s;}\n.mcs .pl-end{position: absolute; z-index: 5; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(600px, calc(100% - 32px));\n  display: grid; gap: 52px; text-align: left;}\n/* Scrolls only when the stage is too short for it (the entrance slide would otherwise flash a scrollbar) */\n@container pl (max-height: 34rem){ .mcs .pl-end{max-height: calc(100% - 24px); overflow-y: auto;} }\n.mcs .pl-end > *{animation: st-in .5s var(--ease) both;}\n.mcs .pl-end > * + *{animation-delay: .08s;}\n.mcs .pl-end-nar{display: grid; gap: 12px;}\n.mcs .pl-end-top{display: flex; align-items: center; justify-content: space-between; gap: 12px;}\n.mcs .pl-end .pl-avatar{width: 4rem; height: 4rem; flex: none;}\n.mcs .pl-end-face{flex: none; padding-top: 1.625rem;} /* room for the head above the circle (the card scrolls, so it would clip) */\n.mcs .pl-end-acts{display: flex; gap: 8px;}\n.mcs .pl-end .fbw{--r: 8px; min-width: 0; width: auto;}\n.mcs .pl-end-acts .fbn{height: 44px; padding: 0 14px;}\n.mcs .pl-end .pl-end-bub{padding: 1.25rem 1.375rem;}\n.mcs .pl-end .pl-end-bub::before{left: 24px; top: -9px; bottom: auto; width: 16px; height: 10px; clip-path: polygon(0 100%, 50% 0, 100% 100%);}\n.mcs .pl-end .pl-bubble p.pl-say.framer-text{--framer-font-size: clamp(1.25rem, 2.2cqw, 1.625rem);}\n.mcs .pl-next{display: grid; grid-template-columns: 200px minmax(0, 1fr); grid-template-areas: \"tz txt\" \"tz go\"; column-gap: 20px; align-items: start;}\n.mcs .pl-next:not([data-tz]){grid-template-columns: minmax(0, 1fr); grid-template-areas: \"txt\" \"go\";}\n/* Next up stands on its own card: raised a step from the page in dark mode, white in light mode, with a hairline edge */\n.mcs .pl-next{padding: 16px; border-radius: 16px; background: color-mix(in oklch, var(--pg) 88%, #fff); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08);}\n@media not (prefers-color-scheme: dark){ .mcs .pl-next{background: #fff; box-shadow: inset 0 0 0 1px rgb(0 0 0 / .06);} }\n.mcs .pl-next-tz{grid-area: tz; align-self: stretch; position: relative; border-radius: 10px; overflow: hidden; box-shadow: 0 0 0 1px rgb(255 255 255 / .12); background: #fff;}\n.mcs .pl-next-tz img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 0 0; display: block;}\n.mcs .pl-next-txt{grid-area: txt; min-width: 0;}\n.mcs .pl-next-go{grid-area: go; margin-top: 16px;}\n.mcs .pl-next-eye{margin: 0; font: 500 13px/18px \"Inter\", \"Inter Placeholder\", sans-serif; color: var(--muted);}\n.mcs .pl-next-tt{margin: 2px 0 0; font: 600 22px/1.2 \"Inter Display\", \"Inter\", sans-serif; letter-spacing: -0.02em; color: var(--fg); text-wrap: balance;}\n.mcs .pl-next-out{margin: 4px 0 0; font: 500 15px/20px \"Inter\", \"Inter Placeholder\", sans-serif; color: color-mix(in srgb, var(--fg) 82%, transparent);}\n@container pl ((max-aspect-ratio: 1 / 1) or (max-width: 47.5rem)){\n  .mcs .pl-end{gap: 40px; width: calc(100% - 32px);}\n  .mcs .pl-end .pl-avatar{width: 3.5rem; height: 3.5rem;}\n  .mcs .pl-end .pl-end-bub{padding: 1rem 1.125rem;}\n  .mcs .pl-end .pl-end-bub::before{left: 20px;}\n  .mcs .pl-end .pl-bubble p.pl-say.framer-text{--framer-font-size: 1.25rem;}\n  .mcs .pl-next{grid-template-columns: 104px minmax(0, 1fr); grid-template-areas: \"tz txt\" \"go go\"; column-gap: 14px;}\n  .mcs .pl-next-tz img{transform: scale(2); transform-origin: 0 0;}\n  .mcs .pl-next-tt{font-size: 18px;}\n  .mcs .pl-next-out{font-size: 14px;}\n  .mcs .pl-next-go{margin-top: 12px;}\n  .mcs .pl-next-go .fbw, .mcs .pl-next-go .fbn{width: 100%;}\n}\n@media (prefers-reduced-motion: reduce){ .mcs .pl-end > *{animation: none;} }\n@media (forced-colors: active){ .mcs .pl-next-tz, .mcs .pl-next{border: 1px solid CanvasText;} }\n.mcs .pl-top .pl-more{margin-left: auto;}\n.mcs .pl-top:not([data-page]) .pl-more{margin-right: -8px;}\n.mcs .pl-more{position: relative; flex: none; display: flex;}\n.mcs .pl-top:has(.pl-more[data-open]){z-index: 11;}\n.mcs .pl-more-btn svg{fill: currentColor; stroke: none;}\n.mcs .pl-more[data-open] .pl-more-btn{color: var(--fg); background: color-mix(in srgb, var(--fg) 8%, transparent);}\n.mcs .pl-more-panel{position: absolute; z-index: 2; right: 0; top: calc(100% + 8px); width: 264px; max-width: calc(100vw - 32px);\n  max-height: calc(100dvh - 72px); overflow-y: auto; overscroll-behavior: contain;\n  display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; padding: 6px; border-radius: 14px; text-align: left;\n  background: var(--token-175e9f7e-9cf9-42cd-b522-52506cd7d635, #1c1c1c);\n  box-shadow: inset 0 0 0 1px var(--token-1ae38199-cbce-439f-ab23-4f321f5e3f62, #242424), 0 24px 60px -20px rgb(0 0 0 / .55);\n  transform-origin: top right; visibility: hidden; opacity: 0; transform: translateY(-4px) scale(.98); pointer-events: none;\n  transition: opacity .16s ease, transform .22s var(--ease), visibility 0s linear .22s;}\n.mcs .pl-more[data-open] .pl-more-panel{visibility: visible; opacity: 1; transform: none; pointer-events: auto;\n  transition: opacity .16s ease, transform .22s var(--ease), visibility 0s;}\n.mcs .pl-more-row{all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 10px; width: 100%; min-height: 40px; padding: 8px; border-radius: 6px;\n  cursor: pointer; font: 500 14px/24px \"Inter\", \"Inter Placeholder\", sans-serif; color: ${TOKENS.textSecondary}; transition: background-color .2s ease, color .2s ease;}\n.mcs .pl-more-row:is(:hover, :focus-visible, [aria-current]){color: ${TOKENS.textPrimary}; background: color-mix(in srgb, ${TOKENS.textPrimary} 7%, transparent);}\n.mcs .pl-more-ico{flex: none; width: 24px; height: 24px; display: grid; place-items: center;}\n.mcs .pl-more-ico svg{width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round;}\n.mcs .pl-more-row[aria-current] .pl-more-ico svg{fill: var(--client); stroke: var(--client);}\n.mcs .pl-more-lbl{min-width: 0; text-wrap: pretty;}\n.mcs .pl-more-head{margin: 0; padding: 6px 8px 2px; font: 500 12px/16px \"Inter\", \"Inter Placeholder\", sans-serif; color: ${TOKENS.textSecondary};}\n.mcs .pl-more-line{border: 0; height: 1px; margin: 6px 8px; background: ${TOKENS.divider};}\n.mcs .pl-more-site > *{width: 100% !important;}\n.mcs .pl-more-site > * > *{width: 100% !important; padding: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important;}\n.mcs .pl-more-site > * > *::after{display: none !important;}\n.mcs .pl-more-own{display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; align-content: start;}\n}\n.mcs .pl-more-scrim{display: none;}\n.mcs .bd-host[data-zoomed]{cursor: grab;}\n.mcs .bd-host[data-panning]{cursor: grabbing;}\n.mcs .pl-zoomctl{display: inline-flex; align-items: center; gap: 2px; padding: 3px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--line);}\n.mcs .pl-zb{all: unset; box-sizing: border-box; height: 32px; min-width: 32px; padding: 0 6px; display: grid; place-items: center; border-radius: 999px; cursor: pointer;\n  color: var(--fg); font: 500 13px/1 \"Inter\", \"Inter Placeholder\", sans-serif; font-variant-numeric: tabular-nums; transition: background-color .2s ease, color .2s ease;}\n.mcs .pl-zb.pl-zlevel{min-width: 52px;}\n.mcs .pl-zb:hover:not([aria-disabled=\"true\"]){background: color-mix(in srgb, var(--fg) 8%, transparent);}\n.mcs .pl-zb[aria-disabled=\"true\"]{color: var(--muted); cursor: default;}\n.mcs .bd-host img{-webkit-user-drag: none;}\n.mcs .pl-zb:focus-visible{outline: 2px solid var(--fg); outline-offset: 1px;}\n.mcs .pl-zb svg{width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round;}\n@media (pointer: coarse){ .mcs .pl-zoomctl{display: none;} }\n@container pl ((max-aspect-ratio: 1 / 1) or (max-width: 47.5rem)){\n  .mcs .pl-more-row{min-height: 44px;}\n  .mcs .pl-zoomctl{display: none;}\n  .mcs .pl-more-scrim{display: block; position: fixed; inset: 0; z-index: -1;\n    background: color-mix(in srgb, var(--pg) 62%, transparent); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);\n    visibility: hidden; opacity: 0; transition: opacity .2s ease, visibility 0s linear .2s;}\n  .mcs .pl-more[data-open] .pl-more-scrim{visibility: visible; opacity: 1; transition: opacity .2s ease, visibility 0s;}\n}\n@media (prefers-reduced-motion: reduce){\n  .mcs .pl-more-panel, .mcs .pl-more[data-open] .pl-more-panel{transform: none;}\n}\n@media (forced-colors: active){ .mcs .pl-more-scrim{display: none;} .mcs .pl-more-panel{border: 1px solid CanvasText;} }\n`;function Player({project,start,link,linkLabel,close,dialog,onStory,page}){const P=useLiveData(project);const M=META[project]??META.prolific;const order=Object.keys(P.stories);const name=cap(project);const reduce=!!useReducedMotion();const coarse=useCoarsePointer();const[story,setStory]=React.useState(P.stories[start]?start:order[0]);// On a case study page, the address follows the case study being played\nReact.useEffect(()=>{onStory?.(story);},[story]);// A case study page opens on the step in its address (?step=4, or ?step=end), so a link can point at one beat\nconst fromUrl=()=>{const q=page&&typeof location!==\"undefined\"?new URLSearchParams(location.search).get(\"step\"):null;const n=P.stories[story]?.steps.length??1;if(q===\"end\")return[\"end\",n-1];const i=parseInt(q??\"\",10);return[\"step\",i>=1?Math.min(i,n)-1:0];};const[phase,setPhase]=React.useState(()=>fromUrl()[0]);const[step,setStep]=React.useState(()=>fromUrl()[1]);// ...and the address follows the step being played. replaceState, so Back and Close still leave the page in one go\nReact.useEffect(()=>{if(!page)return;const q=new URLSearchParams(location.search);q.set(\"step\",phase===\"end\"?\"end\":String(step+1));const url=`${location.pathname}?${q}${location.hash}`;if(url!==location.pathname+location.search+location.hash)history.replaceState(history.state,\"\",url);},[page,story,step,phase]);const S=P.stories[story],total=S.steps.length,idx=order.indexOf(story);const st=S.steps[Math.min(step,total-1)];// Panels (stats, quotes) move out of the picture and into the narration, so notes on them go too\nconst onPanel=id=>LAYERS[project]?.[story]?.find(l=>l.id===id)?.kind===\"panel\";// Board stories: the layout comes from Figma, for whichever orientation fits the space\nconst board=boardOf(project,story);const notes=phase===\"step\"?board?st.n:st.n.filter(x=>!onPanel(x[3])):[];const stepNo=phase===\"end\"?total:step+1;const main=React.useRef(null);const box=useBox(main);const o=box?orientFor(box[0],box[1]):\"l\";const view=board?.[Math.min(step,total-1)]?.[o];// Teardown narrator: this step's mood and where the avatar sits on the bubble\nconst td=phase===\"step\"// a face and effect per step, in teardowns and case studies alike\n;const mood=td&&st.face&&MOODS.includes(st.face)?st.face:td&&st.mood&&MOODS.includes(st.mood)?st.mood:\"neutral\";// The beat's effect: the one it picked, else (an older step's mood) that mood's, else the face's default\nconst mark=!td?\"none\":st.mark&&MARKS.includes(st.mark)?st.mark:!st.face&&st.mood?MOOD_MARK[st.mood]||\"none\":DEFAULT_MARK[mood]||\"none\";const side=editable(project)&&view?sideOf(view.nar,o,view,sayOf(st)):\"Left\";// Where along that edge: start, center or end (default: at the bottom beside the bubble, at the left above or below it)\nconst align=view?.nar?.align===\"start\"||view?.nar?.align===\"center\"||view?.nar?.align===\"end\"?view.nar.align:side===\"Left\"||side===\"Right\"?\"end\":\"start\";const pop=PROJECTS[project]?.pop!==false;const face=mood!==\"neutral\"?PROJECTS[project]?.faces?.[mood]||FACES[mood]||NARRATOR:PROJECTS[project]?.faces?.neutral||FACES.neutral||NARRATOR;const fit=board&&box?fitArea(o,box[0],box[1]):null;// In portrait the picture sits under the narrator: if the bubble is taller than in Figma (larger\n// text), the picture moves down by the difference instead of hiding under it\nconst[lift,setLift]=React.useState(0);const shown=fit?{...fit,oy:fit.oy+(o===\"p\"?lift:0)}:null;const bpins=React.useRef(null);// A teardown edited in place (edit mode) re-registers its Player JSON and asks the player to draw it again\nconst[,redraw]=React.useState(0);React.useEffect(()=>{const f=e=>{if(e.detail?.pid===project)redraw(n=>n+1);};window.addEventListener(\"mcs:td-updated\",f);return()=>window.removeEventListener(\"mcs:td-updated\",f);},[project]);React.useEffect(()=>{if(EDIT&&editable(project))editMode(project,story,Math.min(step,total-1),o,phase);});// A teardown step's take: Ben's video in the narrator's place, and the caption line being said\nconst take=phase===\"step\"&&st.take?TAKES[st.take]:undefined;const takeRef=React.useRef(null);const[takeOn,setTakeOn]=React.useState(false);const[cue,setCue]=React.useState(\"\");const listening=React.useRef(false)// once someone plays a take, the next step's take plays too\n;const vtt=useVtt(take?.vtt);const lastSay=React.useRef(\"\"),lastH=React.useRef(null);// The running bubble morph, and the narrator's final height while it runs (its live height is mid-tween)\nconst morph=React.useRef(null),finalH=React.useRef(0);const measure=React.useRef(null);const narr=React.useRef(null);const bubble=React.useRef(null);const boxes=React.useRef(null);// When nothing on the screen carries a note, the narrator is the focus: it moves to the middle\n// Old stories: nothing noted on screen puts the narrator in the middle. Board stories: a payoff beat\n// (no focus, every picture faded back) does, as laid out in Figma\nconst payoff=!!view&&!view.focus&&view.els.every(e=>(e.op??1)<1||!e.s);const centre=board?payoff:phase===\"step\"&&notes.length===0;const[tick,setTick]=React.useState(0);// The step the narrator was last placed for (board stories), so the end card knows whether it's already there\nconst placedAt=React.useRef(\"\"),at=`${story}:${Math.min(step,total-1)}`;// Narrator: stays where it is while that still leaves the notes clear. Otherwise it tries placements\n// around the step's focus, then around the picture, inside the stage, and glides to the best one.\n// On portrait screens it sits in the flow above the picture instead, so it never moves.\nconst placeNarrator=async b=>{const el=narr.current,area=main.current?.getBoundingClientRect();if(!el||!area)return;if(getComputedStyle(el).position!==\"fixed\"){el.dataset.ready=\"1\";return;}const root={x:area.left,y:area.top,width:area.width,height:area.height};const w=el.offsetWidth,h=el.offsetHeight,pad=16;const wasCentre=el.dataset.at===\"centre\";if(centre){if(el.dataset.ready&&!wasCentre)el.dataset.moving=\"1\";el.style.left=`${Math.round(area.left+(area.width-w)/2)}px`;el.style.top=`${Math.round(area.top+(area.height-h)/2)}px`;el.dataset.at=\"centre\";el.dataset.ready=\"1\";return;}el.dataset.at=\"side\";const clash=box=>b.points.reduce((n,k)=>n+overlap(box,k),0)*50+b.keep.reduce((n,k)=>n+overlap(box,k),0)*4;if(el.dataset.ready&&!wasCentre){const cur={x:parseFloat(el.style.left),y:parseFloat(el.style.top),w,h};const inside=cur.x>=root.x+pad-1&&cur.y>=root.y+pad-1&&cur.x+w<=root.x+root.width-pad+1&&cur.y+h<=root.y+root.height-pad+1;if(inside&&clash(cur)===0)return;}const refs=[b.keep[0],b.scene].filter(Boolean);if(!refs.length)return;let best=null;search:for(const ref of refs)for(const placement of NARRATOR_PLACES){const{x,y}=await computePosition({getBoundingClientRect:()=>ref},el,{strategy:\"fixed\",placement,middleware:[offset(20),shift({rootBoundary:root,padding:pad,crossAxis:true})]});const box={x,y,w,h};const score=clash(box)+(b.scene?overlap(box,b.scene):0);if(!best||score<best.score-1)best={x,y,score};if(score===0)break search;}if(!best)return;if(el.dataset.ready)el.dataset.moving=\"1\"// glide, don't jump, once it has a place\n;el.style.left=`${best.x}px`;el.style.top=`${best.y}px`;el.dataset.ready=\"1\";};const{canvas,scenes,pins,pinsOn,sceneHTML}=useStage(project,story,stepNo,notes,phase===\"step\"?st.fx:undefined,!board,reduce,b=>{boxes.current=b;setTick(t=>t+1);},phase);// Place the narrator once its words have rendered at their final size\n// Board stories: the narrator sits where it sits in Figma, scaled with the picture. In landscape it keeps\n// its own size (rem, so it grows with the reader's text size) and is anchored by its avatar's corner.\n// Teardowns: the bubble's tail points at the middle of the avatar's circle, kept off the bubble's rounded corners\nconst aimTail=()=>{const el=narr.current,b=bubble.current,sd=el?.dataset.side;if(!el||!b||!sd)return;const f=el.querySelector(\".pl-face\")||el.querySelector(\".pl-av\");if(!f)return;const ar=f.getBoundingClientRect(),br=b.getBoundingClientRect();if(sd===\"left\"||sd===\"right\")b.style.setProperty(\"--ty\",`${Math.round(Math.max(20,Math.min(br.height-20,ar.top+ar.height/2-br.top)))}px`);else b.style.setProperty(\"--tx\",`${Math.round(Math.max(24,Math.min(br.width-24,ar.left+ar.width/2-br.left)))}px`);};const placeOnBoard=()=>{const el=narr.current;if(!el||!view||!fit)return;const n=view.nar,s=fit.s;const rem=parseFloat(getComputedStyle(document.documentElement).fontSize)||16;// Portrait: the Figma box scaled with the picture gets narrow on short screens (a smaller picture), which\n// made the words wrap tall and spill off the stage. It may widen to 20rem, within the stage\nconst most=o===\"p\"?Math.min(fit.W-24,Math.max(n.w*s,20*rem)):Math.min(Math.max(n.w*s,18*rem),(n.w>420?37.5:25)*rem);// The bubble hugs its words: the hidden copy finds the narrowest width that keeps the same number\n// of lines, so there's no empty strip down the right of the bubble\nconst g=getComputedStyle(el),bs=bubble.current?getComputedStyle(bubble.current):null;// Avatar above or below the bubble: the words get the whole width\nconst stacked=el.dataset.side===\"top\"||el.dataset.side===\"bottom\";// The avatar's own width (its column is the first or, with the avatar on the right, the last)\nconst avW=el.querySelector(\".pl-av\")?.offsetWidth||parseFloat(g.gridTemplateColumns);const chrome=(stacked?0:avW+parseFloat(g.columnGap))+(bs?parseFloat(bs.paddingLeft)+parseFloat(bs.paddingRight):0);const words=measure.current?hug(measure.current,most-chrome):most-chrome;bubble.current?.style.setProperty(\"--tw\",`${words}px`);const w=Math.min(most,words+chrome);el.style.setProperty(\"--nw\",`${w}px`);const h=morph.current?.playState===\"running\"&&finalH.current?finalH.current:el.offsetHeight;// Anchored at the avatar's corner, so the avatar stays put while the bubble grows or shrinks around\n// its words. Avatar on top: pinned by the top edge; otherwise by the bottom edge.\n// A payoff beat centres it instead: anchored by its middle, so it stays centred whatever the words\n// Anchored where the avatar is (its side, and where along that side), so the avatar stays put as the words change\nconst mid=centre,sd=el.dataset.side,al=el.dataset.align;const hA=mid?\"mid\":!sd||sd===\"left\"?\"left\":sd===\"right\"?\"right\":al===\"center\"?\"mid\":al===\"end\"?\"right\":\"left\";const vA=mid?\"mid\":!sd?n.side===\"Top\"?\"top\":\"bottom\":sd===\"top\"?\"top\":sd===\"bottom\"?\"bottom\":al===\"start\"?\"top\":al===\"center\"?\"mid\":\"bottom\";const top=vA!==\"bottom\";// The pin: the point of the narrator that stays put on the picture whatever the viewport. By default the\n// avatar's centre, where the box puts it; or nar.pin = [u, v], a point on the box as fractions of its size\nconst pin=Array.isArray(n.pin)?n.pin:mid?[.5,.5]:null;let x,y// the narrator's top left on the stage\n;if(!mid){// The avatar's centre within the narrator, now (offsets ignore its entrance animation)\nlet cx=0,cy=0,a=el.querySelector(\".pl-face\")||el.querySelector(\".pl-av\");const aw=a?.offsetWidth??0,ah=a?.offsetHeight??0;for(;a&&a!==el;a=a.offsetParent){cx+=a.offsetLeft;cy+=a.offsetTop;}cx+=aw/2;cy+=ah/2;const H0=el.offsetHeight;if(vA===\"bottom\")cy=h-(H0-cy);else if(vA===\"mid\")cy=h/2+cy-H0/2;// Where the box puts that centre, in stage units (the box's anchored corner, as laid out at full size)\nconst ax=hA===\"left\"?n.x+cx:hA===\"right\"?n.x+n.w-(w-cx):n.x+n.w/2+cx-w/2;const ay=vA===\"top\"?n.y+cy:vA===\"bottom\"?n.y+n.h-(h-cy):n.y+n.h/2+cy-h/2;x=fit.ox+ax*s-cx;y=fit.oy+ay*s-cy;if(EDIT)el.dataset.pin=`${ax.toFixed(1)},${ay.toFixed(1)}`// the default pin, for the editor's handle\n;}else{x=0;y=0;}if(pin){x=fit.ox+(n.x+pin[0]*n.w)*s-pin[0]*w;y=fit.oy+(n.y+pin[1]*n.h)*s-pin[1]*h;}x=Math.max(12,Math.min(x,fit.W-w-12));let edge=top?y:y+h// the anchored edge, from the top of the stage\n;// Never above the stage: if the words make it too tall, it moves down (and in portrait the picture with it)\nconst over=Math.max(0,12-(top?edge:edge-h));edge+=over;if(!top)edge=Math.min(edge,fit.H-12);else edge=Math.max(12,Math.min(edge,fit.H-12-h));// Taller than the stage: keep its top (where the words start) on screen; the bottom may run under the picture\nif(!top&&edge-h<12)edge=h+12;const pos=top?edge:fit.H-edge// top offset, or bottom offset\n;// Switching anchor (top ↔ bottom) can't transition, so first restate where it is now in the new anchor\nconst want=top?\"top\":\"bottom\";if(el.dataset.ready&&el.dataset.anchor&&el.dataset.anchor!==want){const P=el.offsetParent?.clientHeight??fit.H,at=el.offsetTop;delete el.dataset.moving;el.dataset.anchor=want;el.style.setProperty(top?\"--ny\":\"--nb\",`${Math.round(top?at:P-at-el.offsetHeight)}px`);void el.offsetHeight;}const prev=parseFloat(el.style.getPropertyValue(top?\"--ny\":\"--nb\")),px=parseFloat(el.style.getPropertyValue(\"--nx\"));if(el.dataset.ready&&el.dataset.anchor===(top?\"top\":\"bottom\")&&(Math.abs(px-x)>1||Math.abs(prev-pos)>1))el.dataset.moving=\"1\";el.dataset.anchor=top?\"top\":\"bottom\";el.style.setProperty(\"--nx\",`${Math.round(x)}px`);el.style.setProperty(top?\"--ny\":\"--nb\",`${Math.round(pos)}px`);el.dataset.ready=\"1\";aimTail();const extra=o===\"p\"?Math.round(over):0;if(Math.abs(extra-lift)>1)setLift(extra);};React.useLayoutEffect(()=>{const bb=bubble.current,nn=narr.current;if(board){if(nn)nn.style.minHeight=\"\";// New words are laid out at their final size first (placeOnBoard), so the bubble tweens straight from\n// its old size to its new one while the words fade in. The first time, it pops out of the avatar.\nconst said=sayOf(st),changed=!!bb&&said!==lastSay.current;// The end card dims the narrator where it last stood: it doesn't move behind the card. Unless it last\n// stood for another case study (Back from the next one's first step lands here): then it goes to where\n// this case study's last step put it\nif(phase!==\"step\"&&narr.current?.dataset.ready&&placedAt.current===at)return;// New words mid-morph: start from the size it has on screen now, not the size it was heading to\nlet from=lastH.current;if(changed&&morph.current?.playState===\"running\"){from={w:bb.offsetWidth,h:bb.offsetHeight};morph.current.cancel();morph.current=null;}placeOnBoard();placedAt.current=at;if(bb&&changed){// Measured before animating: once a morph starts, offsetWidth/Height read its first frame\nconst to={w:bb.offsetWidth,h:bb.offsetHeight};if(nn)finalH.current=nn.offsetHeight;if(!reduce){if(!from)bb.animate([{transform:\"scale(.4)\",opacity:0},{transform:\"none\",opacity:1}],{duration:420,easing:POP});else if(Math.abs(to.w-from.w)>1||Math.abs(to.h-from.h)>1)morph.current=bb.animate([{width:`${from.w}px`,height:`${from.h}px`},{width:`${to.w}px`,height:`${to.h}px`}],MORPH);}lastH.current=to;}lastSay.current=said;return;}if(bb&&nn){const h=bb.offsetHeight,prev=+(nn.dataset.max||0);const max=nn.dataset.story===story?Math.max(prev,h):h;nn.dataset.max=String(max);nn.dataset.story=story;nn.style.minHeight=`${max}px`;}if(phase===\"step\"&&boxes.current)placeNarrator(boxes.current);},[tick,phase,centre,board,view,fit?.s,fit?.ox,fit?.oy,o]);// A font weight that loads after the words were measured (a bold number) changes how they wrap: measure again\nReact.useEffect(()=>{const f=typeof document!==\"undefined\"?document.fonts:undefined;if(!f?.addEventListener)return;const again=()=>setTick(t=>t+1);f.addEventListener(\"loadingdone\",again);return()=>f.removeEventListener(\"loadingdone\",again);},[]);// The take: hidden captions drive which sentence of the bubble is marked. Plays when asked, then keeps playing step\n// to step until it's paused\nReact.useEffect(()=>{setTakeOn(false);setCue(\"\");const v=takeRef.current;if(!v||!take)return;const sync=()=>{setTakeOn(!v.paused&&!v.ended);if(v.ended)setCue(\"\");};const tracks=()=>{const tr=v.textTracks?.[0];if(!tr)return;tr.mode=\"hidden\";tr.oncuechange=()=>setCue((tr.activeCues?.[0])?.text??\"\");};const evs=[\"play\",\"pause\",\"ended\"];evs.forEach(n=>v.addEventListener(n,sync));v.textTracks?.addEventListener?.(\"addtrack\",tracks);tracks();if(listening.current)v.play().catch(()=>{listening.current=false;});return()=>{evs.forEach(n=>v.removeEventListener(n,sync));v.textTracks?.removeEventListener?.(\"addtrack\",tracks);v.pause();};},[story,step,phase,st.take]);const toggleTake=()=>{const v=takeRef.current;if(!v)return;if(!v.paused&&!v.ended){v.pause();listening.current=false;return;}if(v.ended)v.currentTime=0;listening.current=true;v.play().catch(()=>{listening.current=false;});};// Fetch the next beat's screens while this one is on screen\nReact.useEffect(()=>{if(!board)return;const next=board[step+1]??boardOf(project,order[idx+1]??\"\")?.[0];if(next)warm(boardSrcs(next[o]));},[story,step,o]);// Moving the narrator by hand: an offset on top of where it was placed, kept inside the stage,\n// and cleared on the next step\nconst shove=React.useRef({x:0,y:0});const setOffset=(x,y)=>{const el=narr.current,area=main.current?.getBoundingClientRect();if(!el||!area)return;// Kept wholly on the stage, 12px in from every edge (pinned to the left and top if it's bigger than the stage)\nconst r=el.getBoundingClientRect(),m=12;const bx=r.left-shove.current.x,by=r.top-shove.current.y// where it sits with no offset\n;x=Math.max(area.left+m-bx,Math.min(x,area.right-m-r.width-bx));y=Math.max(area.top+m-by,Math.min(y,area.bottom-m-r.height-by));shove.current={x,y};el.style.setProperty(\"--dx\",`${Math.round(x)}px`);el.style.setProperty(\"--dy\",`${Math.round(y)}px`);};// Grabbed anywhere on the narrator (avatar or bubble). It only starts moving after a few pixels, so a tap\n// or click still reaches a source link in the words\nconst grabNarrator=e=>{if(EDIT||e.button!==0||phase!==\"step\")return;// edit mode moves the narrator's box instead\nconst g=e.currentTarget,el=narr.current;if(!el)return;if(!e.target.closest(\"a\"))e.preventDefault()// no text selection while dragging\n;const id=e.pointerId,x0=e.clientX,y0=e.clientY;const sx=x0-shove.current.x,sy=y0-shove.current.y;let on=false;// The grabbing hand shows from the press (on a link, only once it's dragged) until release\nconst root=document.documentElement;const grabbing=yes=>{if(yes)root.dataset.mcsGrabbing=\"\";else delete root.dataset.mcsGrabbing;};if(!e.target.closest(\"a\"))grabbing(true);window.addEventListener(\"pointerup\",()=>grabbing(false),{once:true})// released before the drag took hold, off the narrator\n;const move=ev=>{if(ev.pointerId!==id)return;if(!on){if(Math.hypot(ev.clientX-x0,ev.clientY-y0)<4)return;on=true;g.setPointerCapture(id);el.dataset.dragging=\"\";grabbing(true);}setOffset(ev.clientX-sx,ev.clientY-sy);};// A drag that ends over a link mustn't follow it\nconst eat=ev=>{ev.preventDefault();ev.stopPropagation();};const up=ev=>{if(ev.pointerId!==id)return;grabbing(false);if(on){delete el.dataset.dragging;g.addEventListener(\"click\",eat,{capture:true,once:true});setTimeout(()=>g.removeEventListener(\"click\",eat,{capture:true}),0);}g.removeEventListener(\"pointermove\",move);g.removeEventListener(\"pointerup\",up);g.removeEventListener(\"pointercancel\",up);};g.addEventListener(\"pointermove\",move);g.addEventListener(\"pointerup\",up);g.addEventListener(\"pointercancel\",up);};const nudgeNarrator=e=>{if(EDIT)return;const d=e.shiftKey?64:16;const k={ArrowLeft:[-d,0],ArrowRight:[d,0],ArrowUp:[0,-d],ArrowDown:[0,d]};if(!k[e.key])return;e.preventDefault();e.stopPropagation()// the arrow keys move the narrator here, not the story\n;setOffset(shove.current.x+k[e.key][0],shove.current.y+k[e.key][1]);};React.useLayoutEffect(()=>{shove.current={x:0,y:0};narr.current?.style.setProperty(\"--dx\",\"0px\");narr.current?.style.setProperty(\"--dy\",\"0px\");},[story,step,phase]);const drag=useMotionValue(0);const nextBtn=React.useRef(null);const tip=React.useRef(null);const[note,setNote]=React.useState(null);// Phones (under 810px): the picture runs edge to edge. Touch screens: pinch to zoom it\nconst bleed=!!box&&box[0]<810;const zoomHost=React.useRef(null);const zoomLabel=React.useRef(null);const canZoom=!!board&&phase===\"step\";const zoom=usePinch(zoomHost,canZoom,reduce,`${story}-${step}-${phase}`,drag,()=>setNote(null),zoomLabel);const swipe=coarse&&!reduce&&!zoom.zoomed;const closeMore=React.useRef(null);const toStory=(k,p,s=0)=>{setStory(k);setPhase(p);setStep(s);setNote(null);};const go=d=>{setNote(null);if(d>0){if(phase===\"step\"){if(step<total-1)setStep(step+1);else setPhase(\"end\");}else if(order[idx+1])toStory(order[idx+1],\"step\");else close();}else{if(phase===\"end\"){setPhase(\"step\");setStep(total-1);}else if(step>0)setStep(step-1);else if(idx>0){const k=order[idx-1];toStory(k,\"end\",P.stories[k].steps.length-1);}}};// Card buttons disappear when the phase changes; keep focus on the Next button instead of losing it\nconst fromCard=fn=>()=>{fn();requestAnimationFrame(()=>nextBtn.current?.focus());};// Keys: ← → step; Esc closes an open note before it closes the player\nReact.useEffect(()=>{const d=dialog.current;if(!d)return;const onKey=e=>{if(e.altKey||e.ctrlKey||e.metaKey)return;if(e.target?.closest?.(ARROW_WIDGETS)||e.target?.closest?.(\".pl-more\"))return;if(e.key===\"ArrowRight\"){e.preventDefault();go(1);}if(e.key===\"ArrowLeft\"){e.preventDefault();go(-1);}// + and − zoom the picture, 0 puts it back\nif(canZoom&&(e.key===\"+\"||e.key===\"=\")){e.preventDefault();zoom.stepZoom(1);}if(canZoom&&(e.key===\"-\"||e.key===\"_\")){e.preventDefault();zoom.stepZoom(-1);}if(canZoom&&e.key===\"0\"){e.preventDefault();zoom.back();}};const onCancel=e=>{if(closeMore.current){e.preventDefault();closeMore.current();}else if(note){e.preventDefault();setNote(null);}else if(page){e.preventDefault();close();}};// Esc on a case study page leaves it; listened for on the document, as Safari doesn't always send it to the dialog\nconst onEsc=e=>{if(e.key===\"Escape\"&&!e.defaultPrevented&&!closeMore.current&&!note){e.preventDefault();close();}};d.addEventListener(\"keydown\",onKey);d.addEventListener(\"cancel\",onCancel);if(page)document.addEventListener(\"keydown\",onEsc);return()=>{d.removeEventListener(\"keydown\",onKey);d.removeEventListener(\"cancel\",onCancel);document.removeEventListener(\"keydown\",onEsc);};});// Note tooltip: placed against its point, flipped and shifted to stay on screen\nReact.useLayoutEffect(()=>{const t=tip.current,pin=note?((board?bpins:pins).current?.children[note.i]):undefined;if(!t||!pin)return;let live=true;computePosition(pin,t,{strategy:\"fixed\",placement:\"top\",middleware:[offset(14),flip({padding:16}),shift({padding:16})]}).then(({x,y,placement})=>{if(!live)return;t.style.left=`${x}px`;t.style.top=`${y}px`;t.dataset.side=placement;});return()=>{live=false;};},[note,story,step,phase]);// A tap anywhere else closes a pinned note\nReact.useEffect(()=>{if(!note?.sticky)return;const off=e=>{const el=e.target;if(!el.closest(\".pl-pin, .pl-tip\"))setNote(null);};document.addEventListener(\"pointerdown\",off);return()=>document.removeEventListener(\"pointerdown\",off);},[note]);const said=phase===\"end\"?`Step ${total+1} of ${total+1}. End of ${S.label}. ${S.outcome}.`:`Step ${step+1} of ${total+1}. ${plain(sayOf(st))}${notes.length?` ${notes.length} ${notes.length===1?\"note\":\"notes\"} on the screen.`:\"\"}`;const progress=phase===\"end\"?1:(step+1)/(total+1)// the end card counts as the last step\n;const countText=phase===\"step\"?`Step ${step+1} of ${total+1}`:phase===\"end\"?`Step ${total+1} of ${total+1}`:`Story ${idx+1}`;const nx=order[idx+1];// After the last step: \"Next\" while there's another case study (the end card names it), \"Finish\" after the last\nconst nextLabel=phase===\"step\"||nx?\"Next\":\"Finish\";const firstScreen=phase===\"step\"&&step===0&&idx===0;const arrow=/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14M13 6l6 6-6 6\"})});return /*#__PURE__*/_jsxs(\"div\",{className:\"pl\",tabIndex:-1,style:{[\"--client\"]:M.client},children:[/*#__PURE__*/_jsxs(\"header\",{className:\"pl-top\",\"data-page\":page?\"\":undefined,children:[page?/*#__PURE__*/_jsx(BackButton,{className:\"pl-back\",variant:\"icon\",onClick:close,label:`Back to ${name} case study`}):null,/*#__PURE__*/_jsxs(\"div\",{className:\"pl-id\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"mcs-logo pl-logo\",role:\"img\",\"aria-label\":name,style:{height:M.logoH,width:M.logoH*M.ar,[\"--logo\"]:`url(\"${M.logo}\")`}}),/*#__PURE__*/_jsxs(\"p\",{className:\"pl-where\",children:[/*#__PURE__*/_jsx(\"b\",{children:S.label}),/*#__PURE__*/_jsx(\"span\",{className:\"sr-only\",children:countText})]})]}),/*#__PURE__*/_jsx(PlMore,{openRef:closeMore,items:[{key:\"reset\",label:\"Reset view\",icon:\"reset\",act:()=>{zoom.back();resetPageZoom();setNote(null);setOffset(0,0);}},{key:\"restart\",label:\"Restart\",icon:\"restart\",act:()=>toStory(story,\"step\",0)}]}),page?null:/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"pl-x\",onClick:close,\"aria-label\":\"Close the case study\",children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 6l12 12M18 6L6 18\"})})})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"pl-main\",ref:main,\"data-phase\":phase,\"data-board\":board?o:undefined,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pl-narrator\",ref:narr,\"data-centre\":centre?\"true\":undefined,\"data-take\":take?\"\":undefined,\"data-side\":editable(project)?side.toLowerCase():undefined,\"data-align\":editable(project)?align:undefined,\"data-pop\":pop?\"\":undefined,\"data-mood\":mood,\"data-mark\":mark,onPointerDown:grabNarrator,onTransitionEnd:e=>{if(e.propertyName===\"left\"||e.propertyName===\"top\"||e.propertyName===\"bottom\")delete e.currentTarget.dataset.moving;},children:[/*#__PURE__*/_jsxs(\"span\",{className:\"pl-av\",children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"pl-grip\",\"aria-label\":\"Move the narrator out of the way. Drag, or use the arrow keys\",onKeyDown:nudgeNarrator,children:/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 10 16\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"2\",cy:\"2\",r:\"1.5\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"8\",cy:\"2\",r:\"1.5\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"2\",cy:\"8\",r:\"1.5\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"8\",cy:\"8\",r:\"1.5\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"2\",cy:\"14\",r:\"1.5\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"8\",cy:\"14\",r:\"1.5\"})]})}),take?// A teardown step's take: Ben saying the bubble's words. Read them or watch him say them\n/*#__PURE__*/_jsxs(\"span\",{className:\"pl-take\",\"data-playing\":takeOn?\"\":undefined,children:[/*#__PURE__*/_jsxs(\"video\",{ref:takeRef,className:\"pl-avatar pl-take-v\",poster:take.poster,playsInline:true,preload:\"metadata\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"source\",{src:take.webm,type:\"video/webm\"}),/*#__PURE__*/_jsx(\"source\",{src:take.mp4,type:\"video/mp4\"}),vtt?/*#__PURE__*/_jsx(\"track\",{kind:\"captions\",srcLang:\"en\",label:\"English\",src:vtt,default:true}):null]},st.take),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"pl-take-b\",\"aria-pressed\":takeOn,onClick:toggleTake,\"aria-label\":takeOn?\"Pause Ben\":\"Play Ben saying this, with sound\",children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:takeOn?/*#__PURE__*/_jsx(\"path\",{d:\"M7 5h3.5v14H7zM13.5 5H17v14h-3.5z\"}):/*#__PURE__*/_jsx(\"path\",{d:\"M8 5.5v13l10.5-6.5z\"})})})]}):// Keyed by step and mood, so the mood's entrance plays each time it changes\n/*#__PURE__*/_jsxs(\"span\",{className:\"pl-face\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"pl-pic\",children:/*#__PURE__*/_jsx(FacePicture,{className:\"pl-avatar\",src:face,shown:centre?101:79,alt:\"\",width:56,height:56,\"aria-hidden\":\"true\"})}),/*#__PURE__*/_jsx(MoodMarks,{mark:mark})]},`${story}-${step}-${mood}-${mark}`)]}),/*#__PURE__*/_jsxs(\"div\",{className:\"pl-bubble\",ref:bubble,\"aria-hidden\":\"true\",\"data-playing\":takeOn?\"\":undefined,children:[/*#__PURE__*/_jsx(\"div\",{className:\"pl-clip\",children:/*#__PURE__*/_jsx(\"p\",{...ts(\"cap\",\"pl-say pl-words\"),children:take?/*#__PURE__*/_jsx(SayCues,{text:sayOf(st),cue:cue}):/*#__PURE__*/_jsx(Say,{text:sayOf(st)})},board?sayOf(st):`${story}-${step}`)}),board?/*#__PURE__*/_jsx(\"p\",{ref:measure,...ts(\"cap\",\"pl-say pl-measure\"),children:take?/*#__PURE__*/_jsx(SayCues,{text:sayOf(st),cue:\"\"}):/*#__PURE__*/_jsx(Say,{text:sayOf(st)})}):null]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"pl-stage\",children:board?/*#__PURE__*/_jsx(\"div\",{className:\"pl-canvas bd-host\",ref:zoomHost,\"data-pinch\":coarse?\"\":undefined,role:\"img\",\"aria-label\":st.alt||(view?boardAlt(view)||st.t:st.t),children:/*#__PURE__*/_jsx(motion.div,{className:\"st-drag\",\"data-swipe\":swipe?\"on\":\"off\",style:{x:drag},drag:swipe?\"x\":false,dragConstraints:{left:0,right:0},dragElastic:.3,dragMomentum:false,onDragEnd:(_,info)=>{const dx=info.offset.x,v=info.velocity.x;// A pinch, or a pan while zoomed, isn't a swipe\nif(!zoom.pinched.current&&zoom.z.get()<=1&&(Math.abs(dx)>48||Math.abs(v)>500)){const d=dx<0?1:-1;if(!(d<0&&firstScreen))go(d);}animate(drag,0,{duration:.45,ease:EASE});},children:/*#__PURE__*/_jsxs(motion.div,{className:\"pl-zoom\",style:{x:zoom.x,y:zoom.y,scale:zoom.z,originX:0,originY:0},children:[view&&shown?/*#__PURE__*/_jsx(BoardPicture,{view:view,fit:shown,o:o,bleed:bleed},`${story}-${step}-${o}`):null,/*#__PURE__*/_jsx(\"div\",{className:\"pins pl-pins on\",ref:bpins,children:notes.map((x,i)=>{const p=view&&shown?notePoint(view,i,shown):null;return /*#__PURE__*/_jsx(\"button\",{type:\"button\",className:`pin pl-pin bd-pin${note?.i===i?\" hl\":\"\"}`,style:p?{left:p[0],top:p[1]}:{visibility:\"hidden\"},\"aria-label\":`Note ${i+1} of ${notes.length}: ${x[0]}`,onPointerEnter:e=>{if(e.pointerType===\"mouse\"&&!note?.sticky)setNote({i,sticky:false});},onPointerLeave:e=>{if(e.pointerType===\"mouse\"&&!note?.sticky)setNote(null);},onFocus:()=>{if(!note?.sticky)setNote({i,sticky:false});},onBlur:()=>{if(!note?.sticky)setNote(null);},onClick:()=>setNote(note?.i===i&&note.sticky?null:{i,sticky:true})},`${story}-${step}-${i}`);})})]})})}):/*#__PURE__*/_jsx(\"div\",{className:\"pl-canvas\",ref:canvas,role:\"img\",\"aria-label\":phase===\"step\"?st.t:S.label,children:/*#__PURE__*/_jsxs(motion.div,{className:\"st-drag\",\"data-swipe\":coarse&&!reduce?\"on\":\"off\",style:{x:drag},drag:coarse&&!reduce?\"x\":false,dragConstraints:{left:0,right:0},dragElastic:.3,dragMomentum:false,onDragEnd:(_,info)=>{const dx=info.offset.x,v=info.velocity.x;if(Math.abs(dx)>48||Math.abs(v)>500){const d=dx<0?1:-1;if(!(d<0&&firstScreen))go(d);}animate(drag,0,{duration:.45,ease:EASE});},children:[/*#__PURE__*/_jsx(\"div\",{className:\"st-scenes\",ref:scenes,dangerouslySetInnerHTML:sceneHTML}),/*#__PURE__*/_jsx(\"div\",{className:`pins pl-pins${pinsOn?\" on\":\"\"}`,ref:pins,children:notes.map((x,i)=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:`pin pl-pin${note?.i===i?\" hl\":\"\"}`,\"aria-label\":`Note ${i+1} of ${notes.length}: ${x[0]}`,onPointerEnter:e=>{if(e.pointerType===\"mouse\"&&!note?.sticky)setNote({i,sticky:false});},onPointerLeave:e=>{if(e.pointerType===\"mouse\"&&!note?.sticky)setNote(null);},onFocus:()=>{if(!note?.sticky)setNote({i,sticky:false});},onBlur:()=>{if(!note?.sticky)setNote(null);},onClick:()=>setNote(note?.i===i&&note.sticky?null:{i,sticky:true})},`${story}-${step}-${i}`))})]})})}),phase===\"end\"?(()=>{// The closing beat: the narrator signs off with Restart and Exit beside the avatar, then the next case study\nconst nS=nx?P.stories[nx]:null,tz=nx&&board?teaserOf(project,nx):null;const say=S.end??`${bigLead(S.outcome)}. ${nS?\"Want to see the next one?\":\"Thanks for watching.\"}`;const play=nS?`Play, ${readTime(storySecs(nS)).replace(/ read$/,\"\").replace(/^Under/,\"under\")}`:\"\";return /*#__PURE__*/_jsxs(\"div\",{className:\"pl-end\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pl-end-nar\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pl-end-top\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"pl-end-face\",\"data-pop\":PROJECTS[project]?.pop!==false?\"\":undefined,children:/*#__PURE__*/_jsx(\"span\",{className:\"pl-face\",children:/*#__PURE__*/_jsx(\"span\",{className:\"pl-pic\",children:/*#__PURE__*/_jsx(FacePicture,{className:\"pl-avatar\",src:isTeardown(project)?PROJECTS[project]?.faces?.neutral||FACES.neutral||NARRATOR:FACES.pleased||FACES.neutral||NARRATOR,shown:90,alt:\"\",width:64,height:64,\"aria-hidden\":\"true\"})})})}),/*#__PURE__*/_jsxs(\"div\",{className:\"pl-end-acts\",children:[/*#__PURE__*/_jsx(FoilButton,{kind:\"ghost\",size:\"m\",label:\"Restart\",iconBefore:\"custom\",iconBeforeFile:ICO_RESTART,iconAfter:\"none\",fill:\"var(--pg)\",onClick:fromCard(()=>toStory(story,\"step\",0))}),/*#__PURE__*/_jsx(FoilButton,{kind:\"ghost\",size:\"m\",label:\"Exit\",iconBefore:\"custom\",iconBeforeFile:ICO_EXIT,iconAfter:\"none\",fill:\"var(--pg)\",onClick:close})]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"pl-bubble pl-end-bub\",children:/*#__PURE__*/_jsx(\"p\",{...ts(\"cap\",\"pl-say\"),children:/*#__PURE__*/_jsx(Say,{text:say})})})]}),nS?/*#__PURE__*/_jsxs(\"div\",{className:\"pl-next\",\"data-tz\":tz?\"\":undefined,children:[tz?/*#__PURE__*/_jsx(\"span\",{className:\"pl-next-tz\",children:/*#__PURE__*/_jsx(\"img\",{src:tz,alt:\"\",decoding:\"async\"})}):null,/*#__PURE__*/_jsxs(\"div\",{className:\"pl-next-txt\",children:[/*#__PURE__*/_jsx(\"p\",{className:\"pl-next-eye\",children:\"Next up\"}),/*#__PURE__*/_jsx(\"h2\",{className:\"pl-next-tt\",children:nS.label}),/*#__PURE__*/_jsx(\"p\",{className:\"pl-next-out\",children:nS.outcome})]}),/*#__PURE__*/_jsx(\"div\",{className:\"pl-next-go\",children:/*#__PURE__*/_jsx(FoilButton,{kind:\"primaryFoil\",size:\"l\",label:play,iconAfter:\"arrow\",onClick:fromCard(()=>toStory(nx,\"step\"))})})]}):null]});})():null]}),/*#__PURE__*/_jsxs(\"footer\",{className:\"pl-foot\",children:[canZoom?/*#__PURE__*/_jsxs(\"div\",{className:\"pl-zoomctl\",role:\"group\",\"aria-label\":\"Zoom\",children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"pl-zb\",\"aria-label\":\"Zoom out\",title:\"Zoom out (−)\",\"aria-disabled\":!zoom.zoomed,onClick:()=>zoom.stepZoom(-1),children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 12h12\"})})}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"pl-zb pl-zlevel\",title:\"Reset zoom (0)\",\"aria-disabled\":!zoom.zoomed,onClick:()=>zoom.back(),children:[/*#__PURE__*/_jsx(\"span\",{ref:zoomLabel,children:\"100%\"}),/*#__PURE__*/_jsx(\"span\",{className:\"sr-only\",children:\", reset zoom\"})]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"pl-zb\",\"aria-label\":\"Zoom in\",title:\"Zoom in (+)\",\"aria-disabled\":zoom.atMax,onClick:()=>zoom.stepZoom(1),children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 12h12M12 6v12\"})})})]}):null,/*#__PURE__*/_jsx(\"div\",{className:\"pl-hints\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsxs(\"span\",{className:\"st-keys\",children:[/*#__PURE__*/_jsx(\"kbd\",{children:\"←\"}),/*#__PURE__*/_jsx(\"kbd\",{children:\"→\"}),\" to step\"]})}),/*#__PURE__*/_jsxs(\"div\",{className:\"pl-nav\",children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"st-btn pl-b\",disabled:firstScreen,onClick:()=>go(-1),children:[/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M19 12H5M11 6l-6 6 6 6\"})}),/*#__PURE__*/_jsx(\"span\",{children:\"Back\"}),/*#__PURE__*/_jsx(\"span\",{className:\"sr-only\",children:\" a step\"})]}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",ref:nextBtn,className:\"st-btn pl-b\",onClick:()=>go(1),children:[/*#__PURE__*/_jsx(\"span\",{children:nextLabel}),arrow]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"pl-strip\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"pl-progress\",children:/*#__PURE__*/_jsx(\"i\",{style:{transform:`scaleX(${progress})`}})}),/*#__PURE__*/_jsx(\"span\",{className:\"pl-count\",children:countText.replace(/^Step /,\"\")})]})]}),note&&notes[note.i]?/*#__PURE__*/_jsx(\"div\",{className:\"pl-tip\",ref:tip,\"aria-hidden\":\"true\",children:notes[note.i][0]}):null,/*#__PURE__*/_jsx(\"p\",{className:\"sr-only\",\"aria-live\":\"polite\",children:said})]});}addPropertyControls(MiniCaseStudy,{project:{type:ControlType.Enum,title:\"Project\",options:[\"prolific\",\"pearson\",\"zego\",\"perception\"],optionTitles:[\"Prolific\",\"Pearson\",\"Zego\",\"Perception\"],defaultValue:\"prolific\"},mode:{type:ControlType.Enum,title:\"Mode\",options:[\"inline\",\"player\",\"page\"],optionTitles:[\"Inline\",\"Play button\",\"Case study page\"],defaultValue:\"inline\",displaySegmentedControl:true},reel:{type:ControlType.Boolean,title:\"Preview reel\",defaultValue:false,hidden:p=>p.mode!==\"player\"||p.launcher!==\"carousel\"},playColour:{type:ControlType.Enum,title:\"Play\",options:[\"client\",\"neutral\"],optionTitles:[\"Client\",\"Neutral\"],defaultValue:\"client\",displaySegmentedControl:true,hidden:p=>p.mode!==\"player\"},launcher:{type:ControlType.Enum,title:\"Case studies\",options:[\"grid\",\"tiles\",\"tabs\",\"preview\",\"carousel\"],optionTitles:[\"Cards\",\"Tiles\",\"Tabs\",\"Preview\",\"Carousel\"],defaultValue:\"grid\",displaySegmentedControl:true,hidden:p=>p.mode!==\"player\"},controls:{type:ControlType.Enum,title:\"Controls\",options:[\"text\",\"picture\"],optionTitles:[\"Under text\",\"Under picture\"],defaultValue:\"text\",displaySegmentedControl:true,hidden:p=>p.mode===\"player\"},cardTone:{type:ControlType.Enum,title:\"Cards\",options:[\"auto\",\"dark\",\"light\"],optionTitles:[\"Match theme\",\"Dark\",\"Light\"],defaultValue:\"dark\",hidden:p=>p.mode!==\"player\"},showLink:{type:ControlType.Boolean,title:\"Case study link\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},sidePadding:{type:ControlType.Boolean,title:\"Side padding\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},dividers:{type:ControlType.Enum,title:\"Dividers\",options:[\"both\",\"top\",\"bottom\",\"none\"],optionTitles:[\"Both\",\"Top\",\"Bottom\",\"None\"],defaultValue:\"both\"},showLogo:{type:ControlType.Boolean,title:\"Logo\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},showTitle:{type:ControlType.Boolean,title:\"Title\",defaultValue:false,description:\"Off: hidden visually, still read by screen readers.\"},link:{type:ControlType.Link,title:\"Case study\"},linkLabel:{type:ControlType.String,title:\"Link label\",defaultValue:\"Read the full case study\"},menuPanel:{type:ControlType.ComponentInstance,title:\"Menu panel\",description:\"Nav/Menu Panel, Player variant (Theme, Contact, Book a call), shown in the player's options menu.\",hidden:p=>p.mode===\"inline\"},bleed:{type:ControlType.Number,title:\"Mobile bleed\",defaultValue:20,min:0,max:64,step:1,unit:\"px\",description:\"Page gutter on phones; the visual runs edge to edge.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"registerTeardown\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"MiniCaseStudy\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"brandTeardown\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}