{"version":3,"file":"script_main.DLdxwUc2.mjs","names":["EASE","useId","useRef","useState","FONT","W","INK","useState","useRef","useCallback","FONT","EASE","INK","W","_Fragment","pageIsDark","useState","EASE","FONT","useRef","useCallback","_Fragment","EASE","useState","useRef","EASE","_Fragment","EASE","useContext","Fragment","W","useRef","useState","INK","_Fragment","CASES","useCallback","CDN","EASE","useId","useState","useRef","useCallback","W","Framer.useRouter","React.useState","React.useRef","React.useCallback","React.useMemo","p","y","m","I","j","D","r","W","n","s","a","u","l","h","c","d","w","T","x","N","R","U","S","g","p","d","g","s","n","t","r","o","y","h","f","Button","isBrowser","News","Projects","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle3.css","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","sharedStyle3.className","className","RichText","React.Fragment","PropertyOverrides","_Fragment","Image1","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","sharedStyle3.fonts","React.createElement","Main","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","Framer.patchRoutesForABTesting","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/framerusercontent.com/modules/atr1vgh1O8dVRSdLheKZ/xKO8rOwqbzbMvq7neGzV/ContactMenu.js","https:/framerusercontent.com/modules/GhorO66kAgP71ZonJMrl/YvZvmYdtuNhg3WTY2B7v/ContactPanel.js","https:/framerusercontent.com/modules/gwd2Sr4ie4S4jFcTBmRU/BTChNaCxkjNvnrc7j9HV/NewsNotifications.js","https:/framerusercontent.com/modules/JN8p0YUGjDVh61hPoi7T/MHmREpFPinI3qKZdhVoL/Press.js","https:/framerusercontent.com/modules/YSRgJJEgg7Pyx3hHbssj/TVbh4Wn8dtAaXQyuryo7/SectionColors.js","https:/framerusercontent.com/modules/IDxW14uLzUsOtSddUq4N/Ei3KZQkGG57KdYElsbTn/Sheets.js","https:/framerusercontent.com/modules/BmvshErhonYDCxpBLOJ6/aJJPY7LBCQjdPw4Ka4uG/SmoothScroll.js","https:/framerusercontent.com/modules/v1sLuCweLqUECE9icafC/DkPqmTXJKLYESgPwdMla/SocialIcon.js","https:/framerusercontent.com/modules/8i4sJGO6jO38YW6ADWag/VIoEhMhPPSAViMaOGZJT/StickyNav.js","https:/framerusercontent.com/modules/eNafODVgOyfCXP2lcH5K/9rwRaX4gEUeYKLoPrp9B/TimeOfDayImage.js","https:/framerusercontent.com/modules/dJCf0WOBNWA6wvHJMcgu/AWdPE3uxSwsSTFCQvUF0/rL9heN58m-0.js","https:/framerusercontent.com/modules/dJCf0WOBNWA6wvHJMcgu/AWdPE3uxSwsSTFCQvUF0/rL9heN58m-1.js","https:/framerusercontent.com/modules/dJCf0WOBNWA6wvHJMcgu/AWdPE3uxSwsSTFCQvUF0/rL9heN58m.js","https:/framerusercontent.com/modules/imtcsUkKWgV7mYvSH4VR/oK2LcXUIOcZ0FTYfV8V4/XpUMRz3Kl.js","framer:toplevel/main"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,AnimatePresence,useReducedMotion}from\"framer-motion\";import{useEffect,useId,useLayoutEffect,useRef,useState}from\"react\";const EASE=[.16,1,.3,1];const FONT='\"ABC Diatype Regular\", \"ABC Diatype Regular Placeholder\", sans-serif';const FONT_MEDIUM='\"ABC Diatype Medium\", \"ABC Diatype Medium Placeholder\", sans-serif';const INK=\"#0D0D0D\";const W=a=>`rgba(255, 255, 255, ${a})`;// The same emails as the nav's contact panel.\nconst DEFAULT_CONTACTS=[{label:\"General\",email:\"hello@officeofoverview.com\"},{label:\"New Business\",email:\"partnerships@officeofoverview.com\"},{label:\"Careers\",email:\"work@officeofoverview.com\"}];function Arrow(){return /*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M3.5 8.5L8.5 3.5M4.5 3.5H8.5V7.5\",stroke:\"currentColor\",strokeWidth:\"1.2\"})});}function Chevron({open,reduce}){return /*#__PURE__*/_jsx(motion.svg,{width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",\"aria-hidden\":\"true\",initial:false,animate:{rotate:open?180:0},transition:{duration:reduce?0:.35,ease:EASE},style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M2.5 4.5L6 8L9.5 4.5\",stroke:\"currentColor\",strokeWidth:\"1.2\"})});}/**\n * Contact Menu\n *\n * A dark ghost button that opens the contact panel's card in place: the same\n * people, rows and reveal as the nav's Contact panel, opening from the button.\n * Each row opens a new email; Copy puts the address on the clipboard.\n *\n * @framerIntrinsicWidth 130\n * @framerIntrinsicHeight 39\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function ContactMenu(props){const{label=\"Write to us\",emails:contactsProp,direction=\"up\",align=\"right\",style}=props;const contacts=(contactsProp&&contactsProp.length>0?contactsProp:DEFAULT_CONTACTS).map((c,i)=>{const d=DEFAULT_CONTACTS[i%DEFAULT_CONTACTS.length];return{label:c?.label||d.label,email:c?.email||d.email};});const isStatic=useIsStaticRenderer();const reduce=useReducedMotion();const menuId=useId();const rootRef=useRef(null);const buttonRef=useRef(null);const[open,setOpen]=useState(false);const[hovered,setHovered]=useState(null);const[copied,setCopied]=useState(null);const[touch,setTouch]=useState(false);const panelRef=useRef(null);const[shift,setShift]=useState(0);// Keep the menu on screen: nudge it in if the button sits near an edge.\nuseLayoutEffect(()=>{if(!open||!panelRef.current)return;const r=panelRef.current.getBoundingClientRect();const vw=document.documentElement.clientWidth;const margin=16;if(r.right>vw-margin)setShift(vw-margin-r.right);else if(r.left<margin)setShift(margin-r.left);else setShift(0);return()=>setShift(0);},[open]);useEffect(()=>setTouch(window.matchMedia(\"(hover: none)\").matches),[]);// Close on outside click or Escape; hand focus back to the button.\nuseEffect(()=>{if(!open)return;function onDown(e){if(rootRef.current&&!rootRef.current.contains(e.target))setOpen(false);}function onKey(e){if(e.key===\"Escape\"){setOpen(false);buttonRef.current?.focus();}}window.addEventListener(\"pointerdown\",onDown);window.addEventListener(\"keydown\",onKey);return()=>{window.removeEventListener(\"pointerdown\",onDown);window.removeEventListener(\"keydown\",onKey);};},[open]);useEffect(()=>{if(copied===null)return;const t=window.setTimeout(()=>setCopied(null),1400);return()=>window.clearTimeout(t);},[copied]);async function copy(i){try{await navigator.clipboard.writeText(contacts[i].email);setCopied(i);}catch{window.location.href=`mailto:${contacts[i].email}`;}}const up=direction===\"up\";const corner=`${align===\"right\"?\"100%\":\"0%\"} ${up?\"100%\":\"0%\"}`;const closedClip=up?align===\"right\"?\"inset(88% 0% 0% 60% round 8px)\":\"inset(88% 60% 0% 0% round 8px)\":align===\"right\"?\"inset(0% 0% 88% 60% round 8px)\":\"inset(0% 60% 88% 0% round 8px)\";// The nav panel's text: 0.01em at 14px and up, 0.02em below.\nconst text=(size,lh,color)=>({fontFamily:FONT,fontSize:size,lineHeight:lh,letterSpacing:size>=14?\"0.01em\":\"0.02em\",color});return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,\"data-ooo-press\":\"off\",style:{...style,position:\"relative\",display:\"inline-block\"},children:[/*#__PURE__*/_jsxs(motion.button,{ref:buttonRef,type:\"button\",\"aria-haspopup\":\"menu\",\"aria-expanded\":open,\"aria-controls\":menuId,onClick:()=>setOpen(o=>!o),initial:false,animate:{backgroundColor:open?W(.06):W(0)},whileHover:{backgroundColor:W(.06)},transition:{duration:.2,ease:EASE},style:{fontFamily:FONT,letterSpacing:\"0.02em\",display:\"inline-flex\",alignItems:\"center\",gap:10,// Fills the footer pill (51px tall), so the pill itself is the button.\npadding:\"18.5px 24px\",border:\"none\",borderRadius:4,color:\"#FFFFFF\",fontSize:12,lineHeight:\"14px\",cursor:\"pointer\",whiteSpace:\"nowrap\"},children:[label,/*#__PURE__*/_jsx(Chevron,{open:open,reduce:reduce})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:open&&!isStatic&&/*#__PURE__*/_jsx(motion.div,{ref:panelRef,id:menuId,role:\"dialog\",\"aria-label\":label,initial:{clipPath:closedClip,opacity:0},animate:{clipPath:\"inset(0% 0% 0% 0% round 8px)\",opacity:1},exit:{clipPath:closedClip,opacity:0,transition:{duration:reduce?0:.25,ease:EASE}},transition:{duration:reduce?0:.5,ease:EASE},style:{position:\"absolute\",[up?\"bottom\":\"top\"]:\"calc(100% + 14px)\",[align]:0,zIndex:20,width:\"min(420px, calc(100vw - 32px))\",padding:6,borderRadius:8,background:INK,color:\"#FFFFFF\",boxSizing:\"border-box\",// The nav panel's faint edge, so the card holds its shape over the footer film.\nboxShadow:\"inset 0 0 0 1px rgba(255, 255, 255, 0.08)\",transformOrigin:corner,translate:`${shift}px 0`},children:contacts.map((c,i)=>/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,y:reduce?0:up?6:-6},animate:{opacity:1,y:0},transition:{duration:.4,ease:EASE,delay:reduce?0:.08+i*.04},onMouseEnter:()=>setHovered(i),onMouseLeave:()=>setHovered(null),style:{display:\"flex\",alignItems:\"center\",gap:16,borderRadius:4,background:hovered===i?W(.04):W(0),transition:\"background-color 0.2s cubic-bezier(0.16, 1, 0.3, 1)\"},children:[/*#__PURE__*/_jsxs(\"a\",{href:`mailto:${c.email}`,onClick:()=>setOpen(false),style:{flex:1,minWidth:0,display:\"flex\",flexDirection:\"column\",gap:2,padding:\"12px 12px\",textDecoration:\"none\",borderRadius:4},children:[/*#__PURE__*/_jsx(\"span\",{style:{...text(15,\"20px\",\"#FFFFFF\"),fontFamily:FONT_MEDIUM},children:c.label}),/*#__PURE__*/_jsx(\"span\",{style:{...text(15,\"20px\",W(.4)),overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:c.email})]}),/*#__PURE__*/_jsx(motion.button,{type:\"button\",onClick:()=>copy(i),\"aria-label\":`Copy ${c.email}`,whileHover:{backgroundColor:W(.14)},whileTap:reduce?undefined:{scale:.96},transition:{duration:.2,ease:EASE},style:{...text(12,\"14px\",\"#FFFFFF\"),flexShrink:0,marginRight:6,padding:\"11px 16px\",border:\"none\",borderRadius:4,background:W(.08),cursor:\"pointer\",minWidth:64},children:copied===i?\"Copied\":\"Copy\"})]},c.email))})})]});}addPropertyControls(ContactMenu,{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Write to us\"},emails:{type:ControlType.Array,title:\"Emails\",maxCount:6,control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"General\"},email:{type:ControlType.String,title:\"Email\",defaultValue:\"hello@officeofoverview.com\"}}},defaultValue:DEFAULT_CONTACTS},direction:{type:ControlType.Enum,title:\"Opens\",options:[\"up\",\"down\"],optionTitles:[\"Up\",\"Down\"],defaultValue:\"up\",displaySegmentedControl:true},align:{type:ControlType.Enum,title:\"Align\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],defaultValue:\"right\",displaySegmentedControl:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ContactMenu\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"39\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"130\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ContactMenu.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,AnimatePresence,useReducedMotion}from\"framer-motion\";import{forwardRef,useCallback,useEffect,useRef,useState}from\"react\";// @ts-ignore react-dom types aren't bundled with Framer's editor\nimport{createPortal}from\"react-dom\";/*\n * Contact Panel\n *\n * One quick way to get in touch, from anywhere: a small panel that drops from\n * the navigation with the right people to write to, each a click to email or\n * copy. Open it from code with\n *   window.dispatchEvent(new CustomEvent(\"ooo:contact\", { detail: { subject } }))\n * or put withContact on any button.\n */export const CONTACT_EVENT=\"ooo:contact\";export const CONTACT_STATE=\"ooo:contact-state\";const EASE=[.16,1,.3,1];const FONT={regular:'\"ABC Diatype Regular\", \"ABC Diatype Regular Placeholder\", sans-serif',medium:'\"ABC Diatype Medium\", \"ABC Diatype Medium Placeholder\", sans-serif'};const INK=\"#0D0D0D\";const W=a=>`rgba(255, 255, 255, ${a})`;const DEFAULT_PEOPLE=[{label:\"General\",email:\"hello@officeofoverview.com\"},{label:\"New Business\",email:\"partnerships@officeofoverview.com\"},{label:\"Careers\",email:\"work@officeofoverview.com\"}];function openPanel(subject){window.dispatchEvent(new CustomEvent(CONTACT_EVENT,{detail:{subject}}));}function Arrow(){return /*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M3.5 8.5L8.5 3.5M4.5 3.5H8.5V7.5\",stroke:\"currentColor\",strokeWidth:\"1.2\"})});}/**\n * Contact Panel\n *\n * Place once per page. The nav's Contact link, withContact buttons and the\n * programme and case study popups all open it.\n *\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function ContactPanel(props){const{emails:peopleProp}=props;const people=(peopleProp&&peopleProp.length>0?peopleProp:DEFAULT_PEOPLE).map((p,i)=>({...DEFAULT_PEOPLE[i%DEFAULT_PEOPLE.length],...Object.fromEntries(Object.entries(p||{}).filter(([,v])=>v))}));const isStatic=useIsStaticRenderer();const reduce=useReducedMotion();const[mounted,setMounted]=useState(false);const[open,setOpen]=useState(false);const[subject,setSubject]=useState();const[pos,setPos]=useState({top:72,left:16,width:400});const[hovered,setHovered]=useState(null);const[copied,setCopied]=useState(null);const[touch,setTouch]=useState(false);const panelRef=useRef(null);const returnFocus=useRef(null);useEffect(()=>{setMounted(true);setTouch(window.matchMedia(\"(hover: none)\").matches);},[]);// Sit just under the navigation bar, centred on it.\nconst place=useCallback(()=>{const vw=document.documentElement.clientWidth;const width=Math.min(420,vw-32);const nav=document.querySelector('nav[aria-label=\"Main\"]');const r=nav?.getBoundingClientRect();const top=r&&r.bottom>0?r.bottom+8:72;const centre=r?r.left+r.width/2:vw/2;const left=Math.min(Math.max(16,centre-width/2),vw-16-width);setPos({top,left,width});},[]);useEffect(()=>{if(isStatic)return;function onOpen(e){const detail=e.detail||{};setOpen(was=>{if(was&&detail.toggle)return false;returnFocus.current=document.activeElement;setSubject(detail.subject);place();return true;});}window.addEventListener(CONTACT_EVENT,onOpen);return()=>window.removeEventListener(CONTACT_EVENT,onOpen);},[isStatic,place]);// Tell the nav, so its Contact link can show as pressed.\nuseEffect(()=>{if(!mounted)return;window.dispatchEvent(new CustomEvent(CONTACT_STATE,{detail:{open}}));},[open,mounted]);// Close on Escape, on a click elsewhere, or once the page has moved on.\nuseEffect(()=>{if(!open)return;const startY=window.scrollY;function close(){setOpen(false);}function onKey(e){if(e.key===\"Escape\"){close();returnFocus.current?.focus?.({preventScroll:true});}}function onDown(e){const t=e.target;if(panelRef.current?.contains(t))return;if(t?.closest?.(\"[data-ooo-contact-trigger]\"))return;close();}function onScroll(){if(Math.abs(window.scrollY-startY)>240)close();}window.addEventListener(\"keydown\",onKey);window.addEventListener(\"pointerdown\",onDown);window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",place);const t=window.setTimeout(()=>panelRef.current?.querySelector(\"a\")?.focus({preventScroll:true}),60);return()=>{window.removeEventListener(\"keydown\",onKey);window.removeEventListener(\"pointerdown\",onDown);window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",place);window.clearTimeout(t);};},[open,place]);useEffect(()=>{if(copied===null)return;const t=window.setTimeout(()=>setCopied(null),1400);return()=>window.clearTimeout(t);},[copied]);async function copy(i){try{await navigator.clipboard.writeText(people[i].email);setCopied(i);}catch{window.location.href=mailto(people[i].email);}}const mailto=email=>`mailto:${email}${subject?`?subject=${encodeURIComponent(subject)}`:\"\"}`;const text=(size,lh,color)=>({fontFamily:FONT.regular,fontSize:size,lineHeight:lh,letterSpacing:size>=14?\"0.01em\":\"0.02em\",color});const panel=/*#__PURE__*/_jsx(AnimatePresence,{children:open&&/*#__PURE__*/_jsx(motion.div,{ref:panelRef,role:\"dialog\",\"aria-label\":\"Contact\",initial:{clipPath:\"inset(0% 30% 88% 30% round 8px)\",opacity:0},animate:{clipPath:\"inset(0% 0% 0% 0% round 8px)\",opacity:1},exit:{clipPath:\"inset(0% 30% 88% 30% round 8px)\",opacity:0,transition:{duration:reduce?0:.25,ease:EASE}},transition:{duration:reduce?0:.5,ease:EASE},style:{position:\"fixed\",top:pos.top,left:pos.left,width:pos.width,zIndex:1100,padding:6,borderRadius:8,background:INK,color:\"#FFFFFF\",boxSizing:\"border-box\",// The nav's faint edge, so the panel holds its shape over dark content.\nboxShadow:\"inset 0 0 0 1px rgba(255, 255, 255, 0.08)\"},children:people.map((p,i)=>/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,y:reduce?0:-6},animate:{opacity:1,y:0},transition:{duration:.4,ease:EASE,delay:reduce?0:.08+i*.04},onMouseEnter:()=>setHovered(i),onMouseLeave:()=>setHovered(null),style:{display:\"flex\",alignItems:\"center\",gap:16,borderRadius:4,background:hovered===i?W(.04):W(0),transition:\"background-color 0.2s cubic-bezier(0.16, 1, 0.3, 1)\"},children:[/*#__PURE__*/_jsxs(\"a\",{href:mailto(p.email),onClick:()=>setOpen(false),style:{flex:1,minWidth:0,display:\"flex\",flexDirection:\"column\",gap:2,padding:\"12px 12px\",textDecoration:\"none\",borderRadius:4},children:[/*#__PURE__*/_jsx(\"span\",{style:{...text(15,\"20px\",\"#FFFFFF\"),fontFamily:FONT.medium},children:p.label}),/*#__PURE__*/_jsx(\"span\",{style:{...text(15,\"20px\",W(.4)),overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:p.email})]}),/*#__PURE__*/_jsx(motion.button,{type:\"button\",onClick:()=>copy(i),\"aria-label\":`Copy ${p.email}`,whileHover:{backgroundColor:W(.14)},whileTap:reduce?undefined:{scale:.96},transition:{duration:.2,ease:EASE},style:{...text(12,\"14px\",\"#FFFFFF\"),flexShrink:0,marginRight:6,padding:\"11px 16px\",border:\"none\",borderRadius:4,background:W(.08),cursor:\"pointer\",minWidth:64},children:copied===i?\"Copied\":\"Copy\"})]},p.email))})});return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"relative\",width:1,height:1,pointerEvents:\"none\"}}),mounted&&!isStatic&&/*#__PURE__*/createPortal(panel,document.body)]});}addPropertyControls(ContactPanel,{emails:{type:ControlType.Array,title:\"Emails\",maxCount:6,control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"General\"},email:{type:ControlType.String,title:\"Email\",defaultValue:\"hello@officeofoverview.com\"}}},defaultValue:DEFAULT_PEOPLE}});// ─── Override ───────────────────────────────────────────────────────────────\n// withContact: any button or link opens the contact panel instead of navigating.\nexport function withContact(Component){return /*#__PURE__*/forwardRef(function Contact(props,ref){const onClickCapture=useCallback(e=>{e.preventDefault();e.stopPropagation();openPanel();},[]);const setRef=useCallback(node=>{if(typeof ref===\"function\")ref(node);else if(ref&&typeof ref===\"object\")ref.current=node;if(!node||node.__oooContact)return;node.__oooContact=true;node.setAttribute(\"data-ooo-contact-trigger\",\"\");node.setAttribute(\"aria-haspopup\",\"dialog\");node.addEventListener(\"click\",onClickCapture,true);},[ref,onClickCapture]);return /*#__PURE__*/_jsx(Component,{...props,ref:setRef});});}\nexport const __FramerMetadata__ = {\"exports\":{\"CONTACT_EVENT\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withContact\":{\"type\":\"reactHoc\",\"name\":\"withContact\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CONTACT_STATE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"ContactPanel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ContactPanel.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{animate,AnimatePresence,motion,useMotionValue,useReducedMotion}from\"framer-motion\";import{useCallback,useEffect,useLayoutEffect,useRef,useState}from\"react\";// @ts-ignore react-dom types aren't bundled with Framer's editor\nimport{createPortal}from\"react-dom\";/*\n * News Notifications\n *\n * A glass pill beside the navigation that cycles through the latest News\n * entries. Click it and it morphs open into a panel of entries; click again,\n * press Escape, click outside or scroll away and it folds back.\n *\n * Entries come from a hidden CMS list named \"News Source\" (each item a layer\n * named \"Note\" with \"Image\", \"Client\" and \"Title\" inside), so it stays in sync\n * with the News collection. Hidden on phones and touch screens.\n */const EASE=[.16,1,.3,1];const MORPH={type:\"spring\",stiffness:420,damping:40,mass:.9};const PILL_H=37;const PANEL_W=368;const CYCLE=4200;// The open list scrolls past this height, leaving room above and below the panel.\nconst LIST_MAX=\"min(480px, calc(100vh - 180px))\";const FONT={regular:'\"ABC Diatype Regular\", \"ABC Diatype Regular Placeholder\", sans-serif',medium:'\"ABC Diatype Medium\", \"ABC Diatype Medium Placeholder\", sans-serif'};const FALLBACK=[{title:\"Latest from the studio\",client:\"Overview\",image:\"\",href:\"/#news\"}];function tones(dark){return dark?{bg:\"rgba(24, 24, 24, 0.62)\",edge:\"rgba(255, 255, 255, 0.08)\",ink:\"#FFFFFF\",muted:\"rgba(255, 255, 255, 0.45)\",soft:\"rgba(255, 255, 255, 0.08)\",hover:\"rgba(255, 255, 255, 0.07)\",shadow:\"0 24px 64px rgba(0, 0, 0, 0.4)\"}:{bg:\"rgba(255, 255, 255, 0.72)\",edge:\"rgba(13, 13, 13, 0.06)\",ink:\"#0D0D0D\",muted:\"rgba(13, 13, 13, 0.45)\",soft:\"rgba(13, 13, 13, 0.06)\",hover:\"rgba(13, 13, 13, 0.045)\",shadow:\"0 24px 64px rgba(13, 13, 13, 0.14)\"};}// The section colour with an ink tint laid over it, as one solid colour. The\n// open panel uses it over a section colour so nothing behind shows through.\nfunction opaque(color,ink){const m=color.match(/rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)/i);if(!m)return color;const mix=v=>Math.round(+v*(1-ink)+13*ink);return`rgb(${mix(m[1])}, ${mix(m[2])}, ${mix(m[3])})`;}// Before Section Colors has set the page tone, read it from the first\n// section's own fill, so the bar starts in the right colours.\nfunction pageIsDark(html){const tone=html.getAttribute(\"data-ooo-tone\");if(tone)return tone===\"dark\";const first=document.querySelector(\"section[id]\");const m=first&&getComputedStyle(first).backgroundColor.match(/rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)(?:[\\s,/]+([\\d.]+))?/);if(!m||m[4]!==undefined&&+m[4]<.5)return false;return(.2126*+m[1]+.7152*+m[2]+.0722*+m[3])/255<.5;}function readEntries(){const notes=Array.from(document.querySelectorAll('[data-framer-name=\"News Source\"] [data-framer-name=\"Note\"]'));const out=[];for(const n of notes){const title=n.querySelector('[data-framer-name=\"Title\"]')?.textContent?.trim()||\"\";if(!title)continue;const img=n.querySelector(\"img\");const link=n.tagName===\"A\"?n:n.closest(\"a\")||n.querySelector(\"a\");out.push({title,client:n.querySelector('[data-framer-name=\"Client\"]')?.textContent?.trim()||\"\",image:img?.currentSrc||img?.src||\"\",href:link?.getAttribute(\"href\")||\"\"});}return out;}function Thumb({src,size,radius}){return /*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",width:size,height:size,borderRadius:radius,overflow:\"hidden\",flexShrink:0,background:\"rgba(128,128,128,0.2)\",display:\"block\"},children:src&&/*#__PURE__*/_jsx(\"img\",{src:src,alt:\"\",draggable:false,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\"}})});}function Arrow({color}){return /*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\",color},children:/*#__PURE__*/_jsx(\"path\",{d:\"M2 6H10M6.5 2.5L10 6L6.5 9.5\",stroke:\"currentColor\",strokeWidth:\"1.2\"})});}function Panel({entries,dark,onClose}){const t=tones(dark);const reduce=useReducedMotion();const[hovered,setHovered]=useState(-1);const item=i=>({initial:{opacity:0,y:reduce?0:10,filter:reduce?\"none\":\"blur(6px)\"},animate:{opacity:1,y:0,filter:\"blur(0px)\",transition:{duration:.55,ease:EASE,delay:.08+Math.min(i,7)*.045}},exit:{opacity:0,transition:{duration:.15}}});return /*#__PURE__*/_jsxs(\"div\",{style:{width:PANEL_W,padding:8,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsxs(motion.div,{...item(0),style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",padding:\"4px 4px 10px 10px\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:FONT.medium,fontSize:12,lineHeight:\"14px\",letterSpacing:\"0.02em\",color:t.ink,display:\"flex\",gap:8},children:\"Latest news\"}),/*#__PURE__*/_jsx(motion.button,{type:\"button\",\"aria-label\":\"Close\",onClick:onClose,whileHover:{backgroundColor:t.hover.replace(/[\\d.]+\\)$/,\"0.12)\")},whileTap:{scale:.9},transition:{duration:.2,ease:EASE},style:{width:24,height:24,borderRadius:4,border:\"none\",padding:0,display:\"grid\",placeItems:\"center\",cursor:\"pointer\",background:t.soft,color:t.ink},children:/*#__PURE__*/_jsx(\"svg\",{width:\"10\",height:\"10\",viewBox:\"0 0 12 12\",fill:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M2.5 2.5L9.5 9.5M9.5 2.5L2.5 9.5\",stroke:\"currentColor\",strokeWidth:\"1.3\"})})})]}),/*#__PURE__*/_jsxs(\"div\",{\"data-ooo-news-list\":\"\",style:{display:\"flex\",flexDirection:\"column\",gap:2,maxHeight:LIST_MAX,overflowY:\"auto\",overscrollBehavior:\"contain\",scrollbarWidth:\"none\",// Entries soften away at the edges as they scroll.\nmaskImage:\"linear-gradient(to bottom, transparent 0, #000 12px, #000 calc(100% - 32px), transparent 100%)\",WebkitMaskImage:\"linear-gradient(to bottom, transparent 0, #000 12px, #000 calc(100% - 32px), transparent 100%)\",padding:\"6px 0 24px\",margin:\"-6px 0 0\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`[data-ooo-news-list]::-webkit-scrollbar { display: none; }`}),entries.map((e,i)=>/*#__PURE__*/_jsxs(motion.a,{// Press and partner pages open in a new tab; entries without a link just sit there.\n    href:e.href||undefined,target:/^https?:/.test(e.href)?\"_blank\":undefined,rel:/^https?:/.test(e.href)?\"noopener noreferrer\":undefined,onClick:e.href?onClose:undefined,...item(i+1),onHoverStart:()=>e.href&&setHovered(i),onHoverEnd:()=>setHovered(-1),whileTap:e.href?{scale:.985}:undefined,style:{position:\"relative\",display:\"flex\",alignItems:\"center\",gap:14,padding:8,borderRadius:6,textDecoration:\"none\",color:t.ink,cursor:e.href?\"pointer\":\"default\"},children:[/*#__PURE__*/_jsx(motion.span,{\"aria-hidden\":\"true\",animate:{opacity:hovered===i?1:0},transition:{duration:.25,ease:EASE},style:{position:\"absolute\",inset:0,borderRadius:6,background:t.hover}}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",width:56,height:56,borderRadius:4,overflow:\"hidden\",flexShrink:0},children:/*#__PURE__*/_jsx(motion.span,{animate:{scale:hovered===i&&!reduce?1.06:1},transition:{duration:.6,ease:EASE},style:{position:\"absolute\",inset:0,display:\"block\"},children:/*#__PURE__*/_jsx(Thumb,{src:e.image,size:56,radius:0})})}),/*#__PURE__*/_jsxs(\"span\",{style:{position:\"relative\",display:\"flex\",flexDirection:\"column\",gap:4,minWidth:0,flex:1},children:[/*#__PURE__*/_jsxs(\"span\",{style:{fontFamily:FONT.regular,fontSize:12,lineHeight:\"14px\",letterSpacing:\"0.02em\",color:t.muted,display:\"flex\",alignItems:\"center\",gap:6},children:[i===0&&/*#__PURE__*/_jsx(\"span\",{style:{width:6,height:6,borderRadius:3,background:\"#3DDC84\"}}),e.client||\"News\"]}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:FONT.regular,fontSize:15,lineHeight:1.25,letterSpacing:\"0.01em\",display:\"-webkit-box\",WebkitLineClamp:2,WebkitBoxOrient:\"vertical\",overflow:\"hidden\"},children:e.title})]}),/*#__PURE__*/_jsx(motion.span,{animate:{opacity:hovered===i?1:0,x:hovered===i?0:-6},transition:{duration:.3,ease:EASE},style:{position:\"relative\",paddingRight:6},children:/*#__PURE__*/_jsx(Arrow,{color:t.ink})})]},i))]})]});}function Pill({entries,index,dark,live}){const t=tones(dark);const reduce=useReducedMotion();const e=entries[index%entries.length];const swap={initial:{opacity:0,y:reduce?0:14,filter:reduce?\"none\":\"blur(4px)\"},animate:{opacity:1,y:0,filter:\"blur(0px)\"},exit:{opacity:0,y:reduce?0:-14,filter:reduce?\"none\":\"blur(4px)\"},transition:{duration:.55,ease:EASE}};return /*#__PURE__*/_jsxs(\"div\",{style:{height:PILL_H,display:\"flex\",alignItems:\"center\",gap:10,padding:\"0 10px 0 4px\",whiteSpace:\"nowrap\",boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",width:29,height:29,flexShrink:0},children:/*#__PURE__*/_jsx(AnimatePresence,{initial:false,children:/*#__PURE__*/_jsx(motion.span,{...swap,style:{position:\"absolute\",inset:0,display:\"block\"},children:/*#__PURE__*/_jsx(Thumb,{src:e.image,size:29,radius:4})},index)})}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",display:\"grid\",overflow:\"hidden\",height:20,alignItems:\"center\"},children:/*#__PURE__*/_jsx(AnimatePresence,{initial:false,mode:\"popLayout\",children:/*#__PURE__*/_jsx(motion.span,{...swap,style:{gridArea:\"1 / 1\",fontFamily:FONT.regular,fontSize:12,lineHeight:\"14px\",letterSpacing:\"0.02em\",color:t.ink,maxWidth:220,overflow:\"hidden\",textOverflow:\"ellipsis\"},children:e.title},index)})}),entries.length>1&&/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",alignItems:\"center\",gap:6,height:20,padding:\"0 7px 0 6px\",borderRadius:4,background:t.soft,fontFamily:FONT.regular,fontSize:11,lineHeight:\"14px\",color:t.ink},children:[live&&/*#__PURE__*/_jsxs(\"span\",{style:{position:\"relative\",width:6,height:6},children:[!reduce&&/*#__PURE__*/_jsx(motion.span,{initial:{scale:1,opacity:.6},animate:{scale:2.6,opacity:0},transition:{duration:1.6,ease:EASE,repeat:Infinity,repeatDelay:.6},style:{position:\"absolute\",inset:0,borderRadius:3,background:\"#3DDC84\"}}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",inset:0,borderRadius:3,background:\"#3DDC84\"}})]}),entries.length]})]});}/**\n * News Notifications\n *\n * @framerIntrinsicWidth 260\n * @framerIntrinsicHeight 37\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function NewsNotifications({right=20}){const isStatic=useIsStaticRenderer();const reduce=useReducedMotion();const[mounted,setMounted]=useState(false);const[enabled,setEnabled]=useState(false);const[entries,setEntries]=useState(FALLBACK);const[index,setIndex]=useState(0);const[open,setOpen]=useState(false);const[hover,setHover]=useState(false);const[dark,setDark]=useState(false);const[accent,setAccent]=useState(\"\");const[hiddenBySheet,setHiddenBySheet]=useState(false);// The page's starting colourway arrives just after load: take it instantly,\n// and only fade between colourways once the page has settled.\nconst[settled,setSettled]=useState(false);useEffect(()=>{const id=window.setTimeout(()=>setSettled(true),1200);return()=>window.clearTimeout(id);},[]);const[seen,setSeen]=useState(false);const rootRef=useRef(null);const pillRef=useRef(null);const panelRef=useRef(null);const buttonRef=useRef(null);const top=useMotionValue(40);const width=useMotionValue(220);const height=useMotionValue(PILL_H);useEffect(()=>{setMounted(true);if(isStatic)return;const mq=window.matchMedia(\"(min-width: 810px) and (hover: hover)\");const apply=()=>setEnabled(mq.matches);apply();mq.addEventListener?.(\"change\",apply);return()=>mq.removeEventListener?.(\"change\",apply);},[isStatic]);// Entries from the hidden CMS list; it can fill in after load.\nuseEffect(()=>{if(!enabled)return;const read=()=>{const found=readEntries();if(found.length)setEntries(prev=>JSON.stringify(prev)===JSON.stringify(found)?prev:found);};read();const timers=[400,1200,3e3].map(ms=>window.setTimeout(read,ms));return()=>timers.forEach(t=>window.clearTimeout(t));},[enabled]);// Colourway and popups, set by Section Colors and Sheets on <html>.\nuseEffect(()=>{if(!enabled)return;const html=document.documentElement;const read=()=>{const chrome=html.getAttribute(\"data-ooo-chrome\")===\"dark\";setDark(pageIsDark(html));setAccent(chrome?html.style.getPropertyValue(\"--ooo-chrome-accent\").trim():\"\");setHiddenBySheet(html.hasAttribute(\"data-ooo-sheet\"));};read();const mo=new MutationObserver(read);mo.observe(html,{attributes:true,attributeFilter:[\"data-ooo-tone\",\"data-ooo-chrome\",\"data-ooo-sheet\"]});return()=>mo.disconnect();},[enabled]);// Sit on the navigation's centre line as it settles and hides.\nuseEffect(()=>{if(!enabled)return;let raf=0;let until=0;const follow=()=>{raf=0;const nav=document.querySelector('nav[aria-label=\"Main\"]');if(nav){const r=nav.getBoundingClientRect();top.set(Math.round(r.top+r.height/2-PILL_H/2));}if(performance.now()<until)raf=requestAnimationFrame(follow);};const kick=()=>{until=performance.now()+900;if(!raf)raf=requestAnimationFrame(follow);};kick();window.addEventListener(\"scroll\",kick,{passive:true});window.addEventListener(\"resize\",kick);return()=>{window.removeEventListener(\"scroll\",kick);window.removeEventListener(\"resize\",kick);if(raf)cancelAnimationFrame(raf);};},[enabled]);// The front entry cycles while closed and not under the pointer.\nuseEffect(()=>{if(!enabled||open||hover||reduce||entries.length<2)return;const id=window.setInterval(()=>{if(!document.hidden)setIndex(i=>(i+1)%entries.length);},CYCLE);return()=>window.clearInterval(id);},[enabled,open,hover,reduce,entries.length]);// Morph the glass to fit whichever face is showing.\nconst resize=useCallback(()=>{const face=open?panelRef.current:pillRef.current;if(!face)return;const w=face.offsetWidth;const h=open?face.offsetHeight:PILL_H;if(reduce){width.set(w);height.set(h);return;}animate(width,w,MORPH);animate(height,h,MORPH);},[open,reduce]);useLayoutEffect(()=>{if(!enabled)return;const face=open?panelRef.current:pillRef.current;if(!face)return;if(!open&&!seen){width.set(face.offsetWidth);setSeen(true);}else resize();const ro=new ResizeObserver(resize);ro.observe(face);return()=>ro.disconnect();},[enabled,open,index,entries,resize]);const close=useCallback(()=>setOpen(false),[]);// A popup opening closes the panel too.\nuseEffect(()=>{if(hiddenBySheet)setOpen(false);},[hiddenBySheet]);// Escape, a click elsewhere, a long scroll or the contact panel closes it.\nuseEffect(()=>{if(!open)return;const startY=window.scrollY;const onKey=e=>{if(e.key===\"Escape\"){setOpen(false);buttonRef.current?.focus({preventScroll:true});}};const onDown=e=>{if(!rootRef.current?.contains(e.target))setOpen(false);};const onScroll=()=>{if(Math.abs(window.scrollY-startY)>240)setOpen(false);};const onContact=e=>{if(e.detail?.open)setOpen(false);};window.addEventListener(\"keydown\",onKey);window.addEventListener(\"pointerdown\",onDown);window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"ooo:contact-state\",onContact);return()=>{window.removeEventListener(\"keydown\",onKey);window.removeEventListener(\"pointerdown\",onDown);window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"ooo:contact-state\",onContact);};},[open]);if(isStatic){const t=tones(false);return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",borderRadius:8,background:t.bg,boxShadow:`inset 0 0 0 1px ${t.edge}`,display:\"flex\",alignItems:\"center\",gap:10,padding:\"0 10px 0 4px\",boxSizing:\"border-box\",fontFamily:FONT.regular,fontSize:12,color:t.ink},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:29,height:29,borderRadius:4,background:t.soft}}),\"News Notifications\"]});}if(!mounted||!enabled)return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{width:1,height:1}});// Over a Dark Chrome section the pill matches the nav: frosted ink at low\n// opacity with a hairline, and ink type.\nconst t=accent?{...tones(false),bg:\"rgba(13, 13, 13, 0.06)\",edge:\"rgba(13, 13, 13, 0.08)\",soft:\"rgba(13, 13, 13, 0.08)\",hover:\"rgba(13, 13, 13, 0.06)\",shadow:\"0 24px 64px rgba(13, 13, 13, 0.16)\"}:tones(dark);const tone={duration:reduce||!settled?0:.7,ease:EASE};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{width:1,height:1}}),/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(motion.div,{ref:rootRef,\"data-ooo-press\":\"off\",initial:{opacity:0,y:reduce?0:-8},animate:{opacity:hiddenBySheet?0:1,y:0},transition:{duration:.8,ease:EASE,delay:.4},...hiddenBySheet?{inert:\"\"}:{},style:{position:\"fixed\",top,right,zIndex:1050,pointerEvents:hiddenBySheet?\"none\":\"auto\",visibility:hiddenBySheet?\"hidden\":\"visible\"},children:/*#__PURE__*/_jsxs(motion.div,{animate:{backgroundColor:open&&accent?opaque(accent,.06):t.bg,boxShadow:`inset 0 0 0 1px ${t.edge}, ${open?t.shadow:\"0 0 0 rgba(0,0,0,0)\"}`},transition:{backgroundColor:tone,boxShadow:{duration:.5,ease:EASE}},style:{position:\"relative\",width,height,// Closed, concentric with the 4px thumbnail inset 4px.\nborderRadius:open?10:8,overflow:\"hidden\",// No colour boost over a section colour: it muddies the yellow.\nbackdropFilter:accent?\"blur(24px)\":\"blur(24px) saturate(180%)\",WebkitBackdropFilter:accent?\"blur(24px)\":\"blur(24px) saturate(180%)\",transition:\"border-radius 0.5s cubic-bezier(0.16, 1, 0.3, 1)\"},children:[/*#__PURE__*/_jsxs(motion.button,{ref:buttonRef,type:\"button\",\"aria-expanded\":open,\"aria-label\":`Latest news: ${entries[index%entries.length]?.title}. ${entries.length} entries.`,onClick:()=>setOpen(true),onHoverStart:()=>setHover(true),onHoverEnd:()=>setHover(false),whileTap:{scale:.97},animate:{opacity:open?0:1,filter:open&&!reduce?\"blur(6px)\":\"blur(0px)\"},transition:{duration:open?.2:.45,ease:EASE,delay:open?0:.12},style:{position:\"absolute\",top:0,right:0,width:\"max-content\",padding:0,border:\"none\",background:\"none\",cursor:\"pointer\",pointerEvents:open?\"none\":\"auto\",color:t.ink},children:[/*#__PURE__*/_jsx(motion.span,{animate:{backgroundColor:hover&&!open?t.hover:\"rgba(0,0,0,0)\"},transition:{duration:.25,ease:EASE},style:{position:\"absolute\",inset:0,borderRadius:6}}),/*#__PURE__*/_jsx(\"div\",{ref:pillRef,style:{position:\"relative\",width:\"max-content\"},children:/*#__PURE__*/_jsx(Pill,{entries:entries,index:index,dark:dark,live:true})})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:open&&/*#__PURE__*/_jsx(motion.div,{ref:panelRef,role:\"dialog\",\"aria-label\":\"Latest news\",initial:{opacity:1},exit:{opacity:0,filter:reduce?\"none\":\"blur(4px)\",transition:{duration:.18,ease:EASE}},style:{position:\"absolute\",top:0,right:0,width:\"max-content\"},children:/*#__PURE__*/_jsx(Panel,{entries:entries,dark:dark,onClose:close})},\"panel\")})]})}),document.body)]});}addPropertyControls(NewsNotifications,{right:{type:ControlType.Number,title:\"Right\",defaultValue:20,min:0,max:80,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"NewsNotifications\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"260\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"37\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./NewsNotifications.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useIsStaticRenderer}from\"framer\";import{useEffect}from\"react\";/*\n * Press\n *\n * Place once in the layout template. Every button on the site gets the\n * navigation's press: a quick dip to 96% while held, then a pop back.\n *\n * A \"button\" is a link, <button> or clickable layer no taller than 64px and\n * no wider than 420px, so cards and big tiles keep their own feel. Anything\n * inside an element with data-ooo-press=\"off\", a popup or the navigation is\n * left alone because those animate themselves.\n */const EASE=\"cubic-bezier(0.16, 1, 0.3, 1)\";const SCALE=\"0.96\";const SKIP='nav[aria-label=\"Main\"], [role=\"dialog\"], [data-ooo-press=\"off\"]';function pressable(target){const start=target instanceof Element?target:null;if(!start||start.closest(SKIP))return null;// The real link or button first; failing that, the outermost layer showing\n// a pointer (children inherit the cursor, so the innermost one is just text).\nlet el=start.closest('a[href], button, [role=\"button\"]');if(!el){for(let n=start;n&&n!==document.body;n=n.parentElement){if(getComputedStyle(n).cursor!==\"pointer\")break;el=n;}}if(!el)return null;const r=el.getBoundingClientRect();return r.height<=64&&r.width<=420?el:null;}/**\n * Press\n *\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function Press(){const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic||window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches)return;let held=null;const release=()=>{if(!held)return;held.style.scale=\"\";held=null;};const down=e=>{if(e.button!==0)return;const el=pressable(e.target);if(!el)return;held=el;if(!el.style.transition.includes(\"scale \"))el.style.transition=[el.style.transition,`scale 0.2s ${EASE}`].filter(Boolean).join(\", \");el.style.scale=SCALE;};window.addEventListener(\"pointerdown\",down,true);window.addEventListener(\"pointerup\",release,true);window.addEventListener(\"pointercancel\",release,true);window.addEventListener(\"dragstart\",release,true);window.addEventListener(\"blur\",release);return()=>{window.removeEventListener(\"pointerdown\",down,true);window.removeEventListener(\"pointerup\",release,true);window.removeEventListener(\"pointercancel\",release,true);window.removeEventListener(\"dragstart\",release,true);window.removeEventListener(\"blur\",release);};},[isStatic]);return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{width:1,height:1}});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Press\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Press.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useEffect,useRef,useState}from\"react\";// @ts-ignore react-dom ships without types in Framer's checker but is available at runtime\nimport{createPortal}from\"react-dom\";const DEFAULT_SECTIONS=[{id:\"intro\",color:\"#FFFFFF\"},{id:\"belief\",color:\"#0D0D0D\"},{id:\"work\",color:\"#FFFFFF\"},{id:\"programmes\",color:\"#FAFAFA\"},{id:\"news\",color:\"#FFFFFF\"},{id:\"contact\",color:\"#0D0D0D\"}];const EASE=\"cubic-bezier(0.16, 1, 0.3, 1)\";// Every colour token with its value in the opposite colourway: ink ↔ white.\nconst SWAP=[[\"6a83b704-fd32-4075-a527-90532ef4a0cb\",\"#ffffff\"],[\"8ebec389-3d5f-46dd-af94-cbea4d7c4500\",\"#ffffffcc\"],[\"040f8fc1-2127-42d8-ada7-97d63008eae4\",\"#ffffff66\"],[\"8e5391aa-4bd3-4eba-b1e8-49448b840461\",\"#ffffff29\"],[\"92827786-aac0-4b35-8c00-d613bd06fea2\",\"#ffffff14\"],[\"be5e84f1-939a-4d06-9e43-bd0326b73d95\",\"#ffffff0f\"],[\"6fea3d07-1144-469f-9d73-2b684a0bca6c\",\"#0d0d0d\"],[\"16bcbde9-53f1-44bd-9a8d-0fdb5cec210e\",\"#0d0d0dcc\"],[\"32832e05-d346-43fb-8333-f1c508b05ee5\",\"#0d0d0d66\"],[\"a9ac3ceb-a240-4fb1-9019-40da905de132\",\"#0d0d0d0f\"],[\"34e20c32-b43b-4061-a36a-ef72f7e80764\",\"#141414\"]];// The same tokens at their normal values, so a nested section can restore its\n// own colourway inside a parent that has flipped.\nconst ORIGINAL=[[\"6a83b704-fd32-4075-a527-90532ef4a0cb\",\"#0d0d0d\"],[\"8ebec389-3d5f-46dd-af94-cbea4d7c4500\",\"#0d0d0dcc\"],[\"040f8fc1-2127-42d8-ada7-97d63008eae4\",\"#0d0d0d66\"],[\"8e5391aa-4bd3-4eba-b1e8-49448b840461\",\"#0d0d0d29\"],[\"92827786-aac0-4b35-8c00-d613bd06fea2\",\"#0d0d0d14\"],[\"be5e84f1-939a-4d06-9e43-bd0326b73d95\",\"#0d0d0d0f\"],[\"6fea3d07-1144-469f-9d73-2b684a0bca6c\",\"#ffffff\"],[\"16bcbde9-53f1-44bd-9a8d-0fdb5cec210e\",\"#ffffffcc\"],[\"32832e05-d346-43fb-8333-f1c508b05ee5\",\"#ffffff66\"],[\"a9ac3ceb-a240-4fb1-9019-40da905de132\",\"#ffffff0f\"],[\"34e20c32-b43b-4061-a36a-ef72f7e80764\",\"#fafafa\"]];const cleanId=id=>id.replace(/[^a-zA-Z0-9_-]/g,\"\");const CLEAR=/^rgba\\(\\s*0,\\s*0,\\s*0,\\s*0\\s*\\)$/;function isDark(color){let r=255;let g=255;let b=255;const hex=color.trim().match(/^#([0-9a-f]{3,8})$/i);const rgb=color.match(/rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)/i);if(hex){const h=hex[1].length<=4?hex[1].replace(/./g,\"$&$&\"):hex[1];r=parseInt(h.slice(0,2),16);g=parseInt(h.slice(2,4),16);b=parseInt(h.slice(4,6),16);}else if(rgb){r=+rgb[1];g=+rgb[2];b=+rgb[3];}return(.2126*r+.7152*g+.0722*b)/255<.5;}/**\n * Section Colors\n *\n * Cross-fades one page background between section colours as you scroll.\n * Each section's fill on the canvas sets its colour; the list is a fallback.\n * With Invert Content on, every section's text and UI follow the background\n * behind them: content still on screen flips to the opposite colourway the\n * moment the background changes, and flips back when it's over its own again.\n *\n * Hold Until Gone keeps a section's colour back until a layer before it has\n * left the screen (\"programmes: Work Cards\"). Dark Chrome lists sections where\n * the navigation and news pill take their dark style, whatever the background,\n * and where black elements can pick up the section's colour as an accent.\n *\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function SectionColors(props){const{sections:sectionsProp,duration=.7,invertContent=false,fixedSections=\"\",invertImages=\"\",holds=\"\",enters=\"\",darkChrome=\"\"}=props;const listed=sectionsProp&&sectionsProp.length>0?sectionsProp:DEFAULT_SECTIONS;// Sections are found on the page: every <section> with an id, plus any\n// listed ids. Each one's own fill from the canvas sets its colour (the list\n// is only a fallback), so new pages and colour changes in Framer just work.\n// Read on load and again whenever the page changes.\nconst[found,setFound]=useState(null);const sections=found&&found.length>0?found:listed;const isStatic=useIsStaticRenderer();const[color,setColor]=useState(sections[0].color);const[mounted,setMounted]=useState(false);const layerRef=useRef(null);const styleRef=useRef(null);useEffect(()=>{if(isStatic){setMounted(true);return;}function discover(){// Read the sections' own fills, not the clear ones this component's\n// stylesheet gives them (a new page can reuse an id, like \"work\").\nconst sheet=styleRef.current?.sheet;if(sheet)sheet.disabled=true;const fallback={};for(const s of listed)fallback[s.id]=s.color;// The footer keeps its own fill: the page colour doesn't change for it.\nconst els=new Set(Array.from(document.querySelectorAll(\"section[id]\")));for(const s of listed){const el=document.getElementById(s.id);if(el)els.add(el);}for(const el of Array.from(els))if(el.closest(\"footer\"))els.delete(el);const ordered=Array.from(els).sort((a,b)=>a.compareDocumentPosition(b)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);const next=[];for(const el of ordered){if(!el.id||cleanId(el.id)!==el.id)continue;const bg=getComputedStyle(el).backgroundColor;// Only solid fills count: a faint tint (like a card panel) isn't a section colour.\nconst alpha=bg.match(/rgba\\([^)]*,\\s*([\\d.]+)\\s*\\)/);const solid=bg&&!CLEAR.test(bg)&&bg!==\"transparent\"&&(!alpha||parseFloat(alpha[1])>=.99);const fill=solid?bg:fallback[el.id];if(fill)next.push({id:el.id,color:fill});}if(sheet)sheet.disabled=false;setFound(prev=>prev&&prev.map(x=>x.id+x.color).join()===next.map(x=>x.id+x.color).join()?prev:next);// Everything between the sections and the page (page frame, layout\n// template, wrappers) goes clear too, so the fading layer shows through.\nconst first=next.length?document.getElementById(next[0].id):null;for(let el=first?.parentElement;el&&el!==document.body&&el!==document.documentElement;el=el.parentElement){el.style.setProperty(\"background-color\",\"transparent\",\"important\");}}discover();setMounted(true);// This sits in the layout template, so it stays put as you move between\n// pages. When the address changes, read the new page's sections again.\nlet path=window.location.pathname;const timers=[];const mo=new MutationObserver(()=>{if(window.location.pathname===path)return;path=window.location.pathname;timers.forEach(t=>window.clearTimeout(t));timers.length=0;for(const ms of[0,160,600])timers.push(window.setTimeout(discover,ms));});mo.observe(document.body,{childList:true,subtree:true});return()=>{mo.disconnect();timers.forEach(t=>window.clearTimeout(t));};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[]);const key=sections.map(s=>`${s.id}:${s.color}`).join(\"|\");useEffect(()=>{if(isStatic||typeof window===\"undefined\"||!mounted)return;const html=document.documentElement;const reduce=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;let raf=0;let shown=\"\";let toningTimer=0;// \"programmes: Work Cards\" → the programmes colour waits for that layer to leave.\nconst held=new Map;for(const pair of holds.split(\",\")){const[id,layer]=pair.split(\":\").map(x=>x.trim());if(id&&layer)held.set(cleanId(id),layer);}// \"work: Work Cards\" → the work colour arrives as soon as that layer's top enters the screen.\nconst early=new Map;for(const pair of enters.split(\",\")){const[id,layer]=pair.split(\":\").map(x=>x.trim());if(id&&layer)early.set(cleanId(id),layer);}const chromeIds=darkChrome.split(\",\").map(x=>cleanId(x.trim())).filter(Boolean);let chrome=\"\";// Over a dark-chrome section, black elements can take the section's\n// colour as their accent through --ooo-chrome-accent (and --ooo-chrome-muted at 60%).\nfunction setChrome(id,color){const next=chromeIds.includes(id)?\"dark\":\"\";if(next===chrome)return;chrome=next;if(next){html.setAttribute(\"data-ooo-chrome\",next);html.style.setProperty(\"--ooo-chrome-accent\",color);html.style.setProperty(\"--ooo-chrome-muted\",`color-mix(in srgb, ${color} 60%, transparent)`);}else{html.removeAttribute(\"data-ooo-chrome\");html.style.removeProperty(\"--ooo-chrome-accent\");html.style.removeProperty(\"--ooo-chrome-muted\");}}// Phones tint their browser bars (the status bar strip above the page) from the\n// page's root background or its theme colour, not from the fading layer, so both\n// follow the section showing. No transition: browsers sample the value as it is.\nlet themeMeta=document.querySelector('meta[name=\"theme-color\"]');const ownMeta=!themeMeta;if(!themeMeta){themeMeta=document.createElement(\"meta\");themeMeta.name=\"theme-color\";document.head.appendChild(themeMeta);}// Safari also follows a direct write to the body's background, so the body carries the\n// colour too, fading by its own transition (it sits over the layer, so it does the fade).\nconst bodyFade=window.matchMedia(\"(hover: none) and (pointer: coarse)\").matches?Math.min(duration,.35):duration;document.body.style.transition=reduce?\"none\":`background-color ${bodyFade}s ${EASE}`;// Safari 26 tints its bars from fixed elements touching the top and bottom edges\n// (their own background colour), ignoring theme-color, and falls back to white when\n// what it finds is transparent, as the nav's and Framer's own fixed layers are. So\n// two invisible strips, layered above everything, carry the colour for each edge.\nconst strip=edge=>{const el=document.createElement(\"div\");el.setAttribute(\"aria-hidden\",\"true\");el.setAttribute(\"data-ooo-bar\",edge);el.style.cssText=`position:fixed;left:0;right:0;${edge}:0;height:6px;pointer-events:none;opacity:0.01;z-index:2147483647;`;document.body.appendChild(el);return el;};const topStrip=strip(\"top\");const bottomStrip=strip(\"bottom\");let painted=\"\";const paintBrowser=(top,bottom)=>{const key=top+\"|\"+bottom;if(key===painted)return;painted=key;topStrip.style.backgroundColor=top;bottomStrip.style.backgroundColor=bottom;// Older Safari and other browsers: the theme colour and the page root.\nthemeMeta.content=top;html.style.backgroundColor=top;document.body.style.backgroundColor=top;};// The footer brings its own dark fill rather than a section colour. Each bar takes it\n// once the footer reaches that edge of the screen; the page itself is left as it is.\nconst footerColour=()=>{const footer=document.querySelector(\"footer\");if(!footer)return null;const r=footer.getBoundingClientRect();if(r.height===0)return null;const bg=getComputedStyle(footer).backgroundColor;return{r,c:/rgba?\\(0, 0, 0, 0\\)|transparent/.test(bg)?\"rgb(13, 13, 13)\":bg};};const paintFor=sectionColour=>{const f=footerColour();const atBottom=!!f&&f.r.top<window.innerHeight-4&&f.r.bottom>window.innerHeight-4;const atTop=!!f&&f.r.top<=4&&f.r.bottom>4;paintBrowser(atTop?f.c:sectionColour,atBottom?f.c:sectionColour);};// Background, content and nav all switch in the same frame.\nfunction apply(next,id){setChrome(id,next);if(next===shown)return;const first=shown===\"\";shown=next;if(layerRef.current)layerRef.current.style.backgroundColor=next;setColor(next);if(!invertContent)return;const tone=isDark(next)?\"dark\":\"light\";if(html.getAttribute(\"data-ooo-tone\")===tone)return;if(!first&&!reduce){html.setAttribute(\"data-ooo-toning\",\"\");window.clearTimeout(toningTimer);toningTimer=window.setTimeout(()=>html.removeAttribute(\"data-ooo-toning\"),duration*1e3+120);}html.setAttribute(\"data-ooo-tone\",tone);}function update(){raf=0;const line=window.innerHeight*.5;// The innermost section crossing the middle of the screen wins;\n// failing that, the last one that has started.\nlet next=sections[0];let containing=null;let entered=null;for(const s of sections){const el=document.getElementById(s.id);if(!el)continue;const r=el.getBoundingClientRect();let started=r.top<=line;const layer=held.get(s.id);if(layer){const gone=document.querySelector(`[data-framer-name=\"${layer}\"]`);started=gone?gone.getBoundingClientRect().bottom<=0:started;}const cue=early.get(s.id);if(cue){const seen=document.querySelector(`[data-framer-name=\"${cue}\"]`);if(seen&&seen.getBoundingClientRect().top<=window.innerHeight){started=true;entered=s;}}if(started)next=s;if(started&&r.bottom>line)containing=s;}if(containing)next=containing;// A section that starts on sight takes over from the one before it straight away.\nif(entered&&sections.indexOf(entered)>sections.indexOf(next))next=entered;apply(next.color,next.id);paintFor(shown);}function onScroll(){if(!raf)raf=requestAnimationFrame(update);}update();window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",onScroll);return()=>{window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",onScroll);if(raf)cancelAnimationFrame(raf);window.clearTimeout(toningTimer);html.removeAttribute(\"data-ooo-chrome\");html.style.removeProperty(\"--ooo-chrome-accent\");html.style.removeProperty(\"--ooo-chrome-muted\");html.style.removeProperty(\"background-color\");document.body.style.removeProperty(\"background-color\");document.body.style.removeProperty(\"transition\");if(ownMeta)themeMeta?.remove();topStrip.remove();bottomStrip.remove();if(invertContent){html.removeAttribute(\"data-ooo-tone\");html.removeAttribute(\"data-ooo-toning\");}};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[isStatic,key,mounted,invertContent,duration,holds,enters,darkChrome]);if(isStatic||!mounted)return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{width:1,height:1}});const reduce=typeof window!==\"undefined\"&&window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches;// Phones: a quicker fade, and only colours animate while the content flips.\nconst touch=invertContent&&window.matchMedia?.(\"(hover: none) and (pointer: coarse)\").matches;const fadeFor=touch?Math.min(duration,.35):duration;const ids=sections.map(s=>`#${cleanId(s.id)}`);let css=`${ids.join(\", \")}, :has(> ${ids[0]}) { background-color: transparent !important; }`;if(invertContent){const fixed=fixedSections.split(\",\").map(s=>cleanId(s.trim())).filter(Boolean);const swap=SWAP.map(([id,value])=>`--token-${id}: ${value};`).join(\" \");const original=ORIGINAL.map(([id,value])=>`--token-${id}: ${value};`).join(\" \");const live=sections.filter(s=>!fixed.includes(cleanId(s.id)));for(const s of live){const own=isDark(s.color)?\"dark\":\"light\";const other=own===\"dark\"?\"light\":\"dark\";const scope=`html[data-ooo-tone=\"${other}\"] #${cleanId(s.id)}`;css+=`\n${scope} { ${swap} }`;css+=`\nhtml[data-ooo-tone=\"${own}\"] #${cleanId(s.id)} { ${original} }`;if(invertImages.trim())css+=`\n${scope} ${invertImages} { filter: invert(1); }`;}if(!reduce){const t=`${fadeFor}s ${EASE}`;const scopes=live.map(s=>`html[data-ooo-toning] #${cleanId(s.id)}, html[data-ooo-toning] #${cleanId(s.id)} *`);css+=touch?`\n${scopes.join(\", \")} { transition: color ${t}, background-color ${t}; }`:`\n${scopes.join(\", \")} { transition: color ${t}, background-color ${t}, border-color ${t}, fill ${t}, stroke ${t}, filter ${t}, opacity 0.3s ${EASE}; }`;}}return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{ref:styleRef,children:css}),/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"div\",{ref:layerRef,\"aria-hidden\":\"true\",style:{position:\"fixed\",inset:0,zIndex:-1,pointerEvents:\"none\",backgroundColor:color,transition:reduce?\"none\":`background-color ${fadeFor}s ${EASE}`}})}),document.body)]});}addPropertyControls(SectionColors,{sections:{type:ControlType.Array,title:\"Sections\",maxCount:20,control:{type:ControlType.Object,controls:{id:{type:ControlType.String,title:\"Section ID\",defaultValue:\"section\"},color:{type:ControlType.Color,title:\"Colour\",defaultValue:\"#FFFFFF\"}}},defaultValue:DEFAULT_SECTIONS},duration:{type:ControlType.Number,title:\"Fade\",defaultValue:.7,min:0,max:2,step:.05,unit:\"s\"},invertContent:{type:ControlType.Boolean,title:\"Invert Content\",defaultValue:false,description:\"Text and UI follow the background behind them.\"},fixedSections:{type:ControlType.String,title:\"Never Invert\",defaultValue:\"\",placeholder:\"contact\",hidden:p=>!p.invertContent},invertImages:{type:ControlType.String,title:\"Invert Images\",defaultValue:\"\",placeholder:'[data-framer-name=\"Logos\"] img',description:\"CSS selector for images (like logos) that flip too.\",hidden:p=>!p.invertContent},holds:{type:ControlType.String,title:\"Hold Until Gone\",defaultValue:\"\",placeholder:\"programmes: Work Cards\",description:\"Section ID: layer name. The colour waits until that layer has scrolled off screen.\"},enters:{type:ControlType.String,title:\"Start On Sight\",defaultValue:\"\",placeholder:\"work: Work Cards\",description:\"Section ID: layer name. The colour arrives as soon as that layer's top comes on screen.\"},darkChrome:{type:ControlType.String,title:\"Dark Chrome\",defaultValue:\"\",placeholder:\"programmes\",description:\"Section IDs where the nav and news pill use their dark style.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SectionColors\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SectionColors.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,AnimatePresence,useReducedMotion,useScroll,useTransform}from\"framer-motion\";import{createContext,Fragment,useCallback,useContext,useEffect,useRef,useState}from\"react\";// @ts-ignore react-dom types aren't bundled with Framer's editor\nimport{createPortal}from\"react-dom\";// @ts-ignore the line form component is plain JS-in-TSX\nimport{LineForm}from\"https://framerusercontent.com/modules/yDMG5iqI0HIVKfI3MgeI/ORQzjFVYncbnBbLK0uOb/OverviewLineForm.js\";// @ts-ignore resolved by Framer at runtime\nimport ProgrammeTag from\"https://framerusercontent.com/modules/6YABROXBO877cDaBzsOA/e7Gg6yYt2M80xsY3UYz4/ProgrammeTag.js\";// @ts-ignore resolved by Framer at runtime\nimport{STATUS}from\"https://framerusercontent.com/modules/dwF8mTIn2hwCUlzkj3mZ/Ccb2CxrIWAvhkrVBeGKE/ProgrammeQuestions.js\";/*\n * Sheets\n *\n * One host for every popup on the page. Anything can open a sheet by\n * dispatching `ooo:sheet` on window with { kind: \"case\" | \"programme\", key,\n * origin }. The sheet grows out of the element that opened it and folds\n * back into it on close.\n */const EASE=[.16,1,.3,1];const EVENT=\"ooo:sheet\";const CDN=\"https://framerusercontent.com\";const FONT={display:'\"OOO International Pro Regular\", \"OOO International Pro Regular Placeholder\", sans-serif',regular:'\"ABC Diatype Regular\", \"ABC Diatype Regular Placeholder\", sans-serif',medium:'\"ABC Diatype Medium\", \"ABC Diatype Medium Placeholder\", sans-serif'};const INK=\"#0D0D0D\";const W=a=>`rgba(255, 255, 255, ${a})`;// Touch screens get a lighter sheet: it slides up instead of growing out of\n// the card, and skips blur, parallax and word-by-word reveals.\nconst Lite=/*#__PURE__*/createContext(false);const isTouch=()=>typeof window!==\"undefined\"&&window.matchMedia(\"(hover: none) and (pointer: coarse)\").matches;// webm is optional (\"\"); any of them can be a full URL. With no mp4 the poster shows as a still.\nconst asset=f=>!f?\"\":f.startsWith(\"http\")?f:`${CDN}/assets/${f}`;const video=(webm,mp4,poster)=>({webm:asset(webm),mp4:asset(mp4),poster:poster.startsWith(\"http\")?poster:`${CDN}/images/${poster}?scale-down-to=1024`});// \"{month}\" in an availability label becomes the current month, so it rolls over on its own.\nconst monthName=()=>new Date().toLocaleString(\"en-GB\",{month:\"long\"});const withMonth=(s,month=monthName())=>s.replace(\"{month}\",month);const CASES=[{key:\"odin\",client:\"Odin\",sector:\"Financial Technology\",programme:\"Brand Creation\",status:\"In progress / 2026\",about:\"Building a progress machine. The platform for anyone, anywhere to launch and run their own VC online.\",tags:[\"Brand\",\"Digital\",\"Art Direction\"],link:\"https://joinodin.com\",image:`${CDN}/images/jg0XFOZwRdOi6y3KYP96SUf63d8.jpg?scale-down-to=2048`,video:video(\"\",\"dLg1s5xNAiW9RAYUlyXUJErF8c.mp4\",`${CDN}/assets/QLqbSFO3e6Y3sTelgUlJSV49ZyU.jpg`),challenge:\"Odin needed to communicate an ambition bigger than fund administration, while remaining credible as the infrastructure behind private investment.\",strategy:\"We built the strategy and identity around a clear conviction: capital is a means to create a different future. Expressive imagery and precise systems brought that conviction to life.\",output:\"A distinctive position and a coherent brand world across identity and digital design, giving Odin a language for the founders and investors it wants to serve.\",quote:\"The future belongs to those weird enough to dream it.\",quoteLabel:\"Tone of voice\",programmes:[\"category-belief-strategy\",\"brand-creation\"]},{key:\"curate\",client:\"Curate\",sector:\"Health Tech\",programme:\"Brand Creation\",status:\"Complete / 2025\",about:\"Building a platform for sustainable change. Not just weight loss, but results that stick.\",tags:[\"Strategy\",\"Brand\",\"Experience\"],image:`${CDN}/images/kdD1tw4iXH8VY9B1C37XMyr9KE.jpg?scale-down-to=2048`,video:video(\"\",\"POiLit6wd415N47wAGvcpeyKLBA.mp4\",`${CDN}/assets/r08cMVsEoDSo1YnGyUYMVV9jfLY.jpg`),challenge:\"Whilst the narrative around GLP-1s is shifting, many are still used as a shortcut to weight loss, with growing evidence of rebound weight once treatment stops.\",strategy:\"A platform designed for lasting change. Combining clinical support with behaviour change, giving women the tools, structure and confidence to build results that stick.\",output:\"The strategy, brand and experience to shift the conversation from quick fixes to long-term agency.\",quote:\"From quick fixes to long-term agency.\",quoteLabel:\"Positioning\",programmes:[\"category-belief-strategy\",\"brand-creation\"]},{key:\"human\",client:\"Human\",sector:\"Journalism\",programme:\"Category & Belief Strategy\",status:\"Complete / 2025\",about:\"Building a human-first journalism brand for a new media economy.\",tags:[\"Strategy\",\"Brand Identity\"],link:\"https://zand.land\",image:`${CDN}/assets/vSWc9iWSmG4bvyriaptGDjTmA.jpeg`,video:video(\"\",\"DBXk3kSI0UDdYq0PkuSZreuruU.mp4\",`${CDN}/assets/UEAR153A6KnCsbT3Xgz2iOVj2I.jpg`),challenge:\"Audiences no longer look only to institutions to tell them what is happening. Authority is no longer inherited. It has to be earned through access, honesty and the ability to make complex issues feel understandable.\",strategy:\"Get closer to the people living inside the issue. Human, Zandland’s first self-funded YouTube series, is built on a simple premise: the best way to understand the world is through the people experiencing it.\",output:\"A strategy and identity drawn from Jeffersonian transcription, where pauses, overlaps and emphasis become a visual language that lets people sound like themselves.\",quote:\"Interesting stories, told by the people who live them.\",quoteLabel:\"Premise\",programmes:[\"category-belief-strategy\",\"brand-creation\"]},{key:\"waterside\",client:\"Waterside\",sector:\"Medical Cannabis\",programme:\"Brand Creation\",status:\"In progress / 2026\",about:\"Making medical cannabis part of everyday healthcare. Grounded in science, led by clinical rigour and built on trust.\",tags:[\"Strategy\",\"Brand\",\"Digital\"],link:\"https://waterside.health\",image:`${CDN}/images/jtL89jqcEQzRl9IZdxTLjkhsyE.jpg?scale-down-to=2048`,video:video(\"\",\"LnebOos7jJw5Ti7SrnQmzeUU.mp4\",`${CDN}/assets/7HVde1WeqOzARC8G3ByMB13y2I.jpg`),soon:true,challenge:\"Cannabis hosts a suite of medical benefits, but decades of prohibition have left a legacy of stigma, keeping patients from the care they need.\",strategy:\"Challenging that narrative meant writing a new one. We brought cannabis out of the margins and into the systems, standards and experiences of modern healthcare.\",output:\"A brand and experience that makes Waterside feel like part of modern medicine, not an alternative to it.\",quote:\"Not alternative. Not fringe. Just care, as it should be.\",quoteLabel:\"Manifesto\",programmes:[\"category-belief-strategy\",\"brand-creation\"]},{key:\"fermat\",client:\"Fermat\",sector:\"Fashion Tech\",programme:\"Brand Creation\",status:\"\",about:\"Make fashion design possible.\",tags:[\"Positioning\",\"Brand Identity\",\"Tone of Voice\"],image:`${CDN}/assets/5nQHwUJS69I24689SNMGVZTbDQ.jpg`,video:video(\"\",\"SzHx02f6J9rZCrtOh3C9WNqemQ.mp4\",`${CDN}/assets/5nQHwUJS69I24689SNMGVZTbDQ.jpg`),challenge:\"Fermat had built an AI platform that takes a garment from concept to tech pack. But in a category of AI tools all selling speed, it risked looking like one more feature.\",strategy:\"We named the real problem: fashion’s process is broken, not its tools. We positioned Fermat as the fashion-native design platform that removes the drag between idea and garment, giving designers space to design and leaders the confidence to decide.\",output:\"A brand platform built around one idea, “Make fashion design possible”, and an identity drawn from digital stitches and analog weave cards, with a pattern system, tone of voice and art direction that heroes the process.\",quote:\"Make fashion design possible.\",quoteLabel:\"Organising principle\",programmes:[\"category-belief-strategy\",\"brand-creation\"]},{key:\"kito\",client:\"Kito\",sector:\"Skincare\",programme:\"Brand Creation\",status:\"\",about:\"Protection you can’t see.\",tags:[\"Positioning\",\"Brand Identity\",\"Packaging\"],image:`${CDN}/images/TBLsrOzZyoxzmefupoI4CKPyQUs.jpg`,video:video(\"\",\"ALxqJzuJh6y4OPIjNQNGx0vrY.mp4\",`${CDN}/images/TBLsrOzZyoxzmefupoI4CKPyQUs.jpg`),challenge:\"Skincare is full of fads and false promises, and SPF has a trust problem. Kito had a mineral sunscreen made with mushroom-derived chitosan, in a market that makes you choose between clinical science and herbal hope.\",strategy:\"We made the trade-off the idea. Kito sits in the middle ground: science and nature, form and function, extra and ordinary. Performance for the harshest conditions, built for everyday life.\",output:\"A brand platform built around “The Extra-Ordinary”, with a quiet wordmark and sun mark, a type system inspired by scientific journals, tactile packaging and a tone of voice that speaks in duality.\",quote:\"The Extra-Ordinary.\",quoteLabel:\"Brand idea\",soon:true,programmes:[\"category-belief-strategy\",\"brand-creation\"]},{key:\"23-degrees\",client:\"23\\xb0\",sector:\"Cannabis\",programme:\"Brand Creation\",status:\"\",about:\"How you smoke matters as much as what you smoke.\",tags:[\"Brand Identity\",\"Packaging\"],image:`${CDN}/assets/EAvoFZqenq39GV17aRgM8G4Opvg.jpg`,video:video(\"\",\"https://framerusercontent.com/assets/izqlhHfccLQD994MUInrq3ottG8.mp4\",\"https://framerusercontent.com/assets/2kb0o3OVkOeikfsDs972PvBVk6A.jpg\"),challenge:\"23\\xb0 was bringing precision tools and carefully considered CBD flower to a category still shaped by old cannabis stereotypes. It needed a brand that reflected the care behind its products and helped customers understand what makes a better smoking experience.\",strategy:\"We built the brand around the idea that how you smoke matters as much as what you smoke. That meant making the science useful: helping people understand the plant, its flavours and the role of preparation and storage. Knowledge became a reason to choose 23\\xb0 and a way to get more from the ritual.\",output:\"A visual identity and packaging system drawn from the anatomy of the cannabis plant. A circular grid shaped the logo and a series of graphics representing each strain’s terpene profile. Precise typography and a black-and-white palette gave the range a consistent character, with education built into the way people discover and choose each product.\",quote:\"How you smoke matters as much as what you smoke.\",quoteLabel:\"Idea\",programmes:[\"category-belief-strategy\",\"brand-creation\"]},{key:\"swan\",client:\"Swan\",sector:\"E-commerce\",programme:\"Category & Belief Strategy\",status:\"\",about:\"Humanising e-commerce.\",tags:[\"Positioning\",\"Messaging\",\"Tone of Voice\"],image:`${CDN}/assets/vRp9y2vPXZ5G5JyPBonl6AAJd4.jpg`,video:video(\"\",\"\",`${CDN}/assets/vRp9y2vPXZ5G5JyPBonl6AAJd4.jpg`),challenge:\"Swan had built technology that could help people find clothes that fit without trying them on. But it needed a clearer way to explain why shoppers should trust it, and why brands should invest in it.\",strategy:\"Buying clothes is personal. Shopping for them online often comes down to a size chart and a guess. We built Swan’s positioning around that gap, with a simple ambition: to humanise e-commerce. Helping people feel more certain about what they buy gave brands a reason to care too: fewer returns, more completed purchases and customers willing to come back.\",output:\"A clear position for Swan, with messaging for shoppers, brands and service businesses. We developed its core story and tone of voice, giving the team a practical guide to explaining the technology through the difference it makes to people.\",quote:\"Humanising e-commerce.\",quoteLabel:\"Ambition\",soon:true,programmes:[\"category-belief-strategy\"]},{key:\"spektr\",client:\"Spektr\",sector:\"RegTech\",programme:\"Category & Belief Strategy\",status:\"\",about:\"Mission control for regulated progress.\",tags:[\"Positioning\",\"Messaging\",\"Tone of Voice\"],image:`${CDN}/assets/1dGN6h6uUL4fhQNRcZ93ulbtg4.jpg`,video:video(\"\",\"\",`${CDN}/assets/1dGN6h6uUL4fhQNRcZ93ulbtg4.jpg`),challenge:\"Spektr’s product story explained what its AI could do, but struggled to communicate why it mattered to the wider business. It needed a clear position that connected its capabilities to the ambitions of Product, Operations and Compliance, giving all three a reason to believe in a different way forward.\",strategy:\"We identified the tension holding these teams apart: Product is expected to move faster, Operations must absorb the complexity, and Compliance remains accountable for every decision. When boundaries are unclear, progress becomes a negotiation between them. We positioned Spektr as “Mission control for regulated progress”: one shared system that gives each team the clarity and confidence to move forward together.\",output:\"A category and belief strategy built around putting Product, Operations and Compliance on the same team. A clear positioning, narrative and messaging framework, supported by tone of voice and founder communication guides, gave everyone at Spektr a shared way to explain its value with confidence and clarity.\",quote:\"Mission control for regulated progress.\",quoteLabel:\"Positioning\",soon:true,programmes:[\"category-belief-strategy\"]},{key:\"good-phats\",client:\"Good Phats\",sector:\"Food & Drink\",programme:\"Brand Creation\",status:\"Complete / 2024\",about:\"Making health a tasty pursuit, and showing the world that fat isn’t the enemy.\",tags:[\"Strategy\",\"Brand\",\"Packaging\"],link:\"https://goodphats.com/\",image:`${CDN}/assets/DSiGNTcLNoXkYsE7Pd3YWyUl8.jpg`,video:video(\"\",\"\",`${CDN}/assets/DSiGNTcLNoXkYsE7Pd3YWyUl8.jpg`),challenge:\"Changing the metabolic health of the world first requires education. Yet on a busy shelf, there’s no time to re-educate a category.\",strategy:\"Instead of explaining, we signalled. Borrowing the codes of coffee to create instant familiarity and credibility.\",output:\"A brand that can be understood at a glance, giving Good Phats the authority to lead a new conversation around metabolic health.\",quote:\"Instead of explaining, we signalled.\",quoteLabel:\"Strategy\",soon:true,programmes:[\"category-belief-strategy\",\"brand-creation\"]},{key:\"manner\",client:\"Manner\",sector:\"Property\",programme:\"Brand Creation\",status:\"Complete / 2023\",about:\"Changing the narrative of inner city development, and reshaping what it can and should stand for.\",tags:[\"Strategy\",\"Brand\",\"Illustration\"],link:\"https://manner.co/\",image:`${CDN}/images/Q7ty67lE3SdTXJS4KR2uRxGxpI.png?scale-down-to=2048`,video:video(\"jmnaohgDyOqMTZamaq85E6Sxuw.webm\",\"vAGFSKCuBkp1LDsf3ufr96JHPAc.mp4\",\"tG0jxlNYION2Dn4rBwMhg90zT8E.png\"),challenge:\"The UK needs more homes, but the motives of inner-city developers aren’t always in the interest of people. Long-term impact is often cast aside for short-term profit.\",strategy:\"Built around the idea of changing perspective, we reframed development through a long-term lens for planners, councils and communities.\",output:\"A brand that helps stakeholders see not just what’s being built, but why it truly matters.\",quote:\"Change the perspective, change the place.\",quoteLabel:\"Idea\",soon:true,programmes:[\"category-belief-strategy\",\"brand-creation\"]}];const PROGRAMMES=[{key:\"transformation-planning\",title:\"Transformation Planning\",status:\"1 {month} spot left\",state:\"limited\",price:\"\\xa315,000\",duration:\"2 weeks\",intro:\"Turn your growth ambition into levers your team can pull. In two weeks, we assess where you stand, recommend a direction and define what the work ahead needs to achieve.\",steps:[{title:\"Set the ambition\",body:\"Focused leadership interviews establish where you want to go, what’s at stake and which questions the sprint needs to answer.\"},{title:\"Examine the evidence\",body:\"We review your proposition, brand and available audience and category insights to identify what’s helping you progress and what’s holding you back.\"},{title:\"Challenge the direction\",body:\"A working session tests the assumptions, weighs the options and brings your leadership together around a recommended way forward.\"},{title:\"Define the next move\",body:\"We turn that direction into priorities and practical briefs, then walk you through what to commission and why.\"}],deliverables:[{title:\"A clear definition of the challenge\",body:\"Align key stakeholders on exactly what needs to be solved.\"},{title:\"A clear diagnosis\",body:\"Where your proposition, positioning and brand support your growth goals, and where they need to evolve.\"},{title:\"Recommended positioning\",body:\"An informed direction on who to reach, what to stand for and why people should choose you.\"},{title:\"A prioritised action plan\",body:\"The moves that matter most, in the order to make them, agreed by your leadership.\"},{title:\"Practical briefs for the work ahead\",body:\"Clear objectives and direction your team or partners can use to scope and deliver the next piece of work.\"}],ctaLead:\"Before you invest, know where to spend.\",ctaTail:\"\",booking:{spots:\"1 {month} spot left\"},ctaBody:\"Tell us what you’re trying to achieve and what you’re thinking of investing in. We’ll talk through the decisions ahead and whether this sprint could help you get clear on what’s worth doing before you commit serious money.\"},{key:\"category-belief-strategy\",title:\"Category & Belief Strategy\",status:\"Taking enquiries\",state:\"open\",price:\"Price on request\",duration:\"4 weeks\",intro:\"Define your place in the future. We map the category you’re in, the one you could create and the belief that will carry you there, so every decision after this one points the same way.\",steps:[{title:\"Map the category\",body:\"We chart the landscape: who’s winning, what everyone assumes and where the real white space is.\"},{title:\"Find the tension\",body:\"Audience, culture and category insight reveal the belief worth fighting for.\"},{title:\"Write the belief\",body:\"We articulate what you stand for, what you stand against and why it matters now.\"},{title:\"Make it usable\",body:\"The belief becomes a narrative, principles and proof points your team can use every day.\"}],deliverables:[{title:\"A category map\",body:\"Where the category is today, where it’s heading and the space only you can own.\"},{title:\"A belief statement\",body:\"A single, sharp articulation of what you believe and why the world should care.\"},{title:\"Positioning and narrative\",body:\"The story that connects your belief to what you do, for every audience that matters.\"},{title:\"Messaging principles\",body:\"How to sound like you, wherever you show up.\"},{title:\"Proof points and priorities\",body:\"What you need to do, make and say to earn the belief.\"}],ctaLead:\"Make the world believe.\",ctaTail:\"\",ctaBody:\"Tell us where you’re headed and who you’re up against. We’ll talk through the category you’re in and whether this programme could help you define the one you want to lead.\"},{key:\"brand-creation\",title:\"Brand Creation\",status:\"Taking enquiries\",state:\"open\",price:\"Price on request\",duration:\"8–12 weeks\",intro:\"Build a brand people believe in. From strategy to identity to the first things people see, we make unfamiliar ideas understandable, credible and desirable.\",steps:[{title:\"Set the strategy\",body:\"Positioning, audience and belief, agreed before a single pixel moves.\"},{title:\"Shape the identity\",body:\"Name, voice and visual identity explored in the open, then sharpened into one clear direction.\"},{title:\"Build the world\",body:\"We extend the identity across the moments that matter: product, digital, launch and beyond.\"},{title:\"Launch and hand over\",body:\"Guidelines, toolkits and training so your team can run with it from day one.\"}],deliverables:[{title:\"Brand strategy and positioning\",body:\"The foundation every creative decision is measured against.\"},{title:\"Name and verbal identity\",body:\"What you’re called and how you sound.\"},{title:\"Visual identity system\",body:\"Logo, type, colour, image and motion, built as a system rather than a set of assets.\"},{title:\"Application & assets\",body:\"How your brand should show in the real world.\"},{title:\"Guidelines and toolkit\",body:\"Everything your team and partners need to keep the brand sharp.\"}],ctaLead:\"Build something people want to be part of.\",ctaTail:\"\",ctaBody:\"Tell us what you’re building and who it’s for. We’ll talk through what it needs to become and whether this programme is the right way to get there.\"},{key:\"leadership\",title:\"Leadership\",status:\"Taking enquiries\",state:\"open\",price:\"Price on request\",duration:\"Ongoing\",intro:\"Lead the change from the front. A senior partner works alongside your leadership team to keep the brand, the strategy and the big decisions pulling in the same direction.\",steps:[{title:\"Agree what needs attention\",body:\"We work with your leadership team to identify where the brand needs support, set priorities and agree which decisions and projects we’ll help lead.\"},{title:\"Turn priorities into clear briefs\",body:\"We define what each piece of work needs to achieve, giving your teams and agencies clear direction before time and money are committed.\"},{title:\"Direct the work as it develops\",body:\"We review concepts and execution, give specific feedback and help your team make decisions, keeping the work consistent with the strategy.\"},{title:\"Keep the brand fit for what’s next\",body:\"We regularly assess the work against your goals and changing customer needs, recommending what to improve and where to focus next.\"}],deliverables:[{title:\"A senior strategic partner\",body:\"Experienced counsel at the table, not a supplier at the end of a brief.\"},{title:\"Leadership alignment sessions\",body:\"Focused time to get the people who decide on the same page.\"},{title:\"Decision frameworks\",body:\"Simple tools for making brand decisions without starting from scratch.\"},{title:\"Quarterly brand reviews\",body:\"A clear read on progress, and the priorities for the quarter ahead.\"},{title:\"On-call creative counsel\",body:\"A second opinion when it matters, without the agency drag.\"}],ctaLead:\"Give creative a boardroom seat.\",ctaTail:\"\",ctaBody:\"Tell us what’s on the horizon and who’s making the calls. We’ll talk through where a partner could help and what that relationship might look like.\"}];const clamp=(v,lo,hi)=>Math.min(Math.max(v,lo),hi);// The rectangle a sheet grows from or folds back into.\nfunction originRect(el){if(!el||!el.isConnected)return null;const target=el.querySelector(\"[data-ooo-origin]\")||el.querySelector(\"img\")||el;const r=target.getBoundingClientRect();return r.width>0&&r.height>0?r:null;}function findTrigger(kind,key){const all=document.querySelectorAll(`[data-ooo-${kind}=\"${key}\"]`);for(const el of Array.from(all))if(originRect(el))return el;return null;}function gutterFor(vw){return vw>=810?20:8;}// The sheet is as wide as the site's 1200px column plus its padding, centred;\n// narrower screens keep the gutter all round.\nconst PANEL_MAX=1296;function sideFor(vw){return Math.max(gutterFor(vw),(vw-PANEL_MAX)/2);}// clip-path inset that crops the full sheet down to a rectangle on screen.\nfunction insetFor(rect,radius,fallback){const vw=window.innerWidth;const vh=window.innerHeight;const g=gutterFor(vw);const side=sideFor(vw);const w=vw-side*2;const h=vh-g*2;if(!rect){if(fallback===\"bottom\")return`inset(${h}px 0px 0px 0px round ${radius}px)`;return`inset(${h*.4}px ${w*.3}px ${h*.4}px ${w*.3}px round ${radius}px)`;}let t=clamp(rect.top-g,0,h);let b=clamp(vh-g-rect.bottom,0,h);let l=clamp(rect.left-side,0,w);let r=clamp(vw-side-rect.right,0,w);if(t+b>h)b=Math.max(0,h-t);if(l+r>w)r=Math.max(0,w-l);return`inset(${t}px ${r}px ${b}px ${l}px round ${radius}px)`;}const OPEN_CLIP=radius=>`inset(0px 0px 0px 0px round ${radius}px)`;function typeScale(w){const size=w>=1e3?\"l\":w>=640?\"m\":\"s\";const pick=(l,m,s)=>size===\"l\"?l:size===\"m\"?m:s;const display=(fontSize,lineHeight,letterSpacing)=>({fontFamily:FONT.display,fontWeight:400,fontSize,lineHeight,// Regular weight sits a touch tighter than the values below were set for.\n    letterSpacing:`${(parseFloat(letterSpacing)-.005).toFixed(3)}em`});return{size,pad:pick(48,40,20),gap:pick(48,32,20),// Spacing comes in three sizes so the sheet has rhythm, not a grid.\ntight:pick(96,72,56),section:pick(176,128,88),breath:pick(264,184,120),// Biggest type: scaled to the sheet, but never wider than its longest word.\ngiant:(text,k,cap=150)=>{const longest=Math.max(...text.split(/\\s+/).map(s=>s.length));const fit=(w-pick(96,80,40))/(longest*.56);return display(Math.round(Math.min(w*k,fit,cap)),.88,\"-0.045em\");},quote:display(pick(56,44,32),.98,\"-0.035em\"),// The site's Display style, for a work popup's key statement.\ndisplay:display(pick(48,40,32),1,\"-0.02em\"),h1:display(pick(52,44,36),.92,\"-0.035em\"),h2:display(pick(32,28,24),1.05,\"-0.02em\"),h3:display(pick(24,22,20),1.1,\"-0.015em\"),title:display(16,1.1,\"0.01em\"),bodyL:{fontFamily:FONT.regular,fontSize:pick(18,18,16),lineHeight:1.3,letterSpacing:\"0.01em\"},body:{fontFamily:FONT.regular,fontSize:pick(16,16,15),lineHeight:1.3,letterSpacing:\"0.01em\"},label:{fontFamily:FONT.regular,fontSize:12,lineHeight:\"14px\",letterSpacing:\"0.02em\"},eyebrow:{fontFamily:FONT.medium,fontSize:12,lineHeight:\"14px\",letterSpacing:\"0.02em\"}};}// ─── Icons ──────────────────────────────────────────────────────────────────\nconst Icon={close:/*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M2.5 2.5L9.5 9.5M9.5 2.5L2.5 9.5\",stroke:\"currentColor\",strokeWidth:\"1.2\"})}),prev:/*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M7.5 2.5L4 6L7.5 9.5\",stroke:\"currentColor\",strokeWidth:\"1.2\"})}),next:/*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M4.5 2.5L8 6L4.5 9.5\",stroke:\"currentColor\",strokeWidth:\"1.2\"})}),out:/*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M3.5 8.5L8.5 3.5M4.5 3.5H8.5V7.5\",stroke:\"currentColor\",strokeWidth:\"1.2\"})}),arrow:/*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M2 6H10M6.5 2.5L10 6L6.5 9.5\",stroke:\"currentColor\",strokeWidth:\"1.2\"})})};// ─── Motion primitives ──────────────────────────────────────────────────────\nfunction Reveal({children,delay=0,y=24,root,style}){const reduce=useReducedMotion();return /*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,y:reduce?0:y},whileInView:{opacity:1,y:0},viewport:{root,once:true,amount:.1},transition:{duration:.8,ease:EASE,delay},style:style,children:children});}// Words rise out of their own masks, one after another.\nfunction MaskText({text,style,delay=0,stagger=.03,root,tag=\"h2\"}){const reduce=useReducedMotion();const lite=useContext(Lite);const words=text.split(\" \");const Tag=tag===\"h1\"?motion.h1:tag===\"h3\"?motion.h3:tag===\"p\"?motion.p:tag===\"span\"?motion.span:motion.h2;if(lite){return /*#__PURE__*/_jsx(Tag,{initial:{opacity:0,y:reduce?0:12},whileInView:{opacity:1,y:0},viewport:{root,once:true,amount:.2},transition:{duration:.6,ease:EASE,delay},style:{margin:0,...style},children:text});}return /*#__PURE__*/_jsx(Tag,{\"aria-label\":text,initial:\"hidden\",whileInView:\"shown\",viewport:{root,once:true,amount:.2},style:{margin:0,...style},children:words.map((word,i)=>/*#__PURE__*/_jsxs(Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{display:\"inline-block\",overflow:\"hidden\",verticalAlign:\"top\",padding:\"0.08em 0.04em 0.14em\",margin:\"-0.08em -0.04em -0.14em\"},children:/*#__PURE__*/_jsx(motion.span,{style:{display:\"inline-block\",willChange:\"transform\"},variants:{hidden:reduce?{opacity:0}:{y:\"112%\"},shown:{y:\"0%\",opacity:1,transition:{duration:reduce?.4:.9,ease:EASE,delay:delay+i*stagger}}},children:word})}),i<words.length-1?\" \":null]},i))});}function LiveDot({color,pulse=true}){const reduce=useReducedMotion();return /*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":\"true\",style:{position:\"relative\",width:6,height:6,flexShrink:0},children:[!reduce&&pulse&&/*#__PURE__*/_jsx(motion.span,{initial:{scale:1,opacity:.6},animate:{scale:3,opacity:0},transition:{duration:1.6,ease:EASE,repeat:Infinity,repeatDelay:.4},style:{position:\"absolute\",inset:0,borderRadius:\"50%\",background:color}}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",inset:0,borderRadius:\"50%\",background:color}})]});}function Chip({children,t,dot,pulse}){return /*#__PURE__*/_jsxs(\"span\",{style:{...t.label,display:\"inline-flex\",alignItems:\"center\",gap:8,padding:\"6px 10px\",borderRadius:4,background:W(.08),color:W(.8),whiteSpace:\"nowrap\"},children:[dot&&/*#__PURE__*/_jsx(LiveDot,{color:dot,pulse:pulse}),children]});}// Opens the site's contact panel (ContactPanel.tsx) above the sheet.\nconst openContact=subject=>window.dispatchEvent(new CustomEvent(\"ooo:contact\",{detail:{subject}}));function Button({href,onClick,children,icon,variant=\"primary\",t,external}){const primary=variant===\"primary\";return /*#__PURE__*/_jsxs(motion.a,{href:href,role:href?undefined:\"button\",tabIndex:href?undefined:0,\"data-ooo-contact-trigger\":onClick?\"\":undefined,onClick:onClick?e=>{e.preventDefault();onClick();}:undefined,target:external?\"_blank\":undefined,rel:external?\"noopener\":undefined,initial:false,whileHover:{backgroundColor:primary?W(.82):W(.08)},whileTap:{scale:.97},transition:{duration:.2,ease:EASE},style:{...t.label,display:\"inline-flex\",alignItems:\"center\",gap:10,padding:\"12.5px 18px\",borderRadius:4,textDecoration:\"none\",whiteSpace:\"nowrap\",cursor:\"pointer\",color:primary?INK:\"#FFFFFF\",backgroundColor:primary?\"#FFFFFF\":W(0)},children:[children,icon]});}function IconButton({label,onClick,children}){return /*#__PURE__*/_jsx(motion.button,{type:\"button\",\"aria-label\":label,onClick:onClick,initial:false,whileHover:{backgroundColor:W(.16)},whileTap:{scale:.92},transition:{duration:.2,ease:EASE},style:{width:36,height:36,display:\"grid\",placeItems:\"center\",padding:0,border:\"none\",borderRadius:4,cursor:\"pointer\",color:\"#FFFFFF\",backgroundColor:W(.08)},children:children});}function SectionHead({label,t,root}){return /*#__PURE__*/_jsx(Reveal,{root:root,style:t.size===\"s\"?undefined:{position:\"sticky\",top:88,alignSelf:\"start\"},children:/*#__PURE__*/_jsx(\"p\",{style:{...t.eyebrow,margin:0,color:\"#FFFFFF\"},children:label})});}// ─── Deliverable stack ──────────────────────────────────────────────────────\n// The cards lock at the top of the sheet one after another. As the next card\n// slides up over one that's locked, the covered card shrinks back and fades\n// away, so the stack stays clean instead of piling up edges.\nconst STACK_TOP=88// where cards lock, just under the sheet's top bar\n;const STACK_SHRINK=.12// how much a fully covered card shrinks\n;function DeliverableStack({t,root,count,children}){const listRef=useRef(null);useEffect(()=>{const sc=root.current;const list=listRef.current;if(!sc||!list)return;const slots=Array.from(list.children);const cards=slots.map(slot=>slot.querySelector(\"[data-ooo-stack-card]\"));let raf=0;function update(){raf=0;if(!sc)return;const view=sc.getBoundingClientRect().top;for(let i=0;i<slots.length-1;i++){const card=cards[i];if(!card)continue;// How far the next card has slid over this one: 0 = not touching, 1 = fully covered.\nconst h=slots[i].offsetHeight||1;const nextTop=slots[i+1].getBoundingClientRect().top-view;const p=Math.min(1,Math.max(0,(STACK_TOP+h-nextTop)/h));if(p===0){card.style.transform=\"\";card.style.opacity=\"\";continue;}card.style.transform=`scale(${(1-STACK_SHRINK*p).toFixed(4)})`;card.style.opacity=Math.max(0,1-p*1.15).toFixed(3);}}const schedule=()=>{if(!raf)raf=requestAnimationFrame(update);};update();sc.addEventListener(\"scroll\",schedule,{passive:true});window.addEventListener(\"resize\",schedule);return()=>{sc.removeEventListener(\"scroll\",schedule);window.removeEventListener(\"resize\",schedule);if(raf)cancelAnimationFrame(raf);};},[root,count]);return /*#__PURE__*/_jsx(\"div\",{ref:listRef,style:{display:\"flex\",flexDirection:\"column\",gap:t.size===\"s\"?8:12},children:children});}// ─── Sheet bodies ───────────────────────────────────────────────────────────\n// ─── Endings ────────────────────────────────────────────────────────────────\n// Every popup ends on two doors on its grid: a third to keep going (dark),\n// two thirds to talk to us (white).\n// The main way on: a big black card with the words on the left and a quiet\n// carousel of the work on the right. Without visuals, the right side lists\n// what's inside instead (the next programme's steps).\nfunction FeatureDoor({t,root,label,counter,title,sub,action,visuals,list,href,onClick,delay=0,light=false,compact=false,disabled=false}){const[hover,setHover]=useState(false);const reduce=useReducedMotion();const Tag=disabled?motion.div:href?motion.a:motion.button;const fg=light?INK:\"#FFFFFF\";const muted=light?\"rgba(13, 13, 13, 0.4)\":W(.4);const stacked=t.size===\"s\";// With nothing to show, the card is just words across its full width.\nconst pane=!!(visuals&&visuals.length)||!!list;return /*#__PURE__*/_jsx(Reveal,{root:root,delay:delay,y:40,style:{display:\"flex\",minWidth:0},children:/*#__PURE__*/_jsxs(Tag,{href:href,...href&&/^https?:/.test(href)?{target:\"_blank\",rel:\"noopener noreferrer\"}:{},type:href||disabled?undefined:\"button\",\"aria-disabled\":disabled||undefined,onClick:disabled?undefined:onClick,onHoverStart:()=>!disabled&&setHover(true),onHoverEnd:()=>setHover(false),initial:false,animate:{backgroundColor:light?hover?\"#F2F2F2\":\"#FFFFFF\":hover?\"#1C1C1C\":\"#171717\"},whileTap:reduce||disabled?undefined:{scale:.99},transition:{duration:.3,ease:EASE},style:{flex:1,display:\"grid\",gridTemplateColumns:stacked||!pane?\"minmax(0, 1fr)\":\"minmax(0, 1fr) minmax(0, 1.15fr)\",gap:12,minHeight:stacked?pane?0:compact?160:220:!pane?compact?200:300:t.size===\"l\"?400:340,padding:stacked?8:12,border:\"none\",borderRadius:4,color:fg,textAlign:\"left\",textDecoration:\"none\",cursor:disabled?\"default\":\"pointer\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",flexDirection:\"column\",justifyContent:\"space-between\",gap:40,padding:stacked?12:16,order:stacked?1:0},children:[/*#__PURE__*/_jsxs(\"span\",{style:{...t.eyebrow,display:\"flex\",alignItems:\"center\",gap:8},children:[label,counter&&/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:8,color:muted},children:counter})]}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",flexDirection:\"column\",gap:t.size===\"s\"?16:24},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",flexDirection:\"column\",gap:8},children:[/*#__PURE__*/_jsx(\"span\",{style:{...light?t.h3:t.h2,maxWidth:\"12em\"},children:title}),sub&&/*#__PURE__*/_jsx(\"span\",{style:{...t.body,color:muted},children:sub})]}),light?// The site's primary button: ink, 39px, label type.\n/*#__PURE__*/_jsx(\"span\",{style:{...t.label,alignSelf:\"flex-start\",display:\"inline-flex\",alignItems:\"center\",padding:\"12.5px 18px\",borderRadius:4,background:INK,color:\"#FFFFFF\",whiteSpace:\"nowrap\"},children:action}):disabled?null:/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",alignItems:\"center\",gap:14},children:[/*#__PURE__*/_jsx(motion.span,{animate:{x:hover&&!reduce?6:0},transition:{duration:.3,ease:EASE},style:{display:\"grid\",placeItems:\"center\",width:36,height:36,borderRadius:4,background:light?INK:\"#FFFFFF\",color:light?\"#FFFFFF\":INK,flexShrink:0},children:Icon.arrow}),/*#__PURE__*/_jsx(\"span\",{style:{...t.label},children:action})]})]})]}),pane&&/*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",display:\"block\",minHeight:stacked?0:\"100%\",aspectRatio:stacked?\"4 / 3\":undefined,borderRadius:4,overflow:\"hidden\",background:W(.04),order:stacked?0:1},children:visuals&&visuals.length>0?/*#__PURE__*/_jsx(Carousel,{visuals:visuals,hover:hover}):list?/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",inset:0,display:\"flex\",flexDirection:\"column\",justifyContent:\"flex-end\",gap:2,padding:stacked?16:24},children:list.map((item,i)=>/*#__PURE__*/_jsx(\"span\",{style:{display:\"flex\",gap:16,padding:\"12px 0\",borderTop:i?`1px solid ${W(.06)}`:\"none\",...t.body},children:/*#__PURE__*/_jsx(\"span\",{style:{color:W(.8)},children:item})},i))}):null})]})});}// A quiet crossfade through the work, with thin progress bars along the foot.\nfunction Carousel({visuals,hover}){const reduce=useReducedMotion();const[i,setI]=useState(0);const n=visuals.length;const HOLD=3.2;useEffect(()=>setI(0),[visuals]);useEffect(()=>{if(n<2||reduce)return;const id=window.setTimeout(()=>setI(k=>(k+1)%n),HOLD*1e3);return()=>window.clearTimeout(id);},[i,n,reduce]);const src=visuals[i%n];// Each visual fills the frame, centred. The visuals are chosen so no type or graphic meets the crop; no hover zoom, so the crop never tightens.\nconst fit={position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:0,display:\"block\"},children:/*#__PURE__*/_jsx(AnimatePresence,{initial:false,children:/*#__PURE__*/_jsx(motion.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.7,ease:EASE},style:{position:\"absolute\",inset:0,display:\"block\"},children:isFilm(src)?/*#__PURE__*/_jsx(\"video\",{src:src,autoPlay:true,muted:true,loop:true,playsInline:true,style:fit}):/*#__PURE__*/_jsx(\"img\",{src:src,alt:\"\",style:fit})},src+i)})}),n>1&&/*#__PURE__*/_jsxs(\"span\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",left:12,right:12,bottom:12,display:\"flex\",gap:4},children:[visuals.map((_,k)=>/*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",flex:1,height:2,borderRadius:1,overflow:\"hidden\",background:\"rgba(255, 255, 255, 0.24)\"},children:/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",inset:0,background:\"#FFFFFF\",transformOrigin:\"0 50%\",transform:k<i?\"scaleX(1)\":\"scaleX(0)\",animation:k===i&&!reduce?`oooBar ${HOLD}s linear forwards`:undefined}},k===i?`on-${i}`:\"off\")},k)),/*#__PURE__*/_jsx(\"style\",{children:\"@keyframes oooBar { from { transform: scaleX(0) } to { transform: scaleX(1) } }\"})]})]});}// A link in the closing section: label, arrow nudging on hover, underline drawing in.\n// Book a call goes straight to the partner's calendar.\nconst CAL=\"https://cal.com/james-sedgwick-yeung-zvr6dx/30min\";function UnderLink({t,label,onClick,href}){const[hover,setHover]=useState(false);const reduce=useReducedMotion();const Tag=href?\"a\":\"button\";return /*#__PURE__*/_jsxs(Tag,{...href?{href,target:\"_blank\",rel:\"noopener noreferrer\"}:{type:\"button\",\"data-ooo-contact-trigger\":\"\",onClick},onMouseEnter:()=>setHover(true),onMouseLeave:()=>setHover(false),style:{...t.label,display:\"inline-flex\",alignItems:\"center\",gap:8,padding:\"0 0 4px\",position:\"relative\",border:\"none\",background:\"none\",color:\"#FFFFFF\",cursor:\"pointer\",textDecoration:\"none\"},children:[label,/*#__PURE__*/_jsx(motion.span,{animate:{x:hover&&!reduce?4:0},transition:{duration:.3,ease:EASE},style:{display:\"grid\"},children:Icon.arrow}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",left:0,right:0,bottom:0,height:1,background:W(.24)}}),/*#__PURE__*/_jsx(motion.span,{\"aria-hidden\":\"true\",initial:false,animate:{scaleX:hover?1:0},transition:{duration:reduce?0:.4,ease:EASE},style:{position:\"absolute\",left:0,right:0,bottom:0,height:1,background:\"#FFFFFF\",transformOrigin:\"0 50%\"}})]});}// The other way on: not a card, just words. A small label, the question, and a\n// \"Book a call\" link whose underline draws in on hover.\nfunction PartnerLink({t,root,title}){return /*#__PURE__*/_jsx(Reveal,{root:root,y:24,style:{display:\"flex\",alignSelf:t.size===\"s\"?\"stretch\":\"end\",minWidth:0},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",gap:t.size===\"s\"?16:20,padding:t.size===\"s\"?\"24px 0 8px\":\"0 0 16px\",color:\"#FFFFFF\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{...t.eyebrow,color:W(.4)},children:\"Speak to a partner\"}),/*#__PURE__*/_jsx(\"span\",{style:{...t.h3,maxWidth:\"12em\"},children:title}),/*#__PURE__*/_jsx(UnderLink,{t:t,label:\"Book a call\",href:CAL})]})});}function Doors({t,children}){const split=t.size!==\"s\";return /*#__PURE__*/_jsx(\"section\",{style:{display:\"grid\",gridTemplateColumns:split?\"minmax(0, 1fr) minmax(0, 2fr)\":\"minmax(0, 1fr)\",gap:split?t.gap:32,marginTop:t.breath,marginBottom:t.size===\"s\"?20:48,...split?null:{display:\"flex\",flexDirection:\"column-reverse\"}},children:children});}// A programme's moving line form at the shared scale, so the set reads as one.\nfunction ProgrammeForm({k,h}){return /*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{display:\"block\",color:W(.8)},children:/*#__PURE__*/_jsx(LineForm,{k:k,h:h,align:\"flex-start\"})});}function ProgrammeBody({p,index,t,root,liveColor,contact,next,onNext}){const split=t.size!==\"s\";const grid={display:\"grid\",gridTemplateColumns:split?\"minmax(0, 1fr) minmax(0, 2fr)\":\"minmax(0, 1fr)\",gap:split?t.gap:24};const mail=`${contact}?subject=${encodeURIComponent(p.title)}`;const lite=useContext(Lite);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"header\",{style:{paddingTop:t.size===\"s\"?32:72},children:[/*#__PURE__*/_jsx(MaskText,{tag:\"h1\",text:p.title,root:root,delay:.2,stagger:.05,style:{...t.giant(p.title,.056,80),color:\"#FFFFFF\",maxWidth:\"11em\"}}),/*#__PURE__*/_jsxs(Reveal,{root:root,delay:.42,style:{display:\"flex\",flexWrap:\"wrap\",gap:6,marginTop:t.size===\"s\"?24:40},children:[/*#__PURE__*/_jsx(Chip,{t:t,dot:STATUS[p.state].color,pulse:STATUS[p.state].pulse,children:withMonth(p.status)}),/*#__PURE__*/_jsx(Chip,{t:t,children:p.price}),/*#__PURE__*/_jsx(Chip,{t:t,children:p.duration})]})]}),/*#__PURE__*/_jsxs(\"section\",{style:{...grid,marginTop:t.tight},children:[/*#__PURE__*/_jsx(ProgrammeForm,{k:p.key,h:split?t.size===\"l\"?120:96:72}),/*#__PURE__*/_jsx(MaskText,{tag:\"p\",text:p.intro,root:root,delay:.5,stagger:.012,style:{...t.h2,color:W(.8),maxWidth:\"21em\"}})]}),/*#__PURE__*/_jsxs(\"section\",{style:{...grid,marginTop:t.breath},children:[/*#__PURE__*/_jsx(SectionHead,{label:\"How the programme works\",t:t,root:root}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:split?\"repeat(2, minmax(0, 1fr))\":\"minmax(0, 1fr)\",columnGap:t.gap,rowGap:t.size===\"s\"?40:64},children:p.steps.map((s,i)=>/*#__PURE__*/_jsxs(Reveal,{root:root,delay:i%2*.06,children:[/*#__PURE__*/_jsx(\"p\",{style:{...t.bodyL,margin:0,color:\"#FFFFFF\"},children:s.title}),/*#__PURE__*/_jsx(\"p\",{style:{...t.body,margin:\"8px 0 0\",color:W(.4),maxWidth:\"26em\"},children:s.body})]},i))})]}),/*#__PURE__*/_jsxs(\"section\",{style:{...grid,marginTop:t.section},children:[/*#__PURE__*/_jsx(SectionHead,{label:\"What you leave with\",t:t,root:root}),/*#__PURE__*/_jsx(DeliverableStack,{t:t,root:root,count:p.deliverables.length,children:p.deliverables.map((d,i)=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"sticky\",top:STACK_TOP},children:/*#__PURE__*/_jsx(Reveal,{root:root,y:40,children:/*#__PURE__*/_jsxs(\"div\",{\"data-ooo-stack-card\":\"\",style:{transformOrigin:\"50% 0%\",display:\"grid\",gridTemplateColumns:split?\"minmax(0, 1fr) minmax(0, 1fr)\":\"minmax(0, 1fr)\",gap:split?t.gap:16,minHeight:split?176:0,padding:t.size===\"s\"?20:28,borderRadius:4,background:\"#171717\",alignContent:\"start\"},children:[/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(\"p\",{style:{...t.h3,margin:0,color:\"#FFFFFF\",maxWidth:\"12em\"},children:d.title})}),/*#__PURE__*/_jsx(\"p\",{style:{...t.body,margin:0,color:W(.4),maxWidth:\"24em\"},children:d.body})]})})},i))})]}),/*#__PURE__*/_jsxs(Doors,{t:t,children:[/*#__PURE__*/_jsx(PartnerLink,{t:t,root:root,title:`${p.ctaLead} ${p.ctaTail}`.trim()}),(()=>{const nextDoor=/*#__PURE__*/_jsx(FeatureDoor,{t:t,root:root,delay:p.booking?.12:.06,label:\"Next programme\",counter:`${String((index+1)%PROGRAMMES.length+1).padStart(2,\"0\")} / ${String(PROGRAMMES.length).padStart(2,\"0\")}`,title:next.title,action:\"View programme\",onClick:onNext});if(!p.booking)return nextDoor;// A dated programme: booking the next sprint shares the space with the next programme.\nreturn /*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:t.size===\"s\"?\"minmax(0, 1fr)\":\"minmax(0, 1fr) minmax(0, 1fr)\",alignItems:\"end\",gap:12,minWidth:0},children:[/*#__PURE__*/_jsx(FeatureDoor,{t:t,root:root,delay:.06,light:true,compact:true,label:p.title,counter:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(LiveDot,{color:STATUS[p.state].color,pulse:STATUS[p.state].pulse}),withMonth(p.booking.spots)]}),title:\"Book this programme\",action:\"Book now\",href:CAL}),nextDoor]});})()]})]});}function Parallax({root,children,ratio,radius=4,grow=false,drift=true}){const ref=useRef(null);const reduce=useReducedMotion();const lite=useContext(Lite);const still=reduce||lite||!drift;const{scrollYProgress}=useScroll({container:root,target:ref,offset:[\"start end\",\"end start\"]});const y=useTransform(scrollYProgress,[0,1],still?[\"0%\",\"0%\"]:[\"-6%\",\"6%\"]);// Starts a little inset and opens out to full width over the first few hundred px.\nconst{scrollY}=useScroll({container:root});const scale=useTransform(scrollY,[0,420],[grow&&!still?.9:1,1]);return /*#__PURE__*/_jsx(motion.div,{ref:ref,style:{position:\"relative\",aspectRatio:ratio,borderRadius:radius,overflow:\"hidden\",background:\"#171717\",scale,transformOrigin:\"50% 0%\"},children:/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",inset:drift?\"-8% 0\":0,y},children:children})});}// Visuals for a case come from the hidden \"Case Source\" CMS list in the layout\n// template: one \"Case\" per project with its \"Slug\" and up to five \"Visual\"\n// links (images or films), so they can be changed in the Projects collection.\nfunction readVisuals(key){if(typeof document===\"undefined\")return[];const source=document.querySelector('[data-framer-name=\"Case Source\"]');if(!source)return[];source.inert=true;source.setAttribute(\"aria-hidden\",\"true\");for(const item of Array.from(source.querySelectorAll('[data-framer-name=\"Case\"]'))){const slug=item.querySelector('[data-framer-name=\"Slug\"]')?.textContent?.trim();if(slug!==key)continue;return Array.from(item.querySelectorAll('[data-framer-name^=\"Visual\"]')).map(v=>(v.closest(\"a[href]\")||v.querySelector(\"a[href]\"))?.getAttribute(\"href\")||\"\").filter(href=>/^https?:/.test(href));}return[];}const isFilm=src=>/\\.(mp4|webm|mov)(\\?|$)/i.test(src);function CaseBody({c,index,t,root,contact,next,onNext}){// The same grid as the programme popups: a third for labels, two thirds for content.\nconst split=t.size!==\"s\";const grid={display:\"grid\",gridTemplateColumns:split?\"minmax(0, 1fr) minmax(0, 2fr)\":\"minmax(0, 1fr)\",gap:split?t.gap:24};const lite=useContext(Lite);const[visuals,setVisuals]=useState([]);useEffect(()=>{const found=readVisuals(c.key);setVisuals(found.length?found.slice(0,5):c.image?[c.image]:[]);},[c.key,c.image]);const mediaFill={position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"};const brief=[[\"The challenge\",c.challenge],[\"The strategy\",c.strategy],[\"The output\",c.output]];return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(Reveal,{root:root,delay:.2,y:48,style:{marginTop:t.size===\"s\"?24:48},children:[/*#__PURE__*/_jsx(Parallax,{root:root,ratio:\"16 / 9\",drift:false,children:!c.video.mp4?c.video.poster?/*#__PURE__*/_jsx(\"img\",{src:c.video.poster,alt:\"\",style:mediaFill}):null:/*#__PURE__*/_jsx(\"video\",{autoPlay:true,muted:true,loop:true,playsInline:true,preload:\"auto\",poster:c.video.poster,style:mediaFill,children:lite?/*#__PURE__*/_jsx(\"source\",{src:c.video.mp4,type:\"video/mp4\"}):/*#__PURE__*/_jsxs(_Fragment,{children:[c.video.webm&&/*#__PURE__*/_jsx(\"source\",{src:c.video.webm,type:\"video/webm\"}),/*#__PURE__*/_jsx(\"source\",{src:c.video.mp4,type:\"video/mp4\"})]})})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:t.size===\"s\"?\"column\":\"row\",alignItems:\"flex-start\",gap:4,marginTop:12},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:4},children:[/*#__PURE__*/_jsx(\"span\",{style:{...t.eyebrow,padding:\"6px 10px\",borderRadius:4,background:W(.08),color:\"#FFFFFF\",whiteSpace:\"nowrap\"},children:c.client}),/*#__PURE__*/_jsx(\"span\",{style:{...t.eyebrow,padding:\"6px 10px\",borderRadius:4,background:W(.08),color:W(.8),whiteSpace:\"nowrap\"},children:c.sector})]}),/*#__PURE__*/_jsx(ProgrammeTag,{tone:\"inverse\",programmes:c.programmes})]})]}),/*#__PURE__*/_jsx(\"section\",{style:{marginTop:t.section,marginBottom:t.size===\"s\"?0:t.tight},children:/*#__PURE__*/_jsx(MaskText,{tag:\"p\",text:c.about,root:root,stagger:.02,style:{...t.display,color:\"#FFFFFF\",maxWidth:896}})}),/*#__PURE__*/_jsxs(\"section\",{style:{...grid,marginTop:t.section},children:[/*#__PURE__*/_jsx(SectionHead,{label:\"The brief\",t:t,root:root}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:split?\"repeat(2, minmax(0, 1fr))\":\"minmax(0, 1fr)\",columnGap:t.gap,rowGap:t.size===\"s\"?40:64},children:brief.map(([head,text],i)=>/*#__PURE__*/_jsxs(Reveal,{root:root,delay:i%2*.06,children:[/*#__PURE__*/_jsx(\"p\",{style:{...t.bodyL,margin:0,color:\"#FFFFFF\"},children:head}),/*#__PURE__*/_jsx(\"p\",{style:{...t.body,margin:\"8px 0 0\",color:W(.4),maxWidth:\"26em\"},children:text})]},head))})]}),/*#__PURE__*/_jsxs(Doors,{t:t,children:[/*#__PURE__*/_jsx(PartnerLink,{t:t,root:root,title:\"Facing a similar challenge?\"}),/*#__PURE__*/_jsx(FeatureDoor,{t:t,root:root,delay:.06,label:c.soon?\"Coming soon\":\"Full case study\",title:c.client,sub:c.sector,action:\"View case study\",// A case study still being made shows no picture, just its name.\nvisuals:c.soon?undefined:visuals,href:c.soon?undefined:`/work/${c.key}`,disabled:c.soon})]})]});}// ─── The sheet ──────────────────────────────────────────────────────────────\nfunction useWidth(ref){const[w,setW]=useState(()=>typeof window===\"undefined\"?1200:window.innerWidth-sideFor(window.innerWidth)*2);useEffect(()=>{const el=ref.current;if(!el||typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(entries=>{const next=Math.round(entries[0].contentRect.width);setW(prev=>prev===next?prev:next);});ro.observe(el);return()=>ro.disconnect();},[ref]);return w;}function Sheet({request,onClosed,liveColor,contact}){const reduce=useReducedMotion();const[touch]=useState(isTouch);const kind=request.kind;const list=kind===\"case\"?CASES:PROGRAMMES;const[key,setKey]=useState(request.key);const[closing,setClosing]=useState(null);const index=Math.max(0,list.findIndex(x=>x.key===key));const panelRef=useRef(null);const scrollerRef=useRef(null);const closeRef=useRef(null);const width=useWidth(panelRef);const t=typeScale(width);const radius=4;const[startClip]=useState(()=>reduce?OPEN_CLIP(10):insetFor(originRect(request.origin),radius,\"bottom\"));const close=useCallback(()=>{setClosing(current=>{if(current)return current;const el=findTrigger(kind,key)||request.origin||null;return insetFor(originRect(el),radius,\"center\");});},[kind,key,request.origin,radius]);const go=useCallback(delta=>{if(closing)return;setKey(list[(index+delta+list.length)%list.length].key);},[closing,index,list]);// Lock the page, hand focus to the sheet, give it back afterwards.\nuseEffect(()=>{const html=document.documentElement;const prevOverflow=html.style.overflow;const prevPadding=html.style.paddingRight;const scrollbar=window.innerWidth-html.clientWidth;const previouslyFocused=document.activeElement;html.style.overflow=\"hidden\";if(scrollbar>0)html.style.paddingRight=`${scrollbar}px`;// Touch screens (iOS Safari especially) still scroll the page under overflow: hidden,\n// and a toolbar resize mid-scroll can leave the sheet's fixed layer offset. Pin the\n// page where it is instead, and put it back exactly there on close.\nconst body=document.body;const pinY=window.scrollY;const pinned=isTouch();const PIN=[\"position\",\"top\",\"left\",\"right\",\"width\"];if(pinned){body.style.position=\"fixed\";body.style.top=`-${pinY}px`;body.style.left=\"0\";body.style.right=\"0\";body.style.width=\"100%\";}html.setAttribute(\"data-ooo-sheet\",\"open\");closeRef.current?.focus({preventScroll:true});return()=>{if(pinned){PIN.forEach(p=>body.style.removeProperty(p));window.scrollTo({top:pinY,behavior:\"instant\"});}html.style.overflow=prevOverflow;html.style.paddingRight=prevPadding;html.removeAttribute(\"data-ooo-sheet\");// Back to whatever opened it; if that was part of a card, the card's own link or button.\nconst origin=request.origin;const FOCUSABLE=\"a[href], button, [tabindex]\";const back=(origin?.closest?.(FOCUSABLE))||(origin?.querySelector?.(FOCUSABLE))||origin||previouslyFocused;back?.focus?.({preventScroll:true});};},[]);// Keyboard: Escape closes, arrows move between entries, Tab stays inside.\nuseEffect(()=>{function onKey(e){if(e.key===\"Escape\"){e.preventDefault();close();}else if(e.key===\"ArrowRight\")go(1);else if(e.key===\"ArrowLeft\")go(-1);else if(e.key===\"Tab\"&&panelRef.current){const focusable=Array.from(panelRef.current.querySelectorAll(\"a[href], button:not([disabled]), [tabindex]:not([tabindex='-1'])\")).filter(el=>el.offsetParent!==null);if(!focusable.length)return;const first=focusable[0];const last=focusable[focusable.length-1];if(e.shiftKey&&document.activeElement===first){e.preventDefault();last.focus();}else if(!e.shiftKey&&document.activeElement===last){e.preventDefault();first.focus();}}}window.addEventListener(\"keydown\",onKey);return()=>window.removeEventListener(\"keydown\",onKey);},[close,go]);// Wheel: the page never scrolls behind the sheet. Inside it, mouse wheels\n// get the same gentle easing as the page.\nconst rootRef=useRef(null);useEffect(()=>{const root=rootRef.current;if(!root||touch)return;const smooth=!window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;const tau=108;let target=0;let current=0;let raf=0;let last=0;let own=false;let gestureAt=0;let axis=\"y\";function step(now){const sc=scrollerRef.current;if(!sc)return raf=0;const dt=last?Math.min(now-last,64):16.7;last=now;current+=(target-current)*(1-Math.exp(-dt/tau));if(Math.abs(target-current)<.5)current=target;own=true;sc.scrollTop=current;if(current!==target)raf=requestAnimationFrame(step);else{raf=0;last=0;}}function onWheel(e){if(e.ctrlKey)return;e.preventDefault();e.stopPropagation();const sc=scrollerRef.current;if(!sc)return;const now=performance.now();if(now-gestureAt>180)axis=Math.abs(e.deltaX)>Math.abs(e.deltaY)?\"x\":\"y\";gestureAt=now;if(axis===\"x\")return;const unit=e.deltaMode===1?16:e.deltaMode===2?sc.clientHeight:1;const dy=e.deltaY*unit;if(!smooth){sc.scrollTop+=dy;return;}if(!raf){target=sc.scrollTop;current=sc.scrollTop;}target=clamp(target+dy,0,sc.scrollHeight-sc.clientHeight);if(!raf)raf=requestAnimationFrame(step);}function onScroll(){if(own){own=false;return;}const sc=scrollerRef.current;if(!raf&&sc){target=sc.scrollTop;current=sc.scrollTop;}}const sc=scrollerRef.current;root.addEventListener(\"wheel\",onWheel,{passive:false});sc?.addEventListener(\"scroll\",onScroll,{passive:true});return()=>{root.removeEventListener(\"wheel\",onWheel);sc?.removeEventListener(\"scroll\",onScroll);if(raf)cancelAnimationFrame(raf);};},[]);const entry=kind===\"case\"?CASES[index]:PROGRAMMES[index];const title=kind===\"case\"?entry.client:entry.title;const counter=`${String(index+1).padStart(2,\"0\")} / ${String(list.length).padStart(2,\"0\")}`;const g=typeof window===\"undefined\"?20:gutterFor(window.innerWidth);const openTransition={duration:reduce?.3:.8,ease:EASE};const closeTransition={duration:reduce?.25:.6,ease:EASE};// Over a dark page the black sheet would melt into what's behind it, so the veil\n// lifts the page instead of darkening it, and the sheet's edge reads clearly.\nconst[onDark]=useState(()=>{if(typeof document===\"undefined\")return false;const tone=document.documentElement.getAttribute(\"data-ooo-tone\");if(tone)return tone===\"dark\";const m=getComputedStyle(document.body).backgroundColor.match(/rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)/);return!!m&&(.2126*+m[1]+.7152*+m[2]+.0722*+m[3])/255<.5;});const veil=onDark?touch?\"rgba(255, 255, 255, 0.1)\":\"rgba(255, 255, 255, 0.07)\":touch?\"rgba(13, 13, 13, 0.5)\":\"rgba(13, 13, 13, 0.32)\";// Phones tint their browser bars from the page's root background and theme colour\n// (Section Colors keeps those on the section showing). While the sheet is up the page\n// is under the veil, so the bars take the veiled colour too, and go back as it closes.\nuseEffect(()=>{const html=document.documentElement;const body=document.body;const meta=document.querySelector('meta[name=\"theme-color\"]');// Section Colors' edge strips, which Safari 26 reads for its top and bottom bars.\nconst bars=Array.from(document.querySelectorAll(\"[data-ooo-bar]\"));const prev={html:html.style.backgroundColor,body:body.style.backgroundColor,meta:meta?.content??\"\",bars:bars.map(b=>b.style.backgroundColor)};const restore=()=>{html.style.backgroundColor=prev.html;body.style.backgroundColor=prev.body;if(meta)meta.content=prev.meta;bars.forEach((b,i)=>b.style.backgroundColor=prev.bars[i]);};if(closing){restore();return;}const rgb=c=>(c.match(/[\\d.]+/g)||[]).map(Number);const[r,gg,b]=rgb(prev.body||getComputedStyle(body).backgroundColor);const[vr,vg,vb,va=1]=rgb(veil);if([r,gg,b].some(n=>Number.isNaN(n)||n===undefined))return;const mix=(base,over)=>Math.round(base*(1-va)+over*va);const veiled=`rgb(${mix(r,vr)}, ${mix(gg,vg)}, ${mix(b,vb)})`;html.style.backgroundColor=veiled;body.style.backgroundColor=veiled;if(meta)meta.content=veiled;bars.forEach(b=>b.style.backgroundColor=veiled);return restore;// eslint-disable-next-line react-hooks/exhaustive-deps\n},[closing]);return /*#__PURE__*/_jsx(Lite.Provider,{value:touch,children:/*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{position:\"fixed\",inset:0,zIndex:1e3},children:[/*#__PURE__*/_jsx(motion.div,{\"aria-hidden\":\"true\",onClick:close,initial:{opacity:0},animate:{opacity:closing?0:1},transition:{duration:closing?.5:.6,ease:EASE},style:{position:\"absolute\",inset:0,background:veil,backdropFilter:touch?\"none\":\"blur(8px)\",WebkitBackdropFilter:touch?\"none\":\"blur(8px)\"}}),/*#__PURE__*/_jsx(motion.div,{ref:panelRef,role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":title,initial:touch?{y:reduce?\"0%\":\"100%\",opacity:reduce?0:1}:{clipPath:startClip},animate:touch?{y:closing&&!reduce?\"100%\":\"0%\",opacity:closing&&reduce?0:1}:{clipPath:closing??OPEN_CLIP(10),opacity:closing?0:1},transition:touch?{y:{duration:closing?.4:.55,ease:EASE},opacity:{duration:.25}}:closing?{clipPath:closeTransition,opacity:{duration:.2,ease:\"linear\",delay:reduce?0:.42}}:{clipPath:openTransition,opacity:{duration:0}},onAnimationComplete:definition=>{// Only the close finishing ends the sheet, not an interrupted open.\nif(!closing||!definition)return;if(touch?definition.y===\"100%\"||definition.opacity===0:definition.clipPath===closing)onClosed();},style:{position:\"absolute\",top:g,bottom:g,left:`max(${g}px, calc((100% - ${PANEL_MAX}px) / 2))`,right:`max(${g}px, calc((100% - ${PANEL_MAX}px) / 2))`,background:INK,color:\"#FFFFFF\",overflow:\"hidden\",borderRadius:touch?10:undefined,willChange:touch?\"transform\":\"clip-path\"},children:/*#__PURE__*/_jsx(\"div\",{ref:scrollerRef,style:{position:\"absolute\",inset:0,overflowY:\"auto\",overflowX:\"hidden\",overscrollBehavior:\"contain\",scrollbarWidth:\"none\",WebkitOverflowScrolling:\"touch\"},children:/*#__PURE__*/_jsxs(motion.div,{animate:{opacity:closing?0:1},transition:{duration:closing?.18:.3,ease:EASE},style:{position:\"relative\"},children:[/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,y:reduce?0:-8},animate:{opacity:1,y:0},transition:{duration:.6,ease:EASE,delay:.24},style:{position:\"sticky\",top:0,zIndex:5,display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:16,height:64,padding:`0 ${t.size===\"s\"?12:16}px 0 ${t.pad}px`,background:\"rgba(13, 13, 13, 0.6)\",backdropFilter:\"blur(24px) saturate(180%)\",WebkitBackdropFilter:\"blur(24px) saturate(180%)\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{...t.eyebrow,display:\"flex\",gap:10,minWidth:0,whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:W(.4)},children:kind===\"case\"?\"Work\":\"Programmes\"}),/*#__PURE__*/_jsx(\"span\",{style:{color:W(.4)},children:counter}),/*#__PURE__*/_jsx(\"span\",{style:{overflow:\"hidden\",textOverflow:\"ellipsis\"},children:title})]}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",gap:6,flexShrink:0},children:[/*#__PURE__*/_jsx(IconButton,{label:\"Previous\",onClick:()=>go(-1),children:Icon.prev}),/*#__PURE__*/_jsx(IconButton,{label:\"Next\",onClick:()=>go(1),children:Icon.next}),/*#__PURE__*/_jsx(motion.button,{ref:closeRef,type:\"button\",\"aria-label\":\"Close\",onClick:close,initial:false,whileHover:{backgroundColor:W(.82)},whileTap:{scale:.92},transition:{duration:.2,ease:EASE},style:{width:36,height:36,display:\"grid\",placeItems:\"center\",padding:0,border:\"none\",borderRadius:4,cursor:\"pointer\",color:INK,backgroundColor:\"#FFFFFF\"},children:Icon.close})]})]}),/*#__PURE__*/_jsx(AnimatePresence,{mode:\"wait\",initial:false,onExitComplete:()=>{if(scrollerRef.current)scrollerRef.current.scrollTop=0;},children:/*#__PURE__*/_jsx(motion.div,{exit:{opacity:0,y:reduce?0:-16,transition:{duration:.25,ease:EASE}},style:{maxWidth:1200+t.pad*2,margin:\"0 auto\",padding:`0 ${t.pad}px`},children:kind===\"case\"?/*#__PURE__*/_jsx(CaseBody,{c:entry,index:index,t:t,root:scrollerRef,contact:contact,next:CASES[(index+1)%CASES.length],onNext:()=>go(1)}):/*#__PURE__*/_jsx(ProgrammeBody,{p:entry,index:index,t:t,root:scrollerRef,liveColor:liveColor,contact:contact,next:PROGRAMMES[(index+1)%PROGRAMMES.length],onNext:()=>go(1)})},key)})]})})})]})});}/**\n * Sheets\n *\n * Programme and case study popups. Place once per page; rows and cards\n * open them with the `ooo:sheet` event.\n *\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function Sheets(props){const{liveColor=\"#3DDC84\",contact=\"mailto:hello@officeofoverview.com\"}=props;const isStatic=useIsStaticRenderer();const[request,setRequest]=useState(null);const[mounted,setMounted]=useState(false);// The hidden data lists the popups and news read from sit off-screen; keep their links\n// out of the keyboard's tab order and away from screen readers from the start.\nuseEffect(()=>{if(isStatic)return;const hide=()=>document.querySelectorAll('[data-framer-name=\"Case Source\"], [data-framer-name=\"News Source\"]').forEach(el=>{el.inert=true;el.setAttribute(\"aria-hidden\",\"true\");});hide();const timers=[400,1500,4e3].map(t=>window.setTimeout(hide,t));return()=>timers.forEach(t=>window.clearTimeout(t));},[isStatic]);useEffect(()=>{setMounted(true);if(isStatic)return;function onOpen(e){const detail=e.detail;if(!detail||detail.kind!==\"case\"&&detail.kind!==\"programme\")return;const list=detail.kind===\"case\"?CASES:PROGRAMMES;if(!list.some(x=>x.key===detail.key))return;setRequest(current=>current||{kind:detail.kind,key:detail.key,origin:detail.origin});}window.addEventListener(EVENT,onOpen);return()=>window.removeEventListener(EVENT,onOpen);},[isStatic]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"relative\",width:1,height:1,pointerEvents:\"none\"}}),mounted&&!isStatic&&request&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(Sheet,{request:request,onClosed:()=>setRequest(null),liveColor:liveColor,contact:contact},`${request.kind}-${request.key}`),document.body)]});}addPropertyControls(Sheets,{liveColor:{type:ControlType.Color,title:\"Live Dot\",defaultValue:\"#3DDC84\"},contact:{type:ControlType.String,title:\"Contact\",defaultValue:\"mailto:hello@officeofoverview.com\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Sheets\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Sheets.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useEffect}from\"react\";// Does an element between the event target and the page want this wheel event itself?\nfunction scrollableAncestorCanTake(target,dy){let el=target instanceof Element?target:null;while(el&&el!==document.body&&el!==document.documentElement){const style=getComputedStyle(el);const oy=style.overflowY;if((oy===\"auto\"||oy===\"scroll\")&&el.scrollHeight>el.clientHeight+1){if(dy<0&&el.scrollTop>0)return true;if(dy>0&&el.scrollTop+el.clientHeight<el.scrollHeight-1)return true;}el=el.parentElement;}return false;}/**\n * Smooth Scroll\n *\n * Gently eases mouse-wheel scrolling for the whole page. Touch, keyboard,\n * scrollbar and horizontal gestures stay native. Place once per page.\n *\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function SmoothScroll(props){const{smoothness=.5}=props;const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;if(window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches)return;if(window.matchMedia(\"(pointer: coarse)\").matches)return;// smoothness 0..1 → time constant ~60ms..220ms. 0.5 ≈ 140ms: noticeable, never floaty.\nconst tau=60+Math.min(Math.max(smoothness,0),1)*160;let target=window.scrollY;let current=window.scrollY;let raf=0;let last=0;let ownScroll=false;let gestureAt=0;let gestureAxis=\"y\";// The page a glide started on: a glide never carries over onto the next page.\nlet glidePath=window.location.pathname;const maxScroll=()=>document.documentElement.scrollHeight-window.innerHeight;function step(now){if(window.location.pathname!==glidePath){raf=0;last=0;target=current=window.scrollY;return;}const dt=last?Math.min(now-last,64):16.7;last=now;current+=(target-current)*(1-Math.exp(-dt/tau));if(Math.abs(target-current)<.5)current=target;ownScroll=true;window.scrollTo(0,current);if(current!==target)raf=requestAnimationFrame(step);else{raf=0;last=0;}}function onWheel(e){if(e.ctrlKey||e.defaultPrevented)return;// Lock each gesture to the axis it started on: a sideways swipe with a\n// little vertical wobble stays entirely native (and with the card rows).\nconst now=performance.now();if(now-gestureAt>180)gestureAxis=Math.abs(e.deltaX)>Math.abs(e.deltaY)?\"x\":\"y\";gestureAt=now;if(gestureAxis===\"x\")return;const unit=e.deltaMode===1?16:e.deltaMode===2?window.innerHeight:1;const dy=e.deltaY*unit;if(scrollableAncestorCanTake(e.target,dy))return;e.preventDefault();if(!raf){target=window.scrollY;current=window.scrollY;glidePath=window.location.pathname;}target=Math.min(Math.max(target+dy,0),maxScroll());if(!raf)raf=requestAnimationFrame(step);}function stopGlide(){if(raf)cancelAnimationFrame(raf);raf=0;last=0;target=current=window.scrollY;}function onScroll(){// Keyboard, scrollbar, anchor links and Framer's own scrolling: follow them.\nif(ownScroll){ownScroll=false;return;}// Something else jumped the page (a page change resets to the top before the\n// address updates): drop the glide rather than drag the page back.\nif(raf&&Math.abs(window.scrollY-current)>window.innerHeight){stopGlide();return;}if(!raf){target=window.scrollY;current=window.scrollY;}}window.addEventListener(\"wheel\",onWheel,{passive:false});window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"ooo:navigate\",stopGlide);return()=>{window.removeEventListener(\"wheel\",onWheel);window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"ooo:navigate\",stopGlide);if(raf)cancelAnimationFrame(raf);};},[isStatic,smoothness]);return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"relative\",width:1,height:1,pointerEvents:\"none\"}});}addPropertyControls(SmoothScroll,{smoothness:{type:ControlType.Number,title:\"Smoothness\",defaultValue:.5,min:0,max:1,step:.05}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmoothScroll\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmoothScroll.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";/*\n * Social Icon\n *\n * An icon-only link for the footer row: Instagram or LinkedIn, white on the\n * row's ink pill. It fills the pill (51px square), so the pill itself is the button.\n */const EASE=[.16,1,.3,1];const ICONS={instagram:/*#__PURE__*/_jsxs(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"3\",width:\"18\",height:\"18\",rx:\"5\",stroke:\"currentColor\",strokeWidth:\"1.8\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"4.2\",stroke:\"currentColor\",strokeWidth:\"1.8\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"17.3\",cy:\"6.7\",r:\"1.2\",fill:\"currentColor\"})]}),linkedin:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"currentColor\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M4.98 3.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5ZM3 9.75h4v11H3v-11Zm6.5 0h3.83v1.5h.06c.53-.95 1.84-1.95 3.79-1.95 4.05 0 4.82 2.55 4.82 5.87v5.58h-4v-4.95c0-1.18-.02-2.7-1.72-2.7-1.73 0-2 1.29-2 2.62v5.03h-3.98v-11Z\"})})};/**\n * @framerIntrinsicWidth 51\n * @framerIntrinsicHeight 51\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function SocialIcon({network=\"instagram\",link=\"\",style}){const label=network===\"linkedin\"?\"LinkedIn\":\"Instagram\";return /*#__PURE__*/_jsx(motion.a,{href:link||undefined,target:\"_blank\",rel:\"noopener noreferrer\",\"aria-label\":label,title:label,whileHover:{backgroundColor:\"rgba(255, 255, 255, 0.06)\"},transition:{duration:.2,ease:EASE},style:{...style,width:51,height:51,display:\"grid\",placeItems:\"center\",borderRadius:4,background:\"rgba(255, 255, 255, 0)\",color:\"#FFFFFF\",textDecoration:\"none\"},children:ICONS[network]||ICONS.instagram});}addPropertyControls(SocialIcon,{network:{type:ControlType.Enum,title:\"Network\",options:[\"instagram\",\"linkedin\"],optionTitles:[\"Instagram\",\"LinkedIn\"],defaultValue:\"instagram\",displaySegmentedControl:true},link:{type:ControlType.String,title:\"Link\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SocialIcon\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"51\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"51\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SocialIcon.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as Framer from\"framer\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,AnimatePresence,LayoutGroup,useReducedMotion}from\"framer-motion\";import{useCallback,useEffect,useId,useRef,useState,startTransition}from\"react\";// @ts-ignore react-dom types aren't bundled with Framer's editor\nimport{createPortal}from\"react-dom\";// Framer's router: in the runtime, not in its published types.\nconst useRouter=Framer.useRouter??(()=>null);const EASE=[.16,1,.3,1];const GLIDE={type:\"spring\",stiffness:640,damping:48,mass:.8};const INK=\"#0D0D0D\";const DEFAULT_ITEMS=[{label:\"Overview\",link:\"#top\"},{label:\"Work\",link:\"#work\"},{label:\"Programmes\",link:\"#programmes\"},{label:\"Contact\",link:\"#contact\"}];// Pages mode: section links become the site's pages; Contact opens the panel.\nconst PAGE_FOR={\"#top\":\"/\",\"#work\":\"/work\",\"#programmes\":\"/programmes\"};const isContact=link=>link===\"#contact\";const isWork=link=>link===\"#work\";// The Work menu: a fast way into the case studies, dropped from the nav on hover.\n// Each row previews the project's card film (or its card image) on the right.\nconst CDN=\"https://framerusercontent.com\";const CASES=[{name:\"Odin\",sector:\"Financial Technology\",href:\"/work/odin\",image:`${CDN}/images/jg0XFOZwRdOi6y3KYP96SUf63d8.jpg`,film:`${CDN}/assets/fUoOCmrK0lGRp7EvLUrW3C3C7E.mp4`},{name:\"Curate\",sector:\"Health Tech\",href:\"/work/curate\",image:`${CDN}/images/AyK9eWqBW4HcfNuM8UgWm11wQeM.jpg`,film:\"\"},{name:\"Human\",sector:\"Journalism\",href:\"/work/human\",image:`${CDN}/images/vSWc9iWSmG4bvyriaptGDjTmA.jpeg`,film:`${CDN}/assets/Lrm3QjugoBSWbt6SkTILtDiYP10.mp4`},{name:\"Fermat\",sector:\"Fashion Tech\",href:\"/work/fermat\",image:`${CDN}/images/5nQHwUJS69I24689SNMGVZTbDQ.jpg`,film:`${CDN}/assets/4ZYE1upCRk8unVNMw34nh6ItpI.mp4`}];// The list is 306px tall (four rows and All work), so the square preview matches it.\nconst PREVIEW=306;const MENU_W=540;const W=a=>`rgba(255, 255, 255, ${a})`;function MenuArrow(){return /*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",\"aria-hidden\":\"true\",style:{display:\"block\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M2.5 6H9.5M6.5 3L9.5 6L6.5 9\",stroke:\"currentColor\",strokeWidth:\"1.2\"})});}function pageIndex(items,at){if(at===undefined&&typeof window===\"undefined\")return 0;const path=(at??window.location.pathname).replace(/\\/+$/,\"\")||\"/\";let best=0;let bestLen=-1;items.forEach((item,i)=>{const page=PAGE_FOR[item.link];if(!page)return;const match=page===\"/\"?path===\"/\":path===page||path.startsWith(page+\"/\");if(match&&page.length>bestLen){best=i;bestLen=page.length;}});return best;}// Page changes: the old page lifts away as the new one rises in under it. The nav sits\n// out of the snapshot, live, so its indicator glides across while the pages change.\nconst PAGE_CSS=`\n::view-transition-group(ooo-nav) { animation: none; }\n::view-transition-old(ooo-nav) { display: none; }\n::view-transition-new(ooo-nav) { animation: none; }\n::view-transition-old(root) { animation: ooo-page-out 0.35s cubic-bezier(0.16, 1, 0.3, 1) both; }\n::view-transition-new(root) { animation: ooo-page-in 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both; }\n@keyframes ooo-page-out { to { opacity: 0; transform: translateY(-16px); } }\n@keyframes ooo-page-in { from { opacity: 0; transform: translateY(40px); } }\n`;// Site-wide: every button from the Button component grows a little under the pointer,\n// smoothly, and settles back. No colour change. Found as a link whose direct child is\n// the component's \"Label\" layer: its class name changes whenever it's edited, and its\n// layer name drops away while it's hovered, so neither can be relied on. Lives here\n// because the nav is on every page.\nconst BTN=`[data-highlight=\"true\"]:has(> [data-framer-name=\"Label\"])`;const BUTTON_CSS=`\n:is(${BTN}) { transform-origin: 50% 50%; transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important; }\n@media (hover: hover) and (pointer: fine) {\n    :is(${BTN}):hover { transform: scale(1.04) !important; }\n}\n:is(${BTN}):active { transform: scale(0.98) !important; transition-duration: 0.15s !important; }\n@media (prefers-reduced-motion: reduce) { :is(${BTN}), :is(${BTN}):hover { transform: none !important; } }\n/* Framer's Video puts cursor: auto on the video itself; videos sit inside cards and links, so they take their parent's cursor. */\nvideo { cursor: inherit !important; }\n/* The footer pills (address, socials, write to us): they don't grow. Like \"View project\", its text and icon ease apart instead. */\n:is([data-framer-name=\"Address\"], [data-framer-name=\"Write To Us\"], [data-framer-name=\"Instagram\"], [data-framer-name=\"LinkedIn\"]) :is(${BTN}), :is([data-framer-name=\"Address\"], [data-framer-name=\"Write To Us\"], [data-framer-name=\"Instagram\"], [data-framer-name=\"LinkedIn\"]) :is(${BTN}):hover, :is([data-framer-name=\"Address\"], [data-framer-name=\"Write To Us\"], [data-framer-name=\"Instagram\"], [data-framer-name=\"LinkedIn\"]) :is(${BTN}):active { transform: none !important; }\n:is([data-framer-name=\"Address\"], [data-framer-name=\"Write To Us\"], [data-framer-name=\"Instagram\"], [data-framer-name=\"LinkedIn\"]) :is(${BTN}) { transition: gap 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important; }\n@media (hover: hover) and (pointer: fine) {\n    :is([data-framer-name=\"Address\"], [data-framer-name=\"Write To Us\"], [data-framer-name=\"Instagram\"], [data-framer-name=\"LinkedIn\"]) :is(${BTN}):hover { gap: 14px !important; }\n}\n`;function hashOf(link){const i=link.indexOf(\"#\");return i>=0?link.slice(i+1):\"\";}function sectionTop(id){if(!id||id===\"top\")return 0;const el=document.getElementById(id);return el?el.getBoundingClientRect().top+window.scrollY:null;}// Before Section Colors has set the page tone, read it from the first\n// section's own fill, so the bar starts in the right colours.\nfunction pageIsDark(html){const tone=html.getAttribute(\"data-ooo-tone\");if(tone)return tone===\"dark\";const first=document.querySelector(\"section[id]\");const m=first&&getComputedStyle(first).backgroundColor.match(/rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)(?:[\\s,/]+([\\d.]+))?/);if(!m||m[4]!==undefined&&+m[4]<.5)return false;return(.2126*+m[1]+.7152*+m[2]+.0722*+m[3])/255<.5;}/**\n * Sticky Nav\n *\n * Pill navigation that rests in place at the top of the page, then condenses\n * into a frosted bar, tracks the current section and adapts over dark sections.\n * Give it position Fixed, pinned to the top, full width.\n *\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 80\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */// ─── Page landings ──────────────────────────────────────────────────────────\n// Every page change lands at the top of the new page. The one exception: the\n// \"Explore the programmes\" button (a layer named \"All Programmes\") lands on the\n// programmes page's second section, \"Questions\", skipping the list you've just seen.\n// Installed once for the whole site; the nav is on every page.\nconst LANDINGS=[{from:'[data-framer-name=\"All Programmes\"]',to:'[data-framer-name=\"Questions\"]'}];function installLandings(){const w=window;if(w.__oooLandings)return;w.__oooLandings=true;try{history.scrollRestoration=\"manual\";}catch{}// Kept for a few seconds across a full page load too, should the browser do one.\nconst KEY=\"ooo-landing\";const remember=to=>{try{if(to)sessionStorage.setItem(KEY,JSON.stringify({to,at:Date.now()}));else sessionStorage.removeItem(KEY);}catch{}};const recalled=(()=>{try{const v=JSON.parse(sessionStorage.getItem(KEY)||\"null\");sessionStorage.removeItem(KEY);return v&&Date.now()-v.at<5e3?v.to:null;}catch{return null;}})();let path=window.location.pathname;let target=null;let moved=false;let timers=[];let swallowUntil=0;let lastWheel=0;// Read the landing on press as well as click: on touch screens the page can change\n// on the tap itself, before any click arrives.\nlet targetAt=0;document.addEventListener(\"pointerdown\",e=>{const link=e.target?.closest?.(\"a\");target=link?LANDINGS.find(l=>link.closest(l.from))?.to??null:null;targetAt=performance.now();remember(target);},true);document.addEventListener(\"click\",e=>{const link=e.target?.closest?.(\"a\");if(!link)return;target=LANDINGS.find(l=>link.closest(l.from))?.to??null;targetAt=performance.now();remember(target);// Leaving for another page: stop any wheel glide and start swallowing momentum now.\nconst href=link.getAttribute(\"href\")||\"\";if(href&&!href.startsWith(\"#\")&&link.target!==\"_blank\"&&!/^(mailto|tel):/.test(href)){window.dispatchEvent(new CustomEvent(\"ooo:navigate\"));swallowUntil=performance.now()+2e3;}},true);// A fast flick keeps sending wheel events (trackpad momentum) after the click.\n// Swallow that leftover gesture on the new page until it ends, a short pause\n// in the stream, so it can't carry the new page away from where it landed.\nwindow.addEventListener(\"wheel\",e=>{const now=performance.now();const gap=now-lastWheel;lastWheel=now;if(now<swallowUntil&&gap<160){e.preventDefault();e.stopImmediatePropagation();return;}swallowUntil=0;moved=true;},{passive:false,capture:true});// Once the visitor scrolls on the new page themselves, stop placing it.\nconst userMoved=()=>moved=true;window.addEventListener(\"touchstart\",userMoved,{passive:true});window.addEventListener(\"keydown\",userMoved);function land(){// A press long before this page change (a scroll that started on a link) doesn't count.\nconst to=performance.now()-targetAt<3e3?target:null;target=null;remember(null);moved=false;window.dispatchEvent(new CustomEvent(\"ooo:navigate\"));swallowUntil=performance.now()+2e3;timers.forEach(t=>window.clearTimeout(t));const place=()=>{if(moved)return;const el=to?Array.from(document.querySelectorAll(to)).find(n=>n.offsetParent):undefined;const top=el?el.getBoundingClientRect().top+window.scrollY:0;window.scrollTo({top,behavior:\"instant\"});};// Again as the new page's pictures and fonts settle its height.\ntimers=[0,50,120,250,400,700,1e3,1400].map(t=>window.setTimeout(place,t));}const check=()=>{if(window.location.pathname===path)return;path=window.location.pathname;land();};for(const m of[\"pushState\",\"replaceState\"]){const original=history[m];history[m]=function(...args){const r=original.apply(this,args);check();return r;};}window.addEventListener(\"popstate\",check);if(recalled){target=recalled;targetAt=performance.now();land();}}export default function StickyNav(props){const{items:itemsProp,restTop=40,stuckTop=16,darkSections=\"belief, contact\",hideOnScroll=false,followTone=false,navigate=\"sections\",labelFont,style}=props;const items=itemsProp&&itemsProp.length>0?itemsProp:DEFAULT_ITEMS;const isStatic=useIsStaticRenderer();const reduceMotion=useReducedMotion();const groupId=useId();const[stuck,setStuck]=useState(false);const[hidden,setHidden]=useState(false);const[dark,setDark]=useState(false);// The section colour while over a Dark Chrome section (Section Colors), else \"\".\nconst[accent,setAccent]=useState(\"\");// The page's starting colourway arrives just after load: take it instantly,\n// and only fade between colourways once the page has settled.\nconst[settled,setSettled]=useState(false);// The bar stays clear until it knows the page's colours, then fades in.\nconst[ready,setReady]=useState(false);useEffect(()=>{if(!isStatic)installLandings();},[isStatic]);useEffect(()=>{const id=window.setTimeout(()=>setSettled(true),1200);return()=>window.clearTimeout(id);},[]);const pages=navigate===\"pages\";// Pages mode: the active link follows the router, so it's right from the first\n// render and moves as the route changes, without a reload to start it over.\nconst router=useRouter();const routePath=router?.routes?.[router?.currentRouteId]?.path;const[scrolled,setScrolled]=useState(0);// A clicked link takes the indicator straight away, ahead of the route.\nconst[pending,setPending]=useState(null);// While the browser holds the screen for a page change, the indicator holds too,\n// then glides once the change starts to play.\nconst[held,setHeld]=useState(null);useEffect(()=>setPending(null),[routePath]);const active=pages?held??pending??pageIndex(items,routePath):scrolled;const setActive=setScrolled;const[contactOpen,setContactOpen]=useState(false);useEffect(()=>{if(!pages||typeof window===\"undefined\")return;const onState=e=>setContactOpen(!!e.detail?.open);window.addEventListener(\"ooo:contact-state\",onState);return()=>window.removeEventListener(\"ooo:contact-state\",onState);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[pages]);const[hovered,setHovered]=useState(null);// ── Work menu ──\n// Hover-capable screens only; on touch, Work is simply a link to the Work page.\nconst[canHover,setCanHover]=useState(false);const[mounted,setMounted]=useState(false);useEffect(()=>{setMounted(true);setCanHover(window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches);},[]);const menuOn=pages&&canHover&&!isStatic;const[workOpen,setWorkOpen]=useState(false);const[peek,setPeek]=useState(0);// The highlighted row (null when the cursor is off the list); it glides between rows.\nconst[lit,setLit]=useState(null);const rowRefs=useRef([]);const listRef=useRef(null);const litFrom=useRef(null);const[menuPos,setMenuPos]=useState({top:72,left:16});const workAnchor=useRef(null);const menuRef=useRef(null);const closeTimer=useRef(0);const placeMenu=useCallback(()=>{const a=workAnchor.current?.getBoundingClientRect();const nav=barRef.current?.getBoundingClientRect();const vw=document.documentElement.clientWidth;const centre=a?a.left+a.width/2:vw/2;setMenuPos({top:(nav?nav.bottom:64)+8,left:Math.min(Math.max(16,centre-MENU_W/2),vw-16-MENU_W)});},[]);const openWork=useCallback(()=>{window.clearTimeout(closeTimer.current);placeMenu();setWorkOpen(was=>{if(!was)setLit(null);return true;});},[placeMenu]);// A short grace period, so the cursor can travel from the button down into the menu.\nconst closeWorkSoon=useCallback(()=>{window.clearTimeout(closeTimer.current);closeTimer.current=window.setTimeout(()=>setWorkOpen(false),240);},[]);const here=typeof window===\"undefined\"?\"\":window.location.pathname.replace(/\\/+$/,\"\");useEffect(()=>setWorkOpen(false),[routePath]);useEffect(()=>{if(contactOpen)setWorkOpen(false);},[contactOpen]);useEffect(()=>{if(!workOpen)return;const startY=window.scrollY;const onKey=e=>{if(e.key===\"Escape\"){setWorkOpen(false);workAnchor.current?.focus({preventScroll:true});}};const onScroll=()=>{if(Math.abs(window.scrollY-startY)>160)setWorkOpen(false);else placeMenu();};const onDown=e=>{const t=e.target;if(!menuRef.current?.contains(t)&&!workAnchor.current?.contains(t))setWorkOpen(false);};window.addEventListener(\"keydown\",onKey);window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",placeMenu);window.addEventListener(\"pointerdown\",onDown);return()=>{window.removeEventListener(\"keydown\",onKey);window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",placeMenu);window.removeEventListener(\"pointerdown\",onDown);};},[workOpen,placeMenu]);useEffect(()=>()=>window.clearTimeout(closeTimer.current),[]);// Phones get the same frosted blur as desktop.\nconst[touch,setTouch]=useState(false);useEffect(()=>{if(followTone)setTouch(window.matchMedia(\"(hover: none) and (pointer: coarse)\").matches);},[followTone]);const barRef=useRef(null);const itemsRef=useRef(items);itemsRef.current=items;const itemsKey=items.map(it=>it.link).join(\"|\");useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const darkIds=darkSections.split(\",\").map(s=>s.trim()).filter(Boolean);let lastY=window.scrollY;let travel=0;let raf=0;function update(){raf=0;const y=window.scrollY;const vh=window.innerHeight;const dy=y-lastY;lastY=y;const isStuck=y>restTop-stuckTop+4;// Hide after a deliberate downward scroll; reveal on any upward intent.\nif(hideOnScroll){travel=Math.sign(dy)===Math.sign(travel)?travel+dy:dy;if(y<vh*.6)setHidden(false);else if(travel>48)setHidden(true);else if(travel<-8)setHidden(false);}// Which section are we in? The last one whose top has passed 40% of the viewport.\nconst probe=y+vh*.4;let current=0;const list=itemsRef.current;list.forEach((item,i)=>{const top=sectionTop(hashOf(item.link));if(top!==null&&top<=probe)current=i;});const nearBottom=y+vh>=document.documentElement.scrollHeight-4;if(nearBottom){const last=list.length-1;if(sectionTop(hashOf(list[last].link))!==null)current=last;}// Are we floating over a dark section?\nconst bar=barRef.current?.getBoundingClientRect();const mid=bar?bar.top+bar.height/2:stuckTop+20;const overDark=darkIds.some(id=>{const el=document.getElementById(id);if(!el)return false;const r=el.getBoundingClientRect();return r.top<=mid&&r.bottom>=mid;});startTransition(()=>{setStuck(isStuck);if(!pages)setActive(current);if(!followTone)setDark(overDark);});}function onScroll(){if(!raf)raf=requestAnimationFrame(update);}update();window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",onScroll);return()=>{window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",onScroll);if(raf)cancelAnimationFrame(raf);};},[isStatic,restTop,stuckTop,darkSections,hideOnScroll,followTone,itemsKey]);// Follow the page tone set by Section Colors, so the bar flips in the\n// same frame as the background behind it.\nuseEffect(()=>{if(isStatic||!followTone||typeof window===\"undefined\")return;const html=document.documentElement;// Dark over a dark page. Over a Dark Chrome section the bar is frosted\n// ink at low opacity, with an ink pill and the section colour as its text.\nconst read=()=>{const chrome=html.getAttribute(\"data-ooo-chrome\")===\"dark\";setDark(pageIsDark(html));setAccent(chrome?html.style.getPropertyValue(\"--ooo-chrome-accent\").trim():\"\");};read();setReady(true);const mo=new MutationObserver(read);mo.observe(html,{attributes:true,attributeFilter:[\"data-ooo-tone\",\"data-ooo-chrome\"]});return()=>mo.disconnect();},[isStatic,followTone]);function onClick(e,item,i){if(pages){if(isContact(item.link)){e.preventDefault();window.dispatchEvent(new CustomEvent(\"ooo:contact\",{detail:{toggle:true}}));return;}if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button!==0)return;const page=PAGE_FOR[item.link];const routes=router?.routes||{};const routeId=Object.keys(routes).find(id=>routes[id]?.path===page);if(!routeId||typeof router.navigate!==\"function\")return;e.preventDefault();// Already on that very page: back to the top. On a page beneath it (a case study\n// under Work), go back to the page itself.\nconst here=window.location.pathname.replace(/\\/+$/,\"\")||\"/\";if(i===active&&here===page){window.scrollTo({top:0,behavior:reduceMotion?\"auto\":\"smooth\"});return;}setHidden(false);transitionTo(routeId,i);return;}const id=hashOf(item.link);if(!id||typeof window===\"undefined\")return;const top=sectionTop(id);if(top===null)return;e.preventDefault();setActive(i);setHidden(false);window.scrollTo({top:id===\"top\"?0:top,behavior:reduceMotion?\"auto\":\"smooth\"});if(window.history?.replaceState)window.history.replaceState(null,\"\",id===\"top\"?\" \":`#${id}`);}// Plays a page change to routeId, with the indicator moving to link i.\nfunction transitionTo(routeId,i){const go=()=>{const from=window.location.pathname;router.navigate(routeId);// Settle once the new page is in. Timers, not frames: frames are held while the\n// browser waits on this, so they'd never come.\nreturn new Promise(done=>{const t0=performance.now();const wait=()=>{if(window.location.pathname!==from||performance.now()-t0>800)window.setTimeout(done,40);else window.setTimeout(wait,16);};wait();});};const vt=document.startViewTransition;if(vt&&!reduceMotion){setHeld(active);setPending(i);const t=vt.call(document,go);const release=()=>setHeld(null);t.ready.then(release,release);}else{setPending(i);go();}}// A case study from the Work menu.\nfunction openCase(e,path){setWorkOpen(false);if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button!==0)return;const routes=router?.routes||{};const routeId=Object.keys(routes).find(id=>routes[id]?.path===path);if(!routeId||typeof router.navigate!==\"function\")return;e.preventDefault();if(here===path){window.scrollTo({top:0,behavior:reduceMotion?\"auto\":\"smooth\"});return;}setHidden(false);transitionTo(routeId,items.findIndex(it=>isWork(it.link)));}const fast={duration:reduceMotion?0:.35,ease:EASE};// Tone changes take as long as the page background's fade.\nconst toneFade={duration:reduceMotion||!settled?0:.7,ease:EASE};const onDark=followTone?dark:stuck&&dark;const glass=stuck?accent?{background:\"rgba(13, 13, 13, 0.06)\",borderColor:\"rgba(13, 13, 13, 0.08)\"}:dark?{background:\"rgba(24, 24, 24, 0.55)\",borderColor:\"rgba(255, 255, 255, 0.08)\"}:{background:\"rgba(255, 255, 255, 0.6)\",borderColor:\"rgba(13, 13, 13, 0.06)\"}:{background:\"rgba(255, 255, 255, 0)\",borderColor:\"rgba(13, 13, 13, 0)\"};const textIdle=onDark?\"#FFFFFF\":INK;const indicator=onDark?\"#FFFFFF\":INK;const textActive=accent||(onDark?INK:\"#FFFFFF\");const pillIdleBg=stuck?\"rgba(13, 13, 13, 0)\":onDark?\"rgba(255, 255, 255, 0.1)\":\"rgba(13, 13, 13, 0.08)\";const pillHoverBg=stuck?dark?\"rgba(255, 255, 255, 0.1)\":\"rgba(13, 13, 13, 0.06)\":onDark?\"rgba(255, 255, 255, 0.18)\":\"rgba(13, 13, 13, 0.16)\";return /*#__PURE__*/_jsxs(\"div\",{style:{...style,position:\"relative\",width:\"100%\",height:\"100%\",pointerEvents:\"none\",display:\"flex\",justifyContent:\"center\",alignItems:\"flex-start\"},children:[/*#__PURE__*/_jsx(\"style\",{children:BUTTON_CSS}),pages&&!reduceMotion&&/*#__PURE__*/_jsx(\"style\",{children:PAGE_CSS}),/*#__PURE__*/_jsx(motion.nav,{ref:barRef,\"aria-label\":\"Main\",initial:false,animate:{y:isStatic?restTop:hidden?-80:stuck?stuckTop:restTop,opacity:hidden||!(ready||isStatic||!followTone)?0:1,padding:stuck?4:0,...glass},transition:{...fast,...followTone?{background:toneFade,borderColor:toneFade}:null,y:{duration:reduceMotion?0:.45,ease:EASE}},style:{pointerEvents:hidden?\"none\":\"auto\",display:\"flex\",gap:stuck?2:8,// Concentric with the pills: their 4px radius plus the 4px padding and 1px border.\nborderRadius:9,border:\"1px solid\",// No colour boost over a section colour: it muddies the yellow.\nbackdropFilter:stuck?accent?\"blur(24px)\":\"blur(24px) saturate(180%)\":\"none\",WebkitBackdropFilter:stuck?accent?\"blur(24px)\":\"blur(24px) saturate(180%)\":\"none\",transition:\"gap 0.35s cubic-bezier(0.16, 1, 0.3, 1)\",viewTransitionName:pages?\"ooo-nav\":undefined},children:/*#__PURE__*/_jsx(LayoutGroup,{id:groupId,children:items.map((item,i)=>{const isActive=i===active;const contactItem=pages&&isContact(item.link);const workItem=menuOn&&isWork(item.link);const pressed=contactItem&&contactOpen||workItem&&workOpen;return /*#__PURE__*/_jsxs(motion.a,{ref:workItem?workAnchor:undefined,href:pages?PAGE_FOR[item.link]||item.link:item.link,\"data-ooo-contact-trigger\":contactItem?\"\":undefined,\"aria-haspopup\":contactItem?\"dialog\":workItem?\"menu\":undefined,\"aria-expanded\":contactItem||workItem?pressed:undefined,\"aria-current\":isActive?\"location\":undefined,onClick:e=>{if(workItem)setWorkOpen(false);onClick(e,item,i);},onMouseEnter:()=>{setHovered(i);if(workItem)openWork();},onMouseLeave:()=>{setHovered(null);if(workItem)closeWorkSoon();},onKeyDown:workItem?e=>{if(e.key!==\"ArrowDown\")return;e.preventDefault();openWork();window.setTimeout(()=>menuRef.current?.querySelector(\"a\")?.focus({preventScroll:true}),60);}:undefined,whileTap:reduceMotion?undefined:{scale:.96},initial:false,animate:{backgroundColor:isActive?\"rgba(0, 0, 0, 0)\":hovered===i||pressed?pillHoverBg:pillIdleBg,color:isActive?textActive:textIdle},transition:{duration:reduceMotion||!settled?0:.2,ease:EASE,...followTone?{color:toneFade}:null},style:{position:\"relative\",display:\"block\",padding:\"6.5px 14px\",borderRadius:4,textDecoration:\"none\",whiteSpace:\"nowrap\",isolation:\"isolate\",fontSize:12,lineHeight:\"14px\",letterSpacing:\"0.02em\",...labelFont},children:[isActive&&/*#__PURE__*/_jsx(motion.span,{layoutId:\"nav-indicator\",\"aria-hidden\":\"true\",initial:false,animate:{backgroundColor:indicator},transition:reduceMotion||isStatic?{duration:0}:{...GLIDE,backgroundColor:followTone?toneFade:{duration:.3}},style:{position:\"absolute\",inset:0,borderRadius:4,zIndex:-1}}),item.label]},i);})})}),menuOn&&mounted&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(AnimatePresence,{children:[workOpen&&!hidden&&// An invisible bridge over the gap between the nav and the menu, so a\n// slow or diagonal move down into the menu never closes it on the way.\n/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",onMouseEnter:()=>window.clearTimeout(closeTimer.current),onMouseLeave:closeWorkSoon,style:{position:\"fixed\",top:menuPos.top-14,left:menuPos.left,width:MENU_W,height:14,zIndex:1100}},\"bridge\"),workOpen&&!hidden&&/*#__PURE__*/_jsxs(motion.div,{ref:menuRef,role:\"menu\",\"aria-label\":\"Case studies\",onMouseEnter:()=>window.clearTimeout(closeTimer.current),onMouseLeave:closeWorkSoon,onKeyDown:e=>{if(e.key!==\"ArrowDown\"&&e.key!==\"ArrowUp\")return;e.preventDefault();const links=Array.from(menuRef.current?.querySelectorAll(\"a\")||[]);const at=links.indexOf(document.activeElement);links[(at+(e.key===\"ArrowDown\"?1:-1)+links.length)%links.length]?.focus({preventScroll:true});},initial:{clipPath:\"inset(0% 30% 88% 30% round 8px)\",opacity:0},animate:{clipPath:\"inset(0% 0% 0% 0% round 8px)\",opacity:1},exit:{clipPath:\"inset(0% 30% 88% 30% round 8px)\",opacity:0,transition:{duration:reduceMotion?0:.25,ease:EASE}},transition:{duration:reduceMotion?0:.5,ease:EASE},style:{position:\"fixed\",top:menuPos.top,left:menuPos.left,width:MENU_W,zIndex:1100,display:\"grid\",gridTemplateColumns:`minmax(0, 1fr) ${PREVIEW}px`,gap:6,padding:6,borderRadius:8,background:INK,color:\"#FFFFFF\",boxSizing:\"border-box\",// The nav's faint edge, so the menu holds its shape over dark content.\nboxShadow:\"inset 0 0 0 1px rgba(255, 255, 255, 0.08)\",fontFamily:'\"ABC Diatype Regular\", \"ABC Diatype Regular Placeholder\", sans-serif'},children:[/*#__PURE__*/_jsxs(\"div\",{ref:listRef,onMouseLeave:()=>setLit(null),style:{position:\"relative\",display:\"flex\",flexDirection:\"column\"},children:[(()=>{const row=lit===null?null:rowRefs.current[lit];const from=litFrom.current;litFrom.current=lit;// Appearing: it starts where it lands; moving: it glides.\nconst jump=from===null||reduceMotion;return /*#__PURE__*/_jsx(motion.span,{\"aria-hidden\":\"true\",initial:false,animate:{y:row?row.offsetTop:0,height:row?row.offsetHeight:0,opacity:row?1:0},transition:{y:jump?{duration:0}:GLIDE,height:jump?{duration:0}:GLIDE,opacity:{duration:.2,ease:EASE}},style:{position:\"absolute\",left:0,right:0,top:0,borderRadius:4,background:W(.06),pointerEvents:\"none\"}});})(),CASES.map((c,i)=>{const on=lit===i;const current=here===c.href;return /*#__PURE__*/_jsxs(motion.a,{role:\"menuitem\",href:c.href,\"aria-current\":current?\"page\":undefined,ref:el=>rowRefs.current[i]=el,onClick:e=>openCase(e,c.href),onMouseEnter:()=>{setPeek(i);setLit(i);},onFocus:()=>{setPeek(i);setLit(i);},initial:{opacity:0,y:reduceMotion?0:-6},animate:{opacity:1,y:0},transition:{duration:.4,ease:EASE,delay:reduceMotion?0:.08+i*.04},style:{position:\"relative\",display:\"flex\",alignItems:\"center\",gap:12,padding:\"12px\",borderRadius:4,textDecoration:\"none\",color:\"#FFFFFF\",outline:\"none\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{flex:1,minWidth:0,display:\"flex\",flexDirection:\"column\",gap:2},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:'\"ABC Diatype Medium\", \"ABC Diatype Medium Placeholder\", sans-serif',fontSize:15,lineHeight:\"20px\",letterSpacing:\"0.01em\"},children:c.name}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:15,lineHeight:\"20px\",letterSpacing:\"0.01em\",color:W(.4)},children:c.sector})]}),current?/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,lineHeight:\"14px\",letterSpacing:\"0.02em\",color:W(.4)},children:\"Viewing\"}):/*#__PURE__*/_jsx(\"span\",{style:{opacity:on?1:0,transform:on?\"none\":\"translateX(-4px)\",transition:\"opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.35s cubic-bezier(0.16, 1, 0.3, 1)\"},children:/*#__PURE__*/_jsx(MenuArrow,{})})]},c.href);}),/*#__PURE__*/_jsxs(motion.a,{role:\"menuitem\",href:\"/work\",ref:el=>rowRefs.current[CASES.length]=el,onMouseEnter:()=>setLit(CASES.length),onFocus:()=>setLit(CASES.length),onClick:e=>{setWorkOpen(false);onClick(e,items.find(it=>isWork(it.link))||items[1],items.findIndex(it=>isWork(it.link)));},initial:{opacity:0},animate:{opacity:1},transition:{duration:.4,ease:EASE,delay:reduceMotion?0:.26},style:{position:\"relative\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",marginTop:6,padding:\"11px 12px\",borderRadius:4,textDecoration:\"none\",color:\"#FFFFFF\",outline:\"none\",fontSize:12,lineHeight:\"14px\",letterSpacing:\"0.02em\"},children:[\"All work\",/*#__PURE__*/_jsx(\"span\",{style:{opacity:lit===CASES.length?1:.4,transform:lit===CASES.length?\"translateX(2px)\":\"none\",transition:\"opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.35s cubic-bezier(0.16, 1, 0.3, 1)\"},children:/*#__PURE__*/_jsx(MenuArrow,{})})]})]}),/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{position:\"relative\",alignSelf:\"start\",width:PREVIEW,aspectRatio:\"1 / 1\",borderRadius:4,overflow:\"hidden\",background:\"#171717\"},children:CASES.map((c,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0,opacity:peek===i?1:0,transform:peek===i||reduceMotion?\"none\":\"scale(1.04)\",transition:\"opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1)\"},children:[/*#__PURE__*/_jsx(\"img\",{src:`${c.image}?scale-down-to=512`,alt:\"\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}}),c.film&&peek===i&&!reduceMotion&&/*#__PURE__*/_jsx(\"video\",{src:c.film,autoPlay:true,muted:true,loop:true,playsInline:true,preload:\"auto\",style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}})]},c.href))})]},\"menu\")]}),document.body)]});}addPropertyControls(StickyNav,{items:{type:ControlType.Array,title:\"Links\",maxCount:8,control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Link\"},link:{type:ControlType.String,title:\"Link\",defaultValue:\"#top\",description:\"#section-id or a URL\"}}},defaultValue:DEFAULT_ITEMS},restTop:{type:ControlType.Number,title:\"Top at Rest\",defaultValue:40,min:0,max:120,unit:\"px\"},stuckTop:{type:ControlType.Number,title:\"Top When Stuck\",defaultValue:16,min:0,max:80,unit:\"px\"},darkSections:{type:ControlType.String,title:\"Dark Sections\",defaultValue:\"belief, contact\",description:\"Section IDs the bar floats over in its dark style.\"},hideOnScroll:{type:ControlType.Boolean,title:\"Hide on Scroll\",defaultValue:false},navigate:{type:ControlType.Enum,title:\"Navigate\",options:[\"sections\",\"pages\"],optionTitles:[\"Sections\",\"Pages\"],defaultValue:\"sections\",displaySegmentedControl:true,description:\"Pages: Overview, Work and Programmes go to their pages; Contact opens the contact panel.\"},followTone:{type:ControlType.Boolean,title:\"Follow Page Tone\",defaultValue:false,description:\"Switch with Section Colors' Invert Content instead of Dark Sections.\"},labelFont:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"12px\",variant:\"Regular\",letterSpacing:\"0.02em\",lineHeight:\"14px\"}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StickyNav\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StickyNav.map","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/*\n * Time of Day Image (from the 2026 site)\n *\n * Plays the footer desk film for the time of day in London: morning 6-13,\n * afternoon 13-16, evening 16-20, night otherwise. It swaps over by itself at\n * each boundary while the page is open. Each slot falls back to the desk films.\n */const DEFAULTS={morning:\"https://framerusercontent.com/assets/DOpz0ryQlubrQOr8GuGZABYFk.mp4\",afternoon:\"https://framerusercontent.com/assets/BGEYPW83uLEOW4VEEvsMkAexPk.mp4\",evening:\"https://framerusercontent.com/assets/qTFdvb8yhnzScYeDdnakBg2AW0.mp4\",night:\"https://framerusercontent.com/assets/l9TViAaYO6KvdmRcQ8auTpEmA8.mp4\"};const LONDON_TIME_ZONE=\"Europe/London\";function getLondonHour(){const formatter=new Intl.DateTimeFormat(\"en-GB\",{timeZone:LONDON_TIME_ZONE,hour:\"numeric\",hourCycle:\"h23\"});const parts=formatter.formatToParts(new Date);const hourPart=parts.find(part=>part.type===\"hour\");if(!hourPart)return 0;const hour=Number(hourPart.value);return Number.isFinite(hour)?hour:0;}function getLondonTimeParts(){const formatter=new Intl.DateTimeFormat(\"en-GB\",{timeZone:LONDON_TIME_ZONE,hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",hourCycle:\"h23\"});const parts=formatter.formatToParts(new Date);const hour=Number(parts.find(part=>part.type===\"hour\")?.value??0);const minute=Number(parts.find(part=>part.type===\"minute\")?.value??0);const second=Number(parts.find(part=>part.type===\"second\")?.value??0);return{hour:Number.isFinite(hour)?hour:0,minute:Number.isFinite(minute)?minute:0,second:Number.isFinite(second)?second:0};}function getTimeBucket(hour){if(hour>=6&&hour<13){return\"morning\";}if(hour>=13&&hour<16){return\"afternoon\";}if(hour>=16&&hour<20){return\"evening\";}return\"night\";}function getCurrentBucket(){return getTimeBucket(getLondonHour());}function getMillisecondsUntilNextBoundary(){const{hour,minute,second}=getLondonTimeParts();const nowInSeconds=hour*3600+minute*60+second;const boundaries=[6,13,16,20].map(boundaryHour=>boundaryHour*3600);const nextBoundary=boundaries.find(boundary=>boundary>nowInSeconds)??boundaries[0]+24*3600;// Small buffer helps avoid firing just before exact boundary due to timer jitter.\nreturn Math.max(1e3,(nextBoundary-nowInSeconds)*1e3+250);}function resolveVideoURL(value){if(!value)return\"\";if(typeof value===\"string\"){return value;}if(typeof value.src===\"string\"){return value.src;}if(typeof value.url===\"string\"){return value.url;}return\"\";}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function TimeOfDayImage(props){const{Morning,Afternoon,Evening,Night}=props;const isStaticRenderer=useIsStaticRenderer();const[bucket,setBucket]=React.useState(null);const timeoutRef=React.useRef(null);const intervalRef=React.useRef(null);const applyCurrentBucket=React.useCallback(()=>{const nextBucket=getCurrentBucket();React.startTransition(()=>{setBucket(previousBucket=>previousBucket===nextBucket?previousBucket:nextBucket);});},[]);const clearScheduledTimers=React.useCallback(()=>{if(typeof window===\"undefined\")return;if(timeoutRef.current!==null){window.clearTimeout(timeoutRef.current);timeoutRef.current=null;}if(intervalRef.current!==null){window.clearInterval(intervalRef.current);intervalRef.current=null;}},[]);const scheduleBoundaryRefresh=React.useCallback(()=>{if(typeof window===\"undefined\")return;if(isStaticRenderer)return;clearScheduledTimers();const delay=getMillisecondsUntilNextBoundary();timeoutRef.current=window.setTimeout(()=>{applyCurrentBucket();scheduleBoundaryRefresh();},delay);// Heartbeat as a reliability fallback for throttled background tabs.\nintervalRef.current=window.setInterval(()=>{applyCurrentBucket();},60*1e3);},[applyCurrentBucket,clearScheduledTimers,isStaticRenderer]);React.useEffect(()=>{if(isStaticRenderer){applyCurrentBucket();return;}if(typeof window===\"undefined\")return;applyCurrentBucket();scheduleBoundaryRefresh();const handleVisibilityOrFocus=()=>{applyCurrentBucket();scheduleBoundaryRefresh();};document.addEventListener(\"visibilitychange\",handleVisibilityOrFocus);window.addEventListener(\"focus\",handleVisibilityOrFocus);window.addEventListener(\"pageshow\",handleVisibilityOrFocus);return()=>{document.removeEventListener(\"visibilitychange\",handleVisibilityOrFocus);window.removeEventListener(\"focus\",handleVisibilityOrFocus);window.removeEventListener(\"pageshow\",handleVisibilityOrFocus);clearScheduledTimers();};},[applyCurrentBucket,clearScheduledTimers,isStaticRenderer,scheduleBoundaryRefresh]);const morningSource=React.useMemo(()=>resolveVideoURL(Morning)||DEFAULTS.morning,[Morning]);const afternoonSource=React.useMemo(()=>resolveVideoURL(Afternoon)||DEFAULTS.afternoon,[Afternoon]);const eveningSource=React.useMemo(()=>resolveVideoURL(Evening)||DEFAULTS.evening,[Evening]);const nightSource=React.useMemo(()=>resolveVideoURL(Night)||DEFAULTS.night,[Night]);// The footer sits at the bottom of every page: only fetch its film once it's close\n// to the screen, so pages that are never scrolled that far don't download it.\nconst boxRef=React.useRef(null);const[near,setNear]=React.useState(false);React.useEffect(()=>{const el=boxRef.current;if(!el||near)return;if(typeof IntersectionObserver===\"undefined\"){setNear(true);return;}const io=new IntersectionObserver(entries=>{if(entries.some(e=>e.isIntersecting)){setNear(true);io.disconnect();}},{rootMargin:\"800px 0px\"});io.observe(el);return()=>io.disconnect();},[near]);let selectedSource=\"\";switch(bucket){case\"morning\":selectedSource=morningSource;break;case\"afternoon\":selectedSource=afternoonSource;break;case\"evening\":selectedSource=eveningSource;break;case\"night\":selectedSource=nightSource;break;default:selectedSource=\"\";break;}return /*#__PURE__*/_jsx(\"div\",{ref:boxRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",background:\"#0D0D0D\"},children:selectedSource&&near&&/*#__PURE__*/_jsx(\"video\",{src:selectedSource,autoPlay:true,muted:true,loop:true,playsInline:true,preload:\"auto\",\"aria-label\":`${bucket} background video`,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"center\",display:\"block\"}},`${bucket}-${selectedSource}`)});}addPropertyControls(TimeOfDayImage,{Morning:{type:ControlType.File,title:\"Morning\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\",\"ogg\"]},Afternoon:{type:ControlType.File,title:\"Afternoon\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\",\"ogg\"]},Evening:{type:ControlType.File,title:\"Evening\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\",\"ogg\"]},Night:{type:ControlType.File,title:\"Night\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\",\"ogg\"]}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TimeOfDayImage\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TimeOfDayImage.map","function t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t;}var e,r,i=Object.create,n=Object.defineProperty,s=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,a=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,l=(t,e)=>function(){try{return e||(0,t[o(t)[0]])((e={exports:{}}).exports,e),e.exports;}catch(t){throw e=0,t;}},h=(t,e,r,i)=>{if(e&&\"object\"==typeof e||\"function\"==typeof e)for(let a of o(e))u.call(t,a)||a===r||n(t,a,{get:()=>e[a],enumerable:!(i=s(e,a))||i.enumerable});return t;},c=(t,e,r)=>(r=null!=t?i(a(t)):{},h(// If the importer is in node compatibility mode or this is not an ESM\n    // file that has been converted to a CommonJS file using a Babel-\n    // compatible transform (i.e. \"__esModule\" has not been set), then set\n    // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n    !e&&t&&t.__esModule?r:n(r,\"default\",{value:t,enumerable:!0}),t)),f=l({\"../../../node_modules/dataloader/index.js\"(t,e){var r,i=/* @__PURE__ */function(){function t(t,e){if(\"function\"!=typeof t)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: \"+t+\".\");this._batchLoadFn=t,this._maxBatchSize=function(t){if(!(!t||!1!==t.batch))return 1;var e=t&&t.maxBatchSize;if(void 0===e)return 1/0;if(\"number\"!=typeof e||e<1)throw TypeError(\"maxBatchSize must be a positive number: \"+e);return e;}(e),this._batchScheduleFn=function(t){var e=t&&t.batchScheduleFn;if(void 0===e)return n;if(\"function\"!=typeof e)throw TypeError(\"batchScheduleFn must be a function: \"+e);return e;}(e),this._cacheKeyFn=function(t){var e=t&&t.cacheKeyFn;if(void 0===e)return function(t){return t;};if(\"function\"!=typeof e)throw TypeError(\"cacheKeyFn must be a function: \"+e);return e;}(e),this._cacheMap=function(t){if(!(!t||!1!==t.cache))return null;var e=t&&t.cacheMap;if(void 0===e)return /* @__PURE__ */new Map;if(null!==e){var r=[\"get\",\"set\",\"delete\",\"clear\"].filter(function(t){return e&&\"function\"!=typeof e[t];});if(0!==r.length)throw TypeError(\"Custom cacheMap missing methods: \"+r.join(\", \"));}return e;}(e),this._batch=null,this.name=e&&e.name?e.name:null;}var e=t.prototype;return e.load=function(t){if(null==t)throw TypeError(\"The loader.load() function must be called with a value, but got: \"+String(t)+\".\");var e=function(t){var e=t._batch;if(null!==e&&!e.hasDispatched&&e.keys.length<t._maxBatchSize)return e;var r={hasDispatched:!1,keys:[],callbacks:[]};return t._batch=r,t._batchScheduleFn(function(){(function(t,e){var r;if(e.hasDispatched=!0,0===e.keys.length){o(e);return;}try{r=t._batchLoadFn(e.keys);}catch(r){return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: \"+String(r)+\".\"));}if(!r||\"function\"!=typeof r.then)return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: \"+String(r)+\".\"));r.then(function(t){if(!a(t))throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: \"+String(t)+\".\");if(t.length!==e.keys.length)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.\\n\\nKeys:\\n\"+String(e.keys)+\"\\n\\nValues:\\n\"+String(t));o(e);for(var r=0;r<e.callbacks.length;r++){var i=t[r];i instanceof Error?e.callbacks[r].reject(i):e.callbacks[r].resolve(i);}}).catch(function(r){s(t,e,r);});})(t,r);}),r;}(this),r=this._cacheMap,i=this._cacheKeyFn(t);if(r){var n=r.get(i);if(n){var u=e.cacheHits||(e.cacheHits=[]);return new Promise(function(t){u.push(function(){t(n);});});}}e.keys.push(t);var l=new Promise(function(t,r){e.callbacks.push({resolve:t,reject:r});});return r&&r.set(i,l),l;},e.loadMany=function(t){if(!a(t))throw TypeError(\"The loader.loadMany() function must be called with Array<key> but got: \"+t+\".\");for(var e=[],r=0;r<t.length;r++)e.push(this.load(t[r]).catch(function(t){return t;}));return Promise.all(e);},e.clear=function(t){var e=this._cacheMap;if(e){var r=this._cacheKeyFn(t);e.delete(r);}return this;},e.clearAll=function(){var t=this._cacheMap;return t&&t.clear(),this;},e.prime=function(t,e){var r=this._cacheMap;if(r){var i,n=this._cacheKeyFn(t);void 0===r.get(n)&&(e instanceof Error?(i=Promise.reject(e)).catch(function(){}):i=Promise.resolve(e),r.set(n,i));}return this;},t;}(),n=\"object\"==typeof process&&\"function\"==typeof process.nextTick?function(t){r||(r=Promise.resolve()),r.then(function(){process.nextTick(t);});}:\"function\"==typeof setImmediate?function(t){setImmediate(t);}:function(t){setTimeout(t);};function s(t,e,r){o(e);for(var i=0;i<e.keys.length;i++)t.clear(e.keys[i]),e.callbacks[i].reject(r);}function o(t){if(t.cacheHits)for(var e=0;e<t.cacheHits.length;e++)t.cacheHits[e]();}function a(t){return\"object\"==typeof t&&null!==t&&\"number\"==typeof t.length&&(0===t.length||t.length>0&&Object.prototype.hasOwnProperty.call(t,t.length-1));}e.exports=i;}}),d=c(f(),1);import{yieldToMain as g}from\"framer\";// ../../shared/src/yield.ts\nfunction v(t){return\"function\"==typeof t?t():t;}var y={background:0,\"user-visible\":1,\"user-blocking\":2};function p(t,e){return y[t]>y[e];}// ../../library/src/utils/schedulerPriority.ts\nfunction m(t){let e;for(let r of t){let t=v(r);if((void 0===e||p(t,e))&&(e=t),\"user-blocking\"===e)break;}return e;}// src/code-generation/components/cms/bundled/BufferReader.ts\nvar w={Uint8:1,Uint16:2,Uint32:4,BigUint64:8,Int8:1,Int16:2,Int32:4,BigInt64:8,Float32:4,Float64:8},b=(e=class e{getOffset(){return this.offset;}ensureLength(t){let e=this.bytes.length;if(!(this.offset+t<=e))throw Error(\"Reading out of bounds\");}readUint8(){let t=w.Uint8;this.ensureLength(t);let e=this.view.getUint8(this.offset);return this.offset+=t,e;}readUint16(){let t=w.Uint16;this.ensureLength(t);let e=this.view.getUint16(this.offset);return this.offset+=t,e;}readUint32(){let t=w.Uint32;this.ensureLength(t);let e=this.view.getUint32(this.offset);return this.offset+=t,e;}readUint64(){let t=this.readBigUint64();return Number(t);}readBigUint64(){let t=w.BigUint64;this.ensureLength(t);let e=this.view.getBigUint64(this.offset);return this.offset+=t,e;}readInt8(){let t=w.Int8;this.ensureLength(t);let e=this.view.getInt8(this.offset);return this.offset+=t,e;}readInt16(){let t=w.Int16;this.ensureLength(t);let e=this.view.getInt16(this.offset);return this.offset+=t,e;}readInt32(){let t=w.Int32;this.ensureLength(t);let e=this.view.getInt32(this.offset);return this.offset+=t,e;}readInt64(){let t=this.readBigInt64();return Number(t);}readBigInt64(){let t=w.BigInt64;this.ensureLength(t);let e=this.view.getBigInt64(this.offset);return this.offset+=t,e;}readFloat32(){let t=w.Float32;this.ensureLength(t);let e=this.view.getFloat32(this.offset);return this.offset+=t,e;}readFloat64(){let t=w.Float64;this.ensureLength(t);let e=this.view.getFloat64(this.offset);return this.offset+=t,e;}readBytes(t){let e=this.offset,r=e+t,i=this.bytes.subarray(e,r);return this.offset=r,i;}readString(){let t=this.readUint32(),r=this.readBytes(t);return e.textDecoder.decode(r);}readJson(){let t=this.readString();return JSON.parse(t);}constructor(e){t(this,\"bytes\",void 0),t(this,\"offset\",0),t(this,\"view\",void 0),this.bytes=e,this.view=I(this.bytes);}},// TextDecoder has no per-decode state unless streaming is enabled. Reusing one class-owned decoder\n// avoids constructing one for every CMS item, where each item gets its own BufferReader.\nt(e,\"textDecoder\",new TextDecoder),e);function I(t){return new DataView(t.buffer,t.byteOffset,t.byteLength);}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nimport{ControlType as S,yieldToMain as U}from\"framer\";// ../../library/src/utils/utils.ts\nvar k=\"undefined\"!=typeof window,L=k&&\"function\"==typeof window.requestIdleCallback;// src/code-generation/components/cms/bundled/assert.ts\nfunction B(t,...e){if(!t)throw Error(\"Assertion Error\"+(e.length>0?\": \"+e.join(\" \"):\"\"));}function E(t){throw Error(`Unexpected value: ${t}`);}// src/code-generation/components/cms/bundled/BufferWriter.ts\nvar M=1024,P=1.5,T=t=>2**t-1,x=t=>-(2**(t-1)),F=t=>2**(t-1)-1,N={Uint8:0,Uint16:0,Uint32:0,Uint64:0,BigUint64:0,Int8:x(8),Int16:x(16),Int32:x(32),Int64:Number.MIN_SAFE_INTEGER,BigInt64:-(BigInt(2)**BigInt(63))},A={Uint8:T(8),Uint16:T(16),Uint32:T(32),Uint64:Number.MAX_SAFE_INTEGER,BigUint64:BigInt(2)**BigInt(64)-BigInt(1),Int8:F(8),Int16:F(16),Int32:F(32),Int64:Number.MAX_SAFE_INTEGER,BigInt64:BigInt(2)**BigInt(63)-BigInt(1)};function q(t,e,r,i){B(t>=e,t,\"outside lower bound for\",i),B(t<=r,t,\"outside upper bound for\",i);}var O=class{getOffset(){return this.offset;}slice(t=0,e=this.offset){return this.bytes.slice(t,e);}subarray(t=0,e=this.offset){return this.bytes.subarray(t,e);}ensureLength(t){let e=this.bytes.length;if(this.offset+t<=e)return;let r=new Uint8Array(Math.ceil(e*P)+t);r.set(this.bytes),this.bytes=r,this.view=I(r);}writeUint8(t){q(t,N.Uint8,A.Uint8,\"Uint8\");let e=w.Uint8;this.ensureLength(e),this.view.setUint8(this.offset,t),this.offset+=e;}writeUint16(t){q(t,N.Uint16,A.Uint16,\"Uint16\");let e=w.Uint16;this.ensureLength(e),this.view.setUint16(this.offset,t),this.offset+=e;}writeUint32(t){q(t,N.Uint32,A.Uint32,\"Uint32\");let e=w.Uint32;this.ensureLength(e),this.view.setUint32(this.offset,t),this.offset+=e;}writeUint64(t){q(t,N.Uint64,A.Uint64,\"Uint64\");let e=BigInt(t);this.writeBigUint64(e);}writeBigUint64(t){q(t,N.BigUint64,A.BigUint64,\"BigUint64\");let e=w.BigUint64;this.ensureLength(e),this.view.setBigUint64(this.offset,t),this.offset+=e;}writeInt8(t){q(t,N.Int8,A.Int8,\"Int8\");let e=w.Int8;this.ensureLength(e),this.view.setInt8(this.offset,t),this.offset+=e;}writeInt16(t){q(t,N.Int16,A.Int16,\"Int16\");let e=w.Int16;this.ensureLength(e),this.view.setInt16(this.offset,t),this.offset+=e;}writeInt32(t){q(t,N.Int32,A.Int32,\"Int32\");let e=w.Int32;this.ensureLength(e),this.view.setInt32(this.offset,t),this.offset+=e;}writeInt64(t){q(t,N.Int64,A.Int64,\"Int64\");let e=BigInt(t);this.writeBigInt64(e);}writeBigInt64(t){q(t,N.BigInt64,A.BigInt64,\"BigInt64\");let e=w.BigInt64;this.ensureLength(e),this.view.setBigInt64(this.offset,t),this.offset+=e;}writeFloat32(t){let e=w.Float32;this.ensureLength(e),this.view.setFloat32(this.offset,t),this.offset+=e;}writeFloat64(t){let e=w.Float64;this.ensureLength(e),this.view.setFloat64(this.offset,t),this.offset+=e;}writeBytes(t){let e=t.length;this.ensureLength(e),this.bytes.set(t,this.offset),this.offset+=e;}encodeString(t){let e=this.encodedStrings.get(t);if(e)return e;let r=this.encoder.encode(t);return this.encodedStrings.set(t,r),r;}writeString(t){let e=this.encodeString(t),r=e.length;this.writeUint32(r),this.writeBytes(e);}writeJson(t){let e=JSON.stringify(t);this.writeString(e);}constructor(){t(this,\"offset\",0),t(this,\"bytes\",new Uint8Array(M)),t(this,\"view\",I(this.bytes)),t(this,\"encoder\",new TextEncoder),t(this,\"encodedStrings\",/* @__PURE__ */new Map);}};// src/utils/typeChecks.ts\nfunction _(t){return\"string\"==typeof t;}function j(t){return Number.isFinite(t);}function D(t){return null===t;}// src/code-generation/components/cms/bundled/models/DatabaseItemPointerModel.ts\nvar R=class e{static fromString(t){let[r,i,n]=t.split(\"/\").map(Number);return B(j(r),\"Invalid chunkId\"),B(j(i),\"Invalid offset\"),B(j(n),\"Invalid length\"),new e(r,i,n);}toString(){return`${this.chunkId}/${this.offset}/${this.length}`;}static read(t){let r=t.readUint16(),i=t.readUint32(),n=t.readUint32();return new e(r,i,n);}write(t){t.writeUint16(this.chunkId),t.writeUint32(this.offset),t.writeUint32(this.length);}compare(t){return this.chunkId<t.chunkId?-1:this.chunkId>t.chunkId?1:this.offset<t.offset?-1:this.offset>t.offset?1:(B(this.length===t.length),0);}constructor(e,r,i){t(this,\"chunkId\",void 0),t(this,\"offset\",void 0),t(this,\"length\",void 0),this.chunkId=e,this.offset=r,this.length=i;}};// src/code-generation/components/cms/bundled/models/DatabaseValueModel.ts\nfunction C(t){if(D(t))return 0/* Null */;switch(t.type){case\"array\"/* Array */:return 1/* Array */;case\"boolean\"/* Boolean */:return 2/* Boolean */;case\"color\"/* Color */:return 3/* Color */;case\"date\"/* Date */:return 4/* Date */;case\"enum\"/* Enum */:return 5/* Enum */;case\"file\"/* File */:return 6/* File */;case\"responsiveimage\"/* ResponsiveImage */:return 10/* ResponsiveImage */;case\"link\"/* Link */:return 7/* Link */;case\"number\"/* Number */:return 8/* Number */;case\"object\"/* Object */:return 9/* Object */;case\"richtext\"/* RichText */:return 11/* RichText */;case\"string\"/* String */:return 12/* String */;case\"vectorsetitem\"/* VectorSetItem */:return 13/* VectorSetItem */;default:E(t);}}function J(t){let e=t.readUint16(),i=[];for(let n=0;n<e;n++){let e=r.read(t);i.push(e);}return{type:\"array\"/* Array */,value:i};}function W(t,e){for(let i of(t.writeUint16(e.value.length),e.value))r.write(t,i);}function $(t,e,i){let n=t.value.length,s=e.value.length;if(n<s)return -1;if(n>s)return 1;for(let s=0;s<n;s++){let n=t.value[s],o=e.value[s],a=r.compare(n,o,i);if(0!==a)return a;}return 0;}function z(t){return{type:\"boolean\"/* Boolean */,value:0!==t.readUint8()};}function K(t,e){t.writeUint8(e.value?1:0);}function G(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function V(t){return{type:\"color\"/* Color */,value:t.readString()};}function H(t,e){t.writeString(e.value);}function X(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function Q(t){let e=t.readInt64(),r=new Date(e);return{type:\"date\"/* Date */,value:r.toISOString()};}function Y(t,e){let r=new Date(e.value),i=r.getTime();t.writeInt64(i);}function Z(t,e){let r=new Date(t.value),i=new Date(e.value);return r<i?-1:r>i?1:0;}function tt(t){return{type:\"enum\"/* Enum */,value:t.readString()};}function te(t,e){t.writeString(e.value);}function tr(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function ti(t){return{type:\"file\"/* File */,value:t.readString()};}function tn(t,e){t.writeString(e.value);}function ts(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function to(t){return{type:\"link\"/* Link */,value:t.readJson()};}function ta(t,e){t.writeJson(e.value);}function tu(t,e){let r=JSON.stringify(t.value),i=JSON.stringify(e.value);return r<i?-1:r>i?1:0;}function tl(t){return{type:\"number\"/* Number */,value:t.readFloat64()};}function th(t,e){t.writeFloat64(e.value);}function tc(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function tf(t){let e=t.readUint16(),i={};for(let n=0;n<e;n++){let e=t.readString();i[e]=r.read(t);}return{type:\"object\"/* Object */,value:i};}function td(t,e){let i=Object.entries(e.value);for(let[e,n]of(t.writeUint16(i.length),i))t.writeString(e),r.write(t,n);}function tg(t,e,i){let n=Object.keys(t.value).sort(),s=Object.keys(e.value).sort();if(n.length<s.length)return -1;if(n.length>s.length)return 1;for(let o=0;o<n.length;o++){let a=n[o],u=s[o];if(a<u)return -1;if(a>u)return 1;let l=t.value[a]??null,h=e.value[u]??null,c=r.compare(l,h,i);if(0!==c)return c;}return 0;}function tv(t){return{type:\"responsiveimage\"/* ResponsiveImage */,value:t.readJson()};}function ty(t,e){t.writeJson(e.value);}function tp(t,e){let r=JSON.stringify(t.value),i=JSON.stringify(e.value);return r<i?-1:r>i?1:0;}function tm(t){let e=t.readInt8();if(0===e)return{type:\"richtext\"/* RichText */,value:t.readUint32()};if(1===e)return{type:\"richtext\"/* RichText */,value:t.readString()};throw Error(\"Invalid rich text pointer\");}function tw(t,e){if(j(e.value)){t.writeInt8(0),t.writeUint32(e.value);return;}if(_(e.value)){t.writeInt8(1),t.writeString(e.value);return;}throw Error(\"Invalid rich text pointer\");}function tb(t,e){let r=t.value,i=e.value;if(j(r)&&j(i)||_(r)&&_(i))return r<i?-1:r>i?1:0;throw Error(\"Invalid rich text pointer\");}function tI(t){return{type:\"string\"/* String */,value:t.readString()};}function tS(t,e){t.writeString(e.value);}function tU(t,e,r){let i=t.value,n=e.value;return(0/* CaseInsensitive */===r.type&&(i=t.value.toLowerCase(),n=e.value.toLowerCase()),i<n)?-1:i>n?1:0;}function tk(t){return{type:\"vectorsetitem\"/* VectorSetItem */,value:t.readUint32()};}function tL(t,e){t.writeUint32(e.value);}function tB(t,e){let r=t.value,i=e.value;return r<i?-1:r>i?1:0;}(t=>{t.read=function(t){let e=t.readUint8();switch(e){case 0/* Null */:return null;case 1/* Array */:return J(t);case 2/* Boolean */:return z(t);case 3/* Color */:return V(t);case 4/* Date */:return Q(t);case 5/* Enum */:return tt(t);case 6/* File */:return ti(t);case 7/* Link */:return to(t);case 8/* Number */:return tl(t);case 9/* Object */:return tf(t);case 10/* ResponsiveImage */:return tv(t);case 11/* RichText */:return tm(t);case 12/* String */:return tI(t);case 13/* VectorSetItem */:return tk(t);default:E(e);}},t.write=function(t,e){let r=C(e);if(t.writeUint8(r),!D(e))switch(e.type){case\"array\"/* Array */:return W(t,e);case\"boolean\"/* Boolean */:return K(t,e);case\"color\"/* Color */:return H(t,e);case\"date\"/* Date */:return Y(t,e);case\"enum\"/* Enum */:return te(t,e);case\"file\"/* File */:return tn(t,e);case\"link\"/* Link */:return ta(t,e);case\"number\"/* Number */:return th(t,e);case\"object\"/* Object */:return td(t,e);case\"responsiveimage\"/* ResponsiveImage */:return ty(t,e);case\"richtext\"/* RichText */:return tw(t,e);case\"vectorsetitem\"/* VectorSetItem */:return tL(t,e);case\"string\"/* String */:return tS(t,e);default:E(e);}},t.compare=function(t,e,r){let i=C(t),n=C(e);if(i<n)return -1;if(i>n)return 1;if(D(t)||D(e))return 0;switch(t.type){case\"array\"/* Array */:return B(\"array\"/* Array */===e.type),$(t,e,r);case\"boolean\"/* Boolean */:return B(\"boolean\"/* Boolean */===e.type),G(t,e);case\"color\"/* Color */:return B(\"color\"/* Color */===e.type),X(t,e);case\"date\"/* Date */:return B(\"date\"/* Date */===e.type),Z(t,e);case\"enum\"/* Enum */:return B(\"enum\"/* Enum */===e.type),tr(t,e);case\"file\"/* File */:return B(\"file\"/* File */===e.type),ts(t,e);case\"link\"/* Link */:return B(\"link\"/* Link */===e.type),tu(t,e);case\"number\"/* Number */:return B(\"number\"/* Number */===e.type),tc(t,e);case\"object\"/* Object */:return B(\"object\"/* Object */===e.type),tg(t,e,r);case\"responsiveimage\"/* ResponsiveImage */:return B(\"responsiveimage\"/* ResponsiveImage */===e.type),tp(t,e);case\"richtext\"/* RichText */:return B(\"richtext\"/* RichText */===e.type),tb(t,e);case\"vectorsetitem\"/* VectorSetItem */:return B(\"vectorsetitem\"/* VectorSetItem */===e.type),tB(t,e);case\"string\"/* String */:return B(\"string\"/* String */===e.type),tU(t,e,r);default:E(t);}};})(r||(r={}));// src/code-generation/components/cms/bundled/models/DatabaseDictionaryIndexModel.ts\nvar tE=class e{sortEntries(){this.entries.sort((t,e)=>{for(let i=0;i<this.fieldNames.length;i++){let n=t.values[i],s=e.values[i],o=r.compare(n,s,this.options.collation);if(0!==o)return o;}return t.pointer.compare(e.pointer);});}static async deserialize(t,i){let n=new b(t),s=n.readJson(),o=n.readUint8(),a=[];for(let t=0;t<o;t++){let t=n.readString();a.push(t);}let u=new e(a,{collation:s}),l=n.readUint32(),h=()=>{let t=[];for(let e=0;e<o;e++){let e=r.read(n);t.push(e);}let e=R.read(n);u.entries.push({values:t,pointer:e});};for(let t=0;t<l;t++){let t=i?.();t&&await t,h();}return u;}serialize(){let t=new O;for(let e of(t.writeJson(this.options.collation),t.writeUint8(this.fieldNames.length),this.fieldNames))t.writeString(e);for(let e of(this.sortEntries(),t.writeUint32(this.entries.length),this.entries)){let{values:i,pointer:n}=e;for(let e of i)r.write(t,e);n.write(t);}return t.subarray();}addItem(t,e){let r=this.fieldNames.map(e=>t.getField(e)??null);this.entries.push({values:r,pointer:e});}constructor(e,r){t(this,\"fieldNames\",void 0),t(this,\"options\",void 0),t(this,\"entries\",[]),this.fieldNames=e,this.options=r;}},tM=3,tP=250,tT=[408,// Request Timeout\n429,// Too Many Requests\n500,// Internal Server Error\n502,// Bad Gateway\n503,// Service Unavailable\n504],tx=async(t,e)=>{let r=0;for(;;){try{let i=await fetch(t,e);if(!tT.includes(i.status)||++r>tM)return i;}catch(t){if(e?.signal?.aborted||++r>tM)throw t;}await tF(r);}};async function tF(t){let e=Math.floor(tP*(Math.random()+1)*2**(t-1));await new Promise(t=>{setTimeout(t,e);});}// src/code-generation/components/cms/bundled/rangeRequest.ts\nasync function tN(t,e){let r=tO(e),i=[],n=0;for(let t of r)i.push(`${t.from}-${t.to-1}`),n+=t.to-t.from;let s=new URL(t),o=i.join(\",\");s.searchParams.set(\"range\",o);let a=await tx(s);if(200!==a.status)throw Error(`Request failed: ${a.status} ${a.statusText}`);let u=await a.arrayBuffer(),l=new Uint8Array(u);if(l.length!==n)throw Error(\"Request failed: Unexpected response length\");let h=new tA,c=0;for(let t of r){let e=t.to-t.from,r=c+e,i=l.subarray(c,r);h.write(t.from,i),c=r;}return e.map(t=>h.read(t.from,t.to-t.from));}var tA=class{read(t,e){for(let r of this.chunks){if(t<r.start)break;if(t>r.end)continue;if(t+e>r.end)break;let i=t-r.start,n=i+e;return r.data.slice(i,n);}throw Error(\"Missing data\");}write(t,e){let r=t,i=r+e.length,n=0,s=this.chunks.length;for(;n<s;n++){let t=this.chunks[n];if(B(t,\"Missing chunk\"),!(r>t.end)){if(r>t.start){let i=r-t.start,n=t.data.subarray(0,i);e=tq(n,e),r=t.start;}break;}}for(;s>n;s--){let t=this.chunks[s-1];if(B(t,\"Missing chunk\"),!(i<t.start)){if(i<t.end){let r=i-t.start,n=t.data.subarray(r);e=tq(e,n),i=t.end;}break;}}let o={start:r,end:i,data:e},a=s-n;this.chunks.splice(n,a,o);}constructor(){t(this,\"chunks\",[]);}};function tq(t,e){let r=t.length+e.length,i=new Uint8Array(r);return i.set(t,0),i.set(e,t.length),i;}function tO(t){B(t.length>0,\"Must have at least one range\");let e=[...t].sort((t,e)=>t.from-e.from),r=[];for(let t of e){let e=r.length-1,i=r[e];i&&t.from<=i.to?r[e]={from:i.from,to:Math.max(i.to,t.to)}:r.push(t);}return r;}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nvar t_=class{async loadModel(){let[t]=await tN(this.options.url,[this.options.range]);return B(t,\"Failed to load model\"),tE.deserialize(t,()=>{let t=m(this.modelPrioritySources);return t?U({batch:!0,priority:t}):void 0;});}async getModel(t){return this.model||(t&&this.modelPrioritySources.add(t),this.modelPromise??=this.loadModel().finally(()=>{this.modelPrioritySources.clear();}),this.model??=await this.modelPromise),this.model;}async lookupItems(t,e){B(t.length===this.fields.length,\"Invalid query length\");let r=await this.getModel(e),i=[r.entries];for(let[r,n]of t.entries()){let t=[];for(let s of i){let i;let o=e?U({batch:!0,priority:v(e)}):void 0;switch(o&&await o,n.type){case\"All\"/* All */:i=[s];break;case\"Equals\"/* Equals */:i=this.queryEquals(s,n,r);break;case\"NotEquals\"/* NotEquals */:i=this.queryNotEquals(s,n,r);break;case\"LessThan\"/* LessThan */:i=this.queryLessThan(s,n,r);break;case\"GreaterThan\"/* GreaterThan */:i=this.queryGreaterThan(s,n,r);break;case\"Contains\"/* Contains */:i=await this.queryContains(s,n,r,e);break;case\"StartsWith\"/* StartsWith */:i=await this.queryStartsWith(s,n,r,e);break;case\"EndsWith\"/* EndsWith */:i=await this.queryEndsWith(s,n,r,e);break;default:E(n);}t.push(...i);}i=t;}let n=[];for(let t of i)for(let r of t){let t=e?U({batch:!0,priority:v(e)}):void 0;t&&await t;let i={};for(let t=0;t<this.options.fieldNames.length;t++){let e=this.options.fieldNames[t],n=r.values[t];i[e]=n;}n.push({pointer:r.pointer.toString(),data:i});}return n;}queryEquals(t,e,r){let i=this.getLeftMost(t,r,e.value),n=this.getRightMost(t,r,e.value),s=t.slice(i,n+1);return s.length>0?[s]:[];}queryNotEquals(t,e,r){let i=this.getLeftMost(t,r,e.value),n=this.getRightMost(t,r,e.value),s=[],o=t.slice(0,i);o.length>0&&s.push(o);let a=t.slice(n+1);return a.length>0&&s.push(a),s;}queryLessThan(t,e,r){let i=this.getRightMost(t,r,null);if(t=t.slice(i+1),e.inclusive){let i=this.getRightMost(t,r,e.value),n=t.slice(0,i+1);return n.length>0?[n]:[];}let n=this.getLeftMost(t,r,e.value),s=t.slice(0,n);return s.length>0?[s]:[];}queryGreaterThan(t,e,r){let i=this.getRightMost(t,r,null);if(t=t.slice(i+1),e.inclusive){let i=this.getLeftMost(t,r,e.value),n=t.slice(i);return n.length>0?[n]:[];}let n=this.getRightMost(t,r,e.value),s=t.slice(n+1);return s.length>0?[s]:[];}queryContains(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.includes(i);});}queryStartsWith(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.startsWith(i);});}queryEndsWith(t,e,r,i){return this.findItems(t,r,i,t=>{if(t?.type!==S.String||e.value?.type!==S.String)return!1;let r=t.value,i=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),i=i.toLowerCase()),r.endsWith(i);});}/**\n   * Returns the index of the left most entry that is equal to the target.\n   *\n   * ```text\n   *   Left most\n   *       ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the left most entry that is equal to the target.\n   */getLeftMost(t,e,i){let n=0,s=t.length;for(;n<s;){let o=n+s>>1,a=t[o],u=a.values[e];0>r.compare(u,i,this.collation)?n=o+1:s=o;}return n;}/**\n   * Returns the index of the right most entry that is equal to the target.\n   *\n   * ```text\n   *              Right most\n   *                   ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the right most entry that is equal to the target.\n   */getRightMost(t,e,i){let n=0,s=t.length;for(;n<s;){let o=n+s>>1,a=t[o],u=a.values[e];r.compare(u,i,this.collation)>0?s=o:n=o+1;}return s-1;}/**\n   * Finds all items that are matching the predicate and groups adjacent items together.\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param predicate The predicate to match the values against.\n   * @returns An array of chunks that match the predicate.\n   */async findItems(t,e,r,i){let n=[],s=0;for(let o=0;o<t.length;o++){let a=r?U({batch:!0,priority:v(r)}):void 0;a&&await a;let u=t[o],l=u.values[e],h=i(l);if(!h){if(s<o){let e=t.slice(s,o);n.push(e);}s=o+1;}}if(s<t.length){let e=t.slice(s);n.push(e);}return n;}constructor(e){t(this,\"options\",void 0),t(this,\"schema\",void 0),t(this,\"fields\",void 0),t(this,\"supportedLookupTypes\",[\"All\"/* All */,\"Equals\"/* Equals */,\"NotEquals\"/* NotEquals */,\"LessThan\"/* LessThan */,\"GreaterThan\"/* GreaterThan */,\"Contains\"/* Contains */,\"StartsWith\"/* StartsWith */,\"EndsWith\"/* EndsWith */]),t(this,\"modelPromise\",void 0),t(this,\"model\",void 0),t(this,\"modelPrioritySources\",/* @__PURE__ */new Set),t(this,\"collation\",void 0),this.options=e;let r={},i=[];for(let t of this.options.fieldNames){let e=this.options.collectionSchema[t];B(e,\"Missing definition for field\",t),r[t]=e,i.push({type:\"Identifier\",name:t});}this.schema=r,this.fields=i,this.collation=this.options.collation;}};// src/code-generation/components/cms/bundled/models/DatabaseItemModel.ts\nfunction tj(t){let e={},i=t.readUint16();for(let n=0;n<i;n++){let i=t.readString();e[i]=r.read(t);}return e;}// src/code-generation/components/cms/bundled/DatabaseCollection.ts?bundle\nfunction*tD(t){for(let e of t)yield*e.prioritySources;}var tR=class{scanItems(t){return this.itemsPromise?this.isScanning&&t&&this.scanPrioritySources.add(t):(this.isScanning=!0,t&&this.scanPrioritySources.add(t),this.itemsPromise=tx(this.url).then(async t=>{if(!t.ok)throw Error(`Request failed: ${t.status} ${t.statusText}`);let e=await t.arrayBuffer(),r=new Uint8Array(e),i=new b(r),n=[],s=i.readUint32();for(let t=0;t<s;t++){let t=m(this.scanPrioritySources),e=t?g({batch:!0,priority:t}):void 0;e&&await e;let r=i.getOffset(),s=tj(i),o=i.getOffset()-r,a=new R(this.id,r,o),u=a.toString(),l={pointer:u,data:s};this.itemLoader.prime({pointer:u,prioritySources:/* @__PURE__ */new Set},l),n.push(l);}return n;}).finally(()=>{this.isScanning=!1,this.scanPrioritySources.clear();})),this.itemsPromise;}resolveItem(t,e){let r=this.itemPrioritySources.get(t);r||(r=/* @__PURE__ */new Set,this.itemPrioritySources.set(t,r)),e&&r.add(e);let i=this.itemLoader.load({pointer:t,prioritySources:r}),n=()=>this.itemPrioritySources.delete(t);return i.then(n,n),i;}constructor(e,r){t(this,\"id\",void 0),t(this,\"url\",void 0),t(this,\"itemsPromise\",void 0),t(this,\"isScanning\",!1),t(this,\"scanPrioritySources\",/* @__PURE__ */new Set),t(this,\"itemPrioritySources\",/* @__PURE__ */new Map),t(this,\"itemLoader\",new d.default(async t=>{let e=t.map(({pointer:t})=>{let e=R.fromString(t);return{from:e.offset,to:e.offset+e.length};}),r=await tN(this.url,e),i=[];for(let e=0;e<r.length;e++){let n=m(tD(t)),s=n?g({batch:!0,priority:n}):void 0;s&&await s;let o=r[e];B(o,\"Missing range bytes\");let a=new b(o),u=tj(a),l=t[e]?.pointer;B(l,\"Missing pointer\"),i.push({pointer:l,data:u});}return i;},{// capping to 250 avoids overly long URLs that can cause requests to fail with 414\nmaxBatchSize:250,// Different route workflows can request the same item. Keep DataLoader's cache keyed by the\n// pointer while still carrying the strongest scheduling priority into the shared batch\ncacheKeyFn:t=>t.pointer})),this.id=e,this.url=r;}},tC=class{async scanItems(t){let e=await Promise.all(this.chunks.map(async e=>e.scanItems(t)));return e.flat();}resolveItems(t,e){return Promise.all(t.map(t=>{let r=R.fromString(t),i=this.chunks[r.chunkId];return B(i,\"Missing chunk\"),i.resolveItem(t,e);}));}compareItems(t,e){let r=R.fromString(t.pointer),i=R.fromString(e.pointer);return r.compare(i);}compareValues(t,e,i){return r.compare(t,e,i);}constructor(e){t(this,\"options\",void 0),t(this,\"id\",void 0),t(this,\"schema\",void 0),t(this,\"indexes\",void 0),t(this,\"resolveRichText\",void 0),t(this,\"resolveVectorSetItem\",void 0),t(this,\"chunks\",void 0),this.options=e,this.chunks=this.options.chunks.map((t,e)=>new tR(e,t)),this.schema=e.schema,this.indexes=e.indexes,this.resolveRichText=e.resolveRichText,this.resolveVectorSetItem=e.resolveVectorSetItem,this.id=e.id;}};export{tC as DatabaseCollection,t_ as DatabaseDictionaryIndex};\nexport const __FramerMetadata__ = {\"exports\":{\"DatabaseDictionaryIndex\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DatabaseCollection\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{jsx as e}from\"react/jsx-runtime\";import{AutoBreakpointVariant as r,ComponentPresetsConsumer as t,Link as n,motion as o}from\"framer\";// ../../library/src/router/lazy.tsx\nimport{isValidElement as i}from\"react\";// ../../library/src/utils/utils.ts\nvar a,f,u=\"undefined\"!=typeof window,c=u&&\"function\"==typeof window.requestIdleCallback,l=\"preload\";function p(e){return\"object\"==typeof e&&null!==e&&!/*#__PURE__*/i(e)&&l in e;}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{Fragment as s,createElement as m}from\"react\";// src/code-generation/components/cms/bundled/assert.ts\nfunction d(e,...r){if(!e)throw Error(\"Assertion Error\"+(r.length>0?\": \"+r.join(\" \"):\"\"));}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nvar y=((a=y||{})[a.Fragment=1]=\"Fragment\",a[a.Link=2]=\"Link\",a[a.Module=3]=\"Module\",a[a.Tag=4]=\"Tag\",a[a.Text=5]=\"Text\",a),h=((f=h||{})[f.RichText=1]=\"RichText\",f[f.VectorSetItem=2]=\"VectorSetItem\",f);function x(e,r,t){for(let[n,o]of Object.entries(r)){let r=e[n];if(\"number\"==typeof o){e[n]=t(o,r);continue;}T(r,o,t);}}function T(e,r,t){if(\"number\"!=typeof r){if(Array.isArray(r)){if(!Array.isArray(e))return;let[n]=r;for(let r=0;r<e.length;r++){let o=e[r];\"number\"==typeof n?e[r]=t(n,o):T(o,n,t);}return;}null===e||\"object\"!=typeof e||Array.isArray(e)||x(e,r,t);}}function g(i){let a=/* @__PURE__ */new Map;return f=>{let u=a.get(f);if(u)return u;let c=JSON.parse(f),l=function a(f){switch(f[0]){case 1/* Fragment */:{let[,...e]=f,r=e.map(a);return /*#__PURE__*/m(s,void 0,...r);}case 2/* Link */:{let[,e,...r]=f,t=r.map(a);return /*#__PURE__*/m(n,e,...t);}case 3/* Module */:{let[,n,o,u]=f;x(o,u,(e,r)=>{if(1/* RichText */===e)return r?a(r):r;if(\"string\"!=typeof r)return r;let t=i[r];return t?(p(t)&&t.preload(),t):r;});let c=i[n];return d(c,\"Module not found\"),p(c)&&c.preload(),/*#__PURE__*/e(t,{componentIdentifier:n,children:t=>/*#__PURE__*/e(r,{component:c,props:{...t,...o}})});}case 4/* Tag */:{let[,e,r,...t]=f,n=t.map(a);if(\"a\"===e)return /*#__PURE__*/m(o.a,r,...n);return /*#__PURE__*/m(e,r,...n);}case 5/* Text */:{let[,e]=f;return e;}}}(c);return a.set(f,l),l;};}export{h as RichTextJsonPropKind,y as RichTextJsonType,g as getRichTextJsonResolver,x as mapRichTextJsonProps};\nexport const __FramerMetadata__ = {\"exports\":{\"mapRichTextJsonProps\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RichTextJsonType\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RichTextJsonPropKind\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getRichTextJsonResolver\":{\"type\":\"reactComponent\",\"name\":\"getRichTextJsonResolver\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (7732c94)\nimport{addPropertyControls as e,ControlType as t,QueryEngine as l}from\"framer\";import{DatabaseCollection as a,DatabaseDictionaryIndex as i}from\"./rL9heN58m-0.js\";import{getRichTextJsonResolver as o}from\"./rL9heN58m-1.js\";let r={aDj2WRmUV:{isNullable:!0,type:t.String},createdAt:{isNullable:!0,type:t.Date},id:{isNullable:!1,type:t.String},jF1BMP7iW:{isNullable:!0,type:t.String},nextItemId:{isNullable:!0,type:t.String},previousItemId:{isNullable:!0,type:t.String},u1cQHo8lu:{isNullable:!0,type:t.String},UeczXp2ek:{isNullable:!0,type:t.Link},updatedAt:{isNullable:!0,type:t.Date},vEuJCWO39:{isNullable:!0,type:t.Date},YRF_Wtj6d:{isNullable:!0,type:t.ResponsiveImage}},n=new URL(\"./rL9heN58m-indexes-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\"),c=[\"id\"],m={type:1},u=[\"previousItemId\"],d=[\"nextItemId\"],p=[\"id\",\"aDj2WRmUV\"],f=[\"aDj2WRmUV\",\"id\"],s={type:0},y=[\"jF1BMP7iW\"],g=[\"aDj2WRmUV\"],N=[\"u1cQHo8lu\"],h=[\"YRF_Wtj6d\"],I=[\"UeczXp2ek\"],S=[\"vEuJCWO39\"],w=[],R=e=>{let t=w[e];if(t)return t().then(e=>e.default);},L={},W=o(L),j=new l,D={collectionByLocaleId:{default:new a({chunks:[new URL(\"./rL9heN58m-chunk-default-0.framercms\",import.meta.url).href.replace(\"/modules/\",\"/cms/\")],id:\"6ce6664a-4e84-41e0-80e4-a49a1dd0c6cedefault\",indexes:[new i({collation:m,collectionSchema:r,fieldNames:c,range:{from:0,to:289},url:n}),new i({collation:m,collectionSchema:r,fieldNames:u,range:{from:289,to:577},url:n}),new i({collation:m,collectionSchema:r,fieldNames:d,range:{from:577,to:861},url:n}),new i({collation:m,collectionSchema:r,fieldNames:p,range:{from:861,to:1299},url:n}),new i({collation:s,collectionSchema:r,fieldNames:f,range:{from:1299,to:1737},url:n}),new i({collation:s,collectionSchema:r,fieldNames:y,range:{from:1737,to:2457},url:n}),new i({collation:s,collectionSchema:r,fieldNames:g,range:{from:2457,to:2735},url:n}),new i({collation:s,collectionSchema:r,fieldNames:N,range:{from:2735,to:3024},url:n}),new i({collation:s,collectionSchema:r,fieldNames:h,range:{from:3024,to:7988},url:n}),new i({collation:s,collectionSchema:r,fieldNames:I,range:{from:7988,to:8764},url:n}),new i({collation:s,collectionSchema:r,fieldNames:S,range:{from:8764,to:9005},url:n})],resolveRichText:W,resolveVectorSetItem:R,schema:r})},displayName:\"News\",id:\"6ce6664a-4e84-41e0-80e4-a49a1dd0c6ce\"};export default D;e(D,{jF1BMP7iW:{defaultValue:\"\",title:\"Title\",type:t.String},aDj2WRmUV:{preventLocalization:!1,title:\"Slug\",type:t.String},u1cQHo8lu:{defaultValue:\"\",title:\"Tag\",type:t.String},YRF_Wtj6d:{title:\"Image\",type:t.ResponsiveImage},UeczXp2ek:{title:\"Link\",type:t.Link},vEuJCWO39:{title:\"Date\",type:t.Date},createdAt:{title:\"Created\",type:t.Date},updatedAt:{title:\"Updated\",type:t.Date},previousItemId:{dataIdentifier:\"local-module:collection/rL9heN58m:default\",title:\"Previous\",type:t.CollectionReference},nextItemId:{dataIdentifier:\"local-module:collection/rL9heN58m:default\",title:\"Next\",type:t.CollectionReference}});export const enumToDisplayNameFunctions={};export const utils={async getSlugByRecordId(e,t){let[l]=await j.query({from:{data:D,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"aDj2WRmUV\",type:\"Identifier\"}],where:{left:{name:\"id\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.aDj2WRmUV;},async getRecordIdBySlug(e,t){let[l]=await j.query({from:{data:D,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"id\",type:\"Identifier\"}],where:{left:{name:\"aDj2WRmUV\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.id;}};\nexport const __FramerMetadata__ = {\"exports\":{\"utils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"enumToDisplayNameFunctions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerRecordIdKey\":\"id\",\"framerCollectionId\":\"rL9heN58m\",\"framerColorSyntax\":\"false\",\"framerData\":\"true\",\"framerEnumToDisplayNameUtils\":\"2\",\"framerAutoSizeImages\":\"true\",\"framerCollectionUtils\":\"1\",\"framerSlug\":\"aDj2WRmUV\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (f8e97a5)\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addFonts,ChildrenCanSuspend,ComponentViewportProvider,Container,cx,forwardLoader,GeneratedComponentContext,getFonts,getFontsFromSharedStyle,getLoadingLazyAtYPosition,Image as Image1,Link,PathVariablesContext,PropertyOverrides,queryCache,RenderTarget,RichText,runTasksWithYield,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,useQueryData,withCSS,withFX}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Button from\"#framer/local/canvasComponent/z0UCniaBv/z0UCniaBv.js\";import ContactMenu from\"#framer/local/codeFile/lqzI6sX/ContactMenu.js\";import ContactPanel from\"#framer/local/codeFile/h9ibMd7/ContactPanel.js\";import NewsNotifications from\"#framer/local/codeFile/bv0cS4R/NewsNotifications.js\";import Press from\"#framer/local/codeFile/IGIYpYY/Press.js\";import SectionColors from\"#framer/local/codeFile/l7bYoF9/SectionColors.js\";import Sheets from\"#framer/local/codeFile/mkbVv90/Sheets.js\";import SmoothScroll from\"#framer/local/codeFile/Kboh2Kq/SmoothScroll.js\";import SocialIcon from\"#framer/local/codeFile/Swo9eBx/SocialIcon.js\";import StickyNav from\"#framer/local/codeFile/qpP5B8v/StickyNav.js\";import TimeOfDayImage from\"#framer/local/codeFile/xr3szTY/TimeOfDayImage.js\";import Projects from\"#framer/local/collection/B_SWRwrfw/B_SWRwrfw.js\";import News from\"#framer/local/collection/rL9heN58m/rL9heN58m.js\";import*as sharedStyle1 from\"#framer/local/css/BLL7FTFu8/BLL7FTFu8.js\";import*as sharedStyle from\"#framer/local/css/G15ViL1ey/G15ViL1ey.js\";import*as sharedStyle2 from\"#framer/local/css/MNpKsStjw/MNpKsStjw.js\";import*as sharedStyle3 from\"#framer/local/css/ZM7426Et5/ZM7426Et5.js\";const ContactPanelFonts=getFonts(ContactPanel);const SheetsFonts=getFonts(Sheets);const SectionColorsFonts=getFonts(SectionColors);const SmoothScrollFonts=getFonts(SmoothScroll);const StickyNavFonts=getFonts(StickyNav);const TimeOfDayImageFonts=getFonts(TimeOfDayImage);const ButtonFonts=getFonts(Button);const MotionDivWithFX=withFX(motion.div);const SocialIconFonts=getFonts(SocialIcon);const ContactMenuFonts=getFonts(ContactMenu);const NewsNotificationsFonts=getFonts(NewsNotifications);const PressFonts=getFonts(Press);const breakpoints={ducoitvic:\"(min-width: 1200px)\",JRumAUMl4:\"(max-width: 809.98px)\",QVN7T8JUU:\"(min-width: 810px) and (max-width: 1199.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-MNUfw\";const variantClassNames={ducoitvic:\"framer-v-jxxb0\",JRumAUMl4:\"framer-v-191izrz\",QVN7T8JUU:\"framer-v-r4n08\"};const UeczXp2ekWrIt4XmOc=undefined;const YRF_Wtj6dWrIt4XmOc=undefined;const u1cQHo8luWrIt4XmOc=undefined;const jF1BMP7iWWrIt4XmOc=undefined;const aDj2WRmUVWrIt4XmOc=undefined;const idWrIt4XmOc=undefined;const QZZmcj7UQHAbLY6Lz2=undefined;const lWdr8mNC4HAbLY6Lz2=undefined;const koJbRg033HAbLY6Lz2=undefined;const HUnPQioaJHAbLY6Lz2=undefined;const iuUUdZFieHAbLY6Lz2=undefined;const jkpQ91ZJBHAbLY6Lz2=undefined;const idHAbLY6Lz2=undefined;const animation={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:.985,skewX:0,skewY:0,x:0,y:12};const transition1={delay:0,duration:.7,ease:[.16,1,.3,1],type:\"tween\"};const animation1={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:.985,skewX:0,skewY:0,transition:transition1,x:0,y:12};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const transition2={delay:0,duration:.3,ease:[.16,1,.3,1],type:\"tween\"};const animation2={backgroundColor:\"rgb(38, 38, 38)\",opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const query=prequery=>prequery({from:{alias:\"WrIt4XmOc\",data:News,type:\"Collection\"},limit:{type:\"LiteralValue\",value:100},select:[{collection:\"WrIt4XmOc\",name:\"UeczXp2ek\",type:\"Identifier\"},{collection:\"WrIt4XmOc\",name:\"YRF_Wtj6d\",type:\"Identifier\"},{collection:\"WrIt4XmOc\",name:\"u1cQHo8lu\",type:\"Identifier\"},{collection:\"WrIt4XmOc\",name:\"jF1BMP7iW\",type:\"Identifier\"},{collection:\"WrIt4XmOc\",name:\"aDj2WRmUV\",type:\"Identifier\"},{collection:\"WrIt4XmOc\",name:\"id\",type:\"Identifier\"}]});const query1=()=>({from:{alias:\"WrIt4XmOc\",data:News,type:\"Collection\"},limit:{type:\"LiteralValue\",value:100},select:[{collection:\"WrIt4XmOc\",name:\"UeczXp2ek\",type:\"Identifier\"},{collection:\"WrIt4XmOc\",name:\"YRF_Wtj6d\",type:\"Identifier\"},{collection:\"WrIt4XmOc\",name:\"u1cQHo8lu\",type:\"Identifier\"},{collection:\"WrIt4XmOc\",name:\"jF1BMP7iW\",type:\"Identifier\"},{collection:\"WrIt4XmOc\",name:\"aDj2WRmUV\",type:\"Identifier\"},{collection:\"WrIt4XmOc\",name:\"id\",type:\"Identifier\"}]});const QueryData=({query,pageSize,children})=>{const data=useQueryData(query);return children(data);};const query2=prequery=>prequery({from:{alias:\"HAbLY6Lz2\",data:Projects,type:\"Collection\"},limit:{type:\"LiteralValue\",value:5001},select:[{collection:\"HAbLY6Lz2\",name:\"QZZmcj7UQ\",type:\"Identifier\"},{collection:\"HAbLY6Lz2\",name:\"lWdr8mNC4\",type:\"Identifier\"},{collection:\"HAbLY6Lz2\",name:\"koJbRg033\",type:\"Identifier\"},{collection:\"HAbLY6Lz2\",name:\"HUnPQioaJ\",type:\"Identifier\"},{collection:\"HAbLY6Lz2\",name:\"iuUUdZFie\",type:\"Identifier\"},{collection:\"HAbLY6Lz2\",name:\"jkpQ91ZJB\",type:\"Identifier\"},{collection:\"HAbLY6Lz2\",name:\"id\",type:\"Identifier\"}]});const query3=()=>({from:{alias:\"HAbLY6Lz2\",data:Projects,type:\"Collection\"},limit:{type:\"LiteralValue\",value:5001},select:[{collection:\"HAbLY6Lz2\",name:\"QZZmcj7UQ\",type:\"Identifier\"},{collection:\"HAbLY6Lz2\",name:\"lWdr8mNC4\",type:\"Identifier\"},{collection:\"HAbLY6Lz2\",name:\"koJbRg033\",type:\"Identifier\"},{collection:\"HAbLY6Lz2\",name:\"HUnPQioaJ\",type:\"Identifier\"},{collection:\"HAbLY6Lz2\",name:\"iuUUdZFie\",type:\"Identifier\"},{collection:\"HAbLY6Lz2\",name:\"jkpQ91ZJB\",type:\"Identifier\"},{collection:\"HAbLY6Lz2\",name:\"id\",type:\"Identifier\"}]});const breakpointRules={JRumAUMl4:[\".framer-MNUfw .framer-14z9krv { padding: 0px 20px 0px 20px; }\",\".framer-MNUfw .framer-s3zixz { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 20px; padding: 24px 20px 20px 20px; width: 100%; }\",\".framer-MNUfw .framer-zh6ymh { white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-MNUfw .framer-2cgcjn { padding: 18px 20px 24px 20px; }\"],QVN7T8JUU:[\".framer-MNUfw .framer-s3zixz { gap: 40px; padding: 12px 12px 12px 28px; }\"]};const breakpointKeys=Object.keys(breakpointRules);const selectors={JRumAUMl4:\".framer-191izrz-override\",QVN7T8JUU:\".framer-r4n08-override\"};const rules=[\".framer-MNUfw.framer-1ofpbic, .framer-MNUfw .framer-1ofpbic { display: block; }\",\".framer-MNUfw.framer-jxxb0 { align-content: center; align-items: center; background-color: var(--token-6fea3d07-1144-469f-9d73-2b684a0bca6c); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-MNUfw .framer-1l4b9h9-container { flex: none; height: 1px; left: 0px; order: -1000; position: absolute; top: 0px; width: 1px; }\",\".framer-MNUfw .framer-1uvriz1-container { flex: none; height: 1px; left: 0px; order: -999; position: absolute; top: 0px; width: 1px; }\",\".framer-MNUfw .framer-1797jpb-container { flex: none; height: 1px; left: 0px; order: -998; pointer-events: none; position: absolute; top: 0px; width: 1px; }\",\".framer-MNUfw .framer-11uoxhd-container { flex: none; height: 1px; left: 0px; order: -997; pointer-events: none; position: absolute; top: 0px; width: 1px; }\",\".framer-MNUfw .framer-xeo3ov-container { flex: none; height: 88px; left: 0px; order: -996; position: var(--framer-canvas-fixed-position, fixed); right: 0px; top: 8px; z-index: 10; }\",\".framer-MNUfw .framer-6qkpbz { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-MNUfw .framer-18p8uzg { align-content: center; align-items: center; background-color: var(--token-6a83b704-fd32-4075-a527-90532ef4a0cb); display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; order: 1006; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-MNUfw .framer-35nm5c-container { flex: none; height: 100vh; left: 0px; position: absolute; right: 0px; top: 0px; }\",\".framer-MNUfw .framer-bbyviq { background-color: rgba(13, 13, 13, 0.32); flex: none; height: 100vh; left: 0px; pointer-events: none; position: absolute; right: 0px; top: 0px; }\",\".framer-MNUfw .framer-14z9krv { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 100vh; justify-content: center; padding: 0px; position: relative; width: 100%; z-index: 2; }\",\".framer-MNUfw .framer-s3zixz { align-content: center; align-items: center; background-color: var(--token-6a83b704-fd32-4075-a527-90532ef4a0cb); border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 64px; height: min-content; justify-content: flex-start; max-width: 100%; padding: 12px 12px 12px 32px; position: relative; width: min-content; z-index: 2; }\",\".framer-MNUfw .framer-zh6ymh, .framer-MNUfw .framer-1xwp31r, .framer-MNUfw .framer-m8tsy2 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-MNUfw .framer-1fqjvn6 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: min-content; }\",\".framer-MNUfw .framer-btvw0e-container, .framer-MNUfw .framer-ym51sb-container, .framer-MNUfw .framer-pv9rw5-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-MNUfw .framer-2cgcjn { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: wrap; gap: 6px; height: min-content; justify-content: center; padding: 20px; position: relative; width: 100%; }\",\".framer-MNUfw .framer-khmcpj { align-content: center; align-items: center; background-color: #1c1c1c; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; padding: 18.5px 24px 18.5px 24px; position: relative; width: min-content; }\",\".framer-MNUfw .framer-1tbfdn8 { align-content: center; align-items: center; background-color: #1c1c1c; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; padding: 6px; position: relative; width: min-content; }\",\".framer-MNUfw .framer-fsutrw, .framer-MNUfw .framer-m5xdza, .framer-MNUfw .framer-5ls5f4 { align-content: center; align-items: center; background-color: #1c1c1c; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: min-content; }\",\".framer-MNUfw .framer-3cwjiq-container, .framer-MNUfw .framer-427yyu-container { flex: none; height: 51px; position: relative; width: 51px; }\",\".framer-MNUfw .framer-nldolq { align-content: center; align-items: center; background-color: #1c1c1c; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; padding: 18.5px 24px 18.5px 24px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-MNUfw .framer-xxeahv { align-content: flex-end; align-items: flex-end; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; left: -4000px; opacity: 0; order: 1007; padding: 0px; position: var(--framer-canvas-fixed-position, fixed); top: 40px; width: 320px; }\",\".framer-MNUfw .framer-17b6img { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: 100%; }\",\".framer-MNUfw .framer-1ehy5yl { align-content: center; align-items: center; background-color: rgba(255, 255, 255, 0.6); border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 12px; height: 64px; justify-content: flex-start; padding: 8px 12px 8px 8px; position: relative; text-decoration: none; width: 100%; }\",\".framer-MNUfw .framer-1et33wh { border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; flex: none; height: 48px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 48px; will-change: var(--framer-will-change-override, transform); }\",\".framer-MNUfw .framer-ql3ek8 { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: 1px; }\",\".framer-MNUfw .framer-15g5jd0 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 6px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: 100%; }\",\".framer-MNUfw .framer-b9jhzi { flex: 1 0 0px; height: auto; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-MNUfw .framer-6mdnpi, .framer-MNUfw .framer-yj2itz, .framer-MNUfw .framer-fesscp, .framer-MNUfw .framer-1mkiqkp, .framer-MNUfw .framer-igjrt6, .framer-MNUfw .framer-1ppptfx, .framer-MNUfw .framer-h99e89 { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-MNUfw .framer-1hmhor3-container { flex: none; height: 1px; left: 0px; order: 1008; position: absolute; top: 0px; width: 1px; }\",\".framer-MNUfw .framer-7t2sdg-container { flex: none; height: 1px; left: 0px; order: 1009; position: absolute; top: 0px; width: 1px; }\",\".framer-MNUfw .framer-eq4954 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; left: -4000px; opacity: 0; order: 1010; padding: 0px; position: var(--framer-canvas-fixed-position, fixed); top: 0px; width: 200px; }\",\".framer-MNUfw .framer-14l6d6b, .framer-MNUfw .framer-xkrzpg { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: 100%; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }',...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,...sharedStyle3.css];const mediaQueries={ducoitvic:\"(min-width: 1200px)\",JRumAUMl4:\"(max-width: 809.98px)\",QVN7T8JUU:\"(min-width: 810px) and (max-width: 1199.98px)\"};const humanReadableVariantMap={Desktop:\"ducoitvic\",Phone:\"JRumAUMl4\",Tablet:\"QVN7T8JUU\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"ducoitvic\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className,sharedStyle3.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(!isBrowser())return true;if(baseVariant===\"JRumAUMl4\")return false;return true;};useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,isLayoutTemplate:true,primaryVariantId:\"ducoitvic\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-6fea3d07-1144-469f-9d73-2b684a0bca6c); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-jxxb0\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1l4b9h9-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Contact Panel\",isAuthoredByUser:true,name:\"Contact Panel\",nodeId:\"e7150jLYv\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(ContactPanel,{emails:[{email:\"hello@officeofoverview.com\",id:\"default-item-0\",label:\"General\"},{email:\"partnerships@officeofoverview.com\",id:\"default-item-1\",label:\"New Business\"},{email:\"work@officeofoverview.com\",id:\"default-item-2\",label:\"Careers\"}],height:\"100%\",id:\"e7150jLYv\",layoutId:\"e7150jLYv\",name:\"Contact Panel\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1uvriz1-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Sheets\",isAuthoredByUser:true,name:\"Sheets\",nodeId:\"e1RFIEogg\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(Sheets,{contact:\"mailto:hello@officeofoverview.com\",height:\"100%\",id:\"e1RFIEogg\",layoutId:\"e1RFIEogg\",liveColor:\"rgb(61, 220, 132)\",name:\"Sheets\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1797jpb-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Section Colors\",isAuthoredByUser:true,name:\"Section Colors\",nodeId:\"zJuYcXG9F\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(SectionColors,{darkChrome:\"programmes\",duration:.7,enters:\"work: Work Cards\",fixedSections:\"contact\",height:\"100%\",holds:\"programmes: Figure\",id:\"zJuYcXG9F\",invertContent:true,invertImages:\"[data-framer-name='Logos'] img\",layoutId:\"zJuYcXG9F\",name:\"Section Colors\",sections:[{color:\"rgb(255, 255, 255)\",id:\"intro\"},{color:\"rgb(13, 13, 13)\",id:\"belief\"},{color:\"rgb(255, 255, 255)\",id:\"work\"},{color:\"rgb(250, 250, 250)\",id:\"programmes\"},{color:\"rgb(255, 255, 255)\",id:\"news\"},{color:\"rgb(13, 13, 13)\",id:\"contact\"}],style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-11uoxhd-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Smooth Scroll\",isAuthoredByUser:true,name:\"Smooth Scroll\",nodeId:\"er0pL47sh\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(SmoothScroll,{height:\"100%\",id:\"er0pL47sh\",layoutId:\"er0pL47sh\",name:\"Smooth Scroll\",smoothness:.3,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-xeo3ov-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Sticky Nav\",isAuthoredByUser:true,layoutScroll:true,name:\"Sticky Nav\",nodeId:\"uCKdwURNt\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(StickyNav,{darkSections:\"belief, contact\",followTone:true,height:\"100%\",hideOnScroll:false,id:\"uCKdwURNt\",items:[{id:\"default-item-0\",label:\"Overview\",link:\"#top\"},{id:\"default-item-1\",label:\"Work\",link:\"#work\"},{id:\"default-item-2\",label:\"Programmes\",link:\"#programmes\"},{id:\"default-item-3\",label:\"Contact\",link:\"#contact\"}],labelFont:{fontFamily:'\"ABC Diatype Regular\", \"ABC Diatype Regular Placeholder\", sans-serif',fontSize:\"12px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"0.02em\",lineHeight:\"14px\"},layoutId:\"uCKdwURNt\",name:\"Sticky Nav\",navigate:\"pages\",restTop:31,stuckTop:8,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-6qkpbz\"}),/*#__PURE__*/_jsxs(motion.footer,{className:\"framer-18p8uzg\",\"data-framer-name\":\"Contact\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-35nm5c-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Desk Film\",isAuthoredByUser:true,name:\"Desk Film\",nodeId:\"wZO_ajZed\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(TimeOfDayImage,{height:\"100%\",id:\"wZO_ajZed\",layoutId:\"wZO_ajZed\",name:\"Desk Film\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-bbyviq\",\"data-framer-name\":\"Shade\"}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-14z9krv\",\"data-framer-name\":\"Film Area\",children:/*#__PURE__*/_jsxs(MotionDivWithFX,{__framer__animate:{transition:transition1},__framer__animateOnce:true,__framer__enter:animation,__framer__exit:animation1,__framer__styleAppearEffectEnabled:true,__framer__threshold:.1,__perspectiveFX:false,__targetOpacity:1,className:\"framer-s3zixz\",\"data-framer-name\":\"Contact Bar\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-vxm6hn\",\"data-styles-preset\":\"G15ViL1ey\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--token-6fea3d07-1144-469f-9d73-2b684a0bca6c)\"},children:\"Drop your challenge on our desk.\"})}),className:\"framer-zh6ymh\",\"data-framer-name\":\"Prompt\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-1fqjvn6\",\"data-framer-name\":\"Actions\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:39,children:/*#__PURE__*/_jsx(Container,{className:\"framer-btvw0e-container\",\"data-framer-name\":\"Speak to a partner\",name:\"Speak to a partner\",nodeId:\"oSeVUpNfR\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(Button,{height:\"100%\",id:\"oSeVUpNfR\",layoutId:\"oSeVUpNfR\",name:\"Speak to a partner\",njviwBv4v:\"https://cal.com/james-sedgwick-yeung-zvr6dx/30min\",TBuT5juKP:\"Speak to a partner\",variant:matchVariant(\"v8Oojfta6\"),width:\"100%\"})})})})]})}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-2cgcjn\",\"data-framer-name\":\"Footer Row\",children:[isDisplayed()&&/*#__PURE__*/_jsx(\"div\",{className:\"framer-khmcpj hidden-191izrz\",\"data-framer-name\":\"Sign Off\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-sbrtim\",\"data-styles-preset\":\"BLL7FTFu8\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--token-6fea3d07-1144-469f-9d73-2b684a0bca6c)\"},children:\"Office of Overview™\"})}),className:\"framer-1xwp31r\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-1tbfdn8\",\"data-framer-name\":\"Address\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:39,children:/*#__PURE__*/_jsx(Container,{className:\"framer-ym51sb-container\",\"data-framer-name\":\"Address Button\",name:\"Address Button\",nodeId:\"ExFS5WBMt\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{JRumAUMl4:{TBuT5juKP:\"Mare Street Studios, London E8 3JS\"}},children:/*#__PURE__*/_jsx(Button,{height:\"100%\",id:\"ExFS5WBMt\",layoutId:\"ExFS5WBMt\",name:\"Address Button\",njviwBv4v:\"https://www.google.com/maps/search/?api=1&query=205%20Mare%20Street%20Studios%2C%20203-213%20Mare%20St%2C%20London%20E8%203JS\",TBuT5juKP:\"205, Mare Street Studios, 203-213 Mare St, London E8 3JS\",variant:matchVariant(\"fJ8s6UcIk\"),width:\"100%\"})})})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-fsutrw\",\"data-framer-name\":\"Instagram\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-3cwjiq-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Instagram Icon\",isAuthoredByUser:true,name:\"Instagram Icon\",nodeId:\"BPXhajR2V\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(SocialIcon,{height:\"100%\",id:\"BPXhajR2V\",layoutId:\"BPXhajR2V\",link:\"https://instagram.com/officeofoverview\",name:\"Instagram Icon\",network:\"instagram\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-m5xdza\",\"data-framer-name\":\"LinkedIn\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-427yyu-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"LinkedIn Icon\",isAuthoredByUser:true,name:\"LinkedIn Icon\",nodeId:\"uOksLnoHD\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(SocialIcon,{height:\"100%\",id:\"uOksLnoHD\",layoutId:\"uOksLnoHD\",link:\"https://www.linkedin.com/in/james-sedgwick-yeung-1ab849a5/\",name:\"LinkedIn Icon\",network:\"linkedin\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-5ls5f4\",\"data-framer-name\":\"Write To Us\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-pv9rw5-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Write To Us Menu\",isAuthoredByUser:true,name:\"Write To Us Menu\",nodeId:\"GGCIqtxJ4\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(ContactMenu,{align:\"right\",direction:\"up\",emails:[{email:\"hello@officeofoverview.com\",id:\"default-item-0\",label:\"General\"},{email:\"partnerships@officeofoverview.com\",id:\"default-item-1\",label:\"New Business\"},{email:\"work@officeofoverview.com\",id:\"default-item-2\",label:\"Careers\"}],height:\"100%\",id:\"GGCIqtxJ4\",label:\"Write to us\",layoutId:\"GGCIqtxJ4\",name:\"Write To Us Menu\",width:\"100%\"})})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"N13nQtnjT\"},motionChild:true,nodeId:\"rHtcpcGx9\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-nldolq framer-1ofpbic\",\"data-framer-name\":\"AI Guide\",whileHover:animation2,children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-sbrtim\",\"data-styles-preset\":\"BLL7FTFu8\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--token-6fea3d07-1144-469f-9d73-2b684a0bca6c)\"},children:\"AI Guide\"})}),className:\"framer-m8tsy2\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})})})]})]}),isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-xxeahv hidden-191izrz\",\"data-framer-name\":\"News Source\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-17b6img\",\"data-framer-name\":\"Latest\",children:/*#__PURE__*/_jsx(ChildrenCanSuspend,{children:/*#__PURE__*/_jsx(QueryData,{query:query1(),children:(collection,paginationInfo,loadMore)=>{return /*#__PURE__*/_jsx(_Fragment,{children:collection?.map(({aDj2WRmUV:aDj2WRmUVWrIt4XmOc,id:idWrIt4XmOc,jF1BMP7iW:jF1BMP7iWWrIt4XmOc,u1cQHo8lu:u1cQHo8luWrIt4XmOc,UeczXp2ek:UeczXp2ekWrIt4XmOc,YRF_Wtj6d:YRF_Wtj6dWrIt4XmOc},index)=>{UeczXp2ekWrIt4XmOc??=\"\";u1cQHo8luWrIt4XmOc??=\"\";jF1BMP7iWWrIt4XmOc??=\"\";aDj2WRmUVWrIt4XmOc??=\"\";return /*#__PURE__*/_jsx(LayoutGroup,{id:`WrIt4XmOc-${idWrIt4XmOc}`,children:/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{aDj2WRmUV:aDj2WRmUVWrIt4XmOc},children:/*#__PURE__*/_jsx(Link,{href:UeczXp2ekWrIt4XmOc,motionChild:true,nodeId:\"Gl__WuaC8\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-1ehy5yl framer-1ofpbic\",\"data-framer-name\":\"Note\",children:[/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",loading:getLoadingLazyAtYPosition(1128),sizes:\"48px\",...toResponsiveImage(YRF_Wtj6dWrIt4XmOc)},className:\"framer-1et33wh\",\"data-framer-name\":\"Image\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-ql3ek8\",\"data-framer-name\":\"Text\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"framer-15g5jd0\",\"data-framer-name\":\"Meta\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-1muqx0v\",\"data-styles-preset\":\"MNpKsStjw\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--token-040f8fc1-2127-42d8-ada7-97d63008eae4)\"},children:\"Content\"})}),className:\"framer-b9jhzi\",\"data-framer-name\":\"Client\",fonts:[\"Inter\"],text:u1cQHo8luWrIt4XmOc,verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-1xxwy5h\",\"data-styles-preset\":\"ZM7426Et5\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\",\"--framer-text-color\":\"var(--token-6a83b704-fd32-4075-a527-90532ef4a0cb)\"},children:\"Content\"})}),className:\"framer-6mdnpi\",\"data-framer-name\":\"Title\",fonts:[\"Inter\"],text:jF1BMP7iWWrIt4XmOc,verticalAlignment:\"top\",withExternalLayout:true})]})]})})})},idWrIt4XmOc);})});}})})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1hmhor3-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"News Notifications\",isAuthoredByUser:true,name:\"News Notifications\",nodeId:\"cNvguzph_\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(NewsNotifications,{height:\"100%\",id:\"cNvguzph_\",layoutId:\"cNvguzph_\",name:\"News Notifications\",right:20,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-7t2sdg-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Press\",isAuthoredByUser:true,name:\"Press\",nodeId:\"xLuYhRwGe\",scopeId:\"XpUMRz3Kl\",children:/*#__PURE__*/_jsx(Press,{height:\"100%\",id:\"xLuYhRwGe\",layoutId:\"xLuYhRwGe\",name:\"Press\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-eq4954\",\"data-framer-name\":\"Case Source\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-14l6d6b\",\"data-framer-name\":\"Cases\",children:/*#__PURE__*/_jsx(ChildrenCanSuspend,{children:/*#__PURE__*/_jsx(QueryData,{query:query3(),children:(collection1,paginationInfo1,loadMore1)=>{return /*#__PURE__*/_jsx(_Fragment,{children:collection1?.map(({HUnPQioaJ:HUnPQioaJHAbLY6Lz2,id:idHAbLY6Lz2,iuUUdZFie:iuUUdZFieHAbLY6Lz2,jkpQ91ZJB:jkpQ91ZJBHAbLY6Lz2,koJbRg033:koJbRg033HAbLY6Lz2,lWdr8mNC4:lWdr8mNC4HAbLY6Lz2,QZZmcj7UQ:QZZmcj7UQHAbLY6Lz2},index1)=>{QZZmcj7UQHAbLY6Lz2??=\"\";return /*#__PURE__*/_jsx(LayoutGroup,{id:`HAbLY6Lz2-${idHAbLY6Lz2}`,children:/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{QZZmcj7UQ:QZZmcj7UQHAbLY6Lz2},children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-xkrzpg\",\"data-framer-name\":\"Case\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",children:\"Slug\"})}),className:\"framer-yj2itz\",\"data-framer-name\":\"Slug\",fonts:[\"Inter\"],text:QZZmcj7UQHAbLY6Lz2,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:lWdr8mNC4HAbLY6Lz2,motionChild:true,nodeId:\"FcQan9Uip\",openInNewTab:false,relValues:[],scopeId:\"XpUMRz3Kl\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{children:\"•\"})})})}),className:\"framer-fesscp\",\"data-framer-name\":\"Visual 1\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:koJbRg033HAbLY6Lz2,motionChild:true,nodeId:\"Ju0flKEzX\",openInNewTab:false,relValues:[],scopeId:\"XpUMRz3Kl\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{children:\"•\"})})})}),className:\"framer-1mkiqkp\",\"data-framer-name\":\"Visual 2\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:HUnPQioaJHAbLY6Lz2,motionChild:true,nodeId:\"Ix06uoBra\",openInNewTab:false,relValues:[],scopeId:\"XpUMRz3Kl\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{children:\"•\"})})})}),className:\"framer-igjrt6\",\"data-framer-name\":\"Visual 3\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:iuUUdZFieHAbLY6Lz2,motionChild:true,nodeId:\"tRfg6NwBm\",openInNewTab:false,relValues:[],scopeId:\"XpUMRz3Kl\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{children:\"•\"})})})}),className:\"framer-1ppptfx\",\"data-framer-name\":\"Visual 4\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:jkpQ91ZJBHAbLY6Lz2,motionChild:true,nodeId:\"FqgiKZmk3\",openInNewTab:false,relValues:[],scopeId:\"XpUMRz3Kl\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{children:\"•\"})})})}),className:\"framer-h99e89\",\"data-framer-name\":\"Visual 5\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})})},idHAbLY6Lz2);})});}})})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query4=mediaQueries[key];return`@media ${query4} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=selectors[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"QVN7T8JUU\":{\"layout\":[\"fixed\",\"fixed\"]},\"JRumAUMl4\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"ducoitvic\":[\".framer-1l4b9h9-container\",\".framer-1uvriz1-container\",\".framer-1797jpb-container\",\".framer-11uoxhd-container\",\".framer-xeo3ov-container\",\".framer-18p8uzg\",\".framer-xxeahv\",\".framer-1hmhor3-container\",\".framer-7t2sdg-container\",\".framer-eq4954\"],\"QVN7T8JUU\":[\".framer-1l4b9h9-container\",\".framer-1uvriz1-container\",\".framer-1797jpb-container\",\".framer-11uoxhd-container\",\".framer-xeo3ov-container\",\".framer-18p8uzg\",\".framer-xxeahv\",\".framer-1hmhor3-container\",\".framer-7t2sdg-container\",\".framer-eq4954\"],\"JRumAUMl4\":[\".framer-1l4b9h9-container\",\".framer-1uvriz1-container\",\".framer-1797jpb-container\",\".framer-11uoxhd-container\",\".framer-xeo3ov-container\",\".framer-18p8uzg\",\".framer-1hmhor3-container\",\".framer-7t2sdg-container\",\".framer-eq4954\"]}\n * @framerBreakpoints {\"ducoitvic\":{\"min\":1200,\"canvasClassName\":\"framer-jxxb0-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"QVN7T8JUU\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-r4n08-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"JRumAUMl4\":{\"max\":809,\"canvasClassName\":\"framer-191izrz-override\",\"minHeight\":1000,\"viewportHeight\":800,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant ducoitvic\n * @framerLayoutTemplate true\n */const FramerXpUMRz3Kl=withCSS(Component,css,\"framer-MNUfw\");export default FramerXpUMRz3Kl;FramerXpUMRz3Kl.displayName=\"Main\";FramerXpUMRz3Kl.defaultProps={height:1e3,width:1200};addFonts(FramerXpUMRz3Kl,[{explicitInter:true,fonts:[{cssFamilyName:\"ABC Diatype Regular\",source:\"custom\",style:\"normal\",uiFamilyName:\"ABC Diatype\",url:\"https://framerusercontent.com/assets/nTU5s9iUYTEDtbd2tDx3cXTzIcw.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...ContactPanelFonts,...SheetsFonts,...SectionColorsFonts,...SmoothScrollFonts,...StickyNavFonts,...TimeOfDayImageFonts,...ButtonFonts,...SocialIconFonts,...ContactMenuFonts,...NewsNotificationsFonts,...PressFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts),...getFontsFromSharedStyle(sharedStyle3.fonts)],{supportsExplicitInterCodegen:true});FramerXpUMRz3Kl.loader={load:(props,context)=>{const locale=context.locale;const priority=context.priority;const queryCacheEntry=queryCache.get(query1(),locale,priority);const queryCacheEntry1=queryCache.get(query3(),locale,priority);return runTasksWithYield([()=>queryCacheEntry.preload(),()=>queryCacheEntry1.preload(),()=>forwardLoader(Button,{},context)],context);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerXpUMRz3Kl\",\"slots\":[],\"annotations\":{\"framerBreakpoints\":\"{\\\"ducoitvic\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-jxxb0-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"QVN7T8JUU\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-r4n08-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"JRumAUMl4\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-191izrz-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerIntrinsicWidth\":\"1200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"QVN7T8JUU\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"JRumAUMl4\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerLayoutTemplate\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerHitTargets\":\"{\\\"ducoitvic\\\":[\\\".framer-1l4b9h9-container\\\",\\\".framer-1uvriz1-container\\\",\\\".framer-1797jpb-container\\\",\\\".framer-11uoxhd-container\\\",\\\".framer-xeo3ov-container\\\",\\\".framer-18p8uzg\\\",\\\".framer-xxeahv\\\",\\\".framer-1hmhor3-container\\\",\\\".framer-7t2sdg-container\\\",\\\".framer-eq4954\\\"],\\\"QVN7T8JUU\\\":[\\\".framer-1l4b9h9-container\\\",\\\".framer-1uvriz1-container\\\",\\\".framer-1797jpb-container\\\",\\\".framer-11uoxhd-container\\\",\\\".framer-xeo3ov-container\\\",\\\".framer-18p8uzg\\\",\\\".framer-xxeahv\\\",\\\".framer-1hmhor3-container\\\",\\\".framer-7t2sdg-container\\\",\\\".framer-eq4954\\\"],\\\"JRumAUMl4\\\":[\\\".framer-1l4b9h9-container\\\",\\\".framer-1uvriz1-container\\\",\\\".framer-1797jpb-container\\\",\\\".framer-11uoxhd-container\\\",\\\".framer-xeo3ov-container\\\",\\\".framer-18p8uzg\\\",\\\".framer-1hmhor3-container\\\",\\\".framer-7t2sdg-container\\\",\\\".framer-eq4954\\\"]}\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerDefaultVariant\":\"ducoitvic\",\"framerIntrinsicHeight\":\"1000\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport Main from \"https://framerusercontent.com/modules/imtcsUkKWgV7mYvSH4VR/oK2LcXUIOcZ0FTYfV8V4/XpUMRz3Kl.js\";\r\n\r\n\t\tconst routes = {IIUCSy4k9: {elements: {Cggbi1Xsw: \"programmes\", OLROTLXD8: \"work\", ORXMjmMgr: \"belief\", qzluEqVip: \"intro\", TIm6Pm0QK: \"news\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/YVIfUTJVCyeiBWqESCKS/dQmi1b5CHcORkp2vGBZc/IIUCSy4k9.js\")), path: \"/\"}, HQXhgmu5Q: {elements: {cFd6VYduj: \"start\", QrCaYBv5n: \"questions\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/nXquiIHCNrAnFyoYRE5K/dV4Eux4Kf9VI0HPKCZ66/HQXhgmu5Q.js\")), path: \"/programmes\"}, TDKPYusTA: {elements: {zIUr4Al2f: \"work\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/dYy2MRGirQIgvletcpGr/rQaVGBcxfIh2DlbIJVYn/TDKPYusTA.js\")), path: \"/work\"}, ot6vP4dO4: {elements: {UC4oGPfPY: \"case\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/TsMunBRtKyVWoHO6yYpn/5ezQFRj1JqUBGcDN7DSt/ot6vP4dO4.js\")), path: \"/work/odin\"}, BEMKphIHs: {elements: {uNg7Jfv82: \"case\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/pGkwile6btILkpAMqLip/91gihMgBGRmJNwPfMqV8/BEMKphIHs.js\")), path: \"/work/human\"}, KW8LIyyIT: {elements: {CbW6vxR3K: \"case\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/fmCgc1ITM2MIFHgl0PPw/pVSMoGCzUx8Gg0G1lvVK/KW8LIyyIT.js\")), path: \"/work/curate\"}, XOFp8qmVr: {elements: {XiYqT1hP5: \"case\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/80jmFFneCZuDod437JU4/qwlatK0jXf74uI7hadIB/XOFp8qmVr.js\")), path: \"/work/23-degrees\"}, rHHGc7_aK: {elements: {vOpfseCe8: \"case\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/J0b9fZMkB5keN4RUPzYA/oJPggbXgzOhS83yOYSyb/rHHGc7_aK.js\")), path: \"/work/fermat\"}, w2dTOYLsH: {elements: {qzmlId0QU: \"case\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/v37qdqRDqLR304xLhPlg/yshkdxnbEhoa6hNCYABJ/w2dTOYLsH.js\")), path: \"/work/waterside\"}, J6MaIcHs6: {elements: {nTx1G2Zce: \"case\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/7q7YgiIOg5fay9KfRHz5/jVaBuya0bg8JBxHrKGbT/J6MaIcHs6.js\")), path: \"/work/good-phats\"}, gq47v4GjB: {elements: {jdk5WCDGN: \"case\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/E13dpxWQLl7UKnFFTZvt/ivK155TbHDrRco2wKcdG/gq47v4GjB.js\")), path: \"/work/manner\"}, N13nQtnjT: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/c1s8FQQrxvxzUXYX1soJ/GHMyBUiQGEX6mpUzmbOY/N13nQtnjT.js\")), path: \"/ai-guide\"}, AfRFX4woz: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/5sZrijz12JVFez9hzMk9/pO4I8wJ960eY59k9u7Z0/AfRFX4woz.js\")), path: \"/404\"}}\r\n\r\n\t\tconst locales = [{code: \"en-US\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {}\r\n\t\tconst serverDatabaseClient = undefined\r\n\t\tconst framerSiteId = \"d638476631166cf25fe92b0fadfbd12f23ad5ae0dbafa54d695e7e03c3256919\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"IIUCSy4k9\":\r\ncase \"HQXhgmu5Q\":\r\ncase \"TDKPYusTA\":\r\ncase \"ot6vP4dO4\":\r\ncase \"BEMKphIHs\":\r\ncase \"KW8LIyyIT\":\r\ncase \"XOFp8qmVr\":\r\ncase \"rHHGc7_aK\":\r\ncase \"w2dTOYLsH\":\r\ncase \"J6MaIcHs6\":\r\ncase \"gq47v4GjB\":\r\ncase \"N13nQtnjT\":\r\ncase \"AfRFX4woz\":\r\nreturn React.createElement(Main, {...props, key: \"Main\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"IIUCSy4k9\":\r\ncase \"HQXhgmu5Q\":\r\ncase \"TDKPYusTA\":\r\ncase \"ot6vP4dO4\":\r\ncase \"BEMKphIHs\":\r\ncase \"KW8LIyyIT\":\r\ncase \"XOFp8qmVr\":\r\ncase \"rHHGc7_aK\":\r\ncase \"w2dTOYLsH\":\r\ncase \"J6MaIcHs6\":\r\ncase \"gq47v4GjB\":\r\ncase \"N13nQtnjT\":\r\ncase \"AfRFX4woz\":\r\nreturn [{hash: \"jxxb0\", mediaQuery: \"(min-width: 1200px)\"}, {hash: \"r4n08\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"191izrz\", mediaQuery: \"(max-width: 809.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\t\r\n\t\t\r\n\r\n\t\texport async function getPageRoot({\r\n\t\t\trouteId,\r\n\t\t\tpathVariables,\r\n\t\t\tcanonicalPathVariables,\r\n\t\t\tlocaleId,\r\n\t\t\tcollectionItemId,\r\n\t\t\tcontentLocaleId,\r\n\t\t\tshouldResolveInitialRouteContentState = false,\r\n\t\t}) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\t\r\n\r\n\t\t\tFramer.setLibraryFeatures({checkServerSideRouter: true, disableCustomCode: false, disableHoverOnMobile: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageRichTextBlockSelection: true, scrollRestoration: true, synchronousNavigationOnDesktop: false, yieldOnTap: false})\r\n\t\t\tFramer.setCurrentSiteId(framerSiteId)\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tserverDatabaseClient,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"https://framerusercontent.com/modules/5sZrijz12JVFez9hzMk9/pO4I8wJ960eY59k9u7Z0/AfRFX4woz.js\")),\r\n\t\t\t\t\tisReducedMotion: undefined,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://officeofoverview.com\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: true,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/49qdqOZ7hHzZ5NKAYUYE/rDErA178AjwsJYyb2561/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t\tinitialContentLocaleIdOverride: contentLocaleId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: content\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\t\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\t// Note: HTTPArchive also uses this function to detect Framer sites; see https://github.com/HTTPArchive/wappalyzer/blob/371a17583f74fd9171b9077f59a5619b24062891/src/technologies/f.json#L1722-L1748.\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, contentLocaleId, pathVariables, canonicalPathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tcontentLocaleId = routeData.contentLocaleId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tcanonicalPathVariables = routeData.canonicalPathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\t\t\t\t\tconst serverRoute = performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tcontentLocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\tcollectionItemId: shouldHydrate ? routeData?.collectionItemId : undefined,\r\n\t\t\t\t\tshouldResolveInitialRouteContentState: !shouldHydrate,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\t\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\tconst utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\tconst [slug] = Object.values(pathVariables)\r\n\t\t\tif (utils && typeof slug === \"string\") {\r\n\t\t\t\tcollectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tFramer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t"],"mappings":"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"}