{"version":3,"file":"PortfolioLayout.BVFI204L.mjs","names":["React.useMemo","React.useRef","React.useState","React.useCallback","_define_property","React.useContext","FramerLink","React.useState","React.useRef","React.Suspense","_Fragment","MarketplacePreloader","React.Component","useState","_Fragment","Suspense","useRef","useCallback","FramerLink","createRoot"],"sources":["https:/framerusercontent.com/modules/64oES5c24P4E33d27rlI/M2eXH7iEOSHUiK1WizyR/ScreenPreloader.js","https:/framerusercontent.com/modules/YSuBQqeegguuHrfYgVnL/GQFmG8rFKF2GqMtAckLj/PortfolioStyles.js","https:/framerusercontent.com/modules/vde6vJFiy14xcKFTfoY7/aScbdgobuHIIBuqbhvAb/GordonRelease.js","https:/framerusercontent.com/modules/DKTspTug2AUlkM4uJJBN/o8ZLBRapq2HabrP3fSBB/GordonResponseExtras.js","https:/framerusercontent.com/modules/xPcgH7mTS2jQpWdJAd5S/1r7A5Rv8kTx0TNqB1iCR/PortfolioLayout.js"],"sourcesContent":["// create screen preloader where it loads the logo of the website and percentage count up to 100%\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion}from\"framer-motion\";/**\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight 128\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function ScreenPreloader(props){const defaultLogo=React.useMemo(()=>({src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Logo\"}),[]);const{logo=defaultLogo,showLogo=true,logoSize=96,gap=0,layout=\"horizontal\",backgroundColor=\"#FFFFFF\",textColor=\"#000000\",progressFont={fontSize:\"32px\",variant:\"Semibold\",letterSpacing:\"-0.03em\",lineHeight:\"1em\",textAlign:\"center\"},duration=2,delay=.4,splitDuration=2,hideAfterComplete=true,fadeOutDuration=1,onComplete,style}=props;const isStatic=useIsStaticRenderer();const rootRef=React.useRef(null);const canStart=!isStatic;const rafRef=React.useRef(null);const startAtRef=React.useRef(null);const lastProgressRef=React.useRef(-1);const completedOnceRef=React.useRef(false);const[progress,setProgress]=React.useState(isStatic?100:0);const[completed,setCompleted]=React.useState(isStatic?true:false);const[hidden,setHidden]=React.useState(false);const prefersReducedMotion=React.useMemo(()=>{if(typeof window===\"undefined\")return false;return!!window.matchMedia?.(\"(prefers-reduced-motion: reduce)\")?.matches;},[]);const cancelRaf=React.useCallback(()=>{if(rafRef.current!=null&&typeof window!==\"undefined\"){window.cancelAnimationFrame(rafRef.current);}rafRef.current=null;},[]);const finish=React.useCallback(()=>{if(completedOnceRef.current)return;completedOnceRef.current=true;React.startTransition(()=>{setProgress(100);setCompleted(true);});if(onComplete){try{onComplete();}catch{// ignore\n}}},[onComplete]);const[splitActive,setSplitActive]=React.useState(isStatic);React.useEffect(()=>{if(isStatic)return;if(prefersReducedMotion){React.startTransition(()=>setSplitActive(true));return;}React.startTransition(()=>setSplitActive(false));const delayMs=Math.max(0,delay)*1e3;if(typeof window===\"undefined\")return;const id=window.setTimeout(()=>{React.startTransition(()=>setSplitActive(true));},delayMs);return()=>{window.clearTimeout(id);};},[delay,isStatic,prefersReducedMotion]);React.useEffect(()=>{if(isStatic)return;if(!canStart)return;if(hidden)return;cancelRaf();startAtRef.current=null;lastProgressRef.current=-1;completedOnceRef.current=false;const durationMs=Math.max(.05,duration)*1e3;const delayMs=Math.max(0,delay)*1e3;if(prefersReducedMotion){finish();return;}const tick=now=>{if(startAtRef.current==null)startAtRef.current=now+delayMs;const startAt=startAtRef.current;if(now<startAt){rafRef.current=window.requestAnimationFrame(tick);return;}const t=Math.max(0,Math.min(1,(now-startAt)/durationMs));const next=Math.round(t*100);if(next!==lastProgressRef.current){lastProgressRef.current=next;React.startTransition(()=>setProgress(next));}if(t>=1){finish();cancelRaf();return;}rafRef.current=window.requestAnimationFrame(tick);};if(typeof window!==\"undefined\"){rafRef.current=window.requestAnimationFrame(tick);}return()=>{cancelRaf();};},[cancelRaf,canStart,delay,duration,finish,hidden,isStatic,prefersReducedMotion]);const shouldFadeOut=hideAfterComplete&&completed&&fadeOutDuration>0;const shouldHardHide=hideAfterComplete&&completed&&fadeOutDuration<=0;React.useEffect(()=>{if(shouldHardHide&&!hidden){React.startTransition(()=>setHidden(true));}},[hidden,shouldHardHide]);const resolvedLogo=logo;const resolvedAlt=resolvedLogo?.alt??\"\";const canSplit=!prefersReducedMotion;const baseGap=0;const resolvedGap=splitActive?Math.max(0,gap):baseGap;const logoOffset=-resolvedGap/2;const counterOffset=resolvedGap/2;if(hidden)return null;const isFullHeight=style?.height===\"100%\";return /*#__PURE__*/_jsx(motion.div,{ref:rootRef,style:{position:\"relative\",width:\"100%\",height:isFullHeight?\"100%\":style?.height??128,overflow:\"hidden\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:backgroundColor,color:textColor,...style},animate:shouldFadeOut?{opacity:0}:{opacity:1},transition:shouldFadeOut?{duration:Math.max(.05,fadeOutDuration),ease:\"easeOut\"}:{duration:0},onAnimationComplete:()=>{if(shouldFadeOut){React.startTransition(()=>setHidden(true));}},children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",display:\"flex\",flexDirection:layout===\"horizontal\"?\"row\":\"column\",alignItems:\"center\",justifyContent:\"center\",width:\"auto\",gap:0,textAlign:\"center\",pointerEvents:\"none\"},children:[showLogo&&/*#__PURE__*/_jsx(motion.img,{src:resolvedLogo?.src,srcSet:resolvedLogo?.srcSet,alt:resolvedAlt,style:{width:logoSize,height:logoSize,objectFit:\"contain\",display:\"block\",borderRadius:0,userSelect:\"none\"},draggable:false,initial:false,animate:{x:canSplit&&layout===\"horizontal\"?logoOffset:0,y:canSplit&&layout===\"vertical\"?logoOffset:0},transition:canSplit?{duration:Math.max(.05,splitDuration),ease:\"easeOut\"}:{duration:0}}),/*#__PURE__*/_jsxs(motion.div,{style:{...progressFont,color:textColor,width:\"max-content\",minWidth:\"max-content\",lineHeight:progressFont?.lineHeight??\"1em\",fontVariantNumeric:\"tabular-nums\",userSelect:\"none\"},\"aria-label\":`Loading ${progress}%`,initial:false,animate:{x:canSplit&&layout===\"horizontal\"?counterOffset:0,y:canSplit&&layout===\"vertical\"?counterOffset:0},transition:canSplit?{duration:Math.max(.05,splitDuration),ease:\"easeOut\"}:{duration:0},children:[progress,\"%\"]})]})});}addPropertyControls(ScreenPreloader,{logo:{type:ControlType.ResponsiveImage,title:\"Logo\"},showLogo:{type:ControlType.Boolean,title:\"Show Logo\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},logoSize:{type:ControlType.Number,title:\"Logo Size\",defaultValue:96,min:16,max:320,step:1,unit:\"px\"},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:0,min:0,max:1200,step:1,unit:\"px\"},layout:{type:ControlType.Enum,title:\"Layout\",options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],defaultValue:\"horizontal\",displaySegmentedControl:true},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#000000\"},progressFont:{type:ControlType.Font,title:\"Progress Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"32px\",variant:\"Semibold\",letterSpacing:\"-0.03em\",lineHeight:\"1em\",textAlign:\"center\"}},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:2,min:.1,max:20,step:.1,unit:\"s\"},delay:{type:ControlType.Number,title:\"Delay\",defaultValue:.4,min:0,max:10,step:.1,unit:\"s\"},splitDuration:{type:ControlType.Number,title:\"Split Duration\",defaultValue:2,min:.05,max:5,step:.05,unit:\"s\"},hideAfterComplete:{type:ControlType.Boolean,title:\"Hide After\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},fadeOutDuration:{type:ControlType.Number,title:\"Fade Out\",defaultValue:1,min:0,max:3,step:.05,unit:\"s\",hidden:({hideAfterComplete})=>!hideAfterComplete},onComplete:{type:ControlType.EventHandler,title:\"On Complete\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ScreenPreloader\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"800\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"128\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScreenPreloader.map","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";const AnimatedPortfolio=/*#__PURE__*/React.lazy(()=>import(\"https://framerusercontent.com/modules/NswcoE923P9PpTDeVUxX/wX7hX4YZ2EesDyf7r99F/AnimatedPortfolio.js\"));let animatedPreference=false;function readAnimated(){try{return localStorage.getItem(\"gordon-portfolio-style\")===\"animated\";}catch{return animatedPreference;}}function setPresentationPreference(style){animatedPreference=style===\"animated\";try{localStorage.setItem(\"gordon-portfolio-style\",style);}catch{}window.dispatchEvent(new Event(\"gordon:style\"));}class AnimatedBoundary extends React.Component{static getDerivedStateFromError(){return{failed:true};}render(){return this.state.failed?null:this.props.children;}constructor(...args){super(...args);_define_property(this,\"state\",{failed:false});}}import{Link as FramerLink,RenderTarget}from\"framer\";import MarketplacePreloader from\"https://framerusercontent.com/modules/64oES5c24P4E33d27rlI/M2eXH7iEOSHUiK1WizyR/ScreenPreloader.js\";export const PresentationContext=/*#__PURE__*/React.createContext(undefined);// Explicit routes, never inferred from an arbitrary URL or model response.\nexport const routeTargets={\"/case-studies/industrial-design\":{webPageId:\"sohbaceZS\"},\"/retro/case-studies/industrial-design\":{webPageId:\"GVlGr0lHs\"},\"/case-studies/gordon-more-or-less\":{webPageId:\"XN7wIdoP0\"},\"/retro/case-studies/gordon-more-or-less\":{webPageId:\"EGFeLXntn\"},\"/\":{webPageId:\"augiA20Il\"},\"/about\":{webPageId:\"XrDxyvVLl\"},\"/videos\":{webPageId:\"pwlSFLgaz\"},\"/retro/videos\":{webPageId:\"gN6_4L4jo\"},\"/case-studies/wellnesspay\":{webPageId:\"TotLWPgMB\"},\"/case-studies/daniel-wedding-celebrations\":{webPageId:\"QJkTefYVS\"},\"/retro\":{webPageId:\"QiVlALXwC\"},\"/retro/projects\":{webPageId:\"t0GjujhPf\"},\"/retro/projects/weroar\":{webPageId:\"utnHoFCQr\"},\"/retro/projects/coffee-brand\":{webPageId:\"AwV0oQIxm\"},\"/retro/projects/daniel-chocolates\":{webPageId:\"S71jO2BL8\"},\"/retro/projects/coulson-capital\":{webPageId:\"Rcf4RyoH6\"},\"/retro/projects/coffee-cybertruck\":{webPageId:\"QEyeH0bB5\"},\"/retro/about\":{webPageId:\"EBla2C1wb\"},\"/retro/case-studies/wellnesspay\":{webPageId:\"PMMvpUb0g\"},\"/retro/case-studies/daniel-wedding-celebrations\":{webPageId:\"masbCIhai\"}};export const projectPaths={weroar:\"/projects/weroar\",coffee:\"/projects/coffee-brand\",daniel:\"/projects/daniel-chocolates\",coulson:\"/projects/coulson-capital\",cybertruck:\"/projects/coffee-cybertruck\"};export const canonicalRoutes=[\"/case-studies/industrial-design\",\"/case-studies/gordon-more-or-less\",\"/\",\"/about\",\"/videos\",...Object.values(projectPaths),\"/case-studies/wellnesspay\",\"/case-studies/daniel-wedding-celebrations\"];export function canonicalPath(path){const clean=path.replace(/\\/$/,\"\")||\"/\";if(clean===\"/retro\"||clean===\"/retro/projects\")return\"/\";return clean.startsWith(\"/retro/\")?clean.slice(6):clean;}export function retroPath(path){const canonical=canonicalPath(path);return canonical===\"/\"?\"/retro\":\"/retro\"+canonical;}export function currentPresentation(){if(typeof document===\"undefined\")return\"minimalist\";if(document.documentElement.dataset.gordonStyle===\"animated\")return\"animated\";return document.querySelector(\"[data-retro-route]\")?\"retro\":\"minimalist\";}export function renderedPath(){if(typeof document===\"undefined\")return\"/\";return document.querySelector(\"[data-retro-route]\")?.dataset.retroRoute||document.querySelector(\"[data-gordon-page]\")?.dataset.gordonPage||(document.querySelector(\".gordon-about\")?\"/about\":\"/\");}export function styleHref(href,style=currentPresentation()){if(!href?.startsWith(\"/\")||href.startsWith(\"//\"))return href;const split=href.search(/[?#]/);const base=split<0?href:href.slice(0,split);const suffix=split<0?\"\":href.slice(split);const canonical=canonicalPath(base);if(!canonicalRoutes.includes(canonical))return href;return(style===\"retro\"?retroPath(canonical):canonical)+suffix;}export function StyleLink({href,children,presentation,...props}){const context=React.useContext(PresentationContext);const destination=presentation===\"exact\"?href:styleHref(href,presentation||context||\"minimalist\");if(!destination)return /*#__PURE__*/_jsx(\"span\",{...props,children:children});// Retro owns its in-screen history. Absolute same-site paths also work\n// from direct nested entries and Framer preview's module URL.\nif(context===\"retro\"&&destination.startsWith(\"/retro\")){return /*#__PURE__*/_jsx(\"a\",{href:destination,...props,children:children});}const[base,hash]=destination.split(\"#\");const target=routeTargets[base]||(base.startsWith(\"/projects/\")?{webPageId:\"prlwZ2Thf\",pathVariables:{ay19x2oiS:base.slice(10)}}:null);return target?/*#__PURE__*/_jsx(FramerLink,{href:{...target,...hash?{hash}:{}},children:/*#__PURE__*/_jsx(\"a\",{...props,children:children})}):/*#__PURE__*/_jsx(\"a\",{href:destination,...props,children:children});}export function StyleIcon({retro=false}){return /*#__PURE__*/_jsx(\"svg\",{width:\"27\",height:\"27\",viewBox:\"0 0 32 32\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.4\",\"aria-hidden\":\"true\",children:retro?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M7 3h18l2 23H5L7 3Z\",fill:\"#eee9dc\"}),/*#__PURE__*/_jsx(\"rect\",{x:\"10\",y:\"7\",width:\"12\",height:\"10\",rx:\"1\",fill:\"#d9e7e4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M17 22h6M9 22h2M8 29h16\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M13 10v3m6-3v3m-6 1c2 2 4 2 6 0\"})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"rect\",{x:\"4\",y:\"5\",width:\"24\",height:\"22\",rx:\"2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M8 10h6m-6 4h16m-16 5h7m3 0h6m-16 4h7m3 0h6\"})]})});}const themeKey=\"gordon-minimalist-theme\";let memoryTheme=\"system\";function readTheme(){try{const saved=localStorage.getItem(themeKey);if(saved===\"light\"||saved===\"dark\"||saved===\"system\")return saved;}catch{}return memoryTheme;}function useAppearance(){const[preference,setPreference]=React.useState(\"system\");const[systemDark,setSystemDark]=React.useState(false);React.useEffect(()=>{const media=window.matchMedia(\"(prefers-color-scheme: dark)\");const updateSystem=()=>setSystemDark(media.matches);const updatePreference=()=>setPreference(readTheme());updateSystem();updatePreference();media.addEventListener(\"change\",updateSystem);window.addEventListener(\"storage\",updatePreference);window.addEventListener(\"gordon:appearance\",updatePreference);return()=>{media.removeEventListener(\"change\",updateSystem);window.removeEventListener(\"storage\",updatePreference);window.removeEventListener(\"gordon:appearance\",updatePreference);};},[]);const resolved=preference===\"system\"?systemDark?\"dark\":\"light\":preference;React.useEffect(()=>{document.documentElement.dataset.gordonTheme=resolved;// Keep the browser canvas stable independently of descendant :has()\n// styling and scroll-driven template rendering.\nconst canvasColor=resolved===\"dark\"?\"#000\":\"#fff\";document.documentElement.style.setProperty(\"background-color\",canvasColor,\"important\");document.body.style.setProperty(\"background-color\",canvasColor,\"important\");document.documentElement.style.colorScheme=resolved;},[resolved]);const choose=next=>{memoryTheme=next;try{localStorage.setItem(themeKey,next);}catch{}setPreference(next);window.dispatchEvent(new Event(\"gordon:appearance\"));};return{preference,resolved,choose};}function AppearanceIcon({sun}){return /*#__PURE__*/_jsx(\"svg\",{width:\"22\",height:\"22\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",\"aria-hidden\":\"true\",children:sun?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 2v2m0 16v2M2 12h2m16 0h2M5 5l1.4 1.4m11.2 11.2L19 19M5 19l1.4-1.4M17.6 6.4 19 5\"})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"8\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 4a8 8 0 0 0 0 16Z\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M2 3l2 2m16 14 2 2M2 21l2-2M20 5l2-2\"})]})});}// Scope appearance to page content. Media pixels and the independently mounted\n// PDA remain untouched; Retro keeps its own palette and presentation.\nconst appearanceScope=\"html[data-gordon-theme]:not(:has(.retro-portfolio))\";const appearanceCss=`\n/* These homepage cards keep their covers in both idle and hover states. */\na.gordon-home-card-expanded:is([href$=\"/case-studies/industrial-design\"],[href$=\"/case-studies/gordon-more-or-less\"]) :is([data-framer-name=\"Hover GIF\"],video){display:none!important;}\n\n/* Native homepage canvas must not depend on descendant rendering state. */\nhtml[data-gordon-theme=\"dark\"] .framer-ggcdU.framer-awfqx9{background:#000!important;}\nhtml[data-gordon-theme=\"light\"] .framer-ggcdU.framer-awfqx9{background:#fff!important;}\n${appearanceScope}{--theme-page:#fff;--theme-text:#000;--theme-muted:#606060;--theme-line:#d8d8d8;--theme-surface:#f5f5f7;--theme-hover:#e9e9ed;--theme-selected:#000;--theme-on-selected:#fff;}\nhtml[data-gordon-theme=\"dark\"]:not(:has(.retro-portfolio)){--theme-page:#000;--theme-text:#fff;--theme-muted:#b3b3b8;--theme-line:#383838;--theme-surface:#171717;--theme-hover:#252525;--theme-selected:#fff;--theme-on-selected:#000;}\n/* Root tokens must follow appearance too: wide native wrappers can sit outside #main. */\n${appearanceScope}{--gordon-page:var(--theme-page);--gordon-text:var(--theme-text);--gordon-muted:var(--theme-muted);--gordon-active:var(--theme-text);--gordon-line:var(--theme-line);}\n${appearanceScope} body{background:var(--theme-page)!important;min-height:100vh;margin:0;}\n${appearanceScope}{background:var(--theme-page)!important;}\n/* Paint every native page wrapper, including main/section wrappers at wide breakpoints. */\n${appearanceScope} :is(#main,body>main,body>div):has(:is(.gordon-split-hero,.gordon-project,.gordon-about,.gordon-study,.gordon-video-page)){background:var(--theme-page)!important;}\n${appearanceScope} :is(#main,body>main,body>div) :is(div,main,section,article):has(:is(.gordon-split-hero,.gordon-project,.gordon-about,.gordon-study,.gordon-video-page)){background:var(--theme-page)!important;}\n${appearanceScope} [data-framer-name=\"Page wrapper padding\"]{background:var(--theme-page)!important;}\n${appearanceScope} .gordon-video-page{background:var(--theme-page)!important;}\n${appearanceScope} .gordon-video-page :is(.gordon-video-play,.gordon-video-play span,.gordon-video-error){color:#fff!important;}\nhtml[data-gordon-theme=\"dark\"]:not(:has(.retro-portfolio)){color-scheme:dark;}\nhtml[data-gordon-theme=\"light\"]:not(:has(.retro-portfolio)){color-scheme:light;}\n\n/* Match the full native canvas to project, case-study and homepage content,\n   independently of constrained content widths and inherited surface variables. */\n${appearanceScope}:has(:is(.gordon-split-hero,.gordon-project,.gordon-study,.gordon-about,.gordon-video-page)) :is(body,#main,#main>div,[data-framer-name=\"Page Wrapper\"],[data-framer-name=\"Page wrapper padding\"]){background:var(--theme-page)!important;}\n\n/* Existing named header variants and content retain their spacing. */\n${appearanceScope} :is(#main,body>main) div:has(:is(.gordon-split-hero,.gordon-project,.gordon-about,.gordon-study)){background-color:var(--theme-page)!important;}\n${appearanceScope} :is([data-framer-name=\"Header || Appear\"],nav[data-framer-name^=\"Mobile\"],nav[data-framer-name^=\"Desktop\"]){background-color:var(--theme-page)!important;}\n${appearanceScope} div:has(>.gordon-project){background:var(--theme-page)!important;}\n${appearanceScope} :is(body>main,#main,.gordon-style-picker){--gordon-page:var(--theme-page);--gordon-text:var(--theme-text);--gordon-muted:var(--theme-muted);--gordon-active:var(--theme-text);--gordon-line:var(--theme-line);color:var(--theme-text);}\n${appearanceScope} :is(body>main,body>main>div,body>main>div>div,#main,#main>div,.framer-ggcdU,.gordon-split-hero,.gordon-about,.gordon-study){background:var(--theme-page)!important;color:var(--theme-text)!important;}\n${appearanceScope} :where(main,#main) :is(h1,h2,h3,h4,h5,h6,p,a,span,strong,li,dt,dd,figcaption,button,summary){color:var(--theme-text)!important;--framer-text-color:var(--theme-text)!important;--framer-link-text-color:var(--theme-text)!important;}\n${appearanceScope} :is(.gordon-hero-name,.gordon-hero-copy,.gordon-hero-summary,.gordon-details,.gordon-career,.gordon-menu){color:var(--theme-text)!important;}\n${appearanceScope} .gordon-split-hero :is(.gordon-hero-description,.gordon-hero-statement,.gordon-hero-static){color:var(--theme-text)!important;}\n${appearanceScope} :is(.gordon-menu-panel,.gordon-career-chapter,.gordon-career-detail){background:var(--theme-surface)!important;border-color:var(--theme-line)!important;}\n${appearanceScope} .gordon-career-chapter:hover{background:var(--theme-hover)!important;}\n${appearanceScope} .gordon-career-open{background:var(--theme-hover)!important;}\n${appearanceScope} .gordon-career-period:hover{background:var(--theme-surface)!important;}\n${appearanceScope} .gordon-career-period[aria-pressed=\"true\"]{background:var(--theme-selected)!important;color:var(--theme-on-selected)!important;}\n${appearanceScope} .gordon-career-period[aria-pressed=\"true\"] *{color:var(--theme-on-selected)!important;}\n${appearanceScope} :is(.gordon-section-link,.gordon-section-link *){color:var(--theme-muted)!important;}\n${appearanceScope} :is(.gordon-section-link[aria-current=\"location\"],.gordon-section-link[aria-current=\"location\"] *,.gordon-section-link:hover,.gordon-section-link:hover *){color:var(--theme-text)!important;}\n${appearanceScope} :is(.gordon-source-role,.gordon-source-facts dt,.gordon-sidebar-role){color:var(--theme-muted)!important;}\n${appearanceScope} :is(.gordon-career-subtitle,.gordon-career-year span,.gordon-career-note,.gordon-career-detail-year span,.gordon-career-intro,.gordon-career-item-meta,.gordon-career-company,.gordon-career-body,.gordon-details p,.gordon-media-caption,.gordon-source-section .gordon-section-eyebrow,.gordon-study figcaption,.gordon-study dt,.gordon-study .cs-number,.gordon-study .cs-eyebrow){color:var(--theme-muted)!important;}\n${appearanceScope} :is(.gordon-career-item,.gordon-study .cs-nav,.gordon-study .cs-section,.gordon-study dl,.gordon-study .cs-footer){border-color:var(--theme-line)!important;}\n${appearanceScope} [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div:first-child{background:var(--theme-page)!important;}\n${appearanceScope} .gordon-study .cs-cover{background:var(--theme-surface)!important;}\n/* Keep logo framing on the page canvas, including Daniel on narrow screens. */\n${appearanceScope} .gordon-project .gordon-logo-frame:not(.gordon-logo-frame-dark){background:var(--theme-page)!important;}\n/* Apply contrast to the animated pixels, not the clipped wrapper (WebKit). */\n${appearanceScope} .gordon-self-study .gm-title-wordmark{filter:none!important;}\n${appearanceScope} .gordon-self-study .gm-title-wordmark img{filter:none;}\nhtml[data-gordon-theme=\"dark\"]:not(:has(.retro-portfolio)) .gordon-self-study .gm-title-wordmark img{filter:brightness(0) invert(1)!important;}\n/* These photographed identity panels intentionally retain a light canvas. */\n${appearanceScope} .gordon-self-study :is(.cs-cover,.gm-cover-copy,.gm-identity){background:#f5f0e8!important;}\n${appearanceScope} .gordon-self-study :is(.gm-cover-copy,.gm-identity) p{color:#242723!important;-webkit-text-fill-color:#242723!important;}\n\nhtml[data-gordon-theme=\"dark\"]:not(:has(.retro-portfolio)) .gordon-hero-gif img{filter:invert(1);}\n${appearanceScope} .gordon-style-picker{color:var(--theme-text);}\n${appearanceScope} :is(.gordon-style-trigger,.gordon-style-options){background:var(--theme-page);border-color:var(--theme-line);}\n${appearanceScope} .gordon-style-options a{background:var(--theme-surface);}\n${appearanceScope} .gordon-style-options a:hover{background:var(--theme-hover);}\n${appearanceScope} .gordon-style-options a[aria-current=page]{border-color:var(--theme-text);background:var(--theme-hover);}\n${appearanceScope} .gordon-style-options a:nth-of-type(2) svg{color:#202020;}\n${appearanceScope} .gordon-appearance{border-color:var(--theme-line);}\n${appearanceScope} .gordon-appearance button:hover{background:var(--theme-surface);}\n${appearanceScope} .gordon-style-picker :focus-visible{outline-color:var(--theme-text);}\n/* Project labels stay readable over photography in both colour modes. */\n@media(max-width:809px),(hover:none),(pointer:coarse){\n${appearanceScope} [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"]{box-sizing:border-box!important;width:100%!important;max-width:100%!important;}\n${appearanceScope} [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Wrapper\"],${appearanceScope} [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]{min-width:0!important;max-width:100%!important;}\n${appearanceScope} [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div{max-width:100%!important;box-sizing:border-box!important;flex-shrink:1!important;}\n${appearanceScope} [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div:first-child{background:#fff!important;}\n${appearanceScope} [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div:first-child :is(p,span){color:#111!important;--framer-text-color:#111!important;-webkit-text-fill-color:#111!important;}\n${appearanceScope} [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div:not(:first-child){background:rgba(0,0,0,.82)!important;}\n${appearanceScope} [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div:not(:first-child) :is(p,span){color:#fff!important;--framer-text-color:#fff!important;-webkit-text-fill-color:#fff!important;}\n${appearanceScope} [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] p{white-space:normal!important;overflow-wrap:anywhere!important;text-indent:0!important;line-height:1.4!important;}\n}\n\n`;const selectorCss=`\n.gordon-style-picker{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));top:auto;z-index:100020;pointer-events:auto;font:500 13px/1.4 Arial,sans-serif;--selector-panel-width:min(304px,calc(100vw - 24px));}\n.gordon-style-picker *{box-sizing:border-box;}\n.gordon-style-picker[data-open=true] .gordon-style-pill{visibility:hidden;pointer-events:none;}\n.gordon-style-picker .gordon-style-hide{position:absolute;left:4%;top:3.2%;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #7776;border-radius:50%;background:#eee9;color:#333;cursor:pointer;touch-action:manipulation;z-index:1;}\nhtml[data-gordon-theme=dark] .gordon-style-picker .gordon-style-hide{background:#333b;color:#eee;border-color:#aaa5;}\n.gordon-style-picker .gordon-style-hide:hover{border-color:#ff8500;}\n\n.gordon-style-picker .gordon-selector-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}\n.gordon-style-picker .gordon-style-pill{position:relative;width:280px;height:62px;background:url(\"https://framerusercontent.com/images/ycP6foQ4ASXk3p2RygrKx4J8q6Q.png?width=2172&height=724\") center / 112% auto no-repeat;filter:drop-shadow(0 3px 7px #0003);}\nhtml[data-gordon-theme=dark] .gordon-style-picker .gordon-style-pill{background-image:url(\"https://framerusercontent.com/images/WRz25ON4pXvkXejSSw3vBlgMWg.png?width=2172&height=724\");}\n.gordon-style-picker .gordon-style-trigger,.gordon-style-picker .gordon-theme-choice{position:absolute;display:block;min-height:44px;padding:0;border:0;background:transparent!important;box-shadow:none;color:inherit!important;cursor:pointer;touch-action:manipulation;}\n.gordon-style-picker .gordon-style-trigger{left:8%;top:9%;width:40%;height:77%;border-radius:18px;}\n.gordon-style-picker .gordon-pill-theme{position:absolute;inset:0;pointer-events:none;}\n.gordon-style-picker .gordon-pill-theme .gordon-theme-choice{pointer-events:auto;top:14%;height:72%;width:19%;min-width:44px;border-radius:12px;}\n.gordon-style-picker .gordon-pill-theme .gordon-theme-choice[data-theme=light]{left:51%;}\n.gordon-style-picker .gordon-pill-theme .gordon-theme-choice[data-theme=dark]{left:70.5%;}\n\n.gordon-style-picker .gordon-style-options{position:absolute;left:0;top:auto;bottom:0;display:block;width:var(--selector-panel-width);height:calc(var(--selector-panel-width) * 1.2);max-height:calc(100dvh - 98px);padding:0;border:0;border-radius:0;overflow:visible;background:url(\"https://framerusercontent.com/images/7kdfqvPjiqSKd5XNItGDoFT4U84.png?width=1122&height=1402\") center / 110% auto no-repeat!important;filter:drop-shadow(0 6px 12px #0004);box-shadow:none;}\nhtml[data-gordon-theme=dark] .gordon-style-picker .gordon-style-options{background-image:url(\"https://framerusercontent.com/images/bDPyEga9G2eTP9vQ97ivBAyW5A.png?width=1122&height=1402\")!important;}\n.gordon-style-picker .gordon-style-options a{position:absolute;left:25%;width:66%;height:18.2%;min-height:44px;padding:0;display:block;border:0;border-radius:15px;background:transparent!important;text-decoration:none!important;cursor:pointer;}\n.gordon-style-picker .gordon-style-options a:nth-of-type(1){top:14.8%;}\n.gordon-style-picker .gordon-style-options a:nth-of-type(2){top:35.8%;}\n.gordon-style-picker .gordon-style-options a:nth-of-type(3){top:56.8%;}\n.gordon-style-picker .gordon-style-options a[aria-current=page]:after{content:\"\";position:absolute;right:9%;top:50%;width:7.3%;aspect-ratio:1;transform:translateY(-50%);border-radius:50%;background:#ff8500;box-shadow:0 0 0 1px #0004;pointer-events:none;}\n.gordon-style-picker .gordon-panel-theme{position:absolute;left:25%;top:81.3%;width:65.5%;height:12%;display:flex;}\n.gordon-style-picker .gordon-panel-theme .gordon-theme-choice{position:relative;flex:1;width:50%;height:100%;min-height:44px;border-radius:10px;}\n.gordon-style-picker :is(button,a):focus-visible{outline:3px solid #ff8500!important;outline-offset:3px;}\n.gordon-style-picker .gordon-style-options a:hover{box-shadow:inset 0 0 0 2px #ff850077;}\n@media(max-width:809px),(pointer:coarse){.gordon-style-picker{left:12px;bottom:calc(12px + env(safe-area-inset-bottom));}.gordon-style-picker .gordon-style-pill{width:248px;height:56px;}body:has(.gordon-playground.is-open) .gordon-style-picker{visibility:hidden;pointer-events:none;}}\n@media(max-width:380px){.gordon-playground:not(.is-open) .gordon-playground-launch{bottom:calc(78px + env(safe-area-inset-bottom))!important;}}\n@media(max-height:480px){.gordon-style-picker .gordon-style-options{height:365px;max-height:none;transform:scale(.8);transform-origin:bottom left;}}\n@media(prefers-reduced-motion:reduce){.gordon-style-picker *{transition:none!important;}}\n`;export function StyleSelector({animatedContent,onStyleChange,currentStyle}={}){const SelectorLink=onStyleChange?\"a\":StyleLink;const[animated,setAnimated]=React.useState(false);React.useEffect(()=>{const read=()=>setAnimated(readAnimated());read();window.addEventListener(\"gordon:style\",read);window.addEventListener(\"storage\",read);return()=>{window.removeEventListener(\"gordon:style\",read);window.removeEventListener(\"storage\",read);};},[]);const[open,setOpen]=React.useState(false);const[path,setPath]=React.useState(\"/\");const root=React.useRef(null);const trigger=React.useRef(null);const{resolved,choose}=useAppearance();React.useEffect(()=>{let frame=0;const read=()=>{frame=0;setPath(renderedPath());};const schedule=()=>{if(!frame)frame=requestAnimationFrame(read);};read();const observer=new MutationObserver(schedule);observer.observe(document.body,{childList:true,subtree:true});window.addEventListener(\"popstate\",schedule);return()=>{observer.disconnect();cancelAnimationFrame(frame);window.removeEventListener(\"popstate\",schedule);};},[]);React.useEffect(()=>{setOpen(false);},[path]);React.useEffect(()=>{if(!open)return;root.current?.querySelector(\".gordon-style-hide\")?.focus({preventScroll:true});const dismiss=e=>{if(!root.current?.contains(e.target))setOpen(false);};const key=e=>{if(e.key===\"Escape\"){e.preventDefault();setOpen(false);requestAnimationFrame(()=>trigger.current?.focus({preventScroll:true}));}};document.addEventListener(\"pointerdown\",dismiss);document.addEventListener(\"keydown\",key);return()=>{document.removeEventListener(\"pointerdown\",dismiss);document.removeEventListener(\"keydown\",key);};},[open]);const canonical=canonicalRoutes.includes(canonicalPath(path))?canonicalPath(path):\"/\";const isRetro=path.startsWith(\"/retro\");return /*#__PURE__*/_jsxs(\"div\",{className:\"gordon-style-picker\",\"data-open\":open,ref:root,\"data-gordon-ignore\":\"true\",children:[/*#__PURE__*/_jsx(\"style\",{children:selectorCss}),/*#__PURE__*/_jsx(\"style\",{children:appearanceCss.replaceAll(\"html[data-gordon-theme\",'html:not([data-gordon-style=\"animated\"])[data-gordon-theme')}),animated&&!isRetro&&animatedContent&&/*#__PURE__*/_jsx(AnimatedBoundary,{children:/*#__PURE__*/_jsx(React.Suspense,{fallback:null,children:/*#__PURE__*/_jsx(AnimatedPortfolio,{path:canonical,content:{...animatedContent,NativeLink:PersistentStyleLink}})})}),/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-style-pill\",children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"gordon-style-trigger\",ref:trigger,\"aria-expanded\":open,\"aria-controls\":\"gordon-style-options\",onClick:()=>setOpen(!open),\"aria-label\":\"Choose site style\",children:/*#__PURE__*/_jsx(\"span\",{className:\"gordon-selector-sr\",children:\"Style\"})}),/*#__PURE__*/_jsx(\"div\",{className:\"gordon-pill-theme\",role:\"group\",\"aria-label\":\"Appearance\",children:[\"light\",\"dark\"].map(theme=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"gordon-theme-choice\",\"data-theme\":theme,\"aria-label\":theme===\"light\"?\"Use light appearance\":\"Use dark appearance\",\"aria-pressed\":resolved===theme,onClick:()=>choose(theme),children:/*#__PURE__*/_jsx(\"span\",{className:\"gordon-selector-sr\",children:theme===\"light\"?\"Light\":\"Dark\"})},theme))})]}),open&&/*#__PURE__*/_jsxs(\"nav\",{id:\"gordon-style-options\",className:\"gordon-style-options\",\"aria-label\":\"Choose site style\",children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"gordon-style-hide\",\"aria-label\":\"Hide style selector\",title:\"Hide style selector\",onClick:()=>{setOpen(false);requestAnimationFrame(()=>trigger.current?.focus({preventScroll:true}));},children:/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.8\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"m6 9 6 6 6-6\"})})}),[{key:\"minimalist\",label:\"Minimalist\",href:canonical},{key:\"retro\",label:\"Retro PC\",href:retroPath(canonical)},{key:\"animated\",label:\"animated\",href:canonical}].map(item=>/*#__PURE__*/_jsx(SelectorLink,{href:item.href,...!onStyleChange?{presentation:\"exact\"}:{},\"aria-current\":item.key===(currentStyle||(isRetro?\"retro\":animated?\"animated\":\"minimalist\"))?\"page\":undefined,onClick:event=>{// A standalone interview can switch its presentation in place.\n    if(onStyleChange?.(item.key))event.preventDefault();setPresentationPreference(item.key);setOpen(false);},children:/*#__PURE__*/_jsx(\"span\",{className:\"gordon-selector-sr\",children:item.label})},item.key)),/*#__PURE__*/_jsx(\"div\",{className:\"gordon-panel-theme\",role:\"group\",\"aria-label\":\"Panel appearance\",children:[\"light\",\"dark\"].map(theme=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"gordon-theme-choice\",\"data-theme\":theme,\"aria-label\":theme===\"light\"?\"Use light appearance\":\"Use dark appearance\",\"aria-pressed\":resolved===theme,onClick:()=>choose(theme),children:/*#__PURE__*/_jsx(\"span\",{className:\"gordon-selector-sr\",children:theme===\"light\"?\"Light\":\"Dark\"})},theme))})]})]});}// This portal remains inside Framer's page/router context. The persistent PDA\n// is a separate React root, so its card clicks use these native route links.\nexport function PageStyleControls({animatedContent,onStyleChange,currentStyle}={}){React.useEffect(()=>{// Migrate only the two known old video destinations; leave other links alone.\nconst rewrite=()=>document.querySelectorAll('a[href=\"https://designedbygordon.com/commercial-square-video\"],a[href=\"https://designedbygordon.com/home-motion-projects\"]').forEach(a=>{a.href=styleHref(\"/videos\");a.removeAttribute(\"target\");a.removeAttribute(\"rel\");a.setAttribute(\"aria-label\",\"View motion and video work\");a.dataset.gordonVideoLink=\"true\";});rewrite();const observer=new MutationObserver(rewrite);observer.observe(document.body,{childList:true,subtree:true});const navigate=e=>{const a=e.target?.closest?.(\"a[data-gordon-video-link]\");if(!a||e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;const destination=styleHref(\"/videos\");const target=Array.from(document.querySelectorAll(\"[data-gordon-route-link]\")).find(l=>l.dataset.gordonRouteLink===destination);if(target){e.preventDefault();e.stopPropagation();target.click();}};document.addEventListener(\"click\",navigate,true);return()=>{observer.disconnect();document.removeEventListener(\"click\",navigate,true);};},[]);const destinations=[...canonicalRoutes,...Object.keys(routeTargets).filter(p=>p.startsWith(\"/retro\"))];return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(StyleSelector,{animatedContent:animatedContent,onStyleChange:onStyleChange,currentStyle:currentStyle}),/*#__PURE__*/_jsx(\"nav\",{hidden:true,\"aria-hidden\":\"true\",\"data-gordon-ignore\":\"true\",children:destinations.map(path=>/*#__PURE__*/_jsx(StyleLink,{href:path,presentation:\"exact\",tabIndex:-1,\"data-gordon-route-link\":path,children:path},path))})]});}export function PersistentStyleLink({href,children,onClick,...props}){const destination=styleHref(href);return /*#__PURE__*/_jsx(\"a\",{...props,href:destination,onClick:event=>{onClick?.(event);if(event.defaultPrevented||event.button!==0||event.metaKey||event.ctrlKey||event.shiftKey||event.altKey||props.target===\"_blank\")return;const anchor=Array.from(document.querySelectorAll(\"[data-gordon-route-link]\")).find(a=>a.dataset.gordonRouteLink===destination);if(anchor){event.preventDefault();anchor.click();}},children:children});}// Mount once in the existing document-lifetime root, never on a style switch.\nclass GordonPreloaderBoundary extends React.Component{static getDerivedStateFromError(){return{failed:true};}render(){return this.state.failed?null:this.props.children;}constructor(...args){super(...args);_define_property(this,\"state\",{failed:false});}}export function GordonPreloader(){const[visible,setVisible]=React.useState(false);const[progress,setProgress]=React.useState(0);React.useEffect(()=>{if(RenderTarget.current()===RenderTarget.canvas)return;const motion=window.matchMedia(\"(prefers-reduced-motion: reduce)\");if(motion.matches)return;let disposed=false,frame=0;setVisible(true);const finish=()=>{if(!disposed){setProgress(100);setVisible(false);}};// Bound failures; there is no minimum display time or all-site media queue.\nconst timeout=window.setTimeout(finish,3e3);const critical=el=>{if(el.closest(\"#gordon-site-preloader\"))return false;const r=el.getBoundingClientRect(),style=getComputedStyle(el);return r.width>0&&r.height>0&&r.top<innerHeight&&r.bottom>0&&style.visibility!==\"hidden\"&&style.display!==\"none\"&&!!el.getClientRects().length;};frame=requestAnimationFrame(()=>{frame=requestAnimationFrame(()=>{if(disposed)return;const images=Array.from(document.images).filter(critical).filter(img=>img.currentSrc||img.src).map(img=>img.decode().catch(()=>{}));const fonts=Array.from(document.querySelectorAll(\"h1, h2, p\")).filter(critical).slice(0,4).map(el=>document.fonts.load(getComputedStyle(el).font,\"Gordon\").catch(()=>{}));const queue=[...images,...fonts];let done=0;if(!queue.length){finish();return;}queue.forEach(item=>item.finally(()=>{if(disposed)return;done++;setProgress(Math.round(done/queue.length*100));if(done===queue.length)finish();}));});});const skip=()=>{if(motion.matches)finish();};motion.addEventListener(\"change\",skip);return()=>{disposed=true;cancelAnimationFrame(frame);window.clearTimeout(timeout);motion.removeEventListener(\"change\",skip);};},[]);if(!visible)return null;return /*#__PURE__*/_jsx(GordonPreloaderBoundary,{children:/*#__PURE__*/_jsxs(\"div\",{id:\"gordon-site-preloader\",\"aria-hidden\":\"true\",inert:\"\",\"data-gordon-ignore\":\"true\",style:{position:\"fixed\",inset:0,zIndex:2147483647,pointerEvents:\"none\",\"--gordon-load-progress\":`\"${progress}%\"`},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n#gordon-site-preloader,#gordon-site-preloader *{pointer-events:none!important;}\n#gordon-site-preloader [aria-label^=\"Loading\"]{font-size:0!important;}\n#gordon-site-preloader [aria-label^=\"Loading\"]::after{content:var(--gordon-load-progress);font:600 32px/1 Arial,sans-serif;letter-spacing:-.03em;}\nhtml[data-gordon-theme=\"dark\"] #gordon-site-preloader{filter:invert(1);}\n@media(prefers-reduced-motion:reduce){#gordon-site-preloader{display:none!important;}}\n            `}),/*#__PURE__*/_jsx(MarketplacePreloader,{showLogo:true,logoSize:100,gap:24,layout:\"horizontal\",backgroundColor:\"#ffffff\",textColor:\"#111111\",hideAfterComplete:false,logo:{src:\"https://framerusercontent.com/images/3qyVZI84lmSMRkjKa9ayXT9Lr5M.gif?width=600&height=600\"},duration:.05,delay:0,splitDuration:.7,fadeOutDuration:.3,style:{width:\"100%\",height:\"100%\"}})]})});}export const homepageProjectMedia={weroar:{src:\"https://framerusercontent.com/images/BjmiiatBYsRdaJLR3bCIhnQ.gif\",width:800,height:421,alt:\"WeRoar brand and digital work\"},coffee:{src:\"https://framerusercontent.com/images/JbIyQ1oXGhWsUAAGL1nDj3AHBT8.png\",width:1917,height:1080,alt:\"1775 Coffee gold logo surrounded by swirling coffee\"}};// Applied to the Main template root, so every breakpoint paints the full canvas.\nexport function withThemeCanvas(Component){return /*#__PURE__*/React.forwardRef((props,ref)=>{const{resolved}=useAppearance();const canvas=RenderTarget.current()===RenderTarget.canvas;return /*#__PURE__*/_jsx(Component,{...props,ref:ref,className:(props.className||\"\")+\" gordon-template-canvas\",\"data-gordon-canvas\":resolved,style:{...props.style,background:resolved===\"dark\"?\"#000\":\"#fff\",...!canvas?{width:\"100%\",maxWidth:\"none\",minHeight:\"100vh\"}:{}}});});}export const homepageProjectCopy={weroar:{href:\"/projects/weroar\",name:\"WeRoar\",label:\"Brand, web and campaign design\",summary:\"Brand, web, packaging and campaign work for a portfolio of businesses, created as part of an in-house team working across 16+ brands.\",previousLabel:\"Multi-brand creative production\"},coffee:{href:\"/projects/coffee-brand\",name:\"1775 Coffee\",label:\"Campaign and ecommerce design\",summary:\"Campaign and ecommerce design for 1775 Coffee, connecting product visuals, promotional creative and the online shopping experience.\",previousLabel:\"Campaign creative & ecommerce visuals\"},daniel:{href:\"/projects/daniel-chocolates\",name:\"Daniel Chocolates\",label:\"Packaging, photography and campaigns\",summary:\"Packaging, product photography and seasonal campaigns for a Vancouver chocolatier, carried across print, ecommerce and email.\",previousLabel:\"Packaging, production & ecommerce\"},gordon:{href:\"/case-studies/gordon-more-or-less\",name:\"“Gordon, More or Less”\",label:\"Web experience \\xb7 Visual direction \\xb7 AI interaction\",summary:\"Three ways to explore one portfolio, with an AI guide to the work behind it. Visual direction, responsive interaction and conversation design in an evolving site.\",previousLabel:\"Web experience \\xb7 Visual direction \\xb7 AI interaction\"},videos:{href:\"/videos\",name:\"Campaign video\",label:\"Video editing and motion\",summary:\"A selection of commercial edits, giveaway promotions and pre-roll ads, shaped through pacing, typography and motion.\",previousLabel:\"Commercial edits, giveaway promos and pre-roll ads\"},industrial:{href:\"/case-studies/industrial-design\",name:\"Industrial Design\",label:\"Form, materials and prototyping\",summary:\"Lighting, spatial installations and packaging, showing how I develop physical ideas through form, materials, prototyping and production.\",previousLabel:\"Lighting, installation & packaging\"}};// Authored UI uses monochrome vectors, never font/emoji glyphs.\nexport function PortfolioIcon({name=\"arrow-up-right\"}){const paths={\"arrow-up-right\":\"M6 18 18 6M6 6h12v12\",\"arrow-down-right\":\"m6 6 12 12M6 18h12V6\",\"arrow-right\":\"M4 12h16m-6-6 6 6-6 6\",\"arrow-left\":\"M20 12H4m6-6-6 6 6 6\",\"arrow-up\":\"M12 20V4m-6 6 6-6 6 6\",\"arrow-down\":\"M12 4v16m-6-6 6 6 6-6\",\"chevron-up\":\"m6 15 6-6 6 6\",\"chevron-down\":\"m6 9 6 6 6-6\",play:\"m8 5 11 7-11 7Z\",check:\"m5 12 4 4L19 6\",menu:\"M4 6h16M4 12h16M4 18h16\",close:\"m6 6 12 12M6 18 18 6\",document:\"M5 3h14v18H5ZM8 8h8M8 12h8M8 16h5\",asterisk:\"M12 2v20M2 12h20M5 5l14 14M5 19 19 5\",circle:\"M20 12a8 8 0 1 1-16 0 8 8 0 0 1 16 0\"};return /*#__PURE__*/_jsx(\"svg\",{className:\"gordon-ui-icon\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.65\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\",style:{display:\"inline-block\",verticalAlign:\"-.12em\",width:\"1em\",height:\"1em\",minHeight:0,strokeWidth:1.65,flexShrink:0,pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"path\",{d:paths[name]||paths[\"arrow-up-right\"]})});}\nexport const __FramerMetadata__ = {\"exports\":{\"PortfolioIcon\":{\"type\":\"reactComponent\",\"name\":\"PortfolioIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"PersistentStyleLink\":{\"type\":\"reactComponent\",\"name\":\"PersistentStyleLink\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"PresentationContext\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"homepageProjectMedia\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"projectPaths\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"routeTargets\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StyleSelector\":{\"type\":\"reactComponent\",\"name\":\"StyleSelector\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"canonicalRoutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StyleLink\":{\"type\":\"reactComponent\",\"name\":\"StyleLink\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"canonicalPath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"retroPath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"renderedPath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PageStyleControls\":{\"type\":\"reactComponent\",\"name\":\"PageStyleControls\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"currentPresentation\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"homepageProjectCopy\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withThemeCanvas\":{\"type\":\"reactHoc\",\"name\":\"withThemeCanvas\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"styleHref\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StyleIcon\":{\"type\":\"reactComponent\",\"name\":\"StyleIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"GordonPreloader\":{\"type\":\"reactComponent\",\"name\":\"GordonPreloader\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Adapted from the coordinated handoff. No provider keys, history, or deployment controls.\nexport const BACKEND_ORIGIN=\"https://gordon-llm-backend.gordongaodesign.workers.dev\";export const ROUTES=new Set([\"/projects/weroar\",\"/projects/coffee-brand\",\"/projects/daniel-chocolates\",\"/projects/coulson-capital\",\"/projects/coffee-cybertruck\",\"/case-studies/wellnesspay\",\"/case-studies/daniel-wedding-celebrations\",\"/case-studies/gordon-more-or-less\",\"/case-studies/industrial-design\"]);const clean=(value,limit)=>typeof value===\"string\"&&!!value.trim()&&[...value].length<=limit&&!/[\\u0000-\\u0008\\u000b\\u000c\\u000e-\\u001f\\u007f\\u202a-\\u202e\\u2066-\\u2069]/.test(value);export function safeCards(cards){const seen=new Set;return(Array.isArray(cards)?cards:[]).filter(card=>{if(!card||!ROUTES.has(card.href)||seen.has(card.href)||!clean(card.name,80)||!clean(card.description,200))return false;seen.add(card.href);return true;}).slice(0,2).map(card=>({id:clean(card.id,64)?card.id:card.href,name:card.name,description:card.description,href:card.href,images:(Array.isArray(card.images)?card.images:[]).filter(image=>typeof image===\"string\"&&/^https:\\/\\/framerusercontent\\.com\\/images\\/[a-zA-Z0-9_-]+\\.(png|jpg|jpeg|webp)(\\?scale-down-to=512)?$/.test(image)).slice(0,1)}));}export function safeLinks(links){const seen=new Set;return(Array.isArray(links)?links:[]).filter(link=>{if(!link||!ROUTES.has(link.href)||seen.has(link.href)||!clean(link.label,80))return false;seen.add(link.href);return true;}).slice(0,2).map(link=>({id:clean(link.id,64)?link.id:link.href,label:link.label,href:link.href}));}export function readLimits(response,previous={remaining:null,reason:\"\",blocked:false}){const raw=response.headers.get(\"X-Gordon-Remaining\");const remaining=raw!==null&&/^(?:[0-9]|1[0-9]|20)$/.test(raw)?Number(raw):previous.remaining;return{remaining,reason:response.headers.get(\"X-Gordon-Limit\")||\"\",blocked:response.status===429};}export function limitNotice({remaining,blocked,reason}){if(remaining===0||reason===\"session_limit\")return\"You’ve reached the 20-question limit for this session.\";if(blocked)return\"“Gordon, More or Less” has reached a usage limit. Please try again later.\";if(Number.isInteger(remaining)&&remaining<=3)return`${remaining} question${remaining===1?\"\":\"s\"} remaining in this session.`;return\"\";}// One attempt for the document lifetime, including failures. Navigation/reopen never retries.\n// The persistent PDA owns its presentation; it is never sent as a visitor turn/history.\nlet introduction;export function loadIntroduction(fetcher=fetch){if(!introduction)introduction=(async()=>{const response=await fetcher(BACKEND_ORIGIN+\"/introduction\",{credentials:\"omit\",cache:\"no-store\",redirect:\"error\",referrerPolicy:\"no-referrer\"});if(!response.ok)throw new Error(\"Introduction unavailable\");const raw=await response.text();if(raw.length>16e3)throw new Error(\"Invalid introduction\");const body=JSON.parse(raw);if(!clean(body.text,700)||!Array.isArray(body.suggest)||body.suggest.length!==3||body.suggest.some(s=>!clean(s,80)))throw new Error(\"Invalid introduction\");return{text:body.text.replace(/Gordon\\.LLM/g,\"“Gordon, More or Less”\").replace(/Gordon[’']s digital double/g,\"Gordon’s AI guide\").replace(/Ask my double/g,\"Learn more with “Gordon, More or Less”\"),cards:[],links:[],suggest:[...body.suggest]};})();return introduction;}\nexport const __FramerMetadata__ = {\"exports\":{\"safeLinks\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"loadIntroduction\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeCards\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"readLimits\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ROUTES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GordonLink\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GordonLimits\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"limitNotice\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GordonAnswer\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GordonCard\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BACKEND_ORIGIN\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GordonRelease.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{safeCards,safeLinks,limitNotice}from\"https://framerusercontent.com/modules/vde6vJFiy14xcKFTfoY7/aScbdgobuHIIBuqbhvAb/GordonRelease.js\";// Uses the existing Framer route component so normal/modified link clicks keep their meaning.\nexport function GordonAnswerExtras({answer,pending,blocked,onChooseQuestion,LinkComponent}){return /*#__PURE__*/_jsxs(\"div\",{className:\"gordon-answer-extras\",children:[safeCards(answer.cards).map(card=>/*#__PURE__*/_jsxs(LinkComponent,{className:\"gordon-pda-card\",href:card.href,children:[card.images[0]&&/*#__PURE__*/_jsx(\"img\",{src:card.images[0],alt:\"\",loading:\"lazy\",width:400,height:250,onError:event=>{event.currentTarget.style.display=\"none\";}}),/*#__PURE__*/_jsx(\"strong\",{children:card.name}),/*#__PURE__*/_jsx(\"span\",{children:card.description})]},card.href)),safeLinks(answer.links).map(link=>/*#__PURE__*/_jsx(LinkComponent,{href:link.href,children:link.label},link.href)),!!answer.suggest?.length&&/*#__PURE__*/_jsx(\"div\",{className:\"gordon-llm-followups\",\"aria-label\":\"Follow-up questions\",children:answer.suggest.map(question=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",disabled:pending||blocked,onClick:()=>onChooseQuestion(question),children:question},question))})]});}export function GordonLimitNotice({limits}){const notice=limitNotice(limits);return notice?/*#__PURE__*/_jsx(\"p\",{role:\"status\",\"aria-live\":\"polite\",className:\"gordon-pda-feedback\",children:notice}):null;}\nexport const __FramerMetadata__ = {\"exports\":{\"GordonLimitNotice\":{\"type\":\"reactComponent\",\"name\":\"GordonLimitNotice\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"GordonAnswerExtras\":{\"type\":\"reactComponent\",\"name\":\"GordonAnswerExtras\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{PortfolioIcon,homepageProjectCopy}from\"https://framerusercontent.com/modules/YSuBQqeegguuHrfYgVnL/GQFmG8rFKF2GqMtAckLj/PortfolioStyles.js\";import{forwardRef,lazy,Suspense,useState,useEffect,useCallback,useRef}from\"react\";import{PageStyleControls,GordonPreloader,PersistentStyleLink,StyleLink,canonicalPath}from\"https://framerusercontent.com/modules/YSuBQqeegguuHrfYgVnL/GQFmG8rFKF2GqMtAckLj/PortfolioStyles.js\";import{createPortal}from\"react-dom\";import{Link as FramerLink}from\"framer\";import{createRoot}from\"react-dom/client\";import{safeCards,safeLinks,readLimits,loadIntroduction}from\"https://framerusercontent.com/modules/vde6vJFiy14xcKFTfoY7/aScbdgobuHIIBuqbhvAb/GordonRelease.js\";import{GordonAnswerExtras,GordonLimitNotice}from\"https://framerusercontent.com/modules/DKTspTug2AUlkM4uJJBN/o8ZLBRapq2HabrP3fSBB/GordonResponseExtras.js\";// Framer page references preserve navigation in both preview and published pages.\nconst CybertruckFilms=/*#__PURE__*/lazy(()=>import(\"https://framerusercontent.com/modules/mJegq9J1aw3Oj3FFBUSw/qwuqJNl2OHsAGGlipBvH/AboutGordon.js\").then(module=>({default:module.CybertruckFilms})));const CoffeeFilm=/*#__PURE__*/lazy(()=>import(\"https://framerusercontent.com/modules/mJegq9J1aw3Oj3FFBUSw/qwuqJNl2OHsAGGlipBvH/AboutGordon.js\").then(module=>({default:()=>/*#__PURE__*/_jsx(module.SelectedMedia,{items:[\"coffee\"]})})));const pageTargets={\"/\":{webPageId:\"augiA20Il\"},\"/about\":{webPageId:\"XrDxyvVLl\"},\"/case-studies/wellnesspay\":{webPageId:\"TotLWPgMB\"},\"/case-studies/daniel-wedding-celebrations\":{webPageId:\"QJkTefYVS\"}};export function CaseStudyLink({href,children,...props}){return /*#__PURE__*/_jsx(StyleLink,{href:href,...props,children:children});}// Shared semantic tokens. A later theme switch can override these variables.\nconst css=`\n:root {--gordon-page:#fff;--gordon-text:#171717;--gordon-muted:#606060;--gordon-active:#111;--gordon-line:#d8d8d8;}\n.gordon-details { display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;width:100%!important;height:auto!important;min-width:0;padding:48px 0 0!important;color:var(--gordon-text); }\n.gordon-details * {box-sizing:border-box;min-width:0;}\n.gordon-details h2 {font:500 14px/1.4 monospace;margin:0 0 24px;text-transform:none;}\n.gordon-details ul {list-style:none;margin:0;padding:0;}\n.gordon-details li {font:400 16px/1.55 sans-serif;margin:0 0 12px;}\n.gordon-details h3 {font:600 16px/1.45 sans-serif;margin:0 0 4px;}\n.gordon-details p {font:400 16px/1.55 sans-serif;color:var(--gordon-muted);margin:0 0 24px;text-wrap:pretty;}\n@media(max-width:809px){.gordon-details{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:32px!important;}}\n`;export function withHomepageDetails(Component){return /*#__PURE__*/forwardRef((props,ref)=>/*#__PURE__*/_jsxs(Component,{...props,ref:ref,className:(props.className||\"\")+\" gordon-details\",style:{...props.style},\"aria-label\":\"Brands and capabilities\",children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsx(PortfolioEnhancements,{}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"h2\",{children:\"Selected brands and projects\"}),/*#__PURE__*/_jsxs(\"ul\",{children:[/*#__PURE__*/_jsx(\"li\",{children:\"Coulson Capital\"}),/*#__PURE__*/_jsx(\"li\",{children:\"Daniel Chocolates\"}),/*#__PURE__*/_jsx(\"li\",{children:\"1775 Coffee\"}),/*#__PURE__*/_jsx(\"li\",{children:\"WeRoar\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"h2\",{children:\"Capabilities\"}),/*#__PURE__*/_jsx(\"h3\",{children:\"Brand & integrated campaigns\"}),/*#__PURE__*/_jsx(\"p\",{children:\"Visual identities, campaign creative and reusable templates for digital and print.\"}),/*#__PURE__*/_jsx(\"h3\",{children:\"Web & ecommerce UX\"}),/*#__PURE__*/_jsx(\"p\",{children:\"Page structure, user flows, responsive layouts and website design and build support.\"}),/*#__PURE__*/_jsx(\"h3\",{children:\"Physical product & packaging\"}),/*#__PURE__*/_jsx(\"p\",{children:\"Product concepts, structural packaging, sourcing and production-ready files.\"}),/*#__PURE__*/_jsx(\"h3\",{children:\"Motion, video & photography\"}),/*#__PURE__*/_jsx(\"p\",{children:\"Short-form editing, motion graphics and product imagery for websites and campaigns.\"})]})]}));}const projectCss=`\n:root {--gordon-page:#fff;--gordon-text:#171717;--gordon-muted:#606060;--gordon-active:#111;--gordon-line:#d8d8d8;}\nhtml:has(.gordon-project),body:has(.gordon-project){background:var(--gordon-page)!important;}\n.gordon-project{display:grid!important;grid-template-columns:minmax(300px,.85fr) minmax(0,1.6fr)!important;align-items:start!important;gap:48px!important;width:100%!important;max-width:1600px!important;margin:0 auto!important;padding:32px 32px 80px!important;background:var(--gordon-page)!important;color:var(--gordon-text);box-sizing:border-box;overflow:visible!important;}\n.gordon-project>[data-framer-name=\"Left\"],.gordon-project>[data-framer-name=\"Right\"]{width:100%!important;min-width:0!important;background:var(--gordon-page)!important;}\n.gordon-project>[data-framer-name=\"Left\"]{position:sticky!important;top:88px!important;height:auto!important;max-height:calc(100svh - 112px);overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin;padding:0 12px 12px 0!important;}\n.gordon-project>[data-framer-name=\"Left\"]>[data-framer-name=\"Content\"]{width:100%!important;gap:16px!important;padding:0!important;}\n.gordon-project>[data-framer-name=\"Left\"]>[data-framer-name=\"Content\"]>[data-framer-name=\"Intro\"]{order:0;}\n.gordon-project>[data-framer-name=\"Left\"]>[data-framer-name=\"Content\"]>[data-framer-name=\"Details\"]{order:1;padding:0!important;gap:12px!important;}\n.gordon-project>[data-framer-name=\"Left\"]>[data-framer-name=\"Content\"]>[data-framer-name=\"Info\"]{order:3;padding:16px 0!important;gap:12px!important;}\n.gordon-project>[data-framer-name=\"Left\"]>[data-framer-name=\"Content\"]>[data-framer-name=\"Project Index\"]{order:2;gap:0!important;}\n.gordon-project [data-framer-name=\"Left\"] .framer-text{--framer-text-color:var(--gordon-text)!important;color:var(--gordon-text)!important;}\n.gordon-project [data-framer-name=\"Details\"] p{font-size:16px!important;line-height:1.5!important;}\n.gordon-project [data-framer-name=\"Info\"] p{font-size:14px!important;line-height:1.45!important;}\n.gordon-project h1{font-size:30px!important;line-height:1.15!important;text-wrap:balance;}\n.gordon-project>[data-framer-name=\"Right\"]{position:relative!important;top:auto!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important;}\n.gordon-project [data-framer-name=\"Project Media\"]{gap:72px!important;width:100%!important;}\n.gordon-project [data-framer-name=\"Media Section\"]{scroll-margin-top:88px;gap:18px!important;width:100%!important;}\n.gordon-project [data-framer-name=\"Media Section\"]>[data-framer-name=\"Title\"] p{font-size:24px!important;line-height:1.2!important;--framer-text-color:var(--gordon-text)!important;color:var(--gordon-text)!important;}\n.gordon-project[data-gordon-ready=\"true\"] [data-framer-name=\"Project Index\"]>:not(.gordon-section-nav){display:none!important;}\n.gordon-project[data-gordon-ready=\"true\"] [data-framer-name=\"Media Section\"]>[data-framer-name=\"Section Description\"]{display:none!important;}\n.gordon-section-nav{display:flex;flex-direction:column;width:100%;gap:0;}\n.gordon-section-link{display:block;padding:18px 0 18px 16px;border-left:2px solid transparent;text-decoration:none!important;color:var(--gordon-muted)!important;background:transparent;transition:color .18s,border-color .18s;}\n.gordon-section-link[aria-current=\"location\"]{color:var(--gordon-active)!important;border-color:var(--gordon-active);}\n.gordon-section-link:focus-visible{outline:2px solid var(--gordon-active);outline-offset:3px;}\n.gordon-section-link:hover{color:var(--gordon-active)!important;}\n.gordon-section-link strong{display:block;font:600 16px/1.4 \"Switzer\",sans-serif;margin-bottom:8px;}\n.gordon-section-copy{display:grid;font:400 16px/1.5 \"Switzer\",sans-serif;}\n.gordon-section-copy>span{grid-area:1/1;min-width:0;text-wrap:pretty;}\n.gordon-section-copy>.gordon-copy-measure{font-weight:600;visibility:hidden;pointer-events:none;}\n.gordon-section-link[aria-current=\"location\"] .gordon-copy-visible{font-weight:600;}\n@media(max-width:1000px) and (min-width:810px){.gordon-project{grid-template-columns:minmax(280px,.95fr) minmax(0,1.3fr)!important;gap:24px!important;padding-inline:24px!important;}}\n@media(max-width:809px){.gordon-project{display:flex!important;flex-direction:column!important;gap:40px!important;padding:24px 24px 56px!important;}.gordon-project>[data-framer-name=\"Left\"]{position:relative!important;top:auto!important;max-height:none!important;overflow:visible!important;padding:0!important;}.gordon-project [data-framer-name=\"Project Media\"]{gap:48px!important;}.gordon-section-link{padding:16px 0 16px 12px;}}\n.gordon-project [data-framer-name=\"Back button\"]{padding-bottom:8px!important;}\n.gordon-media-caption{font:400 13px/1.5 \"Switzer\",sans-serif;color:var(--gordon-muted);margin:0;width:100%;}\n@media(prefers-reduced-motion:reduce){.gordon-section-link{transition:none;}}\n`;export const sourceProjects={weroar:{title:\"WeRoar\",role:\"Brand, web, campaign design & video editing\",sections:[{id:\"overview\",title:\"Project overview\",summary:\"Creative production across Coulson Capital’s portfolio.\",paragraphs:[\"At WeRoar, the marketing team behind Coulson Capital, I started as a designer/video editor and quickly became the go-to across brand, product, packaging, web, social, and motion. The work spanned 16+ brands and 60+ shipped assets, along with internal AI workflows that helped speed up the team’s process.\"],images:[],links:[]},{id:\"coulson\",title:\"Coulson Capital\",summary:\"Rebrand, visual identity, and the parent-company website.\",paragraphs:[\"Coulson Capital runs a portfolio of independent brands in media, health, wellness, biotech, and community. As part of Coulson Capital’s in-house media team, I was asked by founder Foster Coulson to retire the Stardust Group brand and relaunch the parent as Coulson Capital. I led the rebrand and website so the growing portfolio reads credible, clear, and easy to scale.\"],images:[{src:\"https://framerusercontent.com/images/6P8iuOE6Iw70kPA0BWyDEyCMd6A.gif\",width:800,height:450,alt:\"\"},{src:\"https://framerusercontent.com/images/KrXFQjkg0KYRTQcg8pvyCA4MH4.jpg\",width:1500,height:1125,alt:\"\"},{src:\"https://framerusercontent.com/images/L2Cph2J8mLFz6QOQ194boutoU4.jpg\",width:1536,height:1024,alt:\"\"},{src:\"https://framerusercontent.com/images/v1z6n1AHQVrrjlLWBoaLPz3KL8.jpg\",width:800,height:1e3,alt:\"\"}],links:[{href:\"/projects/coulson-capital\",label:\"Coulson Capital case study\"}],role:\"Brand design, product UI/UX & web design\"},{id:\"wellnesspay\",title:\"WellnessPay\",summary:\"Brand and website design for a new healthcare payments product.\",paragraphs:[\"WellnessPay was a new player entering the healthcare payments space—and they had no brand, no site, and no clear way to communicate what they actually offered. The challenge was to build everything from scratch: a look, and a way to explain a technical product in a way that didn’t feel cold or corporate. I led the branding and website design.\"],images:[{src:\"https://framerusercontent.com/images/552yL1ezC9LJb8OQymeBx84jXiI.jpg\",width:1e3,height:1e3,alt:\"\"},{src:\"https://framerusercontent.com/images/RiTQExL2vMkoae8JLYdwEk4H0s.jpg\",width:2500,height:1040,alt:\"\"},{src:\"https://framerusercontent.com/images/3qOLiaH4dgLfddIohZDe2wM9KA.jpg\",width:2500,height:1067,alt:\"\"},{src:\"https://framerusercontent.com/images/ngaHMQ7nAwbQvQTmcpg3gJFYwc.gif\",width:800,height:607,alt:\"\"}],links:[{href:\"/case-studies/wellnesspay\",label:\"WellnessPay case study\"}],role:\"Brand design, product UI/UX & web design\"},{id:\"wellness-company\",title:\"The Wellness Company\",summary:\"Static, video, and influencer creative for paid and social campaigns.\",paragraphs:[\"Built static and video creative for Meta Ads and programmatic campaigns, and turned influencer content into paid and social assets. The work had to move fast, stay clear, and perform. I became the go-to video editor for the team and eventually handled most of the brand’s ongoing video output. The paid creative supported a $13K push that drove $200K+ in revenue, with $167K coming in during the first two weeks\"],images:[{src:\"https://framerusercontent.com/images/tCCBCissIcd3gbwnm7evzXlR5Q.jpg\",width:2e3,height:1500,alt:\"\"},{src:\"https://framerusercontent.com/images/tOJbQ3XjIlV5gF6Q9BmOoFlY.gif\",width:1e3,height:667,alt:\"\"},{src:\"https://framerusercontent.com/images/kQj3t7k8Md17dGvis54pVIeic.gif\",width:1500,height:1e3,alt:\"\"},{src:\"https://framerusercontent.com/images/p2HHzxunrGyo6ffd24l7OqW4.gif\",width:300,height:250,alt:\"\"},{src:\"https://framerusercontent.com/images/QJ6MUEcjJimRaMfgzNcu8YYFQjo.gif\",width:240,height:240,alt:\"\"},{src:\"https://framerusercontent.com/images/Chqz5lWEQqBQlaFitpnUWQMCyn8.gif\",width:300,height:250,alt:\"\"},{src:\"https://framerusercontent.com/images/CCyrQzIQM8b2netra3RwILnxgVE.gif\",width:300,height:250,alt:\"\"},{src:\"https://framerusercontent.com/images/LidBlxuwE34IO1n0Ot1wvlamM.gif\",width:300,height:250,alt:\"\"},{src:\"https://framerusercontent.com/images/RgTQcIopiUE5oCFSHR4wmO3KkM.gif\",width:300,height:250,alt:\"\"}],links:[{href:\"https://youtu.be/vZU5W6xlINc\",label:\"Watch campaign video 1\"},{href:\"https://youtu.be/weBArcArYao\",label:\"Watch campaign video 2\"}],role:\"Graphic design & video editing\"},{id:\"zelenko\",title:\"Zelenko Labs\",summary:\"Paid creative, video editing, and product photography.\",paragraphs:[\"Built static and video creative for Meta Ads and programmatic campaigns, and turned influencer content into paid and social assets. The work had to move fast, stay clear, and perform. To improve the image quality, I was also the product photographer for the brand.\"],images:[{src:\"https://framerusercontent.com/images/nrLukJ1TbXTXmVxssZrxwrtSQ.gif\",width:338,height:338,alt:\"\"},{src:\"https://framerusercontent.com/images/ty7PXsVTnONI2awwLJCDsMZ1aw.gif\",width:328,height:328,alt:\"\"},{src:\"https://framerusercontent.com/images/EwjDn8onj88zTzEwHKaNssliMPw.gif\",width:278,height:278,alt:\"\"},{src:\"https://framerusercontent.com/images/TYaZE4H44lNT6ACFi4rXggNTcQQ.gif\",width:800,height:800,alt:\"\"},{src:\"https://framerusercontent.com/images/cUZ0QzsUzpQWb9vfQK9OZSaFM.gif\",width:824,height:824,alt:\"\"},{src:\"https://framerusercontent.com/images/gEq2n3UnTJIb7C01wg3wkR2ItAU.gif\",width:278,height:278,alt:\"\"}],links:[{href:\"https://youtube.com/shorts/F17YCY8a5qo?feature=share\",label:\"Watch video 1\"},{href:\"https://youtube.com/shorts/bdcRqio3dWE?feature=share\",label:\"Watch video 2\"},{href:\"https://youtube.com/shorts/eYg1LLw0qYI?feature=share\",label:\"Watch video 3\"}],role:\"Graphic design, video editing & product photography\"}]},coffee:{title:\"1775 Coffee\",role:\"Campaign creative, product imagery & Shopify\",sections:[{id:\"overview\",title:\"Project overview\",summary:\"Product visuals and a connected brand experience across web and campaigns.\",paragraphs:[\"1775 Coffee is a premium challenger coffee brand built to feel bold, direct, and product-first. I handled product visuals, campaign assets, paid media, social content, and the Shopify experience.\"],images:[{src:\"https://framerusercontent.com/images/6JROlSChsaNPYCPSmfNjazpsdM.png\",width:1770,height:1829,alt:\"\"}],links:[]},{id:\"campaigns\",title:\"Campaign visuals, landing pages, Shopify site\",summary:\"Cybertruck campaign visuals, landing pages, and Shopify updates.\",paragraphs:[\"Designed all visual assets (static, motion) for 1775 Coffee’s biggest Cybertruck giveaway (including the actual wrap design of the Cybertruck) and refreshed key sections of the main site to feel bold and cohesive. Also led the visual direction for all company assets to maintain brand voice and boost conversions.\"],images:[{src:\"https://framerusercontent.com/images/ICTvfPelD6nMarBEMq7AeVz4e0.jpg\",width:2800,height:1289,alt:\"\"},{src:\"https://framerusercontent.com/images/E1FqpAYasXlsM2mk2A0EKtsT6PI.gif\",width:426,height:320,alt:\"\"},{src:\"https://framerusercontent.com/images/2w39s8i4PFubtfEXy4LY1PwjC8.gif\",width:1e3,height:562,alt:\"\"},{src:\"https://framerusercontent.com/images/mroQcPER8SyYoAINFA8A1IH0FU.jpeg\",width:3060,height:1902,alt:\"\"}],links:[{href:\"/projects/coffee-cybertruck\",label:\"Cybertruck campaign case study\"}]},{id:\"paid-media\",title:\"Paid Media\",summary:\"Static and motion ads across campaign and product placements.\",paragraphs:[\"Designed all visual assets (static, motion) for 1775 Coffee’s biggest Cybertruck giveaway (including the actual wrap design of the Cybertruck) and refreshed key sections of the main site to feel bold and cohesive. Also led the visual direction for all company assets to maintain brand voice and boost conversions.\"],images:[{src:\"https://framerusercontent.com/images/wik41j5TAZpo1S3hQK47ALVkgw.jpg\",width:2500,height:1751,alt:\"\"},{src:\"https://framerusercontent.com/images/JbIyQ1oXGhWsUAAGL1nDj3AHBT8.png\",width:1917,height:1080,alt:\"\"},{src:\"https://framerusercontent.com/images/plZSxqnbuSd8Rk2IyA99WU6h78.png\",width:1918,height:1079,alt:\"\"},{src:\"https://framerusercontent.com/images/1MXe81LV3SEDI6Xf23AOBm607mQ.png\",width:1313,height:736,alt:\"\"},{src:\"https://framerusercontent.com/images/htuXjztSwKz5roB2ExVjAq0eQI8.gif\",width:300,height:250,alt:\"\"},{src:\"https://framerusercontent.com/images/Vxx6bV45FlMlTgAd0F6MNIjU.gif\",width:300,height:250,alt:\"\"},{src:\"https://framerusercontent.com/images/sYQtlE9cLUczQUOTlVo2cIh4mS0.gif\",width:640,height:480,alt:\"\"}],links:[{href:\"https://drive.google.com/file/d/10bXvy0rp9F8ap4dJ9QQuaP671Xd4I6ec/view?usp=sharing\",label:\"Watch paid ad 1\"},{href:\"https://drive.google.com/file/d/1axhktOrccIQrTKbf-_qw9hPBuImKWS0P/view?usp=sharing\",label:\"Watch paid ad 2\"},{href:\"https://drive.google.com/file/d/1KwDtdsT1Dd4J2F_m0PEEzQliedsEdAe3/view?usp=sharing\",label:\"Watch paid ad 3\"},{href:\"https://drive.google.com/drive/folders/1C-VakAs3HOriVWynJQmvSmBanwweHwak?usp=sharing\",label:\"More Ads\"}]},{id:\"social\",title:\"Social Media\",summary:\"Short-form lifestyle videos and social content.\",paragraphs:[\"Built video and social content that stayed close to the brand, not just generic ads. Created short-form lifestyle content, including one piece that hit 48K+ views in 3 days and helped drive fast awareness and engagement.\"],images:[{src:\"https://framerusercontent.com/images/Rk2KhKSuIg8gnkwMNB6YeXJrk.jpg\",width:1394,height:1394,alt:\"Video Editing - Reaching 60K Views in 1 week\"},{src:\"https://framerusercontent.com/images/wCfkWjcjM2eJ90K2PtVPfhb8Q.jpg\",width:1366,height:2428,alt:\"Campaign Promotion Video\"},{src:\"https://framerusercontent.com/images/3oetbnffspnrgDwYsRR1rtgAUjY.jpg\",width:864,height:1536,alt:\"Brand Promotional Video\"}],links:[{href:\"https://www.instagram.com/reel/DH9DGjFh0bf/?utm_source=ig_web_copy_link&igsh=MzRlODBiNWFlZA==\",label:\"Watch the creator edit\"},{href:\"https://www.instagram.com/reel/DIT3E50AdRZ/?utm_source=ig_web_copy_link&igsh=MzRlODBiNWFlZA==\",label:\"Campaign promotion video\"},{href:\"https://www.instagram.com/reel/DHYrUCzJZSg/?utm_source=ig_web_copy_link&igsh=MzRlODBiNWFlZA==\",label:\"Brand promotional video\"}]},{id:\"photography\",title:\"Product Photography\",summary:\"Photography and digitally constructed product environments.\",paragraphs:[\"Shot and developed lifestyle product visuals using real photography and digitally constructed environments, building clean, high-finish imagery for campaigns, web, and social.\"],images:[{src:\"https://framerusercontent.com/images/irV4dkS9f8KudjcMhDmiYKiBlOA.jpg\",width:1500,height:1500,alt:\"1775-Coffee-Dark-Roast.jpg\"},{src:\"https://framerusercontent.com/images/jYwK3RAPSboH6sJiIvgA3vgNiU.jpg\",width:1500,height:1500,alt:\"1775-Coffee-Medium-Roast.jpg\"},{src:\"https://framerusercontent.com/images/lbMxCbaz7P0UxX89hXk6bdQRclw.jpg\",width:1500,height:1500,alt:\"1775-Coffee-Peaberry-Coffee2.jpg\"},{src:\"https://framerusercontent.com/images/V85f4PhlYbk8flPL51nDTaeyu8.jpg\",width:1500,height:1500,alt:\"1775-Coffee-Vitality.jpg\"},{src:\"https://framerusercontent.com/images/xEiD8I2GwMHALd8miNCBlPvMis.jpg\",width:1500,height:1500,alt:\"1775-Coffee-Limitless2.jpg\"},{src:\"https://framerusercontent.com/images/kkHDUlx6sCNLofGfb4weltT1zB0.jpg\",width:1500,height:1500,alt:\"Protein2.jpg\"},{src:\"https://framerusercontent.com/images/oAeNXFO9amrYiwzaWZXUaLTvu4E.jpg\",width:1500,height:1500,alt:\"1775-Coffee-Rejuvanate.jpg\"},{src:\"https://framerusercontent.com/images/JQStWZ8RW80youyShWCF1Hffug.jpg\",width:1500,height:1500,alt:\"1775-Coffee-Dark-Roast-Pod-Box.jpg\"},{src:\"https://framerusercontent.com/images/LijlNl1hdWmKVXPFhP8Vrywug2s.jpg\",width:1500,height:1500,alt:\"1775-Coffee-Medium-Roast-Pod-Box.jpg\"},{src:\"https://framerusercontent.com/images/uc4Mo5dPeZFqvctihXR2Cc0qc.jpg\",width:1500,height:1500,alt:\"1775-Coffee-Vitality-Pod-Box.jpg\"},{src:\"https://framerusercontent.com/images/tGBAVGdlHKuu3hqBchZOfLC8.jpg\",width:1920,height:1080,alt:\"1775-coffee-homepage.jpg\"}],links:[]}]},daniel:{title:\"Daniel Chocolates\",role:\"Packaging, campaigns, ecommerce & photography\",sections:[{id:\"overview\",title:\"Project overview\",summary:\"An ongoing design partnership across packaging, ecommerce, and campaigns.\",paragraphs:[\"Daniel Chocolates is a Vancouver-based premium chocolatier selling through retail, tourism, hotels, and B2B. I started in-house in 2021 and was retained as a freelance partner — a 3+ year relationship across packaging, web, e-commerce, product photography, and campaign creative.\"],images:[{src:\"https://framerusercontent.com/images/uR4275CNutwcrnkjFBNJ4EIwH9o.jpg\",width:1e3,height:1e3,alt:\"\"}],links:[],bullets:[\"50+ packaging SKUs across seasonal, gifting, tourism, and B2B lines\",\"Web pages and ecommerce support\",\"Product photography and campaign visuals\",\"3+ years retained\"]},{id:\"packaging\",title:\"Packaging System\",summary:\"Packaging across core, seasonal, tourism, gifting, and B2B lines.\",paragraphs:[\"Designed packaging across Daniel’s core line, seasonal releases, custom orders, business gifts, and B2B pieces. I built each one to feel premium, gift-ready, and clearly Daniel’s while working within real production needs, different formats, and client requirements. Strong shelf presence. Clean hierarchy. Practical structures. The look shifted depending on the product, season, or customer, but the brand stayed consistent across every box, wrap, and label.\"],images:[],links:[],groups:[{title:\"Daniel’s Seasonal Gifts\",images:[{src:\"https://framerusercontent.com/images/tHGMo6Vufwppt62vdTXydJl810.jpg\",width:1200,height:800,alt:\"Christmas chocolate gift box framed by pine cones and red berries\"},{src:\"https://framerusercontent.com/images/Kzop4PcIAXmgz8Jdd0X7fDCAY.jpg\",width:2e3,height:1106,alt:\"Halloween chocolate gifts arranged around an orange pumpkin\"},{src:\"https://framerusercontent.com/images/AmmkduJseFKqLXkDc2PZ5DauEuc.jpg\",width:1200,height:1200,alt:\"Four Halloween chocolate wrappers with illustrated characters\"},{src:\"https://framerusercontent.com/images/LanIwAOq6mMDTTFp7N9jReKHrkM.jpg\",width:1200,height:798,alt:\"Red Daniel gift box with its chocolate assortment visible\"},{src:\"https://framerusercontent.com/images/cKy5M65uVW6mKkShqR5Q6ZrzIDk.jpg\",width:700,height:700,alt:\"Christmas chocolate bar wrapper with an illustrated tree\"},{src:\"https://framerusercontent.com/images/J8Yl49sYVXSRK9Cw3E03BvV92Es.jpg\",width:1200,height:1108,alt:\"Green and red Christmas chocolate bar wrappers\"},{src:\"https://framerusercontent.com/images/qUvB99PZYy1llfJtTT3fFWkEiDU.jpg\",width:1e3,height:926,alt:\"Pink and coral Valentine chocolate bars with heart-shaped trees\"},{src:\"https://framerusercontent.com/images/mR1YciazYketyYDbZ8ntLzp4.jpg\",width:1200,height:1200,alt:\"Lunar New Year chocolate bar with an unwrapped dark chocolate tablet\"},{src:\"https://framerusercontent.com/images/28FQsFCSCsvDgm1VhrOO2noQI.jpg\",width:1e3,height:1e3,alt:\"Cream Peace on Earth gift boxes with woodland illustrations\"},{src:\"https://framerusercontent.com/images/pk8T0lx98NTxgE9IM1GGaT3jjcs.jpg\",width:1200,height:1185,alt:\"Thanksgiving chocolate gift box with autumn photography\"},{src:\"https://framerusercontent.com/images/YEyY7FhoHybagEAflO7NU2dLAM.jpg\",width:1200,height:1200,alt:\"Christmas chocolate squares with a red organza gift bag\"},{src:\"https://framerusercontent.com/images/yEihldIsr98gRsJJJiVcPy8aL8.jpg\",width:1200,height:1200,alt:\"Halloween chocolate squares around an orange gift bag\"},{src:\"https://framerusercontent.com/images/mBmFCzztvmnHz3mmFuhsPmyg7I.jpg\",width:1200,height:800,alt:\"Person holding a floral Daniel chocolate gift box\"},{src:\"https://framerusercontent.com/images/zkft8FXuqqLMnnsV9WRsugUq4qw.jpg\",width:1500,height:1029,alt:\"Valentine chocolate gift box on pink petals\"},{src:\"https://framerusercontent.com/images/NTTx8dCb19vgmupO2mF1RAs.jpg\",width:1200,height:1200,alt:\"Slide 3 (current slide)\"}]},{title:\"Daniel’s Tourism Gifts\",images:[{src:\"https://framerusercontent.com/images/vRv1eWQLOqc1Yoq7UNHSofgvsY.jpg\",width:1200,height:927,alt:\"\"},{src:\"https://framerusercontent.com/images/0jlpsDIrunQf9pwj8drtqLNhdo.jpg\",width:1473,height:1105,alt:\"\"},{src:\"https://framerusercontent.com/images/tUCdDKVLDCpaa69PT37BcAgrpa8.jpg\",width:1536,height:1024,alt:\"\"},{src:\"https://framerusercontent.com/images/3nzAerQJK6YYr59QXDyRPZyKHQ.jpg\",width:2048,height:1536,alt:\"\"}]},{title:\"More packaging & gifting\",images:[{src:\"https://framerusercontent.com/images/LanIwAOq6mMDTTFp7N9jReKHrkM.jpg\",width:1200,height:798,alt:\"Red Daniel gift box with its chocolate assortment visible\"},{src:\"https://framerusercontent.com/images/wL5klWSuAkmUNGX82bCbRAeV04.jpg\",width:1e3,height:1e3,alt:\"Illustrated seasonal chocolate packaging collection\"},{src:\"https://framerusercontent.com/images/PrL8UASh3qWQwkQH51nANSs9MOk.jpg\",width:1e3,height:1e3,alt:\"Daniel chocolate bar packaging in five flavour variants\"},{src:\"https://framerusercontent.com/images/sqX6kRPe81LY30Y7gsfgeTVLos.jpg\",width:1200,height:907,alt:\"Milk chocolate bar with a landscape wrapper\"},{src:\"https://framerusercontent.com/images/n5MIg9fzhCnua8fyDcoFAhngmw.jpg\",width:1e3,height:1333,alt:\"Two Lunar New Year chocolate bars against a red backdrop\"},{src:\"https://framerusercontent.com/images/Y2Nb5WEXOlYwAkJw4Dqaj38B0HQ.jpg\",width:1200,height:1200,alt:\"Person sampling a chocolate beside a red Daniel gift bag\"},{src:\"https://framerusercontent.com/images/rqlfTRmKseBcKFbN1oBXwJ5Y3r8.jpg\",width:1200,height:1200,alt:\"Small Daniel chocolate gift box with a blue sleeve\"},{src:\"https://framerusercontent.com/images/6sj2H6aF4WdMOJHwowmqi6vr18.jpg\",width:1e3,height:1e3,alt:\"Vancouver, Whistler and Stanley Park chocolate bar wrappers\"},{src:\"https://framerusercontent.com/images/C7f3O1qLWYxdzwR58zQ2gwsH08.jpg\",width:1e3,height:1e3,alt:\"Vancouver postcard chocolate box and individually wrapped squares\"},{src:\"https://framerusercontent.com/images/LPP8aE0OcWumPl7ZndEkhq1xgeI.jpg\",width:1e3,height:988,alt:\"Peace on Earth chocolate gift box viewed from above\"},{src:\"https://framerusercontent.com/images/DSH9sAQHROLkFhczNe3Pnv4xI.jpg\",width:1200,height:833,alt:\"Seasonal chocolate gift boxes arranged with pine cones\"},{src:\"https://framerusercontent.com/images/UBSVLy7XY18OqDIAmRWDwp6HEg.jpg\",width:700,height:700,alt:\"Pink hazelnut milk chocolate bar wrapper\"},{src:\"https://framerusercontent.com/images/mR1YciazYketyYDbZ8ntLzp4.jpg\",width:1200,height:1200,alt:\"Lunar New Year dark chocolate bar and matching tablet\"},{src:\"https://framerusercontent.com/images/y7jTOPnFXAicb1Lq0eH5h10Is.jpg\",width:1200,height:1185,alt:\"Easter chocolate gift box with an illustrated rabbit\"},{src:\"https://framerusercontent.com/images/ur3vr8MAPZExwitlfRngIME4y0E.jpg\",width:1200,height:1200,alt:\"Valentine milk chocolate wrapper and unwrapped chocolate tablet\"},{src:\"https://framerusercontent.com/images/b7KntrUcMW91EvXPaX43oedxWE.jpg\",width:1996,height:1996,alt:\"Lunar New Year dark chocolate wrapper with a tiger illustration\"},{src:\"https://framerusercontent.com/images/63Zi9tyXaaYEoUbcjhgWKBJbg.jpg\",width:1996,height:1996,alt:\"Lunar New Year milk chocolate wrapper with a tiger illustration\"},{src:\"https://framerusercontent.com/images/iLWxLa2yDR3jflJUJQczOLxIk.jpg\",width:2600,height:1e3,alt:\"Wedding gift chocolates arranged beside flowers and perfume\"},{src:\"https://framerusercontent.com/images/NsdOLoZTTtP6BGVbHwzLFmL0vgA.jpg\",width:1500,height:1500,alt:\"Wedding chocolate gifts with flowers on pale fabric\"},{src:\"https://framerusercontent.com/images/cKy5M65uVW6mKkShqR5Q6ZrzIDk.jpg\",width:700,height:700,alt:\"Slide 3 (current slide)\"}]}]},{id:\"campaigns\",title:\"Campaigns, Content & Catalogues\",summary:\"Seasonal catalogues, email campaigns, social content, and marketing assets.\",paragraphs:[\"Built the marketing layer around Daniel’s products across seasonal catalogues, email campaigns, social content, product photography, and video. I designed each piece to stay product-first, easy to scan, and consistent with the brand. Clear hierarchy. Strong product focus. Seasonal tone when needed. Whether it was a business-gift email, a holiday catalogue, or an Instagram post, the goal was the same: make the offer easy to understand and easy to act on.\"],images:[],links:[],groups:[{title:\"Social Media\",images:[{src:\"https://framerusercontent.com/images/dfPwSd5iRUwofJAcOEMfprDRu9M.jpg\",width:2500,height:1875,alt:\"\"},{src:\"https://framerusercontent.com/images/F7G5T63khWzmLFBhPpJqTUIDGfQ.jpg\",width:1200,height:1200,alt:\"\"},{src:\"https://framerusercontent.com/images/LAXBjcXXXa2MRpbioGZYklrV7ak.gif\",width:800,height:486,alt:\"\"},{src:\"https://framerusercontent.com/images/RDz7jRLHCA1JNkG1AO8VntwT5U.jpg\",width:1200,height:900,alt:\"\"}]},{title:\"Marketing Assets\",images:[{src:\"https://framerusercontent.com/images/ubL6tMrpMKwxq7e8SBYnryBhJU.jpg\",width:2500,height:1742,alt:\"\"},{src:\"https://framerusercontent.com/images/axhPCZZCMLQ9mktylIMxJzsJYQ.jpg\",width:2500,height:1875,alt:\"\"},{src:\"https://framerusercontent.com/images/NxSpolOROrPIm25h082CAU7E.jpg\",width:2500,height:1874,alt:\"\"},{src:\"https://framerusercontent.com/images/6pm24Y0ZsajXnnI2kpD1udL9Cc8.jpg\",width:1298,height:812,alt:\"\"}]}]},{id:\"ecommerce\",title:\"E-Commerce UI/UX & WordPress\",summary:\"WordPress experiences built around flow, clarity, and usability.\",paragraphs:[\"Designed e-commerce experiences in WordPress for pages that needed more than a basic shop layout. I approached the work through flow, clarity, and usability first, then built clean, product-led interfaces that made the path forward easier to follow. Strong hierarchy. Simple navigation. Clear calls to action. Everything had to feel polished, easy to use, and consistent with the brand.\"],images:[{src:\"https://framerusercontent.com/images/IsR0Xen1yVwMws9neB6KF0JoDqE.jpg\",width:2e3,height:1125,alt:\"\"},{src:\"https://framerusercontent.com/images/j0UUqXTgDYqxc7o94L3zjALRE.gif\",width:1e3,height:1262,alt:\"\"},{src:\"https://framerusercontent.com/images/k27KI7gfcLYiI58D1BVam5QQKk.gif\",width:1e3,height:1262,alt:\"\"},{src:\"https://framerusercontent.com/images/f9ROyixWN7MMv6ayJ04nMM33w.gif\",width:1e3,height:1262,alt:\"\"},{src:\"https://framerusercontent.com/images/CJ0ACKzCoZ8RRkKm8uCHxrYUBXo.gif\",width:1500,height:870,alt:\"\"},{src:\"https://framerusercontent.com/images/CW3dsXEeOk4b5DDzYB3AuC9LThQ.gif\",width:1e3,height:642,alt:\"\"},{src:\"https://framerusercontent.com/images/RjW0oZot69gotgH9263CJXSgyLE.png\",width:634,height:702,alt:\"\"}],links:[{href:\"/case-studies/daniel-wedding-celebrations\",label:\"Wedding chocolate website case study\"}]},{id:\"photography\",title:\"Product Photography & Imagery\",summary:\"Product photography, retouching, and constructed campaign imagery.\",paragraphs:[\"Shot and developed product imagery for Daniel’s chocolates, packaging, and gift sets across web, social, and campaign use. I approached the work with a clean, product-first eye: clear composition, controlled lighting, strong detail, and styling that made the products feel premium without overcomplicating the frame. Some images stayed simple and direct. Others were built out further through retouching, scene construction, and composition to create more polished campaign visuals. The goal was always the same: make the product look sharp, desirable, and clearly part of the Daniel’s brand.\"],images:[{src:\"https://framerusercontent.com/images/h7wt253AdKmyVbqRXpcd55cSY.jpg\",width:1200,height:1200,alt:\"Hand holding a pastel-wrapped bouquet of chocolate gifts\"},{src:\"https://framerusercontent.com/images/8fKTGsupFcxCd1Jka1tMG7eakJA.jpg\",width:1200,height:1200,alt:\"Tourism chocolate packages with Vancouver landmark illustrations\"},{src:\"https://framerusercontent.com/images/e6N7WgTkFVfraBjOGs0ei1j4E.jpg\",width:2500,height:1667,alt:\"Close-up of white chocolate hazelnut pieces\"},{src:\"https://framerusercontent.com/images/G1su7Z48BciokBzfQcg6BUp7NO0.jpg\",width:700,height:700,alt:\"Canada chocolate bar wrapper with illustrated national symbols\"},{src:\"https://framerusercontent.com/images/jyLEES6F2nINWukpZ5hlI4XT9jk.jpg\",width:700,height:700,alt:\"Canada chocolate bar wrapper with a red maple leaf motif\"},{src:\"https://framerusercontent.com/images/drVVO08SVnjbVW6dP6SV2Hgzc9U.jpg\",width:1500,height:1112,alt:\"Square Canada chocolate gift box with illustrated national symbols\"},{src:\"https://framerusercontent.com/images/D6GrHqY0iaWnV2Lk2DrWLy630.jpg\",width:1500,height:1500,alt:\"Stacked red Daniel chocolate boxes and illustrated sleeves\"},{src:\"https://framerusercontent.com/images/OYzIIZ348BDAqg2O4Ejp74G0yE.jpg\",width:1500,height:1500,alt:\"Three clear chocolate gift bags tied with red ribbons\"},{src:\"https://framerusercontent.com/images/DC4uqj8A6dg9NFbUhbsI4Nw4hw.jpg\",width:1e3,height:1e3,alt:\"Winter bear chocolate wrappers and a red organza gift bag\"},{src:\"https://framerusercontent.com/images/DQIUiZluBO2zu5DuNd1FIHpXpk.jpg\",width:1141,height:846,alt:\"Red-edged chocolate gift box with a maple leaf landscape\"},{src:\"https://framerusercontent.com/images/Y00NMfz9lvVtVdgySndfo9D2yE.jpg\",width:972,height:1651,alt:\"Repeating red and yellow patterned chocolate wrappers\"},{src:\"https://framerusercontent.com/images/wipYrxk5mthkIXjUEajrB8b1AI.jpeg\",width:2052,height:2046,alt:\"Repeating blue patterned chocolate wrappers\"},{src:\"https://framerusercontent.com/images/E8BlYSazVBKuzYBizoOQK77IrE.jpg\",width:700,height:700,alt:\"Slide 3 (current slide)\"}],links:[]}]},coulson:{title:\"Coulson Capital\",role:\"Rebrand, visual identity & WordPress development\",sections:[{id:\"overview\",title:\"Project overview\",summary:\"Retiring Stardust Group and relaunching the parent as Coulson Capital.\",paragraphs:[\"Coulson Capital runs a portfolio of independent brands in media, health, wellness, biotech, and community.\",\"As part of Coulson Capital’s in-house media team, I was asked by founder Foster Coulson to retire the Stardust Group brand and relaunch the parent as Coulson Capital. I led the rebrand and website so the growing portfolio reads credible, clear, and easy to scale.\"],images:[{src:\"https://framerusercontent.com/images/U2FT5nVLgV1wRJhC7VmWrylrGSA.png\",width:1674,height:938,alt:\"Coulson Capital.png\"},{src:\"https://framerusercontent.com/images/iHS0uVYARvgyDI56VogFWDSIlcg.png\",width:982,height:982,alt:\"\"}],links:[],facts:[[\"Role\",\"Rebrand, visual identity, website development\"],[\"Deliverables\",\"Logo, web design in Figma, WordPress development, brand materials\"]]},{id:\"challenge\",title:\"Challenge\",summary:\"Why the growing portfolio needed a new identity and website.\",paragraphs:[\"As the portfolio grew into media, health, wellness, and biotech, the playful Stardust brand and dated site no longer matched the business. Foster Coulson asked me to rebrand it as Coulson Capital with a sharper identity and a modern, “killer and cool” site that tells the story fast.\"],images:[{src:\"https://framerusercontent.com/images/KrXFQjkg0KYRTQcg8pvyCA4MH4.jpg\",width:1500,height:1125,alt:\"v5.jpg\"},{src:\"https://framerusercontent.com/images/g4MpH0ilwzzAXqqv7IKPxwG8.gif\",width:320,height:568,alt:\"Style1.gif\"}],links:[],subtitle:\"To build a brand that meant business.\"},{id:\"identity\",title:\"Visual identity\",summary:\"Developing a brushed logo through successive iterations.\",paragraphs:[\"As part of Coulson Capital’s in-house media team, I was asked by founder Foster Coulson to retire the Stardust Group brand and relaunch the parent as Coulson Capital. I led the rebrand and website so the growing portfolio reads credible, clear, and easy to scale.\"],images:[{src:\"https://framerusercontent.com/images/8LNyzNGyddFDvR8G30XXP1jjg.jpg\",width:950,height:1226,alt:\"Coulson-Capital-logo-cover3.jpg\"},{src:\"https://framerusercontent.com/images/nmNYQmGlkWOoFsfweA2MjnEpXU.jpg\",width:950,height:1226,alt:\"Coulson-Capital-logo-render.jpg\"}],links:[],subtitle:\"We landed on a brushed logo after a few rounds of iterations.\"},{id:\"system\",title:\"Final system\",summary:\"A gold C, black–white–gold palette, and consistent applications.\",paragraphs:[\"The old branding leaned elegant but generic, closer to lifestyle than finance. The new identity reduces everything to a single, bold gesture — a gold “C.” Paired with a black–white–gold palette, the system feels modern, confident, and timeless. It signals stability and authority, while the brushstroke texture keeps a human touch. The result is a brand that’s premium, resilient, and unmistakable in its category.\"],images:[{src:\"https://framerusercontent.com/images/ITdxyPQJf1dVxf1S9rwJBSZbzao.jpg\",width:1024,height:496,alt:\"\"},{src:\"https://framerusercontent.com/images/QFNCAzjn6SWJH5hU9S0xlvCo.jpg\",width:3e3,height:3e3,alt:\"Old-Stardust2.jpg\"},{src:\"https://framerusercontent.com/images/nkSUrfee5xdNe63SpxFv7Ebhs.jpg\",width:1500,height:1500,alt:\"New-Coulson-Capital.jpg\"}],links:[],subtitle:\"To move from soft to strong\"},{id:\"website\",title:\"Website\",summary:\"A structured, modular portfolio that can grow with the company.\",paragraphs:[\"The new Coulson Capital site replaces the old logo wall with a structured system that tells the story fast. The homepage opens with a simple hero and clear CTAs, followed by portfolio tiles that make each company easy to explore. Built on a modular CMS, new brands can be added in minutes—keeping the site flexible as the portfolio grows.\"],images:[{src:\"https://framerusercontent.com/images/ur9xujf5TRK0qpXQoTyqXwI6dk.jpg\",width:1920,height:7933,alt:\"The-Stardust-Group-of-Companies-08-10-2025_08_08_AM.jpg\"},{src:\"https://framerusercontent.com/images/VgipNJtUSONTFrCYPVhU1yh1PU.jpg\",width:1920,height:9002,alt:\"Coulsoncapital-Site2.jpg\"}],links:[],subtitle:\"To make the portfolio clear and easy to scale.\"},{id:\"activation\",title:\"Activation\",summary:\"Motion, banners, and digital collateral for everyday use.\",paragraphs:[\"Beyond the core mark, the identity unfolds into motion, banners, and digital collateral. The brush-stroke C translates into movement and rhythm, while the stripped palette and type system keep it clear and controlled. These extensions give Coulson Capital a presence in the channels that matter most — from investor decks to social feeds — making the brand hard to miss and easy to trust.\"],images:[{src:\"https://framerusercontent.com/images/9DilouoTeTi3AKyCVcHK5YUUE5Y.jpg\",width:1128,height:191,alt:\"Coulson-Capital-Banner-08.jpg\"},{src:\"https://framerusercontent.com/images/nlv5X99pzHwOW9Ob0O4lfF1Q38.jpg\",width:1920,height:1080,alt:\"5.jpg\"},{src:\"https://framerusercontent.com/images/E7zDC0SrVy4at1QEovWy16VFfc.jpg\",width:1920,height:1080,alt:\"L.jpg\"},{src:\"https://framerusercontent.com/images/1pa46QQeBbukZWl4yrQSp8Y.jpg\",width:1274,height:713,alt:\"Coulson-1-img.jpg\"}],links:[],subtitle:\"To bring the brand into motion and everyday use.\",facts:[[\"Deliverables\",\"LinkedIn, website, social media, video intros\"]]},{id:\"outcome\",title:\"Outcome\",summary:\"A new identity and digital presence built around a clearer portfolio.\",paragraphs:[\"The rebrand gave Coulson Capital a grown-up identity and a digital presence built for scale. What began as Stardust became a sharper, credible system — one that signals confidence to investors, attracts talent, and makes the portfolio clear at a glance.\"],images:[{src:\"https://framerusercontent.com/images/v1z6n1AHQVrrjlLWBoaLPz3KL8.jpg\",width:800,height:1e3,alt:\"Goldi.jpg\"},{src:\"https://framerusercontent.com/images/DODqiLYNs5D3laiSLaRVVqQ35SI.jpg\",width:800,height:1e3,alt:\"v1.jpg\"},{src:\"https://framerusercontent.com/images/8FaeDLYm7KMEz2qhgFixQ2ATrc.jpg\",width:800,height:1e3,alt:\"v4.jpg\"},{src:\"https://framerusercontent.com/images/jtjkYbL6nMBRWRu1wLli2V5PT7M.jpg\",width:4480,height:6720,alt:\"1.jpg\"}],links:[],subtitle:\"From a playful name to a powerhouse in capital.\"}]},cybertruck:{title:\"1775 Coffee \\xd7 Cybertruck\",role:\"Vehicle wrap, campaign creative & video\",sections:[{id:\"overview\",title:\"Project overview\",summary:\"A coffee promotion built around a Cybertruck and $30K cash giveaway.\",paragraphs:[\"1775 Coffee needed a big campaign to boost visibility and sales. The promo: a chance to win a Tesla Cybertruck and $30K cash, earned by buying coffee. The stakes were high, and the visuals had to match.\"],images:[{src:\"https://framerusercontent.com/images/ICTvfPelD6nMarBEMq7AeVz4e0.jpg\",width:2800,height:1289,alt:\"\"}],links:[],facts:[[\"What I did\",\"Designed the custom Cybertruck wrap; created video ads for Instagram, YouTube and Rumble; built email graphics, social posts, landing-page and website visuals.\"]]},{id:\"results\",title:\"What got done\",summary:\"Campaign results and the physical and digital assets delivered.\",paragraphs:[],images:[],links:[],bullets:[\"Generated at least $400K in direct sales during the promotion.\",\"Videos and social content drove massive engagement—one video hit 60K views in 3 days\",\"Clear, striking Cybertruck Car-Wrap Design and digital assets that elevated the brand’s online presence\"]},{id:\"wrap\",title:\"Car wrap design\",summary:\"Developing the complete template with the fabricator under a tight deadline.\",paragraphs:[\"For the 1775 Coffee Cybertruck campaign, I designed the vehicle wrap and developed the complete wrap template from scratch in collaboration with the wrap fabricator. No ready-made template was available, and the project had a very tight turnaround. My role went beyond creating the graphics: I worked directly with the fabricator to develop the template needed for the wrap.\"],images:[{src:\"https://framerusercontent.com/images/AhgUGutZyPYniMVRb1NT0kvphg.jpg\",width:2500,height:1670,alt:\"Coffee-Wagon-Front1.jpg\"},{src:\"https://framerusercontent.com/images/5mr7qgo2R9LyAhasnx64KSsI4.jpg\",width:2500,height:1669,alt:\"Coffee-Wagon-Left-2.jpg\"},{src:\"https://framerusercontent.com/images/7M84jxIXBJoCelKqgumJOwbmVEs.jpg\",width:2500,height:1669,alt:\"Coffee-Wagon-Back-Final.jpg\"},{src:\"https://framerusercontent.com/images/52cxfbiMAnxgNCxmhJEBabepUmE.jpg\",width:2500,height:1669,alt:\"Coffee-Wagon-Right.jpg\"},{src:\"https://framerusercontent.com/images/seC65flVyV68LPVrz646XW1Pk0.jpg\",width:2500,height:946,alt:\"Coffee-Wagon-Hood.jpg\"}],links:[]},{id:\"static\",title:\"Promotional assets — lifestyle static images\",summary:\"Lifestyle visuals connecting the vehicle, products, and campaign.\",paragraphs:[],images:[{src:\"https://framerusercontent.com/images/mroQcPER8SyYoAINFA8A1IH0FU.jpeg\",width:3060,height:1902,alt:\"CyberTruck-giveaway.jpeg\"},{src:\"https://framerusercontent.com/images/Pbk5pI1UagvuFgdah9Fv71Pz5c.jpg\",width:2e3,height:1334,alt:\"2.jpg\"},{src:\"https://framerusercontent.com/images/b271t3NeY6uQeA2ddH80bR4eI.jpg\",width:2e3,height:1125,alt:\"3.jpg\"},{src:\"https://framerusercontent.com/images/AtYBq1ntQQ7IxpWiHZAyydx1FQ.jpg\",width:2e3,height:1290,alt:\"4.jpg\"}],links:[]},{id:\"horizontal-video\",title:\"Promotional assets — lifestyle videos\",summary:\"AI-assisted horizontal content made before the wrapped vehicle was available.\",paragraphs:[\"Since the Cybertruck was in the US, and unavailable locally pre-wrap, I had to create compelling horizontal-format content from scratch. Leveraging AI tools—text-to-image, image-to-video, and text-to-voice—I quickly produced high-quality videos optimized for website banners and YouTube ads.\"],images:[],links:[]},{id:\"reels\",title:\"Promotional assets — reel format\",summary:\"Creator footage edited for Instagram and Google placements.\",paragraphs:[\"We collaborated with well-known social media creators who matched our core audience—but their original videos often lacked promotional punch. I took those clips, recut and edited them, added strategic messaging, dynamic pacing, and engaging audio. These refreshed reels performed strongly on Instagram and Google, with one hitting 60K views in just 3 days, clearly proving the value of thoughtful editing and creative storytelling.\"],images:[{src:\"https://framerusercontent.com/images/Rk2KhKSuIg8gnkwMNB6YeXJrk.jpg\",width:1394,height:1394,alt:\"Video Editing - Reaching 65K View in 3 Days\"},{src:\"https://framerusercontent.com/images/wCfkWjcjM2eJ90K2PtVPfhb8Q.jpg\",width:1366,height:2428,alt:\"Campaign Promotion Video\"},{src:\"https://framerusercontent.com/images/3oetbnffspnrgDwYsRR1rtgAUjY.jpg\",width:864,height:1536,alt:\"Brand Promotional Video\"}],links:[{href:\"https://www.instagram.com/reel/DH9DGjFh0bf/?utm_source=ig_web_copy_link&igsh=MzRlODBiNWFlZA==\",label:\"Watch the creator edit\"},{href:\"https://www.instagram.com/reel/DIT3E50AdRZ/?utm_source=ig_web_copy_link&igsh=MzRlODBiNWFlZA==\",label:\"Campaign promotion video\"},{href:\"https://www.instagram.com/reel/DHYrUCzJZSg/?utm_source=ig_web_copy_link&igsh=MzRlODBiNWFlZA==\",label:\"Brand promotional video\"}]},{id:\"outcome\",title:\"The outcome\",summary:\"A coordinated vehicle wrap, campaign, and digital rollout.\",paragraphs:[\"1775 Coffee partnered with Rumble for a bold promotion—giving away a Tesla Cybertruck and $30K cash. The Cybertruck needed to become a striking, mobile billboard: bold enough to turn heads, yet seamlessly aligned with 1775 Coffee’s premium visual identity.\",\"The custom-designed Cybertruck wrap, combined with compelling videos and digital content, turned a bold idea into real-world results. It became an instant attention magnet, generated over $400K in sales in just a few months, and drew massive online engagement—proving that strong visuals drive action.\"],images:[],links:[]}]}};const simpleProjectCopy={weroar:{intro:\"Brand, web and campaign design across Coulson Capital’s portfolio.\",sections:{overview:[\"Overview\",\"One team, a portfolio of brands.\",\"At WeRoar, I worked across brand identity, packaging, websites, campaign creative and video. The role connected day-to-day production with the visual systems each brand needed to stay consistent.\"],coulson:[\"Coulson Capital\",\"A new identity for the parent company.\",\"I led the transition from Stardust Group to Coulson Capital, developing the visual identity and website around a growing portfolio of independent businesses.\"],wellnesspay:[\"WellnessPay\",\"Making healthcare payments easier to understand.\",\"I developed the branding and website design for a new healthcare payments product, giving a technical offering a clear visual identity and an approachable introduction.\"],\"wellness-company\":[\"The Wellness Company\",\"Turning source footage into campaign creative.\",\"I created static and video assets for paid and social campaigns, adapting influencer footage into edits with clear messaging, pacing and calls to action.\"],zelenko:[\"Zelenko Labs\",\"Bringing product imagery and paid creative together.\",\"I combined product photography, graphic design and video editing to produce consistent campaign assets across paid and social placements.\"]}},coffee:{intro:\"Product imagery, campaign creative and ecommerce design for 1775 Coffee.\",sections:{overview:[\"Overview\",\"A consistent brand, from product to screen.\",\"My work for 1775 Coffee connected product visuals, campaign assets, paid media, social content and Shopify page updates.\"],campaigns:[\"Campaign & website\",\"Connecting the campaign to the shopping experience.\",\"I designed static and motion assets for the Cybertruck giveaway and refreshed key website sections. The work carried the campaign’s visual direction across promotional content, landing pages and the existing Shopify site.\"],\"paid-media\":[\"Paid media\",\"One campaign, adapted to each placement.\",\"I developed static and motion ads for product and campaign placements, adapting composition and messaging to different formats while keeping the brand recognizable.\"],social:[\"Social content\",\"Short stories built around the brand.\",\"I edited creator footage and developed short-form lifestyle content for social channels, keeping the product and campaign message clear within each edit.\"],photography:[\"Product imagery\",\"Showing the coffee in context.\",\"I combined product photography with digitally constructed environments to create imagery for the website, campaigns and social content.\"]}},daniel:{intro:\"Packaging, photography and digital design for a Vancouver chocolatier.\",sections:{overview:[\"Overview\",\"A design partnership across the whole product experience.\",\"I joined Daniel Chocolates in-house in 2021 and continued as a freelance partner. The work spans packaging, seasonal catalogues, ecommerce, product photography and campaign creative.\"],packaging:[\"Packaging\",\"Different occasions. One recognizable brand.\",\"I designed packaging for core products, seasonal collections, tourism gifts and custom business orders. Each format balanced visual consistency with production requirements, product protection and the needs of the customer.\"],campaigns:[\"Campaigns & catalogues\",\"Making seasonal collections easy to explore.\",\"I created catalogues, email campaigns and social content around Daniel’s products. Clear layouts, product photography and seasonal styling helped connect the packaging to the wider campaign.\"],ecommerce:[\"Ecommerce\",\"A clearer path from occasion to product.\",\"I designed and built WordPress pages for experiences such as wedding chocolates, organizing the content around the customer’s needs with readable product information and clear next steps.\"],photography:[\"Photography\",\"Letting the product lead.\",\"I photographed chocolates, packaging and gift sets for web and campaign use. Controlled lighting, retouching and scene composition brought out the materials and details while keeping the products recognizable.\"]}},coulson:{intro:\"Rebranding Stardust Group as Coulson Capital, from identity to website.\",sections:{overview:[\"Overview\",\"A new identity for a growing portfolio.\",\"I led Coulson Capital’s rebrand and website as part of its in-house media team, bringing the parent company’s identity and digital presence into one system.\"],challenge:[\"Challenge\",\"Making the company easier to understand.\",\"The Stardust Group identity and website no longer reflected the breadth of the business. The brief was to introduce Coulson Capital with a clearer identity and a website that made its portfolio easy to explore.\"],identity:[\"Visual identity\",\"Finding the mark through iteration.\",\"Through successive logo explorations, we arrived at a brushed C: a simple form with a distinctive texture that could work across digital and brand applications.\"],system:[\"Brand system\",\"A focused palette and a flexible visual language.\",\"The gold C, black-and-white palette and consistent typography formed the core system. I applied these elements across layouts and materials to give the company a coherent visual presence.\"],website:[\"Website\",\"Turning a logo wall into a navigable portfolio.\",\"I designed the website in Figma and developed it in WordPress. A clear introduction, portfolio tiles and reusable page structures made individual companies easier to find and new content easier to add.\"],activation:[\"Rollout\",\"Bringing the identity into everyday use.\",\"I extended the identity into motion, banners and digital collateral, including social assets and video introductions. The same mark, palette and typography connected each application.\"],outcome:[\"Outcome\",\"One identity across the brand and website.\",\"The project delivered a new visual identity, a WordPress website and supporting brand materials, giving Coulson Capital a consistent foundation for presenting its portfolio.\"]}},cybertruck:{intro:\"A custom vehicle wrap and connected campaign for the 1775 Coffee giveaway.\",sections:{overview:[\"Overview\",\"A physical centerpiece for a digital campaign.\",\"1775 Coffee’s promotion offered a Cybertruck and $30K cash prize. I designed the vehicle wrap and created campaign visuals across video, email, social and website placements.\"],results:[\"Results\",\"A campaign across physical and digital touchpoints.\",\"The work connected the custom wrap with static ads, video edits, email graphics and landing-page visuals, keeping the promotion recognizable across physical and digital formats.\"],wrap:[\"Wrap design\",\"Building the template from scratch.\",\"No ready-made wrap template was available. Under a tight deadline, I worked directly with the wrap fabricator to develop the complete template and prepare the graphics for the Cybertruck’s distinctive body panels.\"],static:[\"Campaign imagery\",\"Putting the vehicle and product in the same story.\",\"I developed lifestyle visuals that brought the Cybertruck, coffee products and giveaway message together for campaign and website use.\"],\"horizontal-video\":[\"Video production\",\"Creating content before the wrapped vehicle was available.\",\"With the Cybertruck in the US and unavailable locally before the wrap, I used AI-assisted image, video and voice workflows to produce horizontal content for website banners and video ads.\"],reels:[\"Social edits\",\"Adapting creator footage for the campaign.\",\"I recut creator footage with campaign messaging, pacing and audio for short-form promotional edits, adapting the material to social and advertising placements.\"],outcome:[\"Outcome\",\"A connected physical and digital rollout.\",\"The completed wrap, product imagery and campaign assets gave the giveaway a consistent visual presence across the vehicle, website, video and social content.\"]}}};const restoredProjectDetails={coffee:{overview:[\"1775 Coffee is a premium challenger brand built around high-altitude, single-origin Bolivian beans and a bold, direct, product-first identity.\",\"My contribution connected product visuals, campaign assets, paid media and social content with updates to the existing Shopify site.\"],campaigns:[\"I designed static and motion assets for 1775 Coffee’s Cybertruck giveaway, including the vehicle wrap, and refreshed key sections of the main website. I carried the visual direction across promotional content, landing pages and the existing Shopify site to keep the campaign and shopping experience consistent.\"],\"paid-media\":[\"I developed static and motion ads for product launches, the Cybertruck giveaway and seasonal promotions, adapting the compositions and messaging for each placement. The work included display banners and paid-social formats, supported by the same product imagery and brand direction used on the website.\"],social:[\"I edited creator footage and developed short-form lifestyle content that stayed close to the brand. One piece reached 48K+ views in three days, helping build awareness around the campaign.\"],photography:[\"I combined real product photography with digitally constructed environments to create lifestyle imagery for campaigns, the website and social content. The work covered coffee bags, pods and the wider product range, keeping materials and product details clear within each scene.\"]},daniel:{overview:[\"Daniel Chocolates is a Vancouver-based premium chocolatier serving retail, tourism, hotels and business customers. I joined in-house in November 2021 and continued as a freelance partner, working across packaging, web, ecommerce, product photography and campaign creative.\"],packaging:[\"I designed packaging across the core range, seasonal releases, tourism gifts, custom orders and business gifting. Each project had different production needs, formats and client requirements.\",\"Clear shelf hierarchy and practical structures kept the products gift-ready and recognizable across boxes, wraps and labels. The visual treatment could change with the occasion while the underlying brand stayed consistent.\"],campaigns:[\"I created seasonal catalogues, email campaigns, social content, product photography and video around Daniel’s products. Business-gift emails, holiday catalogues and social posts used clear product hierarchy and seasonal styling to make the offer easy to understand and act on.\"],ecommerce:[\"I designed and built WordPress ecommerce experiences for pages that needed more than a basic shop layout, including wedding chocolates. I organized the customer journey around clear product information, simple navigation and calls to action, keeping the experience consistent with the packaging and wider brand.\"],photography:[\"I photographed chocolates, packaging and gift sets for web, social and campaign use. Clear composition, controlled lighting and product styling brought out the materials and details.\",\"Some photographs stayed simple and direct; others used retouching, scene construction and composition to build fuller campaign visuals.\"]},coulson:{identity:[\"Through successive logo explorations, we arrived at a brushed C: a simple form with a distinctive texture that could work across digital and brand applications.\"],system:[\"The previous identity leaned toward an elegant, generic lifestyle aesthetic. The new system centered on a gold C, a black–white–gold palette and consistent typography to give the parent company a clearer presence.\",\"The brushstroke texture retained a human touch, while the restrained palette and layouts connected the website, brand materials and motion applications.\"],website:[\"I designed the site in Figma and developed it in WordPress, replacing the old logo wall with a structured portfolio. A clear hero, calls to action and company tiles made each business easier to explore.\",\"Reusable page structures and a modular CMS allowed the team to add brands as the portfolio grew.\"],activation:[\"I extended the brushstroke identity into motion, banners and digital collateral. The mark, palette and typography connected investor materials, LinkedIn, website assets, social feeds and video introductions.\"],outcome:[\"The rebrand replaced Stardust with a consistent identity and a website built around the portfolio. The new system gave Coulson Capital a clearer way to present its businesses to investors, prospective talent and other audiences, with reusable structures for future growth.\"]},cybertruck:{overview:[\"1775 Coffee partnered with Rumble on a promotion offering a Tesla Cybertruck and $30K cash, with entries earned by buying coffee. I designed the custom vehicle wrap and campaign visuals across video, email, social and website placements.\"],results:[\"The promotion generated at least $400K in direct sales. This was a campaign-wide result, supported by the offer, distribution and creative work; it is not a design-only attribution.\",\"My contribution connected the custom wrap with static ads, video edits, email graphics and landing-page visuals. Creator-led video content reached 60K+ views.\"],static:[\"I developed lifestyle visuals that brought the Cybertruck, coffee products and giveaway message together for campaign and website use.\"],reels:[\"I adapted footage from creators whose audiences matched the campaign, recutting the clips with promotional messaging, pacing and audio. The resulting edits were used across Instagram and advertising placements.\"],outcome:[\"The Cybertruck became a mobile billboard aligned with 1775 Coffee’s premium identity. Its custom wrap and connected website, video and social content brought the physical prize into the wider digital promotion.\"]},weroar:{\"wellness-company\":[\"I created static and video assets for Meta and programmatic campaigns, turning influencer content into paid and social creative. I became the team’s go-to video editor and handled much of the brand’s ongoing video output.\",\"The creative supported a campaign with $13K in spend and $200K+ in revenue, including $167K during the first two weeks. These are campaign-level results, rather than revenue attributed to design alone.\"]}};Object.entries(simpleProjectCopy).forEach(([key,copy])=>{const story=sourceProjects[key];story.intro=copy.intro;story.sections.forEach(section=>{const edit=copy.sections[section.id];if(!edit)return;section.title=edit[0];section.headline=edit[1];section.paragraphs=restoredProjectDetails[key]?.[section.id]||(section.paragraphs?.length?section.paragraphs:[edit[2]]);section.subtitle=undefined;if(key===\"daniel\"&&section.id===\"overview\"||key===\"cybertruck\"&&section.id===\"results\")section.bullets=undefined;});});export const sourceProjectCss=`\n.gordon-project.gordon-source-ready>[data-framer-name=\"Right\"]>:not(.gordon-source-story),.gordon-project.gordon-source-ready>[data-framer-name=\"Left\"]>:not(.gordon-sidebar){display:none!important;}\n.gordon-sidebar{width:100%;display:flex;flex-direction:column;gap:24px;color:var(--gordon-text);}\n.gordon-sidebar h1{margin:0;font:500 30px/1.15 \"Switzer\",Arial,sans-serif;letter-spacing:-.02em;}\n.gordon-sidebar-role{margin:0;font:400 15px/1.5 \"Switzer\",Arial,sans-serif;color:var(--gordon-muted);}\n.gordon-back{font:400 13px/1.5 \"Switzer\",Arial,sans-serif;color:inherit;text-decoration:none;}\n.gordon-back:hover{text-decoration:underline;text-underline-offset:4px;}\n.gordon-source-story{width:100%;min-width:0;color:var(--gordon-text);font:400 17px/1.65 \"Switzer\",Arial,sans-serif;}\n.gordon-source-section{padding:0 0 56px;margin:0 0 48px;border-bottom:1px solid var(--gordon-line);scroll-margin-top:88px;}\n.gordon-source-section:last-child{border:0;margin:0;padding-bottom:0;}\n.gordon-source-section h2{font:500 32px/1.18 \"Switzer\",Arial,sans-serif;letter-spacing:-.02em;margin:0 0 24px;}\n.gordon-source-section h3{font:500 22px/1.3 \"Switzer\",Arial,sans-serif;margin:32px 0 18px;}\n.gordon-source-section p{margin:0 0 22px;max-width:66ch;text-indent:1.25em;}\n.gordon-source-section .gordon-source-role{font-size:14px;color:var(--gordon-muted);text-indent:0;margin-bottom:22px;}\n.gordon-source-section .gordon-source-subtitle{font-size:22px;line-height:1.4;font-weight:500;text-indent:0;}\n.gordon-source-section ul{padding:0 0 0 22px;margin:20px 0 28px;}.gordon-source-section li{margin:8px 0;}\n.gordon-source-facts{margin:24px 0 32px;padding:20px 0;border-block:1px solid var(--gordon-line);font-size:15px;}\n.gordon-source-facts>div{display:grid;grid-template-columns:110px 1fr;gap:20px;margin:8px 0;}.gordon-source-facts dt{color:var(--gordon-muted);}.gordon-source-facts dd{margin:0;}\n.gordon-source-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0;align-items:start;}\n.gordon-source-gallery[data-single=\"true\"]{grid-template-columns:minmax(0,1fr);}\n.gordon-source-gallery figure{margin:0;min-width:0;}/* Artwork galleries always show the complete asset, including vector exports and component sheets. */\n.gordon-source-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;border-radius:4px;object-fit:contain;object-position:center;}\n\n.gordon-source-gallery a{display:block;}.gordon-source-gallery a:focus-visible{outline:2px solid var(--gordon-text);outline-offset:4px;}\n.gordon-source-more{margin:20px 0 32px;}.gordon-source-more summary{cursor:pointer;width:fit-content;padding:12px 0;font-size:14px;text-decoration:underline;text-underline-offset:4px;}\n.gordon-source-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:26px 0;}.gordon-source-links a{color:inherit;font-size:14px;line-height:1.5;text-decoration:underline;text-underline-offset:5px;}\n.gordon-source-section .gordon-source-links a:focus-visible{outline:2px solid currentColor;outline-offset:5px;}\n.gordon-sidebar .gordon-section-link strong{font-weight:500;}.gordon-sidebar .gordon-section-link[aria-current=\"location\"] strong{font-weight:700;}\n@media(max-width:809px){\n.gordon-project.gordon-source-ready{gap:28px!important;}\n.gordon-source-ready>[data-framer-name=\"Left\"]{padding:0!important;max-height:none!important;}\n.gordon-sidebar{gap:0;}.gordon-sidebar .gordon-back,.gordon-sidebar-role,.gordon-sidebar .gordon-section-nav{display:none!important;}\n.gordon-sidebar h1{font-size:30px;line-height:1.15;}\n.gordon-source-story{font-size:16px;line-height:1.6;}\n.gordon-source-section{padding-bottom:36px;margin-bottom:36px;scroll-margin-top:24px;}\n.gordon-source-section h2{font-size:25px;margin-bottom:20px;}.gordon-source-section h3{font-size:20px;}\n.gordon-source-section .gordon-source-subtitle{font-size:19px;}\n.gordon-source-gallery{gap:10px;grid-template-columns:minmax(0,1fr);}\n.gordon-source-facts>div{grid-template-columns:1fr;gap:4px;margin:14px 0;}\n.gordon-source-links{flex-direction:column;gap:14px;}\n}\n/* Compact project index and quiet editorial case studies. */\n.gordon-project.gordon-source-ready{grid-template-columns:240px minmax(0,880px)!important;gap:72px!important;max-width:1280px!important;padding:48px 32px 96px!important;justify-content:center!important;}\n.gordon-source-ready .gordon-sidebar{gap:20px;}\n.gordon-source-ready .gordon-sidebar h1{font-size:28px!important;line-height:1.15!important;}\n.gordon-sidebar-intro{font:400 15px/1.6 \"Switzer\",Arial,sans-serif;color:var(--gordon-muted);margin:0;text-indent:0!important;text-wrap:pretty;}\n.gordon-source-ready .gordon-sidebar-role{display:none!important;}\n.gordon-source-ready .gordon-section-nav{gap:2px;margin-top:12px;}\n.gordon-source-ready .gordon-section-link{padding:9px 0 9px 14px;}\n.gordon-source-ready .gordon-section-link strong{font-size:14px;line-height:1.45;margin:0;font-weight:400;}\n.gordon-source-ready .gordon-section-copy{display:none;}\n.gordon-source-section{padding-bottom:0;margin-bottom:88px;border:0;}\n.gordon-source-section .gordon-section-eyebrow{font:500 12px/1.5 \"Switzer\",Arial,sans-serif;color:var(--gordon-muted);letter-spacing:.07em;text-transform:uppercase;margin:0 0 12px;text-indent:0!important;}\n.gordon-source-section h2{font:500 36px/1.18 \"Switzer\",Arial,sans-serif;letter-spacing:-.025em;margin:0 0 24px;max-width:25ch;text-wrap:balance;}\n.gordon-source-section>p:not(.gordon-section-eyebrow){max-width:64ch;font-size:17px;line-height:1.65;margin-bottom:24px;text-indent:0!important;text-wrap:pretty;}\n.gordon-source-section h3{font-size:22px;margin-top:40px;}\n.gordon-source-gallery{margin:32px 0;gap:20px;}\n\n.gordon-source-gallery img{border-radius:6px;}\n.gordon-source-facts{border:0;padding:0;margin:24px 0 32px;font-size:14px;}\n.gordon-source-links{margin:24px 0 0;}\n@media(min-width:810px) and (max-width:1100px){.gordon-project.gordon-source-ready{grid-template-columns:200px minmax(0,1fr)!important;gap:40px!important;padding-inline:24px!important;}.gordon-source-section h2{font-size:30px;}}\n@media(max-width:809px){.gordon-project.gordon-source-ready{display:flex!important;gap:48px!important;padding:28px 24px 64px!important;}.gordon-source-ready .gordon-sidebar{gap:14px;}.gordon-source-ready .gordon-sidebar h1{font-size:30px!important;}.gordon-sidebar-intro{font-size:15px;max-width:44ch;}.gordon-source-section{margin-bottom:60px;scroll-margin-top:88px;}.gordon-source-section h2{font-size:28px;line-height:1.22;margin-bottom:20px;}.gordon-source-section>p:not(.gordon-section-eyebrow){font-size:16px;}.gordon-source-gallery{margin:24px 0;gap:16px;}.gordon-source-section h3{font-size:21px;}}\n\nbody:has(.gordon-project) .framer-HVBYV > [data-framer-name=\"Header || Appear\"]{display:none!important;}\n.gordon-source-gallery img[src*=\"iHS0uVYARvgyDI56VogFWDSIlcg.png\"]{background:#171717;padding:24px;box-sizing:border-box;}\n\n/* Standalone marks: small and centered, independent of gallery photo sizing. */\n.gordon-source-gallery figure.gordon-logo-frame{grid-column:1/-1;width:100%;display:grid;place-items:center;min-height:200px;padding:32px 24px;box-sizing:border-box;background:#fafafa;border-radius:6px;}\n.gordon-source-gallery .gordon-logo-frame a{width:100%;display:flex;align-items:center;justify-content:center;}\n.gordon-source-gallery .gordon-logo-frame img{aspect-ratio:auto;width:auto!important;height:auto!important;max-width:min(240px,100%)!important;max-height:160px!important;object-fit:contain;padding:0!important;}\n.gordon-source-gallery .gordon-logo-frame-dark{background:#171717!important;}\n@media(max-width:809px){.gordon-source-gallery figure.gordon-logo-frame{min-height:160px;padding:24px;}.gordon-source-gallery .gordon-logo-frame img{max-width:min(180px,100%)!important;max-height:130px!important;}}\n\n`;// Explicit poster-to-video mappings; photographs and standalone animations\n// retain their original image-viewing behaviour.\nconst projectVideoPosters={\"Rk2KhKSuIg8gnkwMNB6YeXJrk.jpg\":\"https://www.instagram.com/reel/DH9DGjFh0bf/\",\"wCfkWjcjM2eJ90K2PtVPfhb8Q.jpg\":\"https://www.instagram.com/reel/DIT3E50AdRZ/\",\"3oetbnffspnrgDwYsRR1rtgAUjY.jpg\":\"https://www.instagram.com/reel/DHYrUCzJZSg/\"};function projectVideoHref(src){return projectVideoPosters[src.split(\"/\").pop()?.split(\"?\")[0]||\"\"];}const projectReadingOrder=[{key:\"gordon\",href:\"/case-studies/gordon-more-or-less\",title:\"“Gordon, More or Less”\"},{key:\"weroar\",href:\"/projects/weroar\",title:\"WeRoar\"},{key:\"coffee\",href:\"/projects/coffee-brand\",title:\"1775 Coffee\"},{key:\"daniel\",href:\"/projects/daniel-chocolates\",title:\"Daniel Chocolates\"},{key:\"coulson\",href:\"/projects/coulson-capital\",title:\"Coulson Capital\"},{key:\"cybertruck\",href:\"/projects/coffee-cybertruck\",title:\"1775 Coffee \\xd7 Cybertruck\"},{key:\"videos\",href:\"/videos\",title:\"Campaign video\"}];export function NextProject({current}){const index=projectReadingOrder.findIndex(p=>p.key===current||p.href===current);if(index<0&&current!==\"industrial\")return null;const next=projectReadingOrder[(index+1)%projectReadingOrder.length];return /*#__PURE__*/_jsxs(\"nav\",{className:\"gordon-next-project\",\"aria-label\":\"Continue exploring projects\",\"data-gordon-ignore\":\"true\",children:[/*#__PURE__*/_jsx(\"style\",{children:`\n.gordon-next-project{width:100%;box-sizing:border-box;clear:both;border-top:1px solid var(--gordon-line,#d8d8d8);padding:32px 0 8px;margin-top:56px;}\n.gordon-next-project .gordon-next-project-link{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:80px;color:inherit;text-decoration:none!important;padding:8px 0;}\n.gordon-next-project .gordon-next-project-copy{display:grid;gap:12px;min-width:0;}\n.gordon-next-project .gordon-next-project-label{font:500 12px/1.4 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;}\n.gordon-next-project .gordon-next-project-title{font:500 clamp(24px,3vw,36px)/1.2 Arial,sans-serif;letter-spacing:-.02em;overflow-wrap:anywhere;}\n.gordon-next-project .gordon-next-project-arrow{font:400 32px/1 Arial,sans-serif;flex-shrink:0;}\n.gordon-next-project .gordon-next-project-link:hover .gordon-next-project-title{text-decoration:underline;text-underline-offset:6px;}\n.gordon-next-project a:focus-visible{outline:2px solid currentColor;outline-offset:6px;}\n.gordon-next-project .gordon-next-project-all{display:inline-block;font:400 14px/1.5 Arial,sans-serif;padding:12px 0;color:inherit;text-underline-offset:4px;}\n.retro-content .gordon-next-project{border-color:var(--retro-line,currentColor);margin-top:36px;padding-top:24px;}\n.retro-content .gordon-next-project .gordon-next-project-title{font-family:inherit;font-size:24px;}\n@media(max-width:809px){.gordon-next-project{margin-top:40px;padding-top:24px;}.gordon-next-project .gordon-next-project-link{gap:16px;}.gordon-next-project .gordon-next-project-title{font-size:24px;}}\n            `}),/*#__PURE__*/_jsxs(StyleLink,{className:\"gordon-next-project-link\",href:next.href,\"aria-label\":\"Next project: \"+next.title,children:[/*#__PURE__*/_jsxs(\"span\",{className:\"gordon-next-project-copy\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"gordon-next-project-label\",children:\"Next project\"}),/*#__PURE__*/_jsx(\"span\",{className:\"gordon-next-project-title\",children:next.title})]}),/*#__PURE__*/_jsx(\"span\",{className:\"gordon-next-project-arrow\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-right\"})})]}),/*#__PURE__*/_jsxs(StyleLink,{className:\"gordon-next-project-all\",href:\"/\",children:[\"All selected work \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})]});}function SourceGallery({images,title}){const[expanded,setExpanded]=useState(false);const render=items=>/*#__PURE__*/_jsx(\"div\",{className:\"gordon-source-gallery\",\"data-single\":items.length===1?\"true\":\"false\",children:items.map((im,i)=>/*#__PURE__*/_jsx(\"figure\",{className:/6JROlSChsaNPYCPSmfNjazpsdM\\.png|iHS0uVYARvgyDI56VogFWDSIlcg\\.png|uR4275CNutwcrnkjFBNJ4EIwH9o\\.jpg/.test(im.src)?\"gordon-logo-frame\"+(im.src.includes(\"iHS0uVYARvgyDI56VogFWDSIlcg.png\")?\" gordon-logo-frame-dark\":\"\"):undefined,children:/*#__PURE__*/_jsxs(\"a\",{href:projectVideoHref(im.src)||im.src,target:\"_blank\",rel:\"noopener noreferrer\",\"aria-label\":projectVideoHref(im.src)?\"View original on Instagram: \"+(im.alt||title):\"View \"+title+\" image \"+(i+1),children:[/*#__PURE__*/_jsx(\"img\",{src:im.src,width:im.width,height:im.height,loading:\"lazy\",decoding:\"async\",alt:im.alt||title}),projectVideoHref(im.src)&&/*#__PURE__*/_jsxs(\"span\",{className:\"gordon-source-video-label\",children:[/*#__PURE__*/_jsx(PortfolioIcon,{name:\"play\"}),\" View original on Instagram\",\" \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})]})},im.src))});if(!images?.length)return null;return /*#__PURE__*/_jsxs(_Fragment,{children:[render(images.length>6?images.slice(0,4):images),images.length>6&&/*#__PURE__*/_jsxs(\"details\",{className:\"gordon-source-more\",onToggle:e=>setExpanded(e.currentTarget.open),children:[/*#__PURE__*/_jsxs(\"summary\",{children:[\"View \",images.length-4,\" more images\"]}),expanded&&render(images.slice(4))]})]});}export function SourceStory({story,projectKey}){return /*#__PURE__*/_jsxs(\"div\",{className:\"gordon-source-story\",\"data-gordon-page\":Object.keys(GORDON_PAGES).find(p=>p.startsWith(\"/projects/\")&&({weroar:\"weroar\",coffee:\"coffee-brand\",daniel:\"daniel-chocolates\",coulson:\"coulson-capital\",cybertruck:\"coffee-cybertruck\"})[projectKey]===p.split(\"/\").pop()),children:[/*#__PURE__*/_jsx(\"style\",{children:`.gordon-source-video-label{display:block;padding:10px 0;font:500 14px/1.5 Arial,sans-serif;color:inherit;text-decoration:underline;text-underline-offset:4px;}`}),story.sections.map((s,i)=>/*#__PURE__*/_jsxs(\"section\",{className:\"gordon-source-section\",id:\"case-\"+projectKey+\"-\"+s.id,\"aria-labelledby\":\"heading-\"+projectKey+\"-\"+s.id,children:[/*#__PURE__*/_jsx(\"p\",{className:\"gordon-section-eyebrow\",children:s.title}),/*#__PURE__*/_jsx(\"h2\",{id:\"heading-\"+projectKey+\"-\"+s.id,children:s.headline||s.title}),s.subtitle&&/*#__PURE__*/_jsx(\"p\",{className:\"gordon-source-subtitle\",children:s.subtitle}),s.role&&/*#__PURE__*/_jsxs(\"p\",{className:\"gordon-source-role\",children:[\"Role: \",s.role]}),s.paragraphs.map((p,j)=>/*#__PURE__*/_jsx(\"p\",{children:p},j)),s.bullets&&/*#__PURE__*/_jsx(\"ul\",{children:s.bullets.map((b,j)=>/*#__PURE__*/_jsx(\"li\",{children:b},j))}),s.facts&&/*#__PURE__*/_jsx(\"dl\",{className:\"gordon-source-facts\",children:s.facts.map(([label,value])=>/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"dt\",{children:label}),/*#__PURE__*/_jsx(\"dd\",{children:value})]},label))}),projectKey===\"cybertruck\"&&s.id===\"horizontal-video\"&&/*#__PURE__*/_jsx(Suspense,{fallback:/*#__PURE__*/_jsx(\"p\",{children:\"Loading campaign films…\"}),children:/*#__PURE__*/_jsx(CybertruckFilms,{})}),projectKey===\"coffee\"&&s.id===\"paid-media\"&&/*#__PURE__*/_jsx(Suspense,{fallback:/*#__PURE__*/_jsx(\"p\",{children:\"Loading Coffee film…\"}),children:/*#__PURE__*/_jsx(CoffeeFilm,{})}),/*#__PURE__*/_jsx(SourceGallery,{images:s.images,title:story.title+\" — \"+s.title}),s.groups?.map((g,j)=>/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"h3\",{children:g.title}),/*#__PURE__*/_jsx(SourceGallery,{images:g.images,title:story.title+\" — \"+g.title})]},j)),!!s.links.length&&!(projectKey===\"cybertruck\"&&s.id===\"reels\")&&/*#__PURE__*/_jsx(\"div\",{className:\"gordon-source-links\",children:s.links.map(l=>/*#__PURE__*/_jsxs(CaseStudyLink,{href:l.href,target:l.href.startsWith(\"/\")?undefined:\"_blank\",rel:\"noopener noreferrer\",children:[l.label,\" \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]},l.href))})]},s.id)),/*#__PURE__*/_jsx(NextProject,{current:projectKey})]});}export function withProjectLayout(Component){return /*#__PURE__*/forwardRef((props,forwardedRef)=>{const[root,setRoot]=useState(null);const[right,setRight]=useState(null);const[left,setLeft]=useState(null);const[projectKey,setProjectKey]=useState(\"\");const[active,setActive]=useState(\"\");const pending=useRef(null);const story=sourceProjects[projectKey];const attach=useCallback(node=>{setRoot(node);if(typeof forwardedRef===\"function\")forwardedRef(node);else if(forwardedRef)forwardedRef.current=node;},[forwardedRef]);useEffect(()=>{if(!root)return;const read=()=>{const r=root.querySelector(':scope > [data-framer-name=\"Right\"]');const l=root.querySelector(':scope > [data-framer-name=\"Left\"]');const native=r?.querySelector('[data-framer-name=\"Media Section\"]');const key=Object.keys(sourceProjects).find(k=>native?.id.startsWith(k+\"-\"));if(r&&l&&key){setRight(r);setLeft(l);setProjectKey(key);l.setAttribute(\"data-lenis-prevent\",\"\");}};read();const observer=new MutationObserver(read);observer.observe(root,{childList:true,subtree:true,attributes:true,attributeFilter:[\"id\"]});return()=>{observer.disconnect();left?.removeAttribute(\"data-lenis-prevent\");};},[root]);useEffect(()=>{if(!root||!story)return;let frame=0;const update=()=>{frame=0;if(pending.current){const el=root.querySelector('[id=\"'+pending.current.id+'\"]');if(Date.now()<pending.current.until&&el&&Math.abs(el.getBoundingClientRect().top-88)>8){setActive(pending.current.id);return;}pending.current=null;}const marker=Math.min(220,window.innerHeight*.27);let selected=\"case-\"+projectKey+\"-\"+story.sections[0].id;for(const s of story.sections){const id=\"case-\"+projectKey+\"-\"+s.id;const el=root.querySelector('[id=\"'+id+'\"]');if(el&&el.getBoundingClientRect().top<=marker)selected=id;}setActive(selected);};const schedule=()=>{if(!frame)frame=requestAnimationFrame(update);};update();window.addEventListener(\"scroll\",schedule,{passive:true});window.addEventListener(\"resize\",schedule);const resize=new ResizeObserver(schedule);resize.observe(root);return()=>{window.removeEventListener(\"scroll\",schedule);window.removeEventListener(\"resize\",schedule);resize.disconnect();cancelAnimationFrame(frame);};},[root,story,projectKey]);useEffect(()=>{if(!left||!active||window.innerWidth<810||window.scrollY<120)return;const link=left.querySelector('[href=\"#'+active+'\"]');if(!link)return;const panel=left.getBoundingClientRect(),item=link.getBoundingClientRect();if(item.top<panel.top||item.bottom>panel.bottom)left.scrollTo({top:left.scrollTop+item.top-panel.top-12,behavior:\"auto\"});},[active,left]);const jump=(e,id)=>{const el=root?.querySelector('[id=\"'+id+'\"]');if(!el)return;e.preventDefault();e.stopPropagation();pending.current={id,until:Date.now()+1800};setActive(id);el.scrollIntoView({behavior:window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches?\"auto\":\"smooth\",block:\"start\"});history.replaceState(null,\"\",\"#\"+id);};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"style\",{children:[projectCss,sourceProjectCss]}),/*#__PURE__*/_jsx(PortfolioEnhancements,{}),/*#__PURE__*/_jsx(Component,{...props,ref:attach,className:(props.className||\"\")+\" gordon-project\"+(story?\" gordon-source-ready\":\"\")}),story&&right&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(SourceStory,{story:story,projectKey:projectKey}),right),story&&left&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-sidebar\",children:[/*#__PURE__*/_jsx(FramerLink,{href:{webPageId:\"augiA20Il\"},children:/*#__PURE__*/_jsxs(\"a\",{className:\"gordon-back\",children:[/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-left\"}),\" Selected work\"]})}),/*#__PURE__*/_jsx(\"h1\",{children:story.title}),/*#__PURE__*/_jsx(\"p\",{className:\"gordon-sidebar-intro\",children:story.intro}),/*#__PURE__*/_jsx(\"p\",{className:\"gordon-sidebar-role\",children:story.role}),/*#__PURE__*/_jsx(\"nav\",{className:\"gordon-section-nav\",\"aria-label\":\"Project sections\",children:story.sections.map(s=>{const id=\"case-\"+projectKey+\"-\"+s.id;return /*#__PURE__*/_jsxs(\"a\",{href:\"#\"+id,className:\"gordon-section-link\",\"aria-current\":active===id?\"location\":undefined,onClickCapture:e=>jump(e,id),children:[/*#__PURE__*/_jsx(\"strong\",{children:s.title}),/*#__PURE__*/_jsxs(\"span\",{className:\"gordon-section-copy\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"gordon-copy-visible\",children:s.summary}),/*#__PURE__*/_jsx(\"span\",{className:\"gordon-copy-measure\",\"aria-hidden\":\"true\",children:s.summary})]})]},id);})})]}),left)]});});}// Shared page behavior. Resume URL stays empty until the approved master PDF is supplied.\nconst MASTER_RESUME_URL=\"https://framerusercontent.com/assets/WBVUauwiDQjOIiA3P5WIT3m1Bhc.pdf\";const siteCss=`\n/* Keep homepage imagery in one stable layout at every desktop width. */\n[data-framer-name=\"Selected Work\"]{width:100%!important;max-width:1440px!important;margin-inline:auto!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:24px!important;align-items:start!important;}\n[data-framer-name=\"Selected Work\"]>[data-framer-name^=\"Home Card\"]{width:100%!important;min-width:0!important;height:auto!important;aspect-ratio:1!important;align-self:start!important;transform:none!important;}\n[data-framer-name=\"Selected Work\"] a[data-framer-name=\"Content\"]{position:relative!important;width:100%!important;height:auto!important;aspect-ratio:1!important;overflow:hidden!important;border-radius:8px!important;transform:none!important;isolation:isolate;}\n[data-framer-name=\"Selected Work\"] [data-framer-name=\"Image\"],[data-framer-name=\"Selected Work\"] [data-framer-name=\"Gordon Cover Image\"]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transform:none!important;}\nbody:has([data-framer-name=\"Homepage Hero\"]) canvas{display:none!important;}\n[data-framer-name=\"Homepage Hero\"]>[data-framer-name=\"Subtitle\"]{height:auto!important;min-height:0!important;padding:0!important;}\n@media(max-width:809px){[data-framer-name=\"Selected Work\"]{grid-template-columns:minmax(0,1fr)!important;}}\n\n@media(min-width:810px){[data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div:nth-child(2){background:rgba(0,0,0,.66)!important;}[data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Label\"] p{color:#fff!important;--framer-text-color:#fff!important;}}\n[data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Wrapper\"]{width:100%!important;box-sizing:border-box!important;padding-inline:24px!important;gap:16px!important;}\n[data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]{width:calc(100% - 56px)!important;flex:1 1 0!important;}\n[data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div{width:fit-content!important;height:auto!important;padding:10px 16px!important;box-sizing:border-box!important;}\n[data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-component-type=\"RichTextContainer\"]{width:auto!important;min-width:0!important;max-width:100%!important;}\n@media(max-width:809px){[data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Wrapper\"]{padding-inline:0!important;}[data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div{padding:0!important;}}\n[data-framer-name=\"Selected Work\"] [data-framer-name=\"Gordon Cover Image\"]>div{visibility:visible!important;}\n[data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]{flex-direction:column!important;align-items:flex-start!important;gap:8px!important;min-width:0!important;max-width:100%!important;}\n[data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div{max-width:100%!important;min-width:0!important;}\n[data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] p{white-space:normal!important;font-size:14px!important;line-height:1.4!important;text-transform:none!important;letter-spacing:0!important;}\nhtml{scroll-behavior:smooth;}\np *,h1 *,h2 *,h3 *,h4 *,h5 *,h6 *{text-indent:0!important;}\nbody p,body h1,body h2,body h3,body h4,body h5,body h6,body a,body li,body button,.gordon-section-copy span{hyphens:none!important;-webkit-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important;}\np,h1,h2,h3,h4,h5,h6,.gordon-section-copy{text-align:left!important;--framer-text-alignment:left!important;}\n[data-framer-name=\"Homepage Hero\"]>[data-framer-name=\"Subtitle\"]{width:100%!important;max-width:680px!important;margin-left:auto!important;margin-right:auto!important;align-self:center!important;align-items:flex-start!important;}\n[data-framer-name=\"Homepage Hero\"]>[data-framer-name=\"Subtitle\"]>[data-framer-component-type=\"RichTextContainer\"]{width:100%!important;max-width:none!important;}\n[data-framer-name=\"Homepage Hero\"] [data-framer-name=\"Subtitle\"] p{font:400 18px/1.6 \"Switzer\",Arial,sans-serif!important;text-transform:none!important;text-indent:1.25em;letter-spacing:0!important;}\n[data-framer-name=\"Homepage Hero\"] [data-framer-name=\"Subtitle\"] p>span{white-space:nowrap!important;display:inline-block;}\n[data-framer-name=\"About\"] h5{font:400 20px/1.6 \"Switzer\",Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important;text-indent:1.25em;}\n/* Keep the text-animation accessibility fallback visually transparent. */\n[data-framer-name=\"About\"] .revelo-fallback,[data-framer-name=\"About\"] .revelo-fallback *{color:transparent!important;--framer-text-color:transparent!important;-webkit-text-fill-color:transparent!important;-webkit-text-stroke-color:transparent!important;text-shadow:none!important;}\n\n.gordon-project [data-framer-name=\"Details\"] p,.gordon-copy-visible,.gordon-copy-measure,.gordon-about p{text-indent:1.25em;}\n.gordon-project [data-framer-name=\"Info\"] p{text-transform:none!important;letter-spacing:0!important;}\n.gordon-project>[data-framer-name=\"Left\"]{max-height:calc(100svh - 160px);}\nnav[name=\"Header || Appear\"]{overflow:visible!important;position:relative!important;z-index:100!important;}\nnav[name=\"Header || Appear\"]>[data-framer-name=\"Row 1\"]{position:relative!important;width:100%!important;overflow:visible!important;min-height:44px;}\nnav[name=\"Header || Appear\"] [data-framer-name=\"Left\"]{max-width:40%!important;}\nnav[name=\"Header || Appear\"] [data-framer-name=\"Left\"] p{font-size:11px!important;line-height:1.4!important;}\n.gordon-menu-host{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:auto!important;height:auto!important;display:block!important;overflow:visible!important;z-index:110!important;}\n.gordon-menu-host>:not(.gordon-menu){display:none!important;}\n.gordon-menu{position:relative;color:var(--gordon-text,#171717);font:500 14px/1.4 \"Switzer\",Arial,sans-serif;text-transform:none;letter-spacing:0;}\n.gordon-menu summary{font:inherit;color:inherit;border:0;background:transparent;min-height:44px;padding:10px 16px;cursor:pointer;}\n.gordon-menu summary:focus-visible,.gordon-menu a:focus-visible{outline:2px solid currentColor;outline-offset:3px;}\n.gordon-menu summary{list-style:none;display:block;user-select:none;}.gordon-menu summary::-webkit-details-marker{display:none}.gordon-menu .menu-minus,.gordon-menu[open] .menu-plus{display:none}.gordon-menu[open] .menu-minus{display:inline}.gordon-menu:not([open]) .gordon-menu-panel{display:none}.gordon-menu-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);min-width:210px;padding:8px;background:var(--gordon-page,#fff);border:1px solid var(--gordon-line,#ddd);border-radius:12px;box-shadow:0 12px 36px #0002;display:flex;flex-direction:column;}\n.gordon-menu-panel a{display:block;padding:12px 16px;color:inherit!important;text-decoration:none;font:400 15px/1.4 \"Switzer\",Arial,sans-serif;white-space:nowrap;}\n.gordon-menu-panel a:hover{background:#8881;}\n.gordon-menu-panel a[aria-current=\"page\"]{font-weight:600;}\n.gordon-about{box-sizing:border-box;width:100%;max-width:1120px;margin:auto;padding:64px 32px 80px;background:var(--gordon-page,#fff);color:var(--gordon-text,#171717);font:400 18px/1.65 \"Switzer\",Arial,sans-serif;}\n.gordon-about *{box-sizing:border-box;min-width:0;}\n.gordon-about h1{font:500 clamp(36px,5vw,64px)/1.08 \"Switzer\",Arial,sans-serif;margin:64px 0 32px;}\n.gordon-about h2{font:500 26px/1.25 \"Switzer\",Arial,sans-serif;margin:0 0 24px;}\n.gordon-about h3{font:600 18px/1.4 \"Switzer\",Arial,sans-serif;margin:0 0 8px;}\n.gordon-about p{margin:0 0 24px;max-width:68ch;}\n.gordon-about section{padding:40px 0;border-top:1px solid var(--gordon-line,#ddd);scroll-margin-top:40px;}\n.gordon-about-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;}\n.gordon-about a{color:inherit;}\n.gordon-about-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:14px;}\n.gordon-about-header>a:last-child{justify-self:end;}\n.gordon-about-header>a{text-decoration:none;}\n.gordon-resume-button{display:inline-block;padding:12px 20px;background:var(--gordon-text,#171717);color:var(--gordon-page,#fff)!important;border-radius:6px;text-decoration:none;font-size:16px;}\n@media(max-width:809px){\n nav[name=\"Header || Appear\"] [data-framer-name=\"Left\"]{display:none!important;}\n nav[name=\"Header || Appear\"] [data-framer-name=\"Right\"]{margin-left:0!important;margin-right:auto!important;}\n nav[name=\"Header || Appear\"] [data-framer-name=\"Right\"] p{font:500 13px/1.4 \"Switzer\",Arial,sans-serif!important;text-transform:none!important;}\n [data-framer-name=\"Homepage Hero\"]{min-height:0!important;height:auto!important;padding:48px 0 48px!important;gap:32px!important;align-items:flex-start!important;}\n [data-framer-name=\"Homepage Hero\"]>div{position:relative!important;inset:auto!important;min-height:0!important;height:auto!important;}\n [data-framer-name=\"Homepage Hero\"]>[data-framer-name=\"Subtitle\"]{padding:0 4px!important;margin:0 auto!important;max-width:680px!important;}\n [data-framer-name=\"Homepage Hero\"] [data-framer-name=\"Subtitle\"] p{font-size:17px!important;line-height:1.6!important;}\n [data-framer-name=\"Selected Work\"]{gap:24px!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Gordon Cover Image\"]>div{visibility:visible!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Gordon Cover Image\"]{position:absolute!important;inset:0!important;}\n [data-framer-name=\"Selected Work\"] a[data-framer-name=\"Content\"]{aspect-ratio:1/1!important;height:auto!important;width:100%!important;position:relative!important;overflow:hidden!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Image\"]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"]{position:absolute!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;height:auto!important;opacity:1!important;padding:40px 18px 18px!important;background:linear-gradient(transparent,rgba(0,0,0,.75))!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Wrapper\"],[data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]{width:100%!important;max-width:100%!important;gap:5px!important;align-items:flex-start!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div{background:transparent!important;backdrop-filter:none!important;padding:0!important;border-radius:0!important;width:auto!important;max-width:100%!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] p{font:600 17px/1.3 \"Switzer\",Arial,sans-serif!important;color:#fff!important;--framer-text-color:#fff!important;text-transform:none!important;letter-spacing:0!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Label\"] p{font-size:14px!important;font-weight:400!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Right\"]{display:none!important;}\n [data-framer-name=\"About\"] h5{font-size:18px!important;}\n canvas{display:none!important;}\n footer{background:#171717!important;color:white!important;}\n footer p,footer h3{color:white!important;--framer-text-color:#fff!important;text-transform:none!important;letter-spacing:0!important;}\n footer p{font-size:15px!important;line-height:1.6!important;}\n .gordon-project>[data-framer-name=\"Left\"]{max-height:none!important;}\n .gordon-project [data-framer-name=\"Project Index\"]{order:3!important;}\n .gordon-project [data-framer-name=\"Info\"]{order:2!important;}\n .gordon-section-copy{display:none;}\n .gordon-project[data-gordon-ready=\"true\"] [data-framer-name=\"Media Section\"]>[data-framer-name=\"Section Description\"]{display:block!important;width:100%!important;}\n .gordon-project [data-framer-name=\"Section Description\"] p{font:400 16px/1.6 \"Switzer\",Arial,sans-serif!important;color:var(--gordon-text)!important;--framer-text-color:var(--gordon-text)!important;text-indent:1.25em;}\n .gordon-section-link{padding:12px 0 12px 12px;}\n .gordon-section-link strong{margin:0;}\n .gordon-about{padding:24px 20px 48px;font-size:17px;}\n .gordon-about-columns{grid-template-columns:1fr;gap:24px;}\n .gordon-about h1{margin-top:48px;}\n}\n.gordon-about-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:24px 0 48px;}.gordon-about-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px;}.gordon-timeline{box-sizing:border-box;color:var(--gordon-text,#171717);background:var(--gordon-page,#fff);padding:56px 0 40px;font:400 16px/1.6 \"Switzer\",Arial,sans-serif;}.gordon-timeline *{box-sizing:border-box;min-width:0;}.gordon-timeline h2{font:500 28px/1.2 \"Switzer\",Arial,sans-serif;margin:0 0 40px;}.gordon-timeline-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;}.gordon-timeline article{position:relative;border-top:1px solid var(--gordon-line,#ccc);padding:24px 28px 0 0;}.gordon-timeline article:last-child{padding-right:0;}.gordon-timeline-dot{position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--gordon-text,#171717);}.gordon-timeline p{margin:0 0 12px;text-indent:0;font-size:15px;line-height:1.55;}.gordon-timeline-date{color:var(--gordon-muted,#606060);font-size:13px!important;}.gordon-timeline h3{font:600 20px/1.3 \"Switzer\",Arial,sans-serif;margin:8px 0;}.gordon-timeline-role{font-weight:500;min-height:48px;}.gordon-timeline-hint{display:none;}@media(max-width:809px){.gordon-about-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.gordon-about h1{font-size:36px;}.gordon-about p a{overflow-wrap:anywhere!important;}.gordon-timeline{padding:40px 0 24px;}.gordon-timeline-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 0 16px;}.gordon-timeline article{flex:0 0 85%;scroll-snap-align:start;padding-right:24px;}.gordon-timeline-hint{display:block;margin-top:12px!important;color:var(--gordon-muted,#606060);font-size:13px!important;}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}\n`;const revisionCss='\\n.gordon-project>[data-framer-name=\"Right\"]{display:flex!important;flex-direction:column!important;gap:40px!important;}\\n.gordon-project [data-framer-name=\"Project Media\"]{order:0;}\\n.gordon-story{width:100%;box-sizing:border-box;padding:32px 0;border-top:1px solid var(--gordon-line);scroll-margin-top:88px;font:400 17px/1.65 \"Switzer\",Arial,sans-serif;}\\n.gordon-story-context{order:-1;padding-top:0;border-top:0;}.gordon-story-outcome{order:2;}\\n.gordon-story-eyebrow{display:block;font:500 12px/1.4 monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--gordon-muted);margin-bottom:18px;}\\n.gordon-story h2{font:500 32px/1.2 \"Switzer\",Arial,sans-serif;margin:0 0 20px;}\\n.gordon-story p,.gordon-story-note p{margin:0;text-indent:1.25em;max-width:65ch;}\\n.gordon-story a,.gordon-story-note a{display:inline-block;color:inherit;text-underline-offset:4px;margin-top:22px;font-size:14px;line-height:1.5;}\\n.gordon-story-note{order:1;width:100%;font:400 17px/1.65 \"Switzer\",Arial,sans-serif;padding:0 0 14px;}\\n.gordon-story-note h3{font:500 19px/1.3 \"Switzer\",Arial,sans-serif;margin:0 0 14px;}\\n.gordon-project [data-framer-name=\"Media Section\"]>*{order:2;}\\n.gordon-project [data-framer-name=\"Media Section\"]>[data-framer-name=\"Title\"]{order:0;}\\n.gordon-project [data-framer-name=\"Media Section\"]>.gordon-story-note{order:1;}\\n.gordon-project [data-framer-name=\"Media Section\"]>.gordon-media-caption{order:3;}\\n.gordon-project[data-gordon-ready=\"true\"] [data-framer-name=\"Media Section\"]>[data-framer-name=\"Section Description\"]{display:none!important;}\\n[data-framer-name=\"Homepage Hero\"]{position:relative!important;min-height:0!important;height:auto!important;padding:64px 0!important;gap:64px!important;overflow:visible!important;}\\n[data-framer-name=\"Homepage Hero\"]>div:first-child{width:60%!important;max-width:400px!important;align-self:center!important;margin:0 auto!important;flex:none!important;}\\n.gordon-double{position:absolute!important;inset:0!important;z-index:20;width:100%!important;height:100%!important;max-width:none!important;pointer-events:none;font:400 15px/1.5 \"Switzer\",Arial,sans-serif;color:#171717;}\\n.gordon-double *{box-sizing:border-box;}\\n.gordon-double-trigger{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:10px;border:1px solid #ddd;border-radius:40px;background:#fff;color:#171717;padding:10px 18px 10px 10px;box-shadow:0 4px 20px #0001;font:500 14px/1.4 \"Switzer\",Arial,sans-serif;cursor:pointer;pointer-events:auto;min-height:48px;}\\n.gordon-double-icon{display:grid;place-items:center;background:#ff2e31;color:#fff;border-radius:50%;width:32px;height:32px;flex:none;}\\n.gordon-double-tooltip{position:absolute;bottom:62px;right:0;width:260px;max-width:calc(100vw - 48px);padding:16px;border:1px solid #ddd;border-radius:12px;background:#fff;box-shadow:0 6px 24px #0001;font-size:14px;opacity:0;visibility:hidden;transition:opacity .15s;}\\n.gordon-double-trigger:hover+.gordon-double-tooltip,.gordon-double-trigger:focus-visible+.gordon-double-tooltip{opacity:1;visibility:visible;}\\n.gordon-double-window{position:absolute;inset:0;display:flex;flex-direction:column;border:1px solid #ddd;border-radius:20px;background:#fff;box-shadow:0 12px 40px #0001;overflow:hidden;pointer-events:none;clip-path:circle(0% at calc(100% - 28px) calc(100% - 24px));visibility:hidden;transition:clip-path .5s cubic-bezier(.22,1,.36,1),visibility .5s;}\\n.gordon-double.is-open .gordon-double-window{visibility:visible;clip-path:circle(150% at calc(100% - 28px) calc(100% - 24px));pointer-events:auto;}\\n.gordon-double.is-open .gordon-double-trigger,.gordon-double.is-open .gordon-double-tooltip{visibility:hidden;pointer-events:none;}\\n.gordon-double-header{display:flex;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid #eee;}\\n.gordon-double-header strong{font-size:16px;font-weight:500;}.gordon-double-header small{display:block;color:#666;font-size:12px;}\\n.gordon-double-close{margin-left:auto;background:transparent;border:1px solid #ddd;border-radius:50%;width:40px;height:40px;font:400 24px/1 Arial;cursor:pointer;color:inherit;}\\n.gordon-double-empty{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:24px;}\\n.gordon-double-empty p{margin:0;font:400 15px/1.5 \"Switzer\",Arial,sans-serif;text-indent:0;color:#666;}\\n.gordon-double-composer{margin:0 24px 24px;border:1px solid #ddd;border-radius:14px;display:flex;align-items:center;background:#fafafa;padding:8px 12px;gap:8px;}\\n.gordon-double-composer input{width:100%;min-width:0;border:0;background:transparent;padding:10px 0;font:400 14px/1.4 \"Switzer\",Arial,sans-serif;}\\n.gordon-double-composer button{width:36px;height:36px;flex:none;border:0;border-radius:50%;background:#e8e8e8;color:#777;font-size:20px;}\\n.gordon-double button:focus-visible{outline:2px solid #ff2e31;outline-offset:4px;}\\n@media(max-width:809px){[data-framer-name=\"Homepage Hero\"]{padding:48px 0 80px!important;gap:48px!important;}[data-framer-name=\"Homepage Hero\"]>.gordon-double{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;}.gordon-double-header{padding:14px;}.gordon-double-composer{margin:0 14px 14px;}.gordon-story h2{font-size:27px;}.gordon-story,.gordon-story-note{font-size:16px;}.gordon-project>[data-framer-name=\"Right\"]{gap:40px!important;}}\\n@media(prefers-reduced-motion:reduce){.gordon-double-window,.gordon-double-tooltip{transition:none;}}\\n';/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 88\n * @framerIntrinsicHeight 44\n */export function PortfolioMenu(props){const box=useRef(null);useEffect(()=>{const detail=box.current;const summary=detail?.querySelector(\"summary\");if(!detail||!summary)return;const isolate=e=>e.stopPropagation();detail.addEventListener(\"pointerdown\",isolate);detail.addEventListener(\"pointerup\",isolate);const activate=e=>{e.stopPropagation();if(e.button===0)detail.open=!detail.open;};const click=e=>{if(e.detail>0)e.preventDefault();e.stopPropagation();};summary.addEventListener(\"pointerdown\",isolate,true);summary.addEventListener(\"pointerup\",activate,true);summary.addEventListener(\"click\",click,true);return()=>{detail.removeEventListener(\"pointerdown\",isolate);detail.removeEventListener(\"pointerup\",isolate);summary.removeEventListener(\"pointerdown\",isolate,true);summary.removeEventListener(\"pointerup\",activate,true);summary.removeEventListener(\"click\",click,true);};},[]);useEffect(()=>{const close=e=>{if(!box.current?.contains(e.target)&&box.current)box.current.open=false;};const key=e=>{if(e.key===\"Escape\"&&box.current?.open){box.current.open=false;box.current.querySelector(\"summary\")?.focus();}};document.addEventListener(\"pointerdown\",close);document.addEventListener(\"keydown\",key);return()=>{document.removeEventListener(\"pointerdown\",close);document.removeEventListener(\"keydown\",key);};},[]);return /*#__PURE__*/_jsxs(\"details\",{className:\"gordon-menu\",ref:box,onClickCapture:event=>{const link=event.target.closest(\"a\");if(!link)return;const selected=link.textContent===\"Selected work\"?document.querySelector('[data-framer-name=\"Selected Work\"]'):null;if(selected){event.preventDefault();event.stopPropagation();selected.scrollIntoView({behavior:window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches?\"auto\":\"smooth\",block:\"start\"});}window.setTimeout(()=>{if(box.current)box.current.open=false;},0);},style:{...props?.style,position:\"relative\",overflow:\"visible\",height:44,minWidth:88,zIndex:110},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:'.gordon-menu{position:relative;color:var(--gordon-text,#171717);font:500 14px/1.4 \"Switzer\",Arial,sans-serif;text-transform:none;letter-spacing:0;}\\n.gordon-menu summary{font:inherit;color:inherit;border:0;background:transparent;min-height:44px;padding:10px 16px;cursor:pointer;}\\n.gordon-menu summary:focus-visible,.gordon-menu a:focus-visible{outline:2px solid currentColor;outline-offset:3px;}\\n.gordon-menu summary{list-style:none;display:block;user-select:none;}.gordon-menu summary::-webkit-details-marker{display:none}.gordon-menu .menu-minus,.gordon-menu[open] .menu-plus{display:none}.gordon-menu[open] .menu-minus{display:inline}.gordon-menu:not([open]) .gordon-menu-panel{display:none}.gordon-menu-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);min-width:210px;padding:8px;background:var(--gordon-page,#fff);border:1px solid var(--gordon-line,#ddd);border-radius:12px;box-shadow:0 12px 36px #0002;display:flex;flex-direction:column;}\\n.gordon-menu-panel a{display:block;padding:12px 16px;color:inherit!important;text-decoration:none;font:400 15px/1.4 \"Switzer\",Arial,sans-serif;white-space:nowrap;}\\n.gordon-menu-panel a:hover{background:#8881;}\\n.gordon-menu-panel a[aria-current=\"page\"]{font-weight:600;}\\n\\n.gordon-menu{box-sizing:border-box;text-align:center}.gordon-menu-panel{text-align:left;z-index:120}.gordon-menu-panel a{box-sizing:border-box}.gordon-menu>style{display:none!important}'}}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:'[data-framer-name=\"Row 1\"]:has(>div>.gordon-menu){position:relative!important;min-height:44px!important;overflow:visible!important}[data-framer-name=\"Row 1\"]>div:has(>.gordon-menu){position:absolute!important;left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:88px!important;height:44px!important;overflow:visible!important;z-index:110!important}nav:has(.gordon-menu),[data-framer-name=\"Header || Appear\"]:has(.gordon-menu){overflow:visible!important;z-index:100!important}.gordon-menu summary{box-sizing:border-box;height:44px;display:flex;align-items:center;justify-content:center;gap:4px}.gordon-menu-panel{max-width:calc(100vw - 32px)}'}}),/*#__PURE__*/_jsxs(\"summary\",{children:[\"Menu \",/*#__PURE__*/_jsx(\"span\",{className:\"menu-plus\",children:\"+\"}),/*#__PURE__*/_jsx(\"span\",{className:\"menu-minus\",children:\"−\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-menu-panel\",children:[/*#__PURE__*/_jsx(FramerLink,{href:{webPageId:\"augiA20Il\"},children:/*#__PURE__*/_jsx(\"a\",{children:\"Selected work\"})}),/*#__PURE__*/_jsx(FramerLink,{href:{webPageId:\"XrDxyvVLl\"},children:/*#__PURE__*/_jsx(\"a\",{children:\"About\"})}),/*#__PURE__*/_jsxs(\"a\",{href:MASTER_RESUME_URL||\"/about#resume\",target:\"_blank\",rel:\"noopener noreferrer\",download:MASTER_RESUME_URL?\"Gordon-Gao-Senior-Designer-Resume.pdf\":undefined,children:[\"Resume \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-down\"})]}),/*#__PURE__*/_jsx(\"a\",{href:\"mailto:Gordongaodesign@gmail.com\",children:\"Contact\"})]})]});}// Public browser transport only. No prompts, provider config, credentials or test adapters.\nconst LLM_NOTICE=\"Conversations are saved privately for Gordon to review and improve this assistant, then deleted after 90 days. Please avoid sharing sensitive information.\";const LLM_FALLBACK=\"I’m unable to answer right now. You can contact Gordon at gordongaodesign@gmail.com.\";const LLM_ROLES=[\"Brand\",\"Production\",\"UI/UX\",\"Motion & Video\",\"AI Creative Systems\",\"Just browsing\",\"Product & Industrial Design\"];const llmControls=/[\\u0000-\\u0008\\u000b\\u000c\\u000e-\\u001f\\u007f\\u202a-\\u202e\\u2066-\\u2069]/;function llmOrigin(value){const u=new URL(value);if(u.protocol!==\"https:\"||u.origin!==value||u.username||u.password||!u.hostname.includes(\".\")||/(?:localhost|\\.local$|\\.test$|\\.example$|^127\\.|^0\\.|^10\\.|^192\\.168\\.|^172\\.(?:1[6-9]|2\\d|3[01])\\.)/.test(u.hostname)||/(?:^|\\.)(?:preview|test)(?:\\.|$)/.test(u.hostname))throw new Error(\"A deployed HTTPS Worker origin is required\");return value;}class GordonClientError extends Error{constructor(status,code){super(LLM_FALLBACK);_define_property(this,\"status\",void 0);_define_property(this,\"code\",void 0);this.status=status;this.code=code;}}function llmAnswer(value){if(!value||typeof value!==\"object\"||Array.isArray(value))throw new GordonClientError(0,\"invalid_answer\");const validText=(s,limit)=>typeof s===\"string\"&&s.trim()&&[...s].length<=limit&&!llmControls.test(s)&&!RegExp(\"[\\\\p{Script=Han}\\\\p{Script=Hiragana}\\\\p{Script=Katakana}\\\\p{Script=Hangul}]\",\"u\").test(s);if(!validText(value.text,700)||!Array.isArray(value.suggest)||value.suggest.length>3||value.suggest.some(s=>!validText(s,80)))throw new GordonClientError(0,\"invalid_answer\");// Only explicitly verified relative destinations are navigable.\nreturn{text:value.text,suggest:[...value.suggest],cards:safeCards(value.cards),links:safeLinks(value.links)};}function gordonEmailAddress(value){if(typeof value!==\"string\"||value.length>254||/[\\r\\n]/.test(value))return null;const parts=value.trim().split(\"@\");if(parts.length!==2)return null;const[local,domain]=parts;if(!local||local.length>64||!/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+$/.test(local)||local.startsWith(\".\")||local.endsWith(\".\")||local.includes(\"..\"))return null;const labels=domain.split(\".\");if(domain.length>253||labels.length<2||!labels.every(p=>/^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$/.test(p))||!/^[a-zA-Z]{2,63}$/.test(labels[labels.length-1]))return null;return local+\"@\"+domain.toLowerCase();}const GORDON_ACTION_ERRORS=[\"session_expired\",\"invalid_input\",\"not_enough_exchanges\",\"request_conflict\",\"limit_reached\",\"unavailable\",\"delivery_unconfirmed\",\"forbidden\"];function gordonActionFeedback(code){switch(code){case\"session_required\":return\"Complete session verification in chat first, then review and submit the form yourself. Your draft is kept; verification does not send it automatically.\";case\"session_expired\":return\"This session expired. Your draft is kept. Go back to chat and explicitly start a fresh session, then review and submit the form yourself. Earlier answers do not count toward a new session’s transcript.\";case\"invalid_input\":return\"Check your email address, message and consent. Your draft is kept. No email was accepted with these invalid details.\";case\"not_enough_exchanges\":return\"Complete two accepted answers in the current session before emailing the conversation. The introduction and declined or unsuccessful answers do not count. Your draft is kept.\";case\"limit_reached\":return\"An email or service limit was reached. Your draft is kept. Contact Gordon directly instead; a fresh session cannot bypass service limits.\";case\"unavailable\":return\"Email is unavailable right now. Your draft is kept. You can contact Gordon directly.\";case\"forbidden\":return\"This request was not accepted. Your draft is kept. Contact Gordon directly.\";case\"busy\":return\"A request is already pending. Wait for its result; Hide remains available.\";case\"notices_unavailable\":return\"Email consent notices are unavailable. Go back to chat and explicitly start a fresh session, or contact Gordon directly. Your draft is kept.\";case\"request_conflict\":return\"This request is pending or conflicts with an earlier submission. Its delivery is unconfirmed. Do not resend it. Your draft is kept; contact Gordon directly if you need help.\";default:return\"Email delivery could not be confirmed. It may already have been accepted. Do not resend it. Your draft is kept; contact Gordon directly if you need help.\";}}class GordonSession{hasSession(){return Boolean(this.token)&&this.now()<this.expiresAt;}async request(path,init={}){const controller=new AbortController;const timer=setTimeout(()=>controller.abort(),this.timeout);try{const response=await this.fetcher(this.origin+path,{...init,signal:controller.signal,redirect:\"error\",credentials:\"omit\",cache:\"no-store\",referrerPolicy:\"no-referrer\"});// Read admission headers even on 429 before converting the response to an error.\nif(path===\"/chat\"||path===\"/session\"){this.limits=readLimits(response,this.limits);this.onLimits(this.limits);}if(!response.ok)throw new GordonClientError(response.status,response.status===401?\"session_expired\":response.status===409?\"uncertain\":response.status===429?\"limit\":\"unavailable\");const text=await response.text();if(text.length>16e3)throw new GordonClientError(0,\"invalid_answer\");return JSON.parse(text);}catch(e){if(e instanceof GordonClientError)throw e;throw new GordonClientError(0,\"uncertain\");}finally{clearTimeout(timer);}}async start(turnstileToken){if(this.busy||this.pending)throw new GordonClientError(409,\"uncertain\");if(typeof turnstileToken!==\"string\"||!turnstileToken)throw new GordonClientError(400,\"challenge\");this.busy=true;try{const result=await this.request(\"/session\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({turnstileToken})});if(typeof result.token!==\"string\"||!result.token||result.token.length>4096||!Number.isFinite(result.expiresAt)||result.expiresAt<=this.now()||result.expiresAt>this.now()+30*60*1e3+5e3)throw new GordonClientError(0,\"invalid_session\");const notices=result.actionNotices;const validNotice=value=>typeof value===\"string\"&&value.trim()&&value.length<=1e3&&!llmControls.test(value);this.actionNotices=notices&&validNotice(notices.contact)&&validNotice(notices.transcript)?Object.freeze({contact:notices.contact,transcript:notices.transcript}):null;this.token=result.token;this.expiresAt=result.expiresAt;// A validated explicit new session has no reported count yet. Server caps still apply.\nthis.limits={remaining:null,reason:\"\",blocked:false};this.onLimits(this.limits);return result;}finally{this.busy=false;}}async starters(path=gordonPage()){const r=await this.request(\"/starters?path=\"+encodeURIComponent(path===\"/interviews/creator-co\"?\"/\":path)+\"&lang=en\");return llmAnswer({text:\"Suggestions\",suggest:r.suggest}).suggest;}async send({message,role=\"Just browsing\",company=\"\",path=gordonPage(),highlight=\"\"},retry=false){if(this.busy)throw new GordonClientError(409,\"busy\");if(!this.hasSession()){this.token=\"\";throw new GordonClientError(401,\"session_expired\");}if(retry&&!this.pending)throw new GordonClientError(400,\"no_pending\");if(!retry){if(this.pending)throw new GordonClientError(409,\"uncertain\");if(typeof message!==\"string\"||!message.trim()||[...message].length>400||llmControls.test(message)||!LLM_ROLES.includes(role)||typeof company!==\"string\"||[...company].length>60||llmControls.test(company)||!GORDON_PAGES[path]||typeof highlight!==\"string\"||[...highlight].length>300||llmControls.test(highlight))throw new GordonClientError(400,\"invalid_input\");this.pending=JSON.stringify({message:message.trim(),role,company,requestId:this.uuid(),context:{// Interview is a presentation route; use the supported portfolio context.\npath:path===\"/interviews/creator-co\"?\"/\":path,focusedWindow:\"pda\",highlight}});}this.busy=true;try{const result=llmAnswer(await this.request(\"/chat\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:\"Bearer \"+this.token},body:this.pending}));this.pending=null;return result;}catch(e){if([400,401,403,429].includes(e.status))this.pending=null;if(e.status===401)this.token=\"\";throw e;}finally{this.busy=false;}}async submitAction(kind,input){if(this.busy||this.pending)throw new GordonClientError(409,\"busy\");if(this.actionPending)throw new GordonClientError(409,\"request_conflict\");if(!this.hasSession()){this.token=\"\";throw new GordonClientError(401,\"session_expired\");}if(!this.actionNotices)throw new GordonClientError(503,\"notices_unavailable\");const email=gordonEmailAddress(input?.email);const consent=kind===\"contact\"?\"contact-v1\":\"transcript-v1\";const message=kind===\"contact\"?input?.message:\"\";if(![\"contact\",\"send-transcript\"].includes(kind)||!email||input?.consent!==consent||typeof message!==\"string\"||kind===\"contact\"&&!message.trim()||[...message].length>2e3||llmControls.test(message))throw new GordonClientError(400,\"invalid_input\");const requestId=this.uuid();if(!/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(requestId))throw new GordonClientError(400,\"invalid_input\");// Freeze one payload before the first await. No automatic retry or session renewal.\nconst body=JSON.stringify({requestId,email,...kind===\"contact\"?{message:message.trim()}:{},consent});this.actionPending=Object.freeze({kind,requestId,body});this.busy=true;const controller=new AbortController;const timer=setTimeout(()=>controller.abort(),this.timeout);try{const response=await this.fetcher(this.origin+\"/\"+kind,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:\"Bearer \"+this.token},body,signal:controller.signal,redirect:\"error\",credentials:\"omit\",cache:\"no-store\",referrerPolicy:\"no-referrer\"});const text=await response.text();if(text.length>16e3)throw new GordonClientError(0,\"delivery_unconfirmed\");let result;try{result=JSON.parse(text);}catch{throw new GordonClientError(0,\"delivery_unconfirmed\");}if(!response.ok){const known=result?.ok===false&&GORDON_ACTION_ERRORS.includes(result.code);const expected={session_expired:401,invalid_input:400,not_enough_exchanges:422,request_conflict:409,limit_reached:429,unavailable:503,delivery_unconfirmed:503,forbidden:403};const code=known&&expected[result.code]===response.status?result.code:\"delivery_unconfirmed\";throw new GordonClientError(response.status,code);}if(result?.ok!==true||result.action!==kind||result.status!==\"accepted\"||result.requestId!==requestId)throw new GordonClientError(0,\"delivery_unconfirmed\");let expiresAt;if(kind===\"send-transcript\"){const transcript=result.transcript;let url;try{url=new URL(transcript?.url);}catch{throw new GordonClientError(0,\"delivery_unconfirmed\");}if(url.origin!==this.origin||url.search||url.hash||url.username||url.password||!/^\\/t\\/[A-Za-z0-9_-]{20,128}$/.test(url.pathname)||transcript.textUrl!==transcript.url+\".txt\"||!Number.isFinite(transcript.expiresAt)||transcript.expiresAt<=this.now()||transcript.expiresAt>this.now()+14*24*60*60*1e3+5e3)throw new GordonClientError(0,\"delivery_unconfirmed\");expiresAt=transcript.expiresAt;}this.actionPending=null;// Do not expose the bearer transcript link to page URLs, DOM links or analytics.\nreturn{status:\"accepted\",requestId,email,expiresAt};}catch(e){const error=e instanceof GordonClientError?e:new GordonClientError(0,\"delivery_unconfirmed\");if([\"session_expired\",\"invalid_input\",\"not_enough_exchanges\",\"limit_reached\",\"unavailable\",\"forbidden\"].includes(error.code))this.actionPending=null;if(error.code===\"session_expired\")this.token=\"\";throw error;}finally{clearTimeout(timer);this.busy=false;}}clearExpiredOrLimited(){if(this.busy||this.pending&&this.now()<this.expiresAt)throw new GordonClientError(409,\"uncertain\");this.pending=null;this.token=\"\";this.expiresAt=0;}constructor(origin,{fetcher=(input,init)=>fetch(input,init),now=()=>Date.now(),uuid=()=>crypto.randomUUID(),timeout=25e3}={}){_define_property(this,\"origin\",void 0);_define_property(this,\"fetcher\",void 0);_define_property(this,\"now\",void 0);_define_property(this,\"uuid\",void 0);_define_property(this,\"timeout\",void 0);_define_property(this,\"token\",void 0);_define_property(this,\"expiresAt\",void 0);_define_property(this,\"busy\",void 0);_define_property(this,\"pending\",void 0);_define_property(this,\"actionNotices\",null);_define_property(this,\"actionPending\",null);_define_property(this,\"limits\",{remaining:null,reason:\"\",blocked:false});_define_property(this,\"onLimits\",()=>{});this.origin=llmOrigin(origin);this.fetcher=fetcher;this.now=now;this.uuid=uuid;this.timeout=timeout;this.token=\"\";this.expiresAt=0;this.busy=false;this.pending=null;}}// Public deployment values. The backend remains the authority for session and action admission.\nconst GORDON_DEPLOYMENT=Object.freeze({enabled:true,sessionVerificationOnly:false,workerOrigin:\"https://gordon-llm-backend.gordongaodesign.workers.dev\",turnstileSiteKey:\"0x4AAAAAAE1y_7aps0zngeYT\",siteOrigin:\"https://designedbygordon.com\",supportedOrigins:Object.freeze([\"https://designedbygordon.com\",\"https://xiangning-gao.com\",\"https://generic-haggis-893616.framer.app\"])});function gordonApiOriginAllowed(origin){// Exact documented canonical, legacy and published-preview origins only.\n// Backend CORS and Turnstile independently enforce their existing allowlists.\nreturn GORDON_DEPLOYMENT.supportedOrigins.includes(origin);}function showGordonScreen(){return GORDON_DEPLOYMENT.enabled||typeof window!==\"undefined\"&&window.location.origin===\"https://project-6haj9xpmyfy9jrqpt0yw.framercanvas.com\";}// Focus only after the opening panel can receive it. Never steal focus after\n// the visitor chooses another control. This schedules DOM focus, not API retries.\nfunction focusVisiblePdaControl(target){if(!target)return()=>{};const panel=target.closest(\".gordon-pda\");if(!panel)return()=>{};const origin=document.activeElement;let done=false;let frame=0;let deadline=0;const cleanup=()=>{done=true;cancelAnimationFrame(frame);window.clearTimeout(deadline);panel.removeEventListener(\"transitionend\",attempt);document.removeEventListener(\"pointerdown\",abandon,true);document.removeEventListener(\"focusin\",moved,true);document.removeEventListener(\"keydown\",abandon,true);};const abandon=()=>cleanup();const moved=event=>{if(event.target!==origin&&event.target!==target)cleanup();};const attempt=()=>{if(done||!target.isConnected)return;if(document.activeElement!==origin&&document.activeElement!==document.body&&document.activeElement!==target)return cleanup();if(panel.getAttribute(\"aria-hidden\")===\"true\"||target.closest(\"[inert]\")||getComputedStyle(target).visibility!==\"visible\")return;target.focus({preventScroll:true});if(document.activeElement===target)cleanup();};panel.addEventListener(\"transitionend\",attempt);document.addEventListener(\"pointerdown\",abandon,true);document.addEventListener(\"focusin\",moved,true);document.addEventListener(\"keydown\",abandon,true);frame=requestAnimationFrame(()=>{frame=requestAnimationFrame(attempt);});deadline=window.setTimeout(()=>{attempt();cleanup();},450);return cleanup;}function GordonChatScreen({open,messages,onMessages,attachments,setAttachments,focusRequest,path,session,sessionVersion,actionBusy,onSessionChange}){const[inspected,setInspected]=useState(null);const highlight=highlightText(attachments);const invalidHighlight=[...highlight].length>300||llmControls.test(highlight);const handledFocusRequest=useRef(0);useEffect(()=>{if(!open||!focusRequest||handledFocusRequest.current===focusRequest)return;handledFocusRequest.current=focusRequest;return focusVisiblePdaControl(!session.current?.hasSession()?startButton.current:composer.current);},[open,focusRequest]);const widgetHost=useRef(null);const widget=useRef(null);const scrollHost=useRef(null);const startButton=useRef(null);const composer=useRef(null);const shownMessageCount=useRef(0);const[ready,setReady]=useState(()=>!!session.current?.hasSession());const[chatBusy,setBusy]=useState(false);const busy=chatBusy||actionBusy;const[draft,setDraft]=useState(\"\");const[role,setRole]=useState(\"Just browsing\");const[company,setCompany]=useState(\"\");const[suggest,setSuggest]=useState([]);const[limits,setLimits]=useState({remaining:null,reason:\"\",blocked:false});const limited=limits.blocked||limits.remaining===0||limits.reason===\"session_limit\";const chooseQuestion=question=>{if(busy||limited||session.current?.pending)return;setDraft(question);requestAnimationFrame(()=>composer.current?.focus({preventScroll:true}));};const[error,setError]=useState(\"\");const[challenge,setChallenge]=useState(false);const inFlight=useRef(false);// Observe the shared session; never verify, send or reset it automatically.\nuseEffect(()=>{let timer;const sync=()=>{clearTimeout(timer);const valid=!!session.current?.hasSession();setReady(valid);if(session.current)setLimits(session.current.limits);if(valid){timer=setTimeout(sync,Math.max(1,session.current.expiresAt-session.current.now()+1));}else if(session.current?.expiresAt){setError(\"This session ended. Select Start chat to verify again. Your draft and selected context are kept; nothing sends automatically.\");}};sync();window.addEventListener(\"focus\",sync);return()=>{clearTimeout(timer);window.removeEventListener(\"focus\",sync);};},[open,sessionVersion]);useEffect(()=>{if(!open||busy)return;return focusVisiblePdaControl(!ready||limited?startButton.current:composer.current);},[open,ready,limited,busy]);useEffect(()=>{const check=e=>{if(inFlight.current||session.current?.pending){e.preventDefault();setError(\"Finish the pending request before adding another attachment. Your draft and current context are unchanged.\");}};window.addEventListener(\"gordon:attachment-check\",check);return()=>window.removeEventListener(\"gordon:attachment-check\",check);},[]);const allowed=GORDON_DEPLOYMENT.enabled&&typeof window!==\"undefined\"&&gordonApiOriginAllowed(window.location.origin)&&!!GORDON_PAGES[path];// Document-lifetime cache is shared by the existing persistent PDA, never per route.\nuseEffect(()=>{if(!open||!allowed||messages.length)return;let active=true;loadIntroduction().then(answer=>{if(!active)return;onMessages(prior=>prior.length?prior:[{role:\"assistant\",content:answer.text,answer,isIntroduction:true}]);setSuggest(answer.suggest);}).catch(()=>{if(active)setError(\"The introduction is unavailable. You can still start chat.\");});return()=>{active=false;};},[open,allowed,messages.length]);const turnstile=()=>window.turnstile;useEffect(()=>()=>{if(widget.current&&turnstile())turnstile().remove(widget.current);},[]);useEffect(()=>{const el=scrollHost.current;if(!open||!el||!ready||!messages.some(m=>!m.isIntroduction)||shownMessageCount.current===messages.length)return;const replies=el.querySelectorAll(\".gordon-llm-bubble.assistant\");const latest=replies[replies.length-1];if(latest){el.scrollTop=latest.offsetTop-8;shownMessageCount.current=messages.length;}},[messages.length,open,ready]);useEffect(()=>{const el=composer.current;if(!el)return;const fit=()=>{const max=parseFloat(getComputedStyle(el).maxHeight)||80;el.style.height=\"0px\";const height=draft?Math.min(el.scrollHeight+2,max):36;el.style.height=height+\"px\";el.style.overflowY=el.scrollHeight>height?\"auto\":\"hidden\";};fit();let lastWidth=el.clientWidth;const observer=new ResizeObserver(()=>{if(el.clientWidth!==lastWidth){lastWidth=el.clientWidth;fit();}});observer.observe(el);return()=>observer.disconnect();},[draft,open]);async function startChat(){if(!allowed||inFlight.current||actionBusy||session.current?.busy)return;if(session.current?.hasSession()&&!limited){setReady(true);return;}inFlight.current=true;setBusy(true);setError(\"\");setChallenge(true);try{if(!session.current)session.current=new GordonSession(GORDON_DEPLOYMENT.workerOrigin);session.current.onLimits=setLimits;session.current.clearExpiredOrLimited();if(!turnstile())await new Promise((resolve,reject)=>{const script=document.createElement(\"script\");script.src=\"https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit\";script.async=true;script.defer=true;const timer=setTimeout(()=>reject(new Error(\"Challenge unavailable\")),12e3);script.onload=()=>{clearTimeout(timer);resolve();};script.onerror=()=>{clearTimeout(timer);reject(new Error(\"Challenge unavailable\"));};document.head.appendChild(script);});if(widget.current)turnstile().remove(widget.current);widget.current=turnstile().render(widgetHost.current,{sitekey:GORDON_DEPLOYMENT.turnstileSiteKey,action:\"gordon_session\",theme:\"light\",size:\"compact\",language:\"en\",retry:\"never\",\"refresh-expired\":\"never\",\"refresh-timeout\":\"never\",callback:async token=>{try{await session.current.start(token);onSessionChange();setReady(true);setChallenge(false);// Starters are free; failure is left visible without retries.\ntry{if(!suggest.length){try{setSuggest((await loadIntroduction()).suggest);}catch{setSuggest(await session.current.starters(path));}}}catch{setSuggest([]);}}catch{setReady(false);setChallenge(false);setError(\"Could not verify this session. Select Start chat to try again. Your draft and selected context are kept.\");}finally{if(widget.current){turnstile().remove(widget.current);widget.current=null;}setBusy(false);inFlight.current=false;onSessionChange();}},\"error-callback\":()=>{setReady(false);setChallenge(false);setError(\"Verification failed. Select Start chat to try again. Your draft and selected context are kept.\");setBusy(false);inFlight.current=false;return true;},\"expired-callback\":()=>{setReady(false);setChallenge(false);setError(\"Verification expired. Select Start chat to verify again.\");setBusy(false);inFlight.current=false;},\"timeout-callback\":()=>{setReady(false);setChallenge(false);setError(\"Verification timed out. Select Start chat to try again. Your draft and selected context are kept.\");setBusy(false);inFlight.current=false;}});}catch{setReady(false);setChallenge(false);setError(\"Could not load verification. Select Start chat to try again. Your draft and selected context are kept.\");setBusy(false);inFlight.current=false;}}async function send(retry=false){if(GORDON_DEPLOYMENT.sessionVerificationOnly||!allowed||!ready&&!retry||inFlight.current||actionBusy||!session.current||limited&&!retry)return;if(!retry&&invalidHighlight)return;const text=draft;inFlight.current=true;setBusy(true);setError(\"\");try{const answer=await session.current.send({message:text,role,company,path,highlight},retry);onMessages(prior=>[...prior,{role:\"user\",content:text},{role:\"assistant\",content:answer.text,answer}]);setDraft(\"\");setAttachments([]);setSuggest(answer.suggest);}catch(e){if(e.status===401){setReady(false);setError(\"This session ended. Start a fresh session, then send your message. Earlier messages remain visible but are not part of the new session.\");}else if(e.status===429){setReady(false);setError(\"A conversation or service limit was reached. Sending is paused. An explicit new session cannot bypass service limits.\");}else if(e.status===400)setError(\"Please check your message (up to 400 characters) and company (up to 60).\");else setError(LLM_FALLBACK);}finally{setBusy(false);inFlight.current=false;onSessionChange();}}return /*#__PURE__*/_jsxs(\"div\",{className:\"gordon-llm-screen\",children:[/*#__PURE__*/_jsx(\"style\",{children:`\n.gordon-llm-screen{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:#fff;font:12px/1.45 Arial,sans-serif;}\n.gordon-llm-screen *{box-sizing:border-box;min-width:0;}\n.gordon-llm-screen header{flex:none;padding:5px 9px;border-bottom:1px solid #e6e8ea;}\n.gordon-llm-screen header strong{font-size:13px;line-height:20px;}.gordon-llm-intro{display:block;color:#667078;font-size:10px;margin-bottom:8px;}\n.gordon-llm-scroll{position:relative;flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-block:8px;padding:8px 9px 16px;overflow-anchor:none;}\n.gordon-llm-screen p{font:12px/1.5 Arial,sans-serif!important;text-indent:0!important;margin:0 0 10px!important;color:#354047;overflow-wrap:break-word;white-space:pre-wrap;}\n.gordon-llm-notice{border-bottom:1px solid #eee;padding-bottom:10px;}\n.gordon-llm-screen label{display:block;margin:9px 0;font-size:12px;}\n.gordon-llm-screen select,.gordon-llm-screen input,.gordon-llm-screen textarea{display:block;width:100%;font:16px/1.4 Arial,sans-serif;background:#fff;color:#202326;border:1px solid #cbd2d7;border-radius:5px;padding:6px;}\n.gordon-llm-screen button,.gordon-llm-screen a{display:inline-block;margin:3px 4px 3px 0;min-height:36px;padding:7px;border:1px solid #cad3dd;border-radius:7px;background:#f5f8fc;color:#174789;font:12px/1.4 Arial,sans-serif;text-decoration:none;}\n.gordon-llm-screen button:disabled{opacity:.55;cursor:default;}.gordon-llm-screen details{margin-bottom:8px;}.gordon-llm-screen summary{cursor:pointer;padding:5px 0;}\n.gordon-llm-bubble{padding:9px;margin:8px 0;border-radius:10px;background:#f0f2f4;}.gordon-llm-bubble.user{background:#e9f1ff;}.gordon-llm-bubble strong{display:block;font-size:11px;margin-bottom:5px;}\n.gordon-llm-start{flex:none;padding:5px 9px;border-bottom:1px solid #e6e8ea;max-height:65%;overflow-y:auto;}.gordon-llm-start[hidden],.gordon-llm-challenge[hidden]{display:none;}.gordon-llm-start p{font-size:11px!important;line-height:1.35!important;margin:3px 0!important;}\n.gordon-llm-compose{flex:none;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:3px 5px;align-items:end;padding:6px;border-top:1px solid #eee;background:#fff;}.gordon-llm-compose textarea{resize:none;height:36px;min-height:36px;max-height:80px;padding:6px;font:16px/22px Arial,sans-serif;}.gordon-llm-compose button{margin:0;min-height:36px;padding:6px 3px;font-size:11px;text-align:center;}.gordon-llm-compose small{grid-column:1/-1;font-size:10px;line-height:12px;color:#67717a;}.gordon-llm-followups{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding-bottom:4px;}.gordon-llm-followups button{margin:0;white-space:normal;overflow-wrap:break-word;text-align:left;flex-shrink:0;}.gordon-llm-challenge{display:grid;justify-content:center;}\n@media(max-width:600px){.gordon-llm-compose textarea{max-height:72px;}}\n.gordon-llm-screen .gordon-pda-card{display:block;width:100%;margin:7px 0;padding:8px;white-space:normal;overflow-wrap:anywhere;}\n.gordon-pda-card img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:4px;margin-bottom:7px;}\n.gordon-pda-card span{display:block;line-height:1.5;}\n.gordon-llm-screen .gordon-pda-feedback{flex:none;padding:5px 7px;margin:0!important;border-top:1px solid #e6e8ea;font-size:11px!important;line-height:1.35!important;background:#f5f8fc;}\n.gordon-pda-card:focus-visible,.gordon-llm-followups button:focus-visible{outline:2px solid #0767ff;outline-offset:2px;}\n`}),/*#__PURE__*/_jsx(\"header\",{children:/*#__PURE__*/_jsx(\"strong\",{children:\"“Gordon, More or Less”\"})}),/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-llm-start\",hidden:ready&&!limited,children:[/*#__PURE__*/_jsx(\"button\",{ref:startButton,type:\"button\",onClick:startChat,disabled:busy||!allowed,children:chatBusy?\"Verifying…\":\"Start chat\"}),/*#__PURE__*/_jsx(\"p\",{role:\"status\",\"aria-live\":\"polite\",children:!allowed?\"Chat is unavailable on this preview or page. Visit designedbygordon.com to start.\":chatBusy?\"Verifying your session… Complete the security check. Nothing sends automatically.\":error||\"Select Start chat to verify, then write your question. Your draft and selected context are kept.\"}),/*#__PURE__*/_jsx(\"div\",{ref:widgetHost,className:\"gordon-llm-challenge\",hidden:!challenge})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-llm-scroll\",ref:scrollHost,role:\"region\",\"aria-label\":\"Conversation and follow-up questions\",tabIndex:0,children:[/*#__PURE__*/_jsx(\"small\",{className:\"gordon-llm-intro\",children:\"A guide to Gordon’s work \\xb7 English replies\"}),/*#__PURE__*/_jsx(\"p\",{className:\"gordon-llm-notice\",children:LLM_NOTICE}),/*#__PURE__*/_jsxs(\"details\",{children:[/*#__PURE__*/_jsx(\"summary\",{children:\"What are you exploring?\"}),/*#__PURE__*/_jsxs(\"label\",{children:[\"Area\",/*#__PURE__*/_jsx(\"select\",{value:role,disabled:busy,onChange:e=>setRole(e.target.value),children:LLM_ROLES.map(r=>/*#__PURE__*/_jsx(\"option\",{children:r},r))})]}),/*#__PURE__*/_jsxs(\"label\",{children:[\"Company (optional)\",/*#__PURE__*/_jsx(\"input\",{value:company,disabled:busy,onChange:e=>setCompany(e.target.value),maxLength:120})]})]}),messages.map((m,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-llm-bubble \"+m.role,children:[/*#__PURE__*/_jsx(\"strong\",{children:m.role===\"user\"?\"You\":\"“Gordon, More or Less”\"}),/*#__PURE__*/_jsx(\"p\",{children:m.content}),m.role===\"assistant\"&&m.answer&&/*#__PURE__*/_jsx(GordonAnswerExtras,{answer:{cards:m.answer.cards,links:m.answer.links},pending:busy||!!session.current?.pending,blocked:limited,onChooseQuestion:chooseQuestion,LinkComponent:PersistentStyleLink})]},i)),/*#__PURE__*/_jsxs(\"div\",{role:\"status\",\"aria-live\":\"polite\",children:[busy&&/*#__PURE__*/_jsx(\"p\",{children:\"Working…\"}),error&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"p\",{children:error}),/*#__PURE__*/_jsxs(\"a\",{href:\"mailto:gordongaodesign@gmail.com\",children:[\"Email Gordon\",\" \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})]})]}),session.current?.pending&&!busy&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>send(true),children:\"Check previous request\"}),/*#__PURE__*/_jsx(GordonAnswerExtras,{answer:{suggest},pending:busy||!!session.current?.pending,blocked:limited,onChooseQuestion:chooseQuestion,LinkComponent:PersistentStyleLink})]}),!!attachments.length&&/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-attachment-tray\",\"aria-label\":\"Quoted attachments\",children:[attachments.map(a=>/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-attachment-row\",children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",\"aria-expanded\":inspected===a.id,onClick:()=>setInspected(inspected===a.id?null:a.id),title:\"Inspect or shorten the complete attachment\",children:[a.kind,\": \",a.quote]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Remove \"+a.kind+\" attachment\",disabled:busy||!!session.current?.pending,onClick:()=>setAttachments(items=>items.filter(item=>item.id!==a.id)),children:\"\\xd7\"})]}),inspected===a.id&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"p\",{children:[\"Selected on \",a.source,\".\",\" \",a.kind===\"link\"?\"Only the label and URL are attached. The destination has not been read.\":\"Quoted page content, not instructions.\"]}),/*#__PURE__*/_jsxs(\"label\",{children:[\"Context to send\",/*#__PURE__*/_jsx(\"textarea\",{\"aria-label\":\"Attachment context\",value:a.quote,disabled:busy||!!session.current?.pending,onChange:e=>setAttachments(items=>items.map(item=>item.id===a.id?{...item,quote:e.target.value}:item))})]})]})]},a.id)),/*#__PURE__*/_jsxs(\"p\",{className:invalidHighlight?\"gordon-attachment-error\":\"\",role:invalidHighlight?\"alert\":undefined,children:[[...highlight].length,\"/300 context characters.\",\" \",invalidHighlight?\"Inspect and shorten or remove an attachment before sending. Context must be at most 300 characters with no hidden control characters. Nothing has been cut.\":\"Add your question, then Send.\"]})]}),/*#__PURE__*/_jsx(GordonLimitNotice,{limits:limits}),/*#__PURE__*/_jsxs(\"form\",{className:\"gordon-llm-compose\",onSubmit:e=>{e.preventDefault();void send();},children:[/*#__PURE__*/_jsx(\"textarea\",{\"aria-label\":\"Message “Gordon, More or Less”\",placeholder:ready?\"Ask Gordon…\":\"Start chat to unlock your question\",ref:composer,rows:1,value:draft,disabled:!ready||limited||busy||!!session.current?.pending,onChange:e=>setDraft(e.target.value)}),/*#__PURE__*/_jsxs(\"button\",{type:\"submit\",disabled:GORDON_DEPLOYMENT.sessionVerificationOnly||!ready||limited||busy||!draft.trim()||[...draft].length>400||!!session.current?.pending||invalidHighlight,children:[\"Send \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up\"})]}),!!draft.length&&/*#__PURE__*/_jsxs(\"small\",{children:[[...draft].length,\"/400\"]})]})]});}function PdaActions({mode,setMode,messages,focusRequest,session,sessionVersion,onActionBusy,onSessionChange}){const[email,setEmail]=useState(\"\");const[replyEmail,setReplyEmail]=useState(\"\");const[message,setMessage]=useState(\"\");const[notice,setNotice]=useState(\"\");const[busy,setBusy]=useState(false);const heading=useRef(null);const keys=useRef(null);const lastMode=useRef(null);const lastFocusRequest=useRef(focusRequest);const transcript=()=>[\"“Gordon, More or Less” — CONVERSATION\",\"“Gordon, More or Less”\",\"Exported: \"+new Date().toISOString(),\"\",...messages.length?messages.map(m=>(m.role===\"user\"?\"YOU\":\"“Gordon, More or Less”\")+\"\\n\"+m.content):[\"No conversation yet. The AI chat is coming soon.\"]].join(\"\\n\\n\");const fileName=\"Gordon-More-or-Less-\"+new Date().toISOString().slice(0,10)+\".txt\";const makeFile=()=>new File([transcript()],fileName,{type:\"text/plain;charset=utf-8\"});useEffect(()=>{setNotice(\"\");if(mode)heading.current?.focus({preventScroll:true});else if(lastMode.current&&lastFocusRequest.current===focusRequest)keys.current?.querySelector('[data-pda-tool=\"'+lastMode.current+'\"]')?.focus({preventScroll:true});lastMode.current=mode;lastFocusRequest.current=focusRequest;},[mode,focusRequest]);const download=()=>{const url=URL.createObjectURL(makeFile());const a=document.createElement(\"a\");a.href=url;a.download=fileName;document.body.appendChild(a);a.click();a.remove();window.setTimeout(()=>URL.revokeObjectURL(url),3e4);setNotice(\"TXT download started. Keep this file to attach or save.\");};const[contactConsent,setContactConsent]=useState(false);const[transcriptConsent,setTranscriptConsent]=useState(false);const[submissions,setSubmissions]=useState({contact:{status:\"idle\",message:\"\",email:\"\"},email:{status:\"idle\",message:\"\",email:\"\"}});const submitting=useRef(false);const activeSubmission=submissions[mode===\"contact\"?\"contact\":\"email\"];const submitEmail=async e=>{e.preventDefault();if(submitting.current||busy||mode!==\"contact\"&&mode!==\"email\")return;const currentMode=mode;const consented=currentMode===\"contact\"?contactConsent:transcriptConsent;const update=value=>setSubmissions(prior=>({...prior,[currentMode]:value}));if(!consented){update({status:\"error\",message:\"Please read and explicitly agree to the notice before submitting.\",email:\"\"});return;}if(!gordonApiOriginAllowed(window.location.origin)){update({status:\"error\",message:gordonActionFeedback(\"unavailable\"),email:\"\"});return;}if(!session.current){update({status:\"error\",message:gordonActionFeedback(\"session_required\"),email:\"\"});return;}submitting.current=true;setBusy(true);onActionBusy(true);update({status:\"pending\",message:\"\",email:\"\"});try{const result=await session.current.submitAction(currentMode===\"contact\"?\"contact\":\"send-transcript\",{email:currentMode===\"contact\"?replyEmail:email,...currentMode===\"contact\"?{message}:{},consent:currentMode===\"contact\"?\"contact-v1\":\"transcript-v1\"});update({status:\"accepted\",message:\"\",email:result.email});}catch(error){const uncertain=!!session.current?.actionPending;update({status:uncertain?\"uncertain\":\"error\",message:gordonActionFeedback(error.code),email:\"\"});}finally{submitting.current=false;setBusy(false);onActionBusy(false);onSessionChange();}};const print=()=>{const win=window.open(\"\",\"_blank\");if(!win){setNotice(\"The print window was blocked. Allow pop-ups or download the TXT.\");return;}win.opener=null;const doc=win.document;doc.title=\"“Gordon, More or Less” — conversation\";const meta=doc.createElement(\"meta\");meta.name=\"viewport\";meta.content=\"width=device-width, initial-scale=1\";doc.head.appendChild(meta);const style=doc.createElement(\"style\");style.textContent=\"body{margin:32px;color:#111;background:#fff;font:15px/1.6 monospace}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}button{font:16px Arial;padding:12px 20px;margin-bottom:24px;cursor:pointer}@media print{button{display:none}body{margin:12mm}}\";doc.head.appendChild(style);const button=doc.createElement(\"button\");button.textContent=\"Print conversation\";button.onclick=()=>win.print();doc.body.appendChild(button);const pre=doc.createElement(\"pre\");pre.textContent=transcript();doc.body.appendChild(pre);win.focus();setNotice(\"Print view opened. Choose Print conversation in that window.\");};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`\n.gordon-iphone-home{display:none;}\n.gordon-pda-keys{position:absolute;left:25%;right:25%;top:81.5%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;}\n.gordon-pda-key{border:0;background:transparent;color:#fff!important;min-width:0;padding:0 2px;display:flex;align-items:center;flex-direction:column;text-shadow:0 1px 2px #000;}\n.gordon-pda-key-icon{height:44px;min-width:44px;display:grid;place-items:center;}\n.gordon-pda-key svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #000);}\n.gordon-pda-key-label{display:block;text-align:center!important;font:500 12px/1.25 Arial,sans-serif;white-space:normal;}\n.gordon-pda-key:hover .gordon-pda-key-icon{color:#9ec7ff;}.gordon-pda-key[aria-pressed=true] .gordon-pda-key-icon{color:#9ec7ff;}\n.gordon-pda-action-screen{position:absolute;z-index:3;left:20.2%;top:17.4%;width:59.8%;height:57.2%;background:#fff;display:flex;flex-direction:column;overflow:hidden;}\n.gordon-pda-action-head{flex:none;padding:5px 10px 10px;border-bottom:1px solid #ddd;}\n.gordon-pda-action-head button{border:0;background:none;color:#174e9c;min-height:36px;padding:3px 0;font-size:12px;}\n.gordon-pda-action-head h2{font:600 16px/1.25 Arial,sans-serif;margin:2px 0 0;outline:none;}\n.gordon-pda-action-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1;padding:12px;}\n.gordon-pda-action-body p{font:13px/1.45 Arial,sans-serif!important;text-indent:0!important;margin:0 0 12px!important;color:#535c65;}\n.gordon-pda-action-body label{display:block;font:500 12px/1.35 Arial;margin:12px 0 5px;color:#202326;}\n.gordon-pda-action-body input,.gordon-pda-action-body textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #bac2ca;border-radius:7px;background:#fff;color:#202326;padding:9px;font:16px/1.3 Arial;}\n.gordon-pda-action-body textarea{min-height:104px;resize:vertical;}\n.gordon-pda-action-body .gordon-pda-consent{display:flex;align-items:flex-start;gap:8px;font-weight:400;}\n.gordon-pda-action-body .gordon-pda-consent input{flex:none;width:20px;height:20px;margin:0;padding:0;}\n.gordon-pda-action-body .gordon-pda-consent span{min-width:0;overflow-wrap:anywhere;}\n.gordon-pda-action-body .gordon-pda-mailto{display:inline-block;color:#174e9c;font:12px/1.5 Arial;min-height:36px;padding:8px 0;}\n.gordon-pda-action-body :is(input,textarea,button,a):focus-visible{outline:2px solid #0767ff;outline-offset:2px;}\n.gordon-pda-action-body .gordon-pda-action-button{display:block;width:100%;text-align:center!important;border:1px solid #174e9c;border-radius:8px;background:#174e9c;color:#fff;font:500 13px/1.35 Arial;text-decoration:none;padding:11px 8px;min-height:42px;margin:10px 0;cursor:pointer;}\n.gordon-pda-action-body .gordon-pda-action-secondary{background:#fff;color:#174e9c;border-color:#bcc9d9;}\n.gordon-pda-action-body .gordon-pda-feedback{font-size:12px!important;color:#174e9c;background:#edf4ff;border-radius:6px;padding:10px;}\n.gordon-pda-demo-note{display:block;color:#7b848c;font:10px/1.4 Arial;margin:8px 0;}\n.gordon-pda-attachment{display:flex;gap:9px;align-items:center;border:1px solid #ddd;border-radius:8px;padding:10px;margin-top:14px;font:12px/1.4 Arial;}.gordon-pda-attachment>span:first-child{font-size:25px;color:#577080;}.gordon-pda-attachment small{font-size:10px;color:#68727b;}\n.gordon-pda-success{text-align:left;padding:3px 0;}.gordon-pda-success-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e6f1ec;color:#246448;font-size:23px;}.gordon-pda-success h3{font:600 17px/1.25 Arial;margin:12px 0;}.gordon-pda-success small{display:block;font:10px/1.4 Arial;color:#77818a;margin-bottom:14px;}.gordon-pda-action-body .gordon-pda-confirm-email{font-weight:600!important;color:#202326;overflow-wrap:anywhere;}.gordon-pda-action-button:disabled{opacity:.65;cursor:wait;}\n.gordon-pda-action-body pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.5 monospace;background:#f1f3f5;padding:10px;border-radius:6px;}\n@media(max-width:600px){.gordon-pda-key-icon{height:35px;}.gordon-pda-key-label{font-size:11px;}.gordon-pda-keys{left:24%;right:24%;}.gordon-pda-action-head{padding:3px 10px 8px;}}\n@media(max-height:560px){.gordon-pda{height:calc(100dvh - 40px);}.gordon-pda-screen,.gordon-pda-action-screen{left:12px;right:12px;top:60px;bottom:88px;width:auto;height:auto;border-radius:8px;}.gordon-pda-keys{left:10%;right:10%;top:auto;bottom:9px;}.gordon-pda-key-icon{height:29px;}.gordon-pda-key-label{font-size:11px;}}\n`}),/*#__PURE__*/_jsxs(\"div\",{ref:keys,className:\"gordon-pda-keys\",\"aria-label\":\"Conversation tools\",children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"gordon-pda-key\",\"data-pda-tool\":\"email\",title:\"Email a hosted conversation link\",\"aria-label\":\"Email conversation\",\"aria-pressed\":mode===\"email\",onClick:()=>setMode(mode===\"email\"?null:\"email\"),children:[/*#__PURE__*/_jsx(\"span\",{className:\"gordon-pda-key-icon\",children:/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"5\",width:\"18\",height:\"14\",rx:\"2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m3 6 9 7 9-7\"})]})}),/*#__PURE__*/_jsxs(\"span\",{className:\"gordon-pda-key-label\",children:[\"Email\",/*#__PURE__*/_jsx(\"br\",{}),\"convo\"]})]}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"gordon-pda-key\",\"data-pda-tool\":\"contact\",title:\"Send a message to Gordon\",\"aria-label\":\"Email Gordon\",\"aria-pressed\":mode===\"contact\",onClick:()=>setMode(mode===\"contact\"?null:\"contact\"),children:[/*#__PURE__*/_jsx(\"span\",{className:\"gordon-pda-key-icon\",children:/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"7\",r:\"4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M4 21v-2a8 8 0 0 1 16 0v2M15 14l5-2\"})]})}),/*#__PURE__*/_jsxs(\"span\",{className:\"gordon-pda-key-label\",children:[\"Email\",/*#__PURE__*/_jsx(\"br\",{}),\"Gordon\"]})]}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"gordon-pda-key\",\"data-pda-tool\":\"print\",\"aria-label\":\"Print conversation\",\"aria-pressed\":mode===\"print\",onClick:()=>setMode(mode===\"print\"?null:\"print\"),children:[/*#__PURE__*/_jsx(\"span\",{className:\"gordon-pda-key-icon\",children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M7 8V3h10v5M7 17H3V9h18v8h-4M7 14h10v7H7zM17 11h1\"})})}),/*#__PURE__*/_jsxs(\"span\",{className:\"gordon-pda-key-label\",children:[\"Print\",/*#__PURE__*/_jsx(\"br\",{}),\"convo\"]})]})]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"gordon-iphone-home\",\"data-pda-tool\":\"contact\",title:\"Send a message to Gordon\",\"aria-label\":\"Email Gordon — iPhone Home button\",onClick:()=>setMode(mode===\"contact\"?null:\"contact\"),children:/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\"})}),mode&&/*#__PURE__*/_jsxs(\"section\",{className:\"gordon-pda-action-screen\",\"aria-label\":mode===\"email\"?\"Email conversation form\":mode===\"contact\"?\"Contact Gordon form\":\"Print conversation options\",children:[/*#__PURE__*/_jsxs(\"header\",{className:\"gordon-pda-action-head\",children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",onClick:()=>setMode(null),children:[/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-left\"}),\" Back to chat\"]}),/*#__PURE__*/_jsx(\"h2\",{ref:heading,tabIndex:-1,children:mode===\"email\"?\"Email conversation\":mode===\"contact\"?\"Email Gordon\":\"Print conversation\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-pda-action-body\",children:[mode===\"contact\"||mode===\"email\"?activeSubmission.status===\"accepted\"?/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-pda-success\",role:\"status\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"gordon-pda-success-icon\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(PortfolioIcon,{name:\"check\"})}),/*#__PURE__*/_jsx(\"h3\",{children:\"Accepted for delivery\"}),/*#__PURE__*/_jsx(\"p\",{children:mode===\"contact\"?\"Your message was accepted for delivery to Gordon. Replies can go to:\":\"Your conversation email was accepted for delivery to:\"}),/*#__PURE__*/_jsx(\"p\",{className:\"gordon-pda-confirm-email\",\"data-private\":\"true\",children:activeSubmission.email}),/*#__PURE__*/_jsx(\"p\",{children:\"Provider acceptance does not confirm mailbox receipt.\"}),mode===\"email\"&&/*#__PURE__*/_jsx(\"p\",{children:\"Gordon receives a copy. The email contains a hosted conversation link, valid for 14 days. Anyone with the link can read it until expiry.\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"gordon-pda-action-button\",onClick:()=>setMode(null),children:\"Back to chat\"})]}):/*#__PURE__*/_jsxs(\"form\",{onSubmit:submitEmail,\"aria-busy\":busy,\"data-private\":\"true\",children:[/*#__PURE__*/_jsx(\"p\",{children:mode===\"contact\"?\"Have a role, project or question in mind?\":\"Email a hosted conversation link, valid for 14 days. No TXT attachment is sent. The server requires two accepted answers in the current session.\"}),!session.current?.hasSession()&&/*#__PURE__*/_jsx(\"p\",{children:\"Go back to chat and complete session verification first. Your draft stays here. Nothing submits automatically after verification.\"}),/*#__PURE__*/_jsx(\"label\",{htmlFor:mode===\"contact\"?\"pda-reply-email\":\"pda-recipient-email\",children:mode===\"contact\"?\"Your email\":\"Email address\"}),/*#__PURE__*/_jsx(\"input\",{id:mode===\"contact\"?\"pda-reply-email\":\"pda-recipient-email\",type:\"email\",autoComplete:\"email\",required:true,maxLength:254,value:mode===\"contact\"?replyEmail:email,onChange:e=>{if(mode===\"contact\"){setReplyEmail(e.target.value);setContactConsent(false);}else{setEmail(e.target.value);setTranscriptConsent(false);}},disabled:busy,\"data-private\":\"true\"}),mode===\"contact\"&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:\"pda-contact-message\",children:\"Your message\"}),/*#__PURE__*/_jsx(\"textarea\",{id:\"pda-contact-message\",required:true,maxLength:2e3,value:message,disabled:busy,\"data-private\":\"true\",onChange:e=>{setMessage(e.target.value);setContactConsent(false);}}),/*#__PURE__*/_jsxs(\"small\",{className:\"gordon-pda-demo-note\",children:[[...message].length,\"/2,000 characters\"]})]}),/*#__PURE__*/_jsx(\"p\",{id:\"pda-action-consent-notice\",children:mode===\"contact\"?session.current?.actionNotices?.contact||\"Your email address and message will be shared with Gordon and saved privately for up to 90 days.\":session.current?.actionNotices?.transcript||\"The conversation link lasts 14 days. Anyone with the link can read it. Gordon receives a copy of this email. Only send to an address you own or have permission to use.\"}),/*#__PURE__*/_jsxs(\"label\",{className:\"gordon-pda-consent\",children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",required:true,\"aria-describedby\":\"pda-action-consent-notice\",checked:mode===\"contact\"?contactConsent:transcriptConsent,onChange:e=>mode===\"contact\"?setContactConsent(e.target.checked):setTranscriptConsent(e.target.checked),disabled:busy}),/*#__PURE__*/_jsx(\"span\",{children:mode===\"contact\"?\"I agree to share my email address and message with Gordon under this notice.\":\"I agree to receive this link, with Gordon receiving a copy, and understand that anyone with the link can read the conversation until it expires.\"})]}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",className:\"gordon-pda-action-button\",disabled:busy||!!session.current?.actionPending||activeSubmission.status===\"uncertain\",children:busy?\"Submitting…\":mode===\"contact\"?\"Send to Gordon\":\"Email conversation\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"gordon-pda-action-button gordon-pda-action-secondary\",onClick:()=>setMode(null),children:\"Cancel / Back to chat\"}),busy&&/*#__PURE__*/_jsx(\"p\",{role:\"status\",children:\"The request is pending. Hide or go back to chat without losing its state. Closing this form does not cancel an email already submitted.\"}),activeSubmission.message&&/*#__PURE__*/_jsx(\"p\",{className:\"gordon-pda-feedback\",role:\"status\",children:activeSubmission.message}),!!session.current?.actionPending&&activeSubmission.status!==\"uncertain\"&&!busy&&/*#__PURE__*/_jsx(\"p\",{role:\"status\",children:\"An earlier email request is unconfirmed. Do not resend it. Contact Gordon directly if you need help.\"})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"p\",{children:messages.length?\"Print the complete conversation as plain text, or keep a TXT copy.\":\"No conversation yet. You can preview or save the empty transcript.\"}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"gordon-pda-action-button\",onClick:print,children:[\"Open print view\",\" \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"gordon-pda-action-button gordon-pda-action-secondary\",onClick:download,children:[\"Download TXT\",\" \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-down\"})]}),/*#__PURE__*/_jsx(\"pre\",{\"aria-label\":\"Transcript preview\",children:transcript()})]}),(mode===\"contact\"||mode===\"email\")&&/*#__PURE__*/_jsx(\"a\",{href:\"mailto:gordongaodesign@gmail.com\",className:\"gordon-pda-mailto\",rel:\"noreferrer\",children:\"Email Gordon directly instead\"}),notice&&/*#__PURE__*/_jsx(\"p\",{className:\"gordon-pda-feedback\",role:\"status\",children:notice})]})]})]});}const RETRO_IPHONE_IDLE=\"https://framerusercontent.com/images/2cz7BKOfHXuKn52tTtCKUQDxU.gif?width=384&height=384\";const RETRO_IPHONE_STILL=\"https://framerusercontent.com/images/MSC8bufoIOTqImqfctxzVPErek.png?width=384&height=384\";const MINIMALIST_PDA_STILL=\"https://framerusercontent.com/images/rewFSk8Fe242PTzGAnjH6jbZl8.png?scale-down-to=512&width=1024&height=1024\";function GordonLauncherArt(){const host=useRef(null);const[appearance,setAppearance]=useState({style:\"\",theme:\"light\"});const[hover,setHover]=useState(false);const[reduced,setReduced]=useState(true);const[loaded,setLoaded]=useState(\"\");useEffect(()=>{const motion=matchMedia(\"(prefers-reduced-motion: reduce)\");const read=()=>{const style=document.querySelector(\".retro-portfolio[data-runtime=true]\")?\"retro\":document.documentElement.dataset.gordonStyle===\"animated\"?\"animated\":\"minimalist\";const theme=document.documentElement.dataset.gordonTheme===\"dark\"?\"dark\":\"light\";setAppearance(old=>old.style===style&&old.theme===theme?old:{style,theme});setReduced(motion.matches);};let frame=0;const schedule=()=>{if(!frame)frame=requestAnimationFrame(()=>{frame=0;read();});};const observer=new MutationObserver(schedule);observer.observe(document.documentElement,{attributes:true,attributeFilter:[\"data-gordon-style\",\"data-gordon-theme\"]});observer.observe(document.body,{childList:true,subtree:true});window.addEventListener(\"gordon:style\",schedule);window.addEventListener(\"gordon:route\",schedule);motion.addEventListener(\"change\",read);const button=host.current?.closest(\"button\");const enter=()=>setHover(true),leave=()=>setHover(false);button?.addEventListener(\"mouseenter\",enter);button?.addEventListener(\"mouseleave\",leave);button?.addEventListener(\"focus\",enter);button?.addEventListener(\"blur\",leave);read();return()=>{observer.disconnect();cancelAnimationFrame(frame);motion.removeEventListener(\"change\",read);window.removeEventListener(\"gordon:style\",schedule);window.removeEventListener(\"gordon:route\",schedule);button?.removeEventListener(\"mouseenter\",enter);button?.removeEventListener(\"mouseleave\",leave);button?.removeEventListener(\"focus\",enter);button?.removeEventListener(\"blur\",leave);};},[]);const animated=appearance.style===\"animated\",retro=appearance.style===\"retro\",dark=appearance.theme===\"dark\";const still=animated?`https://framerusercontent.com/images/${dark?\"wTbZY1mpryaC3VR2QWX73lUZk\":\"f0VAgBmv7VdC36rO3V4KYEuH2s\"}.png?width=640&height=800`:retro?RETRO_IPHONE_STILL:MINIMALIST_PDA_STILL;const idle=reduced||animated?still:retro?RETRO_IPHONE_IDLE:\"https://framerusercontent.com/images/CaS7hJfePBBWiZOM35G22shynT0.gif?width=384&height=384\";const moving=animated?`https://framerusercontent.com/images/${dark?\"KOcJhmWxoKriZyZJoPljnrHhbY\":\"CjdxmYsl7HOull3KaK7iFZaE\"}.webp?width=640&height=800`:retro?\"https://framerusercontent.com/images/LPjpQ0TzhqiKPAmMQxZAkbVfg.gif?width=384&height=384\":\"https://framerusercontent.com/images/Dyo8oDwxxMRB9SPOmqmlM8D8CQ.gif?width=384&height=384\";const animate=hover&&!reduced,show=animate&&loaded===moving;return /*#__PURE__*/_jsx(\"span\",{ref:host,\"aria-hidden\":\"true\",className:animated?\"gordon-animated-mini\":retro?\"gordon-retro-iphone\":\"gordon-minimalist-pda\",children:appearance.style&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"picture\",{className:animated?\"mini-idle\":\"gordon-minimalist-pda-idle\",style:{visibility:show?\"hidden\":\"visible\"},children:/*#__PURE__*/_jsx(\"img\",{src:idle,alt:\"\",width:animated?640:384,height:animated?800:384,draggable:false})}),animate&&/*#__PURE__*/_jsx(\"picture\",{className:animated?\"mini-hover\":\"gordon-minimalist-pda-hover\",style:{visibility:show?\"visible\":\"hidden\"},children:/*#__PURE__*/_jsx(\"img\",{src:moving,alt:\"\",width:animated?640:384,height:animated?800:384,onLoad:()=>setLoaded(moving),draggable:false})})]})});}function HeroDouble({messages=[]}){const[path,setPath]=useState(gordonPage);const[attachments,setAttachments]=useState([]);const[focusRequest,setFocusRequest]=useState(0);const fromAsk=useRef(false);useEffect(()=>{const route=e=>setPath(e.detail);const ask=e=>{const check=new CustomEvent(\"gordon:attachment-check\",{cancelable:true});if(!window.dispatchEvent(check)){setOpen(true);return;}fromAsk.current=true;setAttachments(items=>[...items,{id:e.detail.id,kind:e.detail.kind,source:e.detail.source,quote:e.detail.quote}]);setToolMode(null);setOpen(true);setFocusRequest(n=>n+1);};window.addEventListener(\"gordon:route\",route);window.addEventListener(\"gordon:ask\",ask);return()=>{window.removeEventListener(\"gordon:route\",route);window.removeEventListener(\"gordon:ask\",ask);};},[]);const[chatMessages,setChatMessages]=useState(messages);const session=useRef(null);const[sessionVersion,setSessionVersion]=useState(0);const[actionBusy,setActionBusy]=useState(false);const onSessionChange=()=>setSessionVersion(value=>value+1);const[toolMode,setToolMode]=useState(null);const[open,setOpen]=useState(false);const trigger=useRef(null);const closeButton=useRef(null);const panel=useRef(null);const wasOpen=useRef(false);useEffect(()=>{const show=e=>{e.preventDefault();e.stopPropagation();setOpen(true);};const hide=e=>{e.preventDefault();e.stopPropagation();setOpen(false);};const stop=e=>e.stopPropagation();const a=trigger.current,b=closeButton.current,p=panel.current;a?.addEventListener(\"click\",show,true);b?.addEventListener(\"click\",hide,true);for(const el of[a,p]){el?.addEventListener(\"pointerdown\",stop);el?.addEventListener(\"pointerup\",stop);}return()=>{a?.removeEventListener(\"click\",show,true);b?.removeEventListener(\"click\",hide,true);for(const el of[a,p]){el?.removeEventListener(\"pointerdown\",stop);el?.removeEventListener(\"pointerup\",stop);}};},[]);useEffect(()=>{const cancelOpenFocus=open&&!fromAsk.current?focusVisiblePdaControl(closeButton.current):()=>{};if(!open&&wasOpen.current)trigger.current?.focus({preventScroll:true});wasOpen.current=open;fromAsk.current=false;const key=e=>{if(open&&e.key===\"Escape\"){e.preventDefault();e.stopPropagation();setOpen(false);}};document.addEventListener(\"keydown\",key,true);return()=>{cancelOpenFocus();document.removeEventListener(\"keydown\",key,true);};},[open]);return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-playground\"+(open?\" is-open\":\"\"),style:{display:GORDON_PAGES[path]?undefined:\"none\"},\"data-current-page\":path,children:[/*#__PURE__*/_jsx(\"style\",{children:`\n.gordon-playground{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:1000;font:400 14px/1.45 Arial,sans-serif;color:#202326;pointer-events:none;isolation:isolate;}\n.gordon-playground *{box-sizing:border-box;text-align:left;hyphens:none;word-break:normal;}\n.gordon-playground button{font:inherit;cursor:pointer;touch-action:manipulation;}\n.gordon-playground-launch{display:block;width:184px;height:123px;border:0;padding:0;background:transparent;pointer-events:auto;transition:transform .2s;filter:drop-shadow(0 4px 4px #0002);}\n.gordon-playground-launch svg{width:100%;height:100%;display:block;}\n.gordon-playground-launch:hover{transform:translateY(-4px) rotate(-3deg);}\n.gordon-playground button:focus-visible{outline:3px solid #0767ff;outline-offset:4px;}\n.gordon-playground-tip{position:absolute;bottom:132px;right:0;width:252px;padding:15px 17px;background:#fff;border:1px solid #ddd;border-radius:12px;box-shadow:0 8px 30px #0001;opacity:0;visibility:hidden;transition:opacity .15s;font-size:13px;}\n.gordon-playground-launch:hover+.gordon-playground-tip,.gordon-playground-launch:focus-visible+.gordon-playground-tip{opacity:1;visibility:visible;}\n.gordon-playground.is-open .gordon-playground-launch,.gordon-playground.is-open .gordon-playground-tip{visibility:hidden;pointer-events:none;}\n.gordon-pda{position:absolute;right:0;bottom:0;width:min(460px,calc(100vw - 24px),calc((100dvh - 24px) * .66667));aspect-ratio:2/3;pointer-events:none;visibility:hidden;opacity:0;transform:translateX(calc(100% + 40px));transform-origin:bottom right;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .2s,visibility .35s;filter:drop-shadow(0 12px 20px #0003);}\n.gordon-playground.is-open .gordon-pda{visibility:visible;opacity:1;transform:none;pointer-events:auto;}\n.gordon-pda-shell{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}\n.gordon-pda-hide{position:absolute;right:14%;top:5.5%;display:flex;align-items:center;justify-content:center;gap:7px;min-width:80px;min-height:44px;border:1px solid #6d7477;border-radius:24px;color:#fff;background:#1e2427;z-index:2;font-size:13px!important;box-shadow:0 2px 4px #0005;}\n.gordon-pda-hide span{font-size:21px;line-height:1;}\n.gordon-pda-brand{position:absolute;left:15%;top:6.5%;font:500 10px/1.3 monospace;letter-spacing:.1em;color:#d4d8da;text-transform:uppercase;}\n.gordon-pda-screen{position:absolute;left:20.2%;top:17.4%;width:59.8%;height:57.2%;display:flex;flex-direction:column;background:#fff;border-radius:1px;overflow:hidden;}\n.gordon-pda-header{padding:13px 14px 11px;border-bottom:1px solid #dce0e3;flex:none;}\n.gordon-pda-status{font:10px/1.3 monospace;letter-spacing:.06em;color:#777;display:flex;justify-content:space-between;margin-bottom:11px;}\n.gordon-pda-title{display:flex;align-items:center;gap:9px;}\n.gordon-pda-avatar{width:29px;height:29px;flex:none;background:#0959e9;color:#fff;border-radius:9px;display:grid;place-items:center;font:bold 18px/1 Arial;}\n.gordon-pda-title strong{display:block;font-size:14px;letter-spacing:-.02em;}.gordon-pda-title small{font-size:10px;color:#6b7176;}\n.gordon-pda-messages{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:17px 13px;}\n.gordon-pda-messages .gordon-pda-label{font:10px/1.3 monospace;color:#7b8186;letter-spacing:.08em;margin:0 0 12px;text-align:center;}\n.gordon-pda-message{padding:12px;background:#f0f2f4;border-radius:13px 13px 13px 3px;}\n.gordon-pda-message strong{display:block;font-size:14px;margin-bottom:6px;}\n.gordon-pda-message p{font:400 13px/1.5 Arial,sans-serif!important;text-indent:0!important;margin:0!important;color:#555d63;}\n.gordon-pda-note{font:10px/1.5 monospace;color:#858b8f;margin:12px 2px 0;}\n.gordon-pda-compose{flex:none;display:flex;align-items:center;gap:5px;border-top:1px solid #e6e8ea;padding:10px;background:#fff;}\n.gordon-pda-compose input{min-width:0;width:100%;height:34px;border:1px solid #e1e4e7;border-radius:18px;background:#f7f8f9;padding:0 10px;font:11px Arial;color:#687078;opacity:1;}\n.gordon-pda-compose button{width:30px;height:30px;flex:none;border:0;border-radius:50%;background:#e1e6ed;color:#8b959f;font-size:19px;cursor:default;}\n.gordon-pda-hardware-label{position:absolute;left:25%;right:25%;bottom:5.2%;text-align:center;color:#c1c7ca;font:10px monospace;letter-spacing:.13em;}\n@media(max-width:600px){.gordon-playground{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));}.gordon-playground-launch{width:150px;height:100px;}.gordon-playground-tip{bottom:111px;max-width:calc(100vw - 32px);}.gordon-pda-header{padding:10px;}.gordon-pda-messages{padding:12px 10px;}.gordon-pda-brand{font-size:8px;}.gordon-pda-hide{top:5%;right:13%;min-width:76px;}}\n@media(max-height:560px){.gordon-pda{width:min(390px,calc(100vw - 24px));height:calc(100dvh - 20px);aspect-ratio:auto;border-radius:25px;background:#2b3135;border:6px solid #40474b;}.gordon-pda-shell,.gordon-pda-hardware-label{display:none;}.gordon-pda-screen{left:12px;right:12px;top:60px;bottom:14px;width:auto;height:auto;border-radius:8px;}.gordon-pda-hide{top:5px;right:12px;}.gordon-pda-brand{top:18px;left:15px;font-size:10px;}}\n/* Mobile width accounts for the transparent border around the original PDA artwork. */\n@media(max-width:600px){\n.gordon-playground{inset:0;width:auto;height:auto;overflow:hidden;}\n.gordon-playground-launch{position:absolute;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));}\n.gordon-playground-tip{right:10px;bottom:120px;}\n.gordon-pda{--pda-height:min(177.15vw,calc((100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * 1.057));left:50%;right:auto;bottom:calc(10px + env(safe-area-inset-bottom) - var(--pda-height) * .043);width:118.1%;height:var(--pda-height);aspect-ratio:auto;transform:translateX(60vw);transform-origin:center bottom;}\n.gordon-playground.is-open .gordon-pda{transform:translateX(-50%);}\n.gordon-pda-shell{overflow:visible;}\n}\n@media(max-width:600px) and (max-height:560px){\n.gordon-pda{width:98%;height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));bottom:calc(10px + env(safe-area-inset-bottom));}\n}\n@media(prefers-reduced-motion:reduce){.gordon-pda,.gordon-playground-launch,.gordon-playground-tip{transition:none;}}\n/* Minimalist PDA launcher — latest idle / vibration asset set. */\n:is(.gordon-minimalist-pda,.gordon-retro-iphone){display:block;width:100%;height:100%;position:relative;pointer-events:none;}\n:is(.gordon-minimalist-pda,.gordon-retro-iphone) picture{position:absolute;inset:0;display:block;}\n:is(.gordon-minimalist-pda,.gordon-retro-iphone) img{display:block;width:100%;height:100%;object-fit:contain;}\n.gordon-minimalist-pda-hover{visibility:hidden;}\nhtml:not(:has(.retro-portfolio[data-runtime=true])) .gordon-playground-launch{width:128px;height:128px;filter:drop-shadow(0 3px 4px #0002);transform:none;}\nhtml:not(:has(.retro-portfolio[data-runtime=true])) .gordon-playground-tip{bottom:140px;}\n.gordon-playground-launch:focus-visible .gordon-minimalist-pda-idle{visibility:hidden;}\n.gordon-playground-launch:focus-visible .gordon-minimalist-pda-hover{visibility:inherit;}\n@media(hover:hover) and (pointer:fine){\n.gordon-playground-launch:hover .gordon-minimalist-pda-idle{visibility:hidden;}\n.gordon-playground-launch:hover .gordon-minimalist-pda-hover{visibility:inherit;}\n}\n.gordon-retro-iphone{display:none;}\nhtml:has(.retro-portfolio[data-runtime=true]) .gordon-minimalist-pda{display:none;}\nhtml:has(.retro-portfolio[data-runtime=true]) .gordon-retro-iphone{display:block;}\n@media(max-width:600px){\nhtml:not(:has(.retro-portfolio[data-runtime=true])) .gordon-playground-launch{width:104px;height:104px;}\nhtml:not(:has(.retro-portfolio[data-runtime=true])) .gordon-playground-tip{bottom:126px;}\n}\n\n\n/* Animated style: 2050 PDA artwork, with one shared live chat and tool controls. */\nhtml[data-gordon-style=\"animated\"] .gordon-pda{width:min(460px,calc(100vw - 24px),calc((100dvh - 40px) * .59938));height:auto;aspect-ratio:971 / 1620;background:transparent;border:0;border-radius:0;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda:before{content:\"\";position:absolute;inset:0;background:url(\"https://framerusercontent.com/images/RBLRvKMj2kceZfQhXIJZ0YFAM.png?width=971&height=1620\") center / 100% 100% no-repeat;pointer-events:none;}\nhtml[data-gordon-style=\"animated\"][data-gordon-theme=\"dark\"] .gordon-pda:before{background-image:url(\"https://framerusercontent.com/images/Vl0ogsNrz4V1VDP79c0y2N25U.png?width=971&height=1619\");}\nhtml[data-gordon-style=\"animated\"] :is(.gordon-pda-shell,.gordon-pda-brand,.gordon-pda-hardware-label){display:none;}\nhtml[data-gordon-style=\"animated\"] :is(.gordon-pda-screen,.gordon-pda-action-screen){left:14.45%;right:auto;top:12.65%;bottom:auto;width:74.5%;height:67.35%;border-radius:4.5% / 3%;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-hide{top:4.8%;right:13.5%;min-width:64px;min-height:36px;padding:4px 10px;font-size:12px!important;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-keys{inset:0;width:100%;height:100%;display:block;background:none;border:0;pointer-events:none;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-key{position:absolute;min-width:44px;min-height:44px;padding:0;background:transparent;border:0;text-shadow:none;pointer-events:auto;border-radius:20%;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-key[data-pda-tool=\"email\"]{left:29.7%;top:83.2%;width:14.8%;height:9.2%;border-radius:50%;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-key[data-pda-tool=\"contact\"]{left:51.3%;top:84%;width:10.6%;height:6.5%;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-key[data-pda-tool=\"print\"]{left:68.3%;top:84.1%;width:17.3%;height:6.1%;border-radius:40%;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-key>span{visibility:hidden;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-key:disabled{cursor:not-allowed;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-key:not(:disabled):hover{background:#ffffff16;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-key:focus-visible{outline:3px solid #e85d04;outline-offset:3px;}\n@media(max-width:600px){\nhtml[data-gordon-style=\"animated\"] .gordon-pda{width:min(98vw,calc((100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * .59938));height:auto;aspect-ratio:971 / 1620;left:50%;right:auto;bottom:calc(12px + env(safe-area-inset-bottom));}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-hide{min-height:36px;}\n}\n/* Short viewports retain the existing compact, scrollable chat fallback. */\n@media(max-height:560px){\nhtml[data-gordon-style=\"animated\"] .gordon-pda{width:min(390px,98vw);height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));aspect-ratio:auto;background:#e8e2d8;border:2px solid #827e76;border-radius:24px;}\nhtml[data-gordon-style=\"animated\"][data-gordon-theme=\"dark\"] .gordon-pda{background:#303234;border-color:#707377;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda:before{display:none;}\nhtml[data-gordon-style=\"animated\"] :is(.gordon-pda-screen,.gordon-pda-action-screen){left:10px;right:10px;top:48px;bottom:64px;width:auto;height:auto;border-radius:8px;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-hide{top:5px;right:10px;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-keys{inset:auto 10px 8px;display:grid;grid-template-columns:repeat(3,1fr);width:auto;height:48px;gap:4px;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-key[data-pda-tool]{position:static;width:100%;height:48px;min-height:44px;border-radius:8px;background:#252729;color:#fff!important;justify-content:center;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-key>.gordon-pda-key-icon{display:none;}\nhtml[data-gordon-style=\"animated\"] .gordon-pda-key>.gordon-pda-key-label{visibility:visible;font-size:10px;}\n}\n\n\n/* Minimalist printed-button skin. Keep the existing screen, chat and compact fallback. */\n@media(min-height:561px){\nhtml:not([data-gordon-style=animated]):not(:has(.retro-portfolio[data-runtime=true])) .gordon-pda-keys{inset:0;display:block;pointer-events:none;}\nhtml:not([data-gordon-style=animated]):not(:has(.retro-portfolio[data-runtime=true])) .gordon-pda-key{position:absolute;top:80.6%;height:7%;min-width:44px;min-height:44px;pointer-events:auto;padding:0;border-radius:50%;}\nhtml:not([data-gordon-style=animated]):not(:has(.retro-portfolio[data-runtime=true])) .gordon-pda-key[data-pda-tool=email]{left:27.3%;width:10.5%;}\nhtml:not([data-gordon-style=animated]):not(:has(.retro-portfolio[data-runtime=true])) .gordon-pda-key[data-pda-tool=contact]{left:42%;width:16%;border-radius:30%;}\nhtml:not([data-gordon-style=animated]):not(:has(.retro-portfolio[data-runtime=true])) .gordon-pda-key[data-pda-tool=print]{left:62.2%;width:10.6%;}\nhtml:not([data-gordon-style=animated]):not(:has(.retro-portfolio[data-runtime=true])) .gordon-pda-key>span{visibility:hidden;}\n}\n/* Animated mini launcher: matching theme, hover/focus vibration, static reduced motion. */\n.gordon-animated-mini{display:none;position:relative;width:100%;height:100%;pointer-events:none;}\n.gordon-animated-mini picture{position:absolute;inset:0;display:block;}\n.gordon-animated-mini img{display:block;width:100%;height:100%;object-fit:contain;}\n.gordon-animated-mini .mini-hover{visibility:hidden;}\nhtml[data-gordon-style=animated] .gordon-animated-mini{display:block;}\nhtml[data-gordon-style=animated] .gordon-minimalist-pda{display:none;}\nhtml[data-gordon-style=animated] .gordon-playground-launch{width:112px!important;height:140px!important;}\nhtml[data-gordon-theme=dark] .gordon-animated-mini .mini-light,html:not([data-gordon-theme=dark]) .gordon-animated-mini .mini-dark{display:none;}\n.gordon-playground-launch:focus-visible .gordon-animated-mini .mini-idle{visibility:hidden;}\n.gordon-playground-launch:focus-visible .gordon-animated-mini .mini-hover{visibility:inherit;}\n@media(hover:hover) and (pointer:fine){.gordon-playground-launch:hover .gordon-animated-mini .mini-idle{visibility:hidden;}.gordon-playground-launch:hover .gordon-animated-mini .mini-hover{visibility:inherit;}}\n@media(max-width:600px){html[data-gordon-style=animated] .gordon-playground-launch{width:80px!important;height:100px!important;}}\n\n`}),/*#__PURE__*/_jsx(\"button\",{ref:trigger,type:\"button\",className:\"gordon-playground-launch\",\"aria-label\":\"Open “Gordon, More or Less”\",\"aria-expanded\":open,\"aria-controls\":\"gordon-pda-chat\",\"aria-describedby\":\"gordon-playground-tip\",tabIndex:open?-1:0,children:/*#__PURE__*/_jsx(GordonLauncherArt,{})}),/*#__PURE__*/_jsx(\"div\",{id:\"gordon-playground-tip\",className:\"gordon-playground-tip\",role:\"tooltip\",children:\"Explore my work, process and experience with Gordon, More or Less.\"}),/*#__PURE__*/_jsxs(\"section\",{ref:node=>{panel.current=node;node?.toggleAttribute(\"inert\",!open);},id:\"gordon-pda-chat\",className:\"gordon-pda\",role:\"dialog\",\"aria-label\":\"“Gordon, More or Less”\",\"aria-hidden\":!open,children:[/*#__PURE__*/_jsxs(\"svg\",{className:\"gordon-pda-shell\",preserveAspectRatio:\"none\",viewBox:\"0 0 1024 1536\",width:\"1024\",height:\"1536\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(\"clipPath\",{id:\"gordon-pda-cut\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M144 28 L874 28 Q912 28 919 67 Q941 180 919 248 L918 1179 Q939 1280 936 1350 Q934 1465 824 1470 Q510 1484 194 1470 Q87 1462 87 1330 Q86 1262 103 1184 L109 245 Q80 195 104 65 Q114 28 144 28 Z\"})})}),/*#__PURE__*/_jsx(\"image\",{href:\"https://framerusercontent.com/images/7Z2ciPBshAphVHfGSjYvMqzOTb4.png?width=1024&height=1536\",width:\"1024\",height:\"1536\",clipPath:\"url(#gordon-pda-cut)\"})]}),/*#__PURE__*/_jsxs(\"span\",{className:\"gordon-pda-brand\",children:[\"Gordon,\",/*#__PURE__*/_jsx(\"br\",{}),\"More or Less\"]}),/*#__PURE__*/_jsxs(\"button\",{ref:closeButton,type:\"button\",className:\"gordon-pda-hide\",\"aria-label\":\"Hide PDA\",children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",children:\"−\"}),\" Hide\"]}),/*#__PURE__*/_jsx(\"div\",{className:\"gordon-pda-screen\",\"aria-hidden\":!!toolMode,ref:node=>{node?.toggleAttribute(\"inert\",!!toolMode);},children:showGordonScreen()?/*#__PURE__*/_jsx(GordonChatScreen,{open:open,messages:chatMessages,onMessages:setChatMessages,attachments:attachments,setAttachments:setAttachments,focusRequest:focusRequest,path:path,session:session,sessionVersion:sessionVersion,actionBusy:actionBusy,onSessionChange:onSessionChange}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"header\",{className:\"gordon-pda-header\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-pda-status\",children:[/*#__PURE__*/_jsx(\"span\",{children:\"GORDON, MORE OR LESS\"}),/*#__PURE__*/_jsxs(\"span\",{children:[/*#__PURE__*/_jsx(PortfolioIcon,{name:\"circle\"}),\" PREVIEW\"]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-pda-title\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"gordon-pda-avatar\",\"aria-hidden\":\"true\",children:\"g.\"}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"strong\",{children:\"“Gordon, More or Less”\"}),/*#__PURE__*/_jsx(\"small\",{children:\"Chat \\xb7 coming soon\"})]})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-pda-messages\",children:[/*#__PURE__*/_jsx(\"p\",{className:\"gordon-pda-label\",children:\"A LITTLE SPACE TO EXPLORE\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-pda-message\",children:[/*#__PURE__*/_jsx(\"strong\",{children:\"Under construction.\"}),/*#__PURE__*/_jsx(\"p\",{children:\"A place to ask about my work, process and experience. Conversations are coming soon.\"})]}),/*#__PURE__*/_jsxs(\"p\",{className:\"gordon-pda-note\",children:[\"The interface is ready to play.\",/*#__PURE__*/_jsx(\"br\",{}),\"The AI is still in the workshop.\"]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-pda-compose\",children:[/*#__PURE__*/_jsx(\"input\",{\"aria-label\":\"Chat message — coming soon\",placeholder:\"Chat coming soon…\",disabled:true}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Send message — coming soon\",disabled:true,children:/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up\"})})]})]})}),/*#__PURE__*/_jsx(PdaActions,{focusRequest:focusRequest,mode:toolMode,setMode:setToolMode,messages:showGordonScreen()?chatMessages:messages,session:session,sessionVersion:sessionVersion,onActionBusy:setActionBusy,onSessionChange:onSessionChange})]})]}),document.body);}function HomepageCardSummaries(){const[cards,setCards]=useState([]);useEffect(()=>{let frame=0;const tracked=new Map;const originalOrders=new Map;const projectOrder=Object.values(homepageProjectCopy).map(p=>p.href);const normalizeOrder=()=>{document.querySelectorAll('[data-framer-name=\"Selected Work\"]').forEach(grid=>{const children=Array.from(grid.children);const ranked=children.map(node=>{const href=node.querySelector('a[data-framer-name=\"Content\"]')?.getAttribute(\"href\");return{node,index:projectOrder.indexOf((href||\"\").replace(/^\\./,\"\").split(/[?#]/)[0])};});// Only the complete, known homepage collection; leave other grids alone.\nif(ranked.length!==projectOrder.length||ranked.some(item=>item.index<0)||new Set(ranked.map(item=>item.index)).size!==projectOrder.length)return;const ordered=[...ranked].sort((a,b)=>a.index-b.index).map(item=>item.node);if(ordered.every((node,index)=>node===children[index]))return;if(!originalOrders.has(grid))originalOrders.set(grid,children);ordered.forEach(node=>grid.appendChild(node));});};const update=()=>{frame=0;normalizeOrder();for(const[anchor,entry]of tracked){if(!anchor.isConnected){entry.host.remove();tracked.delete(anchor);}}document.querySelectorAll('[data-framer-name=\"Selected Work\"] a[data-framer-name=\"Content\"]').forEach(anchor=>{if(tracked.has(anchor))return;const href=(anchor.getAttribute(\"href\")||\"\").replace(/^\\./,\"\").split(/[?#]/)[0];const item=Object.values(homepageProjectCopy).find(p=>p.href===href);if(!item)return;const info=anchor.querySelector('[data-framer-name=\"Info || Desktop\"]');const label=info?.querySelector('[data-framer-name=\"Label\"] p')?.textContent?.trim();// A newer editor-written label takes precedence over this handoff.\nif(!label||![item.previousLabel,item.label].some(v=>v.toLowerCase()===label.toLowerCase()))return;const title=info?.querySelector('[data-framer-name=\"Left\"] p')?.textContent?.trim()||item.name;const host=document.createElement(\"div\");host.className=\"gordon-home-caption-host\";anchor.classList.add(\"gordon-home-card-expanded\");anchor.appendChild(host);tracked.set(anchor,{host,title,item});});setCards(prev=>{const next=[...tracked.values()];return prev.length===next.length&&prev.every((v,i)=>v===next[i])?prev:next;});};const schedule=()=>{if(!frame)frame=requestAnimationFrame(update);};update();const observer=new MutationObserver(schedule);observer.observe(document.body,{childList:true,subtree:true});return()=>{observer.disconnect();cancelAnimationFrame(frame);for(const[anchor,entry]of tracked){anchor.classList.remove(\"gordon-home-card-expanded\");entry.host.remove();}for(const[grid,children]of originalOrders){if(grid.isConnected&&children.every(node=>node.parentElement===grid))children.forEach(node=>grid.appendChild(node));}};},[]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n[data-framer-name=\"Selected Work\"]>[data-framer-name^=\"Home Card\"]:has(.gordon-home-card-expanded){height:auto!important;aspect-ratio:auto!important;}\n/* Mobile follows the normalized DOM order, overriding old Framer breakpoint ranks. */\n@media(max-width:809px){[data-framer-name=\"Selected Work\"]>[data-framer-name^=\"Home Card\"]:has(.gordon-home-card-expanded){order:0!important;}}\n[data-framer-name=\"Selected Work\"] a.gordon-home-card-expanded{display:flex!important;flex-direction:column!important;height:auto!important;aspect-ratio:auto!important;gap:0!important;background:var(--gordon-page,#fff)!important;color:var(--gordon-text,#171717)!important;}\n[data-framer-name=\"Selected Work\"] a.gordon-home-card-expanded>[data-framer-name=\"Image\"]{position:relative!important;inset:auto!important;height:auto!important;aspect-ratio:1!important;flex:none!important;}\n[data-framer-name=\"Selected Work\"] a.gordon-home-card-expanded>[data-framer-name=\"Info || Desktop\"]{display:none!important;}\n.gordon-home-caption-host{position:relative;width:100%;height:auto;flex:none;}\n.gordon-home-caption{padding:20px 2px 24px;box-sizing:border-box;color:var(--gordon-text,#171717);text-align:left;}\n.gordon-home-caption h2{font:600 20px/1.25 \"Switzer\",Arial,sans-serif!important;margin:0 0 8px!important;letter-spacing:0!important;text-transform:none!important;color:inherit!important;}\n.gordon-home-caption p{font:400 16px/1.5 \"Switzer\",Arial,sans-serif!important;margin:0 0 12px!important;letter-spacing:0!important;text-indent:0!important;text-transform:none!important;color:inherit!important;text-wrap:pretty;max-width:65ch;}\n.gordon-home-caption .gordon-home-discipline{font-size:13px!important;font-weight:600!important;margin-bottom:8px!important;}\n.gordon-home-caption .gordon-home-action{display:inline-flex;align-items:center;gap:8px;font:500 14px/1.4 \"Switzer\",Arial,sans-serif;}\n        `}}),cards.map(({host,title,item})=>/*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-home-caption\",children:[/*#__PURE__*/_jsx(\"h2\",{children:title}),/*#__PURE__*/_jsx(\"p\",{className:\"gordon-home-discipline\",children:item.label}),/*#__PURE__*/_jsx(\"p\",{children:item.summary}),/*#__PURE__*/_jsxs(\"span\",{className:\"gordon-home-action\",children:[\"View project \",/*#__PURE__*/_jsx(PortfolioIcon,{})]})]}),host,item.href))]});}// Only the two known native-footer ornaments; never inspect or rewrite chat text.\nfunction NativeFooterIcons(){useEffect(()=>{const update=()=>document.querySelectorAll(\"footer a p\").forEach(p=>{if(p.textContent?.trim()!==\"↳\")return;const a=p.closest(\"a\");if(!a||!/Work|Email Gordon/.test(a.textContent||\"\"))return;const svg=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");svg.setAttribute(\"viewBox\",\"0 0 24 24\");svg.setAttribute(\"width\",\"1em\");svg.setAttribute(\"height\",\"1em\");svg.setAttribute(\"aria-hidden\",\"true\");svg.setAttribute(\"fill\",\"none\");svg.setAttribute(\"stroke\",\"currentColor\");svg.setAttribute(\"stroke-width\",\"1.65\");const path=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\");path.setAttribute(\"d\",\"M5 4v9h14m-6-6 6 6-6 6\");svg.appendChild(path);p.textContent=\"\";p.appendChild(svg);});update();const observer=new MutationObserver(update);observer.observe(document.body,{childList:true,subtree:true});return()=>observer.disconnect();},[]);return null;}function PortfolioEnhancements(){const[heroHost,setHeroHost]=useState(null);useEffect(()=>{let frame=0;const update=()=>{frame=0;const hero=document.querySelector('[data-framer-name=\"Homepage Hero\"]');setHeroHost(prev=>prev===hero?prev:hero);document.querySelectorAll(\"img\").forEach(img=>{if(img.hasAttribute(\"width\")&&img.hasAttribute(\"height\"))return;let url=null;try{url=new URL(img.currentSrc||img.src);}catch{}const w=Number(img.getAttribute(\"pixelwidth\")||url?.searchParams.get(\"width\")||img.naturalWidth);const h=Number(img.getAttribute(\"pixelheight\")||url?.searchParams.get(\"height\")||img.naturalHeight);if(w>0&&h>0){img.setAttribute(\"width\",String(w));img.setAttribute(\"height\",String(h));}});};const schedule=()=>{if(!frame)frame=requestAnimationFrame(update);};update();const observer=new MutationObserver(schedule);observer.observe(document.body,{childList:true,subtree:true});document.addEventListener(\"load\",schedule,true);window.addEventListener(\"resize\",schedule);return()=>{observer.disconnect();document.removeEventListener(\"load\",schedule,true);window.removeEventListener(\"resize\",schedule);cancelAnimationFrame(frame);};},[]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:siteCss+revisionCss}}),/*#__PURE__*/_jsx(HomepageCardSummaries,{}),/*#__PURE__*/_jsx(EnsureGordonPDA,{})]});}/** @framerSupportedLayoutWidth any @framerSupportedLayoutHeight auto */export function AboutPage({embedded=false}={}){return /*#__PURE__*/_jsxs(\"div\",{className:\"gordon-about\",children:[!embedded&&/*#__PURE__*/_jsx(PortfolioEnhancements,{}),/*#__PURE__*/_jsxs(\"header\",{className:\"gordon-about-header\",children:[/*#__PURE__*/_jsx(\"a\",{href:\"/\",children:\"Gordon Gao\"}),/*#__PURE__*/_jsx(PortfolioMenu,{}),/*#__PURE__*/_jsxs(\"a\",{href:\"mailto:Gordongaodesign@gmail.com\",children:[\"Email \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})]}),/*#__PURE__*/_jsx(\"h1\",{children:\"I'm Gordon. I design brands, products, and digital experiences — and the space between them.\"}),/*#__PURE__*/_jsx(\"p\",{children:\"I’m Gordon Gao, a senior designer working across brand, web, motion, and packaging. Pratt-trained in industrial design, I think in systems and ship in fast cycles.\"}),/*#__PURE__*/_jsx(\"p\",{children:\"Over the past few years I’ve supported 16+ brands across wellness, consumer, media, and finance. My work has included campaign systems, packaging, web, product photography, and rollout assets tied to real business outcomes.\"}),/*#__PURE__*/_jsx(\"p\",{children:\"I’m usually brought in when the brief is messy and the work needs to get clear fast — across packaging, digital, and launch materials that still need to hold together.\"}),/*#__PURE__*/_jsx(\"p\",{children:\"Based in Vancouver. Open to remote, hybrid, and on-site roles.\"}),/*#__PURE__*/_jsx(\"p\",{children:/*#__PURE__*/_jsxs(\"a\",{href:\"mailto:Gordongaodesign@gmail.com\",children:[\"Gordongaodesign@gmail.com\",\" \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})}),/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-about-gallery\",\"aria-label\":\"Personal projects and photography\",children:[/*#__PURE__*/_jsx(\"img\",{src:\"https://framerusercontent.com/images/OhElpBh6gBIot3f3GO3q2qsawOo.jpg\",width:5184,height:3456,loading:\"lazy\",decoding:\"async\",alt:\"Gordon’s personal work and photography — image 1\"}),/*#__PURE__*/_jsx(\"img\",{src:\"https://framerusercontent.com/images/RbozZY6zvpwEgzWVsS2z3wARFhE.jpg\",width:2592,height:1728,loading:\"lazy\",decoding:\"async\",alt:\"Gordon’s personal work and photography — image 2\"}),/*#__PURE__*/_jsx(\"img\",{src:\"https://framerusercontent.com/images/OweqSszNK221u0ETPWfZqeX0K7s.jpg\",width:640,height:640,loading:\"lazy\",decoding:\"async\",alt:\"Gordon’s personal work and photography — image 3\"}),/*#__PURE__*/_jsx(\"img\",{src:\"https://framerusercontent.com/images/gdMkLenRnngLoz1YiDhiMQ3I58.jpg\",width:3264,height:2448,loading:\"lazy\",decoding:\"async\",alt:\"Gordon’s personal work and photography — image 4\"}),/*#__PURE__*/_jsx(\"img\",{src:\"https://framerusercontent.com/images/wEYCtfBkTq3s8DOpSmJgYwaD4.gif\",width:960,height:540,loading:\"lazy\",decoding:\"async\",alt:\"Gordon’s personal work and photography — image 5\"}),/*#__PURE__*/_jsx(\"img\",{src:\"https://framerusercontent.com/images/JKVH47iiySn796mQJDLZV2k8A.jpg\",width:2448,height:1835,loading:\"lazy\",decoding:\"async\",alt:\"Gordon’s personal work and photography — image 6\"}),/*#__PURE__*/_jsx(\"img\",{src:\"https://framerusercontent.com/images/GReLvhaKh95ETcigPZSQIZPl2k.gif\",width:600,height:338,loading:\"lazy\",decoding:\"async\",alt:\"Gordon’s personal work and photography — image 7\"}),/*#__PURE__*/_jsx(\"img\",{src:\"https://framerusercontent.com/images/pWX5yW5ugosLqkiHvBI8ZZKu3S4.jpg\",width:2500,height:1667,loading:\"lazy\",decoding:\"async\",alt:\"Gordon’s personal work and photography — image 8\"}),/*#__PURE__*/_jsx(\"img\",{src:\"https://framerusercontent.com/images/QyVuczfRw7xDn62jicbHJRAO1Q.jpg\",width:2500,height:1558,loading:\"lazy\",decoding:\"async\",alt:\"Gordon’s personal work and photography — image 9\"})]}),/*#__PURE__*/_jsxs(\"section\",{children:[/*#__PURE__*/_jsx(\"h2\",{children:\"More work\"}),/*#__PURE__*/_jsx(\"p\",{children:/*#__PURE__*/_jsxs(StyleLink,{href:\"/\",children:[\"Explore current projects\",\" \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})}),/*#__PURE__*/_jsx(\"p\",{children:/*#__PURE__*/_jsxs(StyleLink,{href:\"/case-studies/industrial-design\",children:[\"Industrial Design collection\",\" \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})}),/*#__PURE__*/_jsx(\"p\",{children:\"My wider portfolio includes launch assets, product visuals, sales materials, motion and brand systems. My background in industrial design informs how I approach form, usability and the details of production.\"}),/*#__PURE__*/_jsx(\"p\",{children:/*#__PURE__*/_jsxs(\"a\",{href:\"https://designedbygordon.com/2design-1\",target:\"_blank\",rel:\"noopener noreferrer\",children:[\"Brand & campaign archive (external)\",\" \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})}),/*#__PURE__*/_jsx(\"p\",{children:/*#__PURE__*/_jsxs(\"a\",{href:\"https://designedbygordon.com/product-all\",target:\"_blank\",rel:\"noopener noreferrer\",children:[\"Product & web archive (external)\",\" \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})}),/*#__PURE__*/_jsx(\"p\",{children:/*#__PURE__*/_jsxs(StyleLink,{href:\"/videos\",children:[\"Motion & video\",\" \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})}),/*#__PURE__*/_jsx(\"p\",{children:/*#__PURE__*/_jsxs(\"a\",{href:\"https://designedbygordon.com/home-industrial-design\",target:\"_blank\",rel:\"noopener noreferrer\",children:[\"Industrial design archive (external)\",\" \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})})]}),/*#__PURE__*/_jsxs(\"section\",{id:\"resume\",children:[/*#__PURE__*/_jsx(\"h2\",{children:\"Resume\"}),MASTER_RESUME_URL?/*#__PURE__*/_jsxs(\"a\",{className:\"gordon-resume-button\",href:MASTER_RESUME_URL,download:\"Gordon-Gao-Senior-Designer-Resume.pdf\",children:[\"Download resume \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-down\"})]}):/*#__PURE__*/_jsxs(\"a\",{className:\"gordon-resume-button\",href:\"mailto:Gordongaodesign@gmail.com?subject=Resume%20request\",children:[\"Request resume \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})]}),/*#__PURE__*/_jsxs(\"section\",{children:[/*#__PURE__*/_jsx(\"h2\",{children:\"Have a role or project in mind?\"}),/*#__PURE__*/_jsx(\"p\",{children:/*#__PURE__*/_jsxs(\"a\",{href:\"mailto:Gordongaodesign@gmail.com\",children:[\"Email Gordon \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})}),/*#__PURE__*/_jsx(FramerLink,{href:{webPageId:\"augiA20Il\"},children:/*#__PURE__*/_jsxs(\"a\",{children:[\"Back to selected work\",\" \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})})]}),/*#__PURE__*/_jsx(\"small\",{children:\"\\xa9 2026 Gordon Gao\"})]});}const careerChapters=[{years:\"2010–2015\",start:\"2010\",end:\"2015\",title:\"Foundations\",intro:\"Industrial design, early product work, and university communications.\",items:[{type:\"Education\",date:\"2010–2014\",title:\"Bachelor in Industrial Design\",company:\"Macau University of Science and Technology\",text:\"Built a foundation in industrial design and product development. Completed May 2014.\"},{type:\"Experience\",date:\"Jun 2012–Sep 2013\",title:\"Junior Designer\",company:\"Ask4me Group\",text:\"Helped design a solar-powered product for people with limited resources in Cambodia, combining a speaker, clock, lighting, and battery charging.\"},{type:\"Experience\",date:\"Jun 2014–May 2015\",title:\"Communications & Public Relations\",company:\"Macau University of Science and Technology\",text:\"Supported international delegations and university visitors, coordinated events and materials, and contributed to media communications and news writing.\"}]},{years:\"2015–2018\",start:\"2015\",end:\"2018\",title:\"Objects & making\",intro:\"Graduate study, hands-on prototyping, and a closer look at how products are made.\",items:[{type:\"Education\",date:\"2015–2018\",title:\"Master of Industrial Design\",company:\"Pratt Institute \\xb7 Brooklyn, NY\",text:\"Studied product development, design for manufacture, and prototyping across lighting, furniture, and everyday objects. Completed May 2018.\"},{type:\"Experience\",date:\"Jan–Sep 2016\",title:\"Lab Monitor\",company:\"Pratt Rapid Prototyping Lab\",text:\"Operated and monitored 3D printers and laser cutters, supporting students with fabrication and safe use of the equipment.\"},{type:\"Internship\",date:\"Summer 2016\",title:\"Design Intern\",company:\"Product Design Center of Canton Fair\",text:\"Contributed to the center’s rebranding and supported design work for Canton Fair exhibitors.\"},{type:\"Internship\",date:\"May–Oct 2017\",title:\"Industrial Design Intern\",company:\"SPIKA International\",text:\"Supported development of the second-generation SoundFloat, including product and brand graphics, quality control, and public testing.\"},{type:\"Internship\",date:\"Summer 2017\",title:\"Design Intern\",company:\"Emoi Basic Life Co\",text:\"Participated in the product design and development process.\"},{type:\"Experience\",date:\"Sep 2017–May 2018\",title:\"Graduate Assistant\",company:\"Pratt Rapid Prototyping Lab\",text:\"Managed daily lab operations, trained monitors, coordinated shifts, and helped maintain and troubleshoot 3D printers and laser cutters. Nominated for Student Worker of the Year.\"},{type:\"Internship\",date:\"Aug 2018\",title:\"Intern\",company:\"Afternoon Delight NYC, LLC\",text:\"Supported manufacturing through factory visits and quality-control inspections in Zhongshan, Guangdong.\"}]},{years:\"2019–2020\",start:\"2019\",end:\"2020\",title:\"Objects to experiences\",intro:\"Bringing a background in making into communication and digital design.\",items:[{type:\"Experience\",date:\"Mar–May 2019\",title:\"Designer Assistant\",company:\"Joya Studio \\xb7 Brooklyn, NY\",text:\"Supported studio projects through prototype fabrication and production builds, including a rail platform made from reclaimed shipping crates for an advertising shoot.\"},{type:\"Education\",date:\"2019–2020\",title:\"Communication Design Essentials Certificate\",company:\"Emily Carr University + BCIT \\xb7 Vancouver\",text:\"Extended my practice into communication design, UI/UX, and web design. Completed October 2020.\"}]},{years:\"2021–2024\",start:\"2021\",end:\"2024\",title:\"Brands into production\",intro:\"Connecting websites, packaging, and campaigns with the details of production.\",items:[{type:\"Experience\",date:\"Apr–Nov 2021\",title:\"Designer\",company:\"Almond Tree Media\",text:\"Designed two complete websites in Figma and Adobe XD for developer handoff. Created print, social, photography, and video content for real estate, technology, and hospitality clients, alongside reusable templates and team training.\"},{type:\"Experience\",date:\"Nov 2021–Present\",title:\"In-House Designer to Freelance Partner\",company:\"Daniel Chocolates\",text:\"Develop packaging, seasonal campaigns, catalogues, ecommerce content, and product photography. Coordinate vendors and production-ready artwork across gifting, tourism, and B2B projects.\"},{type:\"Experience\",date:\"Dec 2023–Mar 2024\",title:\"Design Consultant & Product R&D\",company:\"Her Nose Knows\",text:\"Developed two perfume product lines across branding, bottle and material sourcing, packaging, small-batch production, and pop-up retail layouts.\"}]},{years:\"2024–Present\",start:\"2024\",end:\"Now\",title:\"Integrated creative work\",intro:\"Working across brand, web, motion, and physical products.\",items:[{type:\"Experience\",date:\"Jul 2024–Apr 2025\",title:\"Graphic Designer & Video Editor\",company:\"WeRoar / Coulson Capital\",text:\"Created brand and campaign assets across 16+ brands, including web layouts, reusable Figma components, motion, video, product imagery, packaging, and vehicle-wrap artwork. Supported creative production from concept through handoff.\"},{type:\"Continuing partnership\",date:\"Nov 2021–Present\",title:\"In-House Designer to Freelance Partner\",company:\"Daniel Chocolates\",text:\"Continue supporting the brand as a freelance partner across packaging, seasonal campaigns, ecommerce, photography, and production coordination.\"}]}];const careerCss=`\n.gordon-career{color:#1d1d1f;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;padding:72px 0 56px;max-width:1440px;min-width:0;overflow:visible!important;box-sizing:border-box;text-align:left;}\n.gordon-career *{box-sizing:border-box;min-width:0;hyphens:none!important;word-break:normal!important;overflow-wrap:normal;}\n.gordon-career h2,.gordon-career h3,.gordon-career h4,.gordon-career p{margin:0;text-align:left;}\n.gordon-career button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}\n.gordon-career button:focus-visible{outline:2px solid #0071e3;outline-offset:5px;}\n.gordon-career-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;}\n.gordon-career h2{font-size:clamp(30px,3.5vw,44px);line-height:1.12;letter-spacing:-.045em;font-weight:600;}\n.gordon-career-subtitle{font-size:16px;line-height:1.5;color:#6e6e73;margin-top:12px!important;max-width:560px;}\n.gordon-career-link{border:0;background:transparent;padding:10px 0;flex-shrink:0;font-size:14px!important;}\n.gordon-career-link:hover{text-decoration:underline;text-underline-offset:4px;}\n.gordon-career-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;animation:career-reveal .4s ease both;}\n.gordon-career-chapter{position:relative;border:1px solid transparent;border-radius:22px;background:#f5f5f7;min-height:296px;padding:28px 20px 24px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;transition:background .2s,transform .3s cubic-bezier(.2,.8,.2,1);}\n.gordon-career-chapter:hover{background:#ededf0;transform:translateY(-4px);}\n.gordon-career-year{display:block;font-size:clamp(42px,4.1vw,62px);font-weight:600;line-height:1.02;letter-spacing:-.065em;font-variant-numeric:lining-nums tabular-nums;}\n.gordon-career-year span{display:block;color:#86868b;}\n.gordon-career-chapter-title{display:block;font-size:17px;line-height:1.25;letter-spacing:-.025em;font-weight:550;margin-top:24px;max-width:180px;}\n.gordon-career-open{width:28px;height:28px;border-radius:50%;background:#e1e1e5;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;margin-top:auto;align-self:flex-end;}\n.gordon-career-note{color:#86868b;font-size:12px;line-height:1.5;margin-top:16px!important;}\n.gordon-career-controls{display:flex;align-items:center;gap:24px;margin-bottom:20px;}\n.gordon-career-nav{display:flex;gap:6px;flex:1;overflow-x:auto;padding:6px;scrollbar-width:thin;scroll-snap-type:x proximity;}\n.gordon-career-period{flex:0 0 auto;white-space:nowrap;border:0;border-radius:30px;background:transparent;padding:11px 16px;font-size:14px!important;scroll-snap-align:center;transition:color .2s,background .2s;}\n.gordon-career-period:hover{background:#f5f5f7;}\n.gordon-career-period[aria-pressed=\"true\"]{color:white;background:#1d1d1f;}\n.gordon-career-detail{background:#f5f5f7;border-radius:28px;padding:48px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:64px;transform-origin:50% 0;animation:career-focus .48s cubic-bezier(.16,1,.3,1) both;}\n.gordon-career-detail-heading:focus{outline:none;}\n.gordon-career-detail-year{display:block;font-size:clamp(56px,7vw,96px);line-height:.98;font-weight:600;letter-spacing:-.07em;margin-bottom:28px;}\n.gordon-career-detail-year span{display:block;color:#86868b;}\n.gordon-career-detail h3{font-size:26px;line-height:1.15;letter-spacing:-.035em;font-weight:600;margin-bottom:16px;}\n.gordon-career-intro{font-size:16px;line-height:1.55;color:#6e6e73;max-width:310px;}\n.gordon-career-items{display:flex;flex-direction:column;gap:28px;}\n.gordon-career-item{border-top:1px solid #d2d2d7;padding-top:25px;}\n.gordon-career-item:first-child{border:0;padding-top:0;}\n.gordon-career-item-meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#6e6e73;font-size:12px;line-height:1.5;margin-bottom:9px;}\n.gordon-career-item h4{font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.02em;}\n.gordon-career-company{font-size:15px;line-height:1.5;margin-top:4px!important;color:#515154;}\n.gordon-career-body{font-size:15px;line-height:1.65;color:#6e6e73;margin-top:12px!important;max-width:620px;text-wrap:pretty;}\n.gordon-career-footer{display:flex;justify-content:space-between;gap:24px;margin-top:20px;}\n.gordon-career-footer button:disabled{opacity:.3;cursor:default;text-decoration:none;}\n@keyframes career-focus{from{opacity:0;transform:translateY(14px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}\n@keyframes career-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}\n@media(max-width:1000px){.gordon-career-chapter{padding:24px 16px;min-height:280px;}.gordon-career-detail{gap:36px;padding:36px;}.gordon-career-controls{gap:12px;}.gordon-career-period{padding:10px 12px;}}\n@media(max-width:809px){.gordon-career{padding:48px 0 32px;}.gordon-career-head{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:24px;}.gordon-career-overview{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:5px 0 14px;scrollbar-width:thin;}.gordon-career-chapter{flex:0 0 76%;scroll-snap-align:start;min-height:282px;padding:28px;}.gordon-career-year{font-size:clamp(44px,14vw,62px);white-space:nowrap;}.gordon-career-chapter-title{font-size:21px;max-width:210px;}.gordon-career-controls{display:block;margin-bottom:16px;}.gordon-career-nav{margin-top:8px;padding:6px 2px;}.gordon-career-detail{padding:28px 24px;border-radius:22px;display:block;}.gordon-career-detail-year{font-size:66px;margin-bottom:24px;}.gordon-career-detail h3{font-size:24px;}.gordon-career-intro{max-width:none;}.gordon-career-items{margin-top:36px;}.gordon-career-item:first-child{border-top:1px solid #d2d2d7;padding-top:25px;}.gordon-career-item h4{font-size:18px;}.gordon-career-item-meta{gap:4px 12px;}.gordon-career-footer{gap:12px;}.gordon-career-footer button{max-width:48%;text-align:left;font-size:12px!important;}.gordon-career-footer button:last-child{text-align:right;}}\n@media(prefers-reduced-motion:reduce){.gordon-career *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}\n`;/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 1120\n * @framerIntrinsicHeight 480\n */export function CareerTimeline(props){const[active,setActive]=useState(null);const root=useRef(null);const lastChapter=useRef(0);const pendingFocus=useRef(false);const chapter=active===null?null:careerChapters[active];useEffect(()=>{if(!pendingFocus.current)return;pendingFocus.current=false;const element=active===null?root.current?.querySelector(`[data-career-open=\"${lastChapter.current}\"]`):root.current?.querySelector(\".gordon-career-detail-heading\");element?.focus({preventScroll:true});if(active!==null)root.current?.querySelector('[aria-pressed=\"true\"]')?.scrollIntoView({block:\"nearest\",inline:\"center\",behavior:\"auto\"});},[active]);const choose=index=>{if(index===active)return;if(index!==null)lastChapter.current=index;pendingFocus.current=true;setActive(index);};const handleClick=event=>{const target=event.target instanceof Element?event.target.closest(\"button[data-career-action]\"):null;if(!target)return;event.preventDefault();event.stopPropagation();const value=target.getAttribute(\"data-career-action\");choose(value===\"all\"?null:Number(value));};return /*#__PURE__*/_jsxs(\"section\",{ref:root,className:\"gordon-career\",\"data-presentation\":props.presentation,style:{...props.style,width:\"100%\",height:\"auto\"},\"aria-label\":\"Experience and education\",onClickCapture:handleClick,onKeyDownCapture:event=>{if(event.key===\"Escape\"&&active!==null){event.preventDefault();event.stopPropagation();choose(null);}},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:careerCss}}),/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-career-head\",children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"h2\",{children:\"Experience, over time.\"}),/*#__PURE__*/_jsx(\"p\",{className:\"gordon-career-subtitle\",children:\"From industrial design to brands and digital experiences.\"})]}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"gordon-career-link\",\"data-career-action\":\"4\",children:[\"Latest experience \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-up-right\"})]})]}),props.presentation===\"milestones\"&&/*#__PURE__*/_jsx(\"nav\",{className:\"an-milestone-rail\",\"aria-label\":\"Career periods\",children:careerChapters.map((entry,index)=>/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"an-milestone\",\"data-career-action\":index,\"data-career-open\":index,\"aria-pressed\":active===index,\"aria-label\":entry.years+\": \"+entry.title,children:[/*#__PURE__*/_jsx(\"span\",{children:entry.years}),/*#__PURE__*/_jsx(\"strong\",{children:entry.title})]},entry.years))}),chapter===null?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{className:\"gordon-career-overview\",\"aria-label\":\"Choose a period, from earliest to latest\",children:careerChapters.map((entry,index)=>/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"gordon-career-chapter\",\"data-career-action\":index,\"data-career-open\":index,\"aria-label\":entry.years+\": \"+entry.title+\". Explore experience and education\",\"aria-expanded\":false,children:[/*#__PURE__*/_jsxs(\"span\",{className:\"gordon-career-year\",children:[entry.start,/*#__PURE__*/_jsx(\"span\",{children:entry.end===\"Now\"?\"– Now\":\"– \"+entry.end})]}),/*#__PURE__*/_jsx(\"span\",{className:\"gordon-career-chapter-title\",children:entry.title}),/*#__PURE__*/_jsx(\"span\",{className:\"gordon-career-open\",\"aria-hidden\":\"true\",children:\"+\"})]},entry.years))}),/*#__PURE__*/_jsx(\"p\",{className:\"gordon-career-note\",children:\"Select a period to explore. Swipe for more on smaller screens.\"})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-career-controls\",children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"gordon-career-link\",\"data-career-action\":\"all\",children:[/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-left\"}),\" All years\"]}),/*#__PURE__*/_jsx(\"nav\",{className:\"gordon-career-nav\",\"aria-label\":\"Career periods\",children:careerChapters.map((entry,index)=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"gordon-career-period\",\"data-career-action\":index,\"aria-pressed\":active===index,children:entry.years},entry.years))})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-career-detail\",children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-career-detail-year\",\"aria-hidden\":\"true\",children:[chapter.start,/*#__PURE__*/_jsxs(\"span\",{children:[\"– \",chapter.end]})]}),/*#__PURE__*/_jsx(\"h3\",{className:\"gordon-career-detail-heading\",tabIndex:-1,\"aria-label\":chapter.years+\": \"+chapter.title,children:chapter.title}),/*#__PURE__*/_jsx(\"p\",{className:\"gordon-career-intro\",children:chapter.intro})]}),/*#__PURE__*/_jsx(\"div\",{className:\"gordon-career-items\",children:chapter.items.map(item=>/*#__PURE__*/_jsxs(\"article\",{className:\"gordon-career-item\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-career-item-meta\",children:[/*#__PURE__*/_jsx(\"span\",{children:item.type}),/*#__PURE__*/_jsx(\"span\",{children:item.date})]}),/*#__PURE__*/_jsx(\"h4\",{children:item.title}),/*#__PURE__*/_jsx(\"p\",{className:\"gordon-career-company\",children:item.company}),/*#__PURE__*/_jsx(\"p\",{className:\"gordon-career-body\",children:item.text})]},item.company+item.title))})]},chapter.years),/*#__PURE__*/_jsxs(\"div\",{className:\"gordon-career-footer\",children:[/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"gordon-career-link\",disabled:active===0,\"data-career-action\":Math.max(0,(active??0)-1),children:[/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-left\"}),\" Previous period\"]}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"gordon-career-link\",disabled:active===4,\"data-career-action\":Math.min(4,(active??0)+1),children:[\"Next period \",/*#__PURE__*/_jsx(PortfolioIcon,{name:\"arrow-right\"})]})]})]})]});}// One document-lifetime root: Framer route unmounts never reset the session or draft.\nconst GORDON_PAGES={\"/interviews/creator-co\":\"Creator.co interview\",\"/case-studies/industrial-design\":\"Industrial Design\",\"/case-studies/gordon-more-or-less\":\"“Gordon, More or Less”\",\"/videos\":\"Motion & video\",\"/\":\"Gordon Gao\",\"/projects/weroar\":\"WeRoar\",\"/projects/coffee-brand\":\"1775 Coffee\",\"/projects/daniel-chocolates\":\"Daniel Chocolates\",\"/projects/coulson-capital\":\"Coulson Capital\",\"/projects/coffee-cybertruck\":\"1775 Coffee Cybertruck\",\"/case-studies/wellnesspay\":\"WellnessPay\",\"/case-studies/daniel-wedding-celebrations\":\"Daniel Wedding Celebrations\"};function gordonPage(){const path=window.location.pathname.replace(/\\/$/,\"\")||\"/\";if(gordonApiOriginAllowed(window.location.origin))return canonicalPath(path);// Framer preview uses a module URL, so read the rendered route marker.\nconst marker=document.querySelector(\"[data-gordon-page]\");return marker?.dataset.gordonPage||(document.querySelector('[data-framer-name=\"Homepage Hero\"]')?\"/\":\"\");}function gordonDestination(link){const u=new URL(link.href,location.href);if(u.origin!==location.origin)return u.pathname;return Object.keys(GORDON_PAGES).find(p=>p!==\"/\"&&u.pathname.endsWith(p))||u.pathname;}const highlightText=items=>items.map(a=>a.quote).join(\"\\n\\n\");let gordonRoot=null;export function EnsureGordonPDA({styleControls=true,animatedPage}={}){const[ready,setReady]=useState(false);useEffect(()=>{if(!gordonRoot&&!document.getElementById(\"gordon-persistent-root\")){const host=document.createElement(\"div\");host.id=\"gordon-persistent-root\";document.body.appendChild(host);gordonRoot=createRoot(host);gordonRoot.render(/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(GordonPreloader,{}),/*#__PURE__*/_jsx(HeroDouble,{}),/*#__PURE__*/_jsx(GordonPageActions,{}),/*#__PURE__*/_jsx(GordonImageViewer,{})]}));}setReady(true);},[]);return ready&&styleControls?/*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(NativeFooterIcons,{}),/*#__PURE__*/_jsx(PageStyleControls,{animatedContent:{sourceProjects,SourceStory,sourceProjectCss,AboutPage,CareerTimeline,pageContent:animatedPage}})]}),document.body):null;}function GordonImageViewer(){const[view,setView]=useState(null);const dialog=useRef(null);const origin=useRef(null);const close=()=>setView(null);useEffect(()=>{const imageLink=a=>{const image=a.querySelector(\"img\");if(!image||a.closest(\"#gordon-image-viewer\"))return null;try{const u=new URL(a.href);return[\"images.squarespace-cdn.com\",\"framerusercontent.com\"].includes(u.hostname)&&/\\.(png|jpe?g|webp|gif)(?:$|\\?)/i.test(u.href)?{src:a.href,alt:image.alt||\"Project image\"}:null;}catch{return null;}};const click=e=>{if(e.defaultPrevented||e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;const a=e.target?.closest(\"a[href]\");const item=a&&imageLink(a);if(!a||!item)return;e.preventDefault();e.stopPropagation();const group=a.closest(\".gordon-source-gallery, .case-gallery, .case-section, section\")||a.parentElement;const items=Array.from(group?.querySelectorAll(\"a[href]\")||[]).map(imageLink).filter(Boolean);const index=items.findIndex(x=>x.src===item.src);origin.current=a;setView({items:index<0?[item]:items,index:Math.max(0,index)});};document.addEventListener(\"click\",click,true);return()=>document.removeEventListener(\"click\",click,true);},[]);useEffect(()=>{if(!view)return;const el=dialog.current;if(!el?.open)el?.showModal();const overflow=document.body.style.overflow;document.body.style.overflow=\"hidden\";return()=>{el?.close();document.body.style.overflow=overflow;origin.current?.focus({preventScroll:true});};},[!!view]);if(!view)return null;const item=view.items[view.index];const move=step=>setView(v=>v?{...v,index:(v.index+step+v.items.length)%v.items.length}:v);return /*#__PURE__*/_jsxs(\"dialog\",{ref:dialog,id:\"gordon-image-viewer\",\"aria-label\":\"Project image viewer\",\"data-gordon-ignore\":\"true\",\"data-lenis-prevent\":true,onCancel:e=>{e.preventDefault();close();},onClick:e=>{if(e.target===e.currentTarget)close();},onKeyDown:e=>{if(e.key===\"ArrowRight\"){e.preventDefault();move(1);}if(e.key===\"ArrowLeft\"){e.preventDefault();move(-1);}},children:[/*#__PURE__*/_jsx(\"style\",{children:`#gordon-image-viewer{position:fixed;inset:0;margin:auto;width:min(1200px,96vw);max-width:96vw;height:min(900px,94dvh);max-height:94dvh;padding:16px;background:var(--gordon-page,#fff);color:var(--gordon-text,#171717);border:1px solid #8888;border-radius:12px;z-index:2147483647;overflow:hidden;}#gordon-image-viewer::backdrop{background:#000b;}#gordon-image-viewer .viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:48px;}#gordon-image-viewer button,#gordon-image-viewer a{font:500 14px/1.3 Arial,sans-serif;color:inherit;background:transparent;border:1px solid #8888;border-radius:6px;min-width:44px;min-height:44px;padding:10px;cursor:pointer;}#gordon-image-viewer img{display:block;width:100%;height:calc(100% - 116px);object-fit:contain;margin:10px 0;}#gordon-image-viewer .viewer-caption{display:flex;gap:12px;justify-content:space-between;align-items:center;font:400 14px/1.4 Arial,sans-serif;}#gordon-image-viewer .viewer-caption span{max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}#gordon-image-viewer :focus-visible{outline:3px solid #f80;outline-offset:2px;}`}),/*#__PURE__*/_jsxs(\"div\",{className:\"viewer-bar\",children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>move(-1),disabled:view.items.length<2,\"aria-label\":\"Previous image\",children:\"←\"}),/*#__PURE__*/_jsxs(\"span\",{\"aria-live\":\"polite\",children:[view.index+1,\" / \",view.items.length]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>move(1),disabled:view.items.length<2,\"aria-label\":\"Next image\",children:\"→\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",autoFocus:true,onClick:close,children:\"Close image\"})]}),/*#__PURE__*/_jsx(\"img\",{src:item.src,alt:item.alt},item.src),/*#__PURE__*/_jsxs(\"div\",{className:\"viewer-caption\",children:[/*#__PURE__*/_jsx(\"span\",{children:item.alt}),/*#__PURE__*/_jsx(\"a\",{href:item.src,target:\"_blank\",rel:\"noopener noreferrer\",children:\"Open original\"})]})]});}function GordonPageActions(){const[targets,setTargets]=useState([]);const[selection,setSelection]=useState(null);const[active,setActive]=useState(null);const cursor=useRef(null);const controls=useRef(null);const targetRef=useRef([]);const selected=useRef(null);const usable=e=>!e.closest(\".gordon-playground,#gordon-persistent-root,[data-gordon-ignore],[aria-hidden=true],[inert]\");const request=item=>{window.dispatchEvent(new CustomEvent(\"gordon:ask\",{detail:{...item,id:crypto.randomUUID()}}));setSelection(null);};useEffect(()=>{let frame=0;const addedFocus=new Set;const ids=new WeakMap;let lastPath=\"\";let hoverTimer=0;const update=()=>{frame=0;const path=gordonPage();const enabled=!!GORDON_PAGES[path];if(lastPath!==path){setSelection(null);setActive(null);lastPath=path;}const list=[];const mobile=matchMedia(\"(max-width:809px),(hover:none),(pointer:coarse)\").matches;if(mobile){selected.current=null;setSelection(null);setActive(null);}if(enabled&&!mobile)document.querySelectorAll(\"img,a[href]\").forEach(el=>{if(!usable(el))return;const r=el.getBoundingClientRect();if(!r.width||!r.height||r.bottom<0||r.top>innerHeight||r.right<0||r.left>innerWidth)return;// Retro's screen is a nested scroller. Ignore clipped content\n// so Ask controls cannot float over the computer casing.\nconst screen=el.closest(\".retro-content\");const clip=screen&&getComputedStyle(screen).overflowY===\"auto\"?screen.getBoundingClientRect():null;if(clip&&(r.bottom<=clip.top||r.top>=clip.bottom||r.right<=clip.left||r.left>=clip.right))return;const image=el.tagName===\"IMG\";if(image&&(r.width<90||r.height<65))return;const href=image?\"\":el.href;if(!image&&!/^(https?:|mailto:)/.test(href))return;const projectLink=el.closest('a[href*=\"/projects/\"]');const projectPath=projectLink?gordonDestination(projectLink):path;const project=GORDON_PAGES[projectPath]||GORDON_PAGES[path];const caption=image?el.closest(\"figure\")?.querySelector(\"figcaption\")?.textContent?.trim():\"\";const label=el.textContent?.trim()||el.getAttribute(\"aria-label\")||el.querySelector(\"img\")?.getAttribute(\"alt\")||\"\";if(!image&&!label)return;const quote=image?`Image — ${project}${caption?\": \"+caption:\"\"}`:`Link — ${label}\n${href}`;const focusTarget=image?el.closest(\"a\")||el:el;if(image&&focusTarget===el&&!el.hasAttribute(\"tabindex\")){el.tabIndex=0;addedFocus.add(el);}if(!ids.has(el))ids.set(el,crypto.randomUUID());list.push({key:ids.get(el),element:el,focusTarget,kind:image?\"image\":\"link\",source:path,quote,left:image?Math.min(Math.max(6,r.right-130),innerWidth-300):Math.min(r.right+6,innerWidth-300),top:Math.min(innerHeight-44,Math.max(4,image?r.top+8:r.bottom+4)),imageLink:!image&&!!el.querySelector(\"img\")});});targetRef.current=list;setTargets(list);document.documentElement.classList.toggle(\"gordon-actions-active\",enabled);window.dispatchEvent(new CustomEvent(\"gordon:route\",{detail:path}));};const schedule=()=>{if(!frame)frame=requestAnimationFrame(update);};const observer=new MutationObserver(records=>{if(records.some(r=>!r.target.closest?.(\"#gordon-persistent-root,.gordon-playground\")))schedule();});observer.observe(document.body,{childList:true,subtree:true});const hover=e=>{const el=e.target;window.clearTimeout(hoverTimer);if(el.closest?.(\".gordon-ask-control\"))return;const source=el.closest?.(\"a[href],img\");if(source)setActive(source);else hoverTimer=window.setTimeout(()=>setActive(null),160);};const select=()=>{if(matchMedia(\"(max-width:809px),(hover:none),(pointer:coarse)\").matches){selected.current=null;setSelection(null);return;}const s=window.getSelection();const parent=s?.anchorNode?.parentElement;if(!s||s.isCollapsed||!parent||!usable(parent)||parent.closest(\"input,textarea,[contenteditable=true]\")||!GORDON_PAGES[gordonPage()]){selected.current=null;setSelection(null);return;}const text=s.toString();if(!text.trim()||!s.rangeCount)return;const r=s.getRangeAt(0).getBoundingClientRect();const value={kind:\"text\",source:gordonPage(),quote:text,left:Math.min(Math.max(8,r.left),innerWidth-300),top:Math.max(6,Math.min(innerHeight-44,r.top-44))};selected.current=value;setSelection(value);};const hideCursor=()=>{if(cursor.current)cursor.current.hidden=true;document.documentElement.classList.remove(\"gordon-cursor-tracking\");};const move=e=>{const c=cursor.current;if(!c)return;if(e.pointerType===\"touch\"||!matchMedia(\"(min-width:810px) and (hover:hover) and (pointer:fine)\").matches){hideCursor();return;}const el=e.target;const target=el.closest(\"button,a[href],summary,[role=button]\");if(target?.matches(\":disabled,[aria-disabled=true]\")){hideCursor();return;}const name=(target?.getAttribute(\"aria-label\")||target?.textContent||\"\").trim();let label=\"\";if(target?.matches(\".gordon-email-reveal\"))label=target.getAttribute(\"aria-expanded\")===\"true\"?\"Email Gordon\":\"Show email\";else if(target?.matches(\".gordon-home-nav\"))label=\"Go home\";else if(target?.closest(\".gordon-ask-control\"))label=\"Learn more with “Gordon, More or Less”\";else if(target?.matches(\".gordon-menu summary\"))label=target.parentElement?.hasAttribute(\"open\")?\"Close menu\":\"Open menu\";else if(target?.tagName===\"A\"){const a=target;const path=gordonDestination(a);if(path.startsWith(\"/projects/\"))label=\"View project\";else if(path.startsWith(\"/case-studies/\"))label=\"Read case study\";else if(/^(play|watch)\\b/i.test(name)&&/video/i.test(name))label=\"Play video\";else if(a.getAttribute(\"href\")?.startsWith(\"#\"))label=\"View section\";else if(a.download)label=\"Download\";else label=\"Open link\";}else if(target&&/^play\\b.*video/i.test(name))label=\"Play video\";else if(target?.classList.contains(\"gordon-playground-launch\"))label=\"Open chat\";else if(target?.classList.contains(\"gordon-pda-hide\"))label=\"Hide chat\";else if(target?.tagName===\"SUMMARY\")label=target.parentElement?.hasAttribute(\"open\")?\"Collapse\":\"Expand\";else if(target?.tagName===\"BUTTON\"&&name.length<=26)label=name;const textSurface=!target&&(el.closest(\"p,h1,h2,h3,h4,h5,h6,strong,li,blockquote,figcaption,dt,dd,input,textarea,[contenteditable=true]\")||getComputedStyle(el).cursor===\"text\");if(textSurface||el.closest(\"input,textarea,select,[contenteditable=true]\")){hideCursor();return;}c.hidden=false;if(c.textContent!==label)c.textContent=label;c.classList.toggle(\"has-action\",!!label);document.documentElement.classList.add(\"gordon-cursor-tracking\");c.style.setProperty(\"--gordon-pointer-x\",e.clientX-9+\"px\");c.style.setProperty(\"--gordon-pointer-y\",e.clientY-9+\"px\");// The idle circle marks the actual pointer location; labels sit beside it.\nif(!label){c.style.left=e.clientX-9+\"px\";c.style.top=e.clientY-9+\"px\";return;}// Keep the visual label away from actual controls. If crowded, the native cursor remains.\nconst w=c.offsetWidth||142,h=c.offsetHeight||34;const targetBounds=target?.getBoundingClientRect();const candidates=[[e.clientX+18,e.clientY+18],[e.clientX-w-18,e.clientY+18],[e.clientX+18,e.clientY-h-18],[e.clientX-w-18,e.clientY-h-18],...targetBounds?[[Math.max(4,Math.min(e.clientX-w/2,innerWidth-w-4)),targetBounds.bottom+8],[Math.max(4,Math.min(e.clientX-w/2,innerWidth-w-4)),targetBounds.top-h-8]]:[]];const rects=label?Array.from(document.querySelectorAll(\"a[href],button,summary,input,textarea,select\")).filter(node=>{const style=getComputedStyle(node);if(style.visibility===\"hidden\"||style.display===\"none\"||Number(style.opacity)===0||style.pointerEvents===\"none\")return false;const rect=node.getBoundingClientRect();// The hovered image/card is the label's context, not an obstruction.\n// Small controls and adjacent links still constrain placement.\nreturn!(node===target&&rect.width>=120&&rect.height>=96);}).map(node=>node.getBoundingClientRect()).filter(r=>r.width&&r.height&&r.bottom>0&&r.top<innerHeight):[];const position=candidates.find(([x,y])=>x>=4&&y>=4&&x+w<=innerWidth-4&&y+h<=innerHeight-4&&!rects.some(r=>x<r.right&&x+w>r.left&&y<r.bottom&&y+h>r.top));if(!position){// Keep the ring as the pointer even when no action label fits.\nc.textContent=\"\";c.classList.remove(\"has-action\");c.style.left=e.clientX-9+\"px\";c.style.top=e.clientY-9+\"px\";}else{c.style.left=position[0]+\"px\";c.style.top=position[1]+\"px\";}};const key=e=>{if(e.key===\"Escape\")setSelection(null);if(e.key!==\"Tab\"||e.shiftKey)return;const found=targetRef.current.find(t=>t.focusTarget===document.activeElement&&!t.imageLink);if(!found)return;if(found.kind===\"link\"&&(innerWidth<=600||matchMedia(\"(pointer:coarse)\").matches)){const menu=controls.current?.querySelector(\".gordon-mobile-link-menu summary\");if(menu){e.preventDefault();menu.focus();}return;}const index=targetRef.current.indexOf(found);const button=controls.current?.querySelector(`[data-target-index=\"${index}\"]`);if(button){e.preventDefault();button.focus();}};update();window.addEventListener(\"scroll\",schedule,true);window.addEventListener(\"resize\",schedule);window.addEventListener(\"popstate\",schedule);document.addEventListener(\"pointerover\",hover);document.addEventListener(\"focusin\",hover);document.addEventListener(\"selectionchange\",select);document.addEventListener(\"pointermove\",move);document.documentElement.addEventListener(\"pointerleave\",hideCursor);window.addEventListener(\"blur\",hideCursor);window.addEventListener(\"scroll\",hideCursor,true);document.addEventListener(\"keydown\",key);return()=>{observer.disconnect();cancelAnimationFrame(frame);window.clearTimeout(hoverTimer);addedFocus.forEach(e=>e.removeAttribute(\"tabindex\"));window.removeEventListener(\"scroll\",schedule,true);window.removeEventListener(\"resize\",schedule);window.removeEventListener(\"popstate\",schedule);document.removeEventListener(\"pointerover\",hover);document.removeEventListener(\"focusin\",hover);document.removeEventListener(\"selectionchange\",select);document.removeEventListener(\"pointermove\",move);document.documentElement.removeEventListener(\"pointerleave\",hideCursor);window.removeEventListener(\"blur\",hideCursor);window.removeEventListener(\"scroll\",hideCursor,true);hideCursor();document.removeEventListener(\"keydown\",key);document.documentElement.classList.remove(\"gordon-actions-active\");};},[]);const next=(e,target)=>{if(e.key!==\"Tab\")return;const focusable=Array.from(document.querySelectorAll('a[href],button,input,textarea,select,summary,[tabindex=\"0\"]')).filter(el=>usable(el)&&el.getBoundingClientRect().width&&!el.hasAttribute(\"disabled\"));const idx=focusable.indexOf(target.focusTarget);const dest=e.shiftKey?target.focusTarget:focusable[idx+1];if(dest){e.preventDefault();dest.focus({preventScroll:true});}};return /*#__PURE__*/_jsxs(\"div\",{ref:controls,className:\"gordon-page-actions\",children:[/*#__PURE__*/_jsx(\"style\",{children:`\n.gordon-actions-active .framer-9AXNz{display:none!important;}\n.gordon-page-actions{font:500 12px/1.3 Arial,sans-serif;}\n.gordon-ask-control{position:fixed;z-index:950;pointer-events:auto;border:1px solid #c5cbd4;border-radius:24px;padding:9px 12px;min-height:36px;max-width:min(292px,calc(100vw - 16px));box-sizing:border-box;background:#fff;color:#173c70;box-shadow:0 2px 12px #0002;cursor:pointer;white-space:normal;text-align:left;font:500 12px/1.3 Arial,sans-serif;}\n.gordon-ask-control:focus-visible{outline:3px solid #0767ff;outline-offset:2px;}\n.gordon-ask-control:not(.is-visible){opacity:0;pointer-events:none;}\n.gordon-ask-control:focus{opacity:1;pointer-events:auto;}\n.gordon-mobile-link-menu{display:none;}\n.gordon-action-cursor{display:none;position:fixed;z-index:100030;pointer-events:none!important;min-width:18px;min-height:18px;border:1px solid #777;border-radius:99px;background:#fff9;color:#111;box-sizing:border-box;font:500 12px/1.2 \"Switzer\",Arial,sans-serif;white-space:nowrap;width:max-content;padding:0;transition:none;}\n@media(prefers-reduced-motion:reduce){.gordon-action-cursor{transition:none;}}\n.gordon-action-cursor:not(.has-action){width:18px;height:18px;}\n@media(min-width:810px) and (hover:hover) and (pointer:fine){html.gordon-cursor-tracking,html.gordon-cursor-tracking *{cursor:none!important;}}\n.gordon-action-cursor.has-action::before{content:\"\";position:fixed;left:var(--gordon-pointer-x);top:var(--gordon-pointer-y);width:18px;height:18px;box-sizing:border-box;border:1px solid #777;border-radius:50%;background:#fff9;pointer-events:none;}\n.gordon-action-cursor.has-action{padding:8px 12px;min-height:32px;background:#fff;border-color:#ddd;box-shadow:0 2px 10px #0001;}\n@media(hover:hover) and (pointer:fine){.gordon-action-cursor:not([hidden]){display:block;}.gordon-actions-active p,.gordon-actions-active input,.gordon-actions-active textarea{cursor:text!important;}}\n@media(max-width:600px),(hover:none),(pointer:coarse){.gordon-action-cursor{display:none!important;}.gordon-ask-control:not(.image-link):not(.link-action){opacity:1;pointer-events:auto;min-height:44px;}.gordon-ask-control.link-action{display:none!important;}.gordon-mobile-link-menu{display:block;position:fixed;z-index:980;bottom:18px;left:12px;max-width:calc(100vw - 170px);background:#fff;border:1px solid #ddd;border-radius:18px;padding:0;color:#173c70;box-shadow:0 3px 14px #0002;}.gordon-mobile-link-menu summary{padding:12px;min-height:44px;box-sizing:border-box;font:12px/20px Arial;cursor:pointer;}.gordon-mobile-link-menu>div{position:absolute;bottom:116px;left:0;width:min(320px,calc(100vw - 24px));max-height:45dvh;overflow:auto;background:#fff;border:1px solid #ddd;border-radius:12px;padding:10px;box-sizing:border-box;}.gordon-mobile-link-menu p{font:12px/1.5 Arial;text-indent:0;margin:0 0 8px;}.gordon-mobile-link-menu button{display:block;width:100%;text-align:left;border:0;border-top:1px solid #eee;background:#fff;color:#173c70;padding:10px 4px;min-height:44px;font:13px/1.4 Arial;}.gordon-mobile-link-menu :focus-visible{outline:2px solid #0767ff;}.gordon-actions-active:has(.gordon-playground.is-open) .gordon-mobile-link-menu{display:none;}.gordon-ask-control.image-link:focus{display:block;opacity:1;pointer-events:auto;}.gordon-ask-control.image-link:not(:focus){display:none;}.gordon-ask-control{font-size:11px;padding:8px 10px;}}\n\n@media(max-width:809px),(hover:none),(pointer:coarse){\n .gordon-page-actions .gordon-ask-control,.gordon-page-actions .gordon-mobile-link-menu,.gordon-page-actions .gordon-action-cursor{display:none!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"]{display:block!important;top:0!important;bottom:auto!important;padding:16px!important;background:none!important;opacity:1!important;transform:none!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] *{opacity:1!important;transform:none!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Wrapper\"]{padding:0!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]{gap:8px!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div{padding:8px 12px!important;border-radius:24px!important;background:rgba(0,0,0,.72)!important;width:fit-content!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div:first-child{background:#fff!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] p{font:500 13px/1.4 \"Switzer\",Arial,sans-serif!important;color:#fff!important;--framer-text-color:#fff!important;}\n [data-framer-name=\"Selected Work\"] [data-framer-name=\"Info || Desktop\"] [data-framer-name=\"Left\"]>div:first-child p{color:#111!important;--framer-text-color:#111!important;}\n}\n.gordon-attachment-tray{flex:none;max-height:28%;overflow:auto;overscroll-behavior:contain;border-top:1px solid #ddd;padding:5px 7px;background:#f7f9fc;font:12px/1.4 Arial,sans-serif;}\n.gordon-attachment-row{display:flex;align-items:center;gap:5px;}\n.gordon-attachment-row button{border:0;background:none;color:#174e9c;padding:5px;min-height:32px;font:12px/1.35 Arial,sans-serif;}\n.gordon-attachment-row button:first-child{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}\n.gordon-attachment-tray textarea{width:100%;box-sizing:border-box;min-height:70px;max-height:110px;font:16px/1.35 Arial,sans-serif;resize:vertical;}\n.gordon-attachment-tray p{font:11px/1.4 Arial,sans-serif!important;text-indent:0!important;margin:4px 0!important;white-space:normal;}\n.gordon-attachment-error{color:#a32424;}\n`}),/*#__PURE__*/_jsx(\"div\",{ref:cursor,className:\"gordon-action-cursor\",\"aria-hidden\":\"true\",hidden:true}),targets.map((t,i)=>/*#__PURE__*/_jsx(\"button\",{\"data-target-index\":i,type:\"button\",className:\"gordon-ask-control\"+(t.imageLink?\" image-link\":\"\")+(t.kind===\"link\"?\" link-action\":\"\")+(active===t.element||active===t.focusTarget?\" is-visible\":\"\"),style:{left:t.left,top:t.top+(t.imageLink?46:0)},title:\"Add this to “Gordon, More or Less”\",\"aria-label\":(t.kind===\"image\"?\"Learn more with “Gordon, More or Less” about image: \":\"Learn more with “Gordon, More or Less” about link: \")+t.quote,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.preventDefault();e.stopPropagation();request(t);},onKeyDown:e=>next(e,t),children:t.kind===\"image\"?\"Learn more with “Gordon, More or Less”\":\"Learn more with “Gordon, More or Less”\"},t.key)),/*#__PURE__*/_jsxs(\"details\",{className:\"gordon-mobile-link-menu\",children:[/*#__PURE__*/_jsx(\"summary\",{children:\"Ask about a link\"}),/*#__PURE__*/_jsxs(\"div\",{role:\"group\",\"aria-label\":\"Attach a visible link\",children:[/*#__PURE__*/_jsx(\"p\",{children:\"Attach a link label and URL. The destination will not be opened or read.\"}),targets.filter(t=>t.kind===\"link\").map(t=>/*#__PURE__*/_jsxs(\"button\",{type:\"button\",title:\"Add this to “Gordon, More or Less”\",onClick:e=>{e.currentTarget.closest(\"details\").open=false;request(t);},children:[\"Ask:\",\" \",t.element.textContent?.trim()||t.element.getAttribute(\"aria-label\")||\"Image link\"]},t.key))]})]}),selection&&/*#__PURE__*/_jsx(\"button\",{className:\"gordon-ask-control is-visible\",style:{left:selection.left,top:selection.top,zIndex:1100},type:\"button\",title:\"Add this to “Gordon, More or Less”\",onPointerDown:e=>e.preventDefault(),onClick:()=>request(selection),children:\"Learn more with “Gordon, More or Less”\"})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"withHomepageDetails\":{\"type\":\"reactHoc\",\"name\":\"withHomepageDetails\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SourceStory\":{\"type\":\"reactComponent\",\"name\":\"SourceStory\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"sourceProjects\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"sourceProjectCss\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PortfolioMenu\":{\"type\":\"reactComponent\",\"name\":\"PortfolioMenu\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"44\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"88\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\"}},\"CareerTimeline\":{\"type\":\"reactComponent\",\"name\":\"CareerTimeline\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"480\",\"framerIntrinsicWidth\":\"1120\",\"framerSupportedLayoutWidth\":\"any\"}},\"CaseStudyLink\":{\"type\":\"reactComponent\",\"name\":\"CaseStudyLink\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"EnsureGordonPDA\":{\"type\":\"reactComponent\",\"name\":\"EnsureGordonPDA\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"AboutPage\":{\"type\":\"reactComponent\",\"name\":\"AboutPage\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"\",\"framerContractVersion\":\"1\"}},\"NextProject\":{\"type\":\"reactComponent\",\"name\":\"NextProject\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"withProjectLayout\":{\"type\":\"reactHoc\",\"name\":\"withProjectLayout\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PortfolioLayout.map"],"mappings":"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"}