{"version":3,"file":"script_main.DBPAahuM.mjs","names":["useActiveSectionColor","useState","useCallback","useHeroScrollRange","useHasHero","useScrollReveal","useActiveSectionColor","useState","useCallback","useState","useCallback","useRef","sharedStyle.css","useRef","React.useId","sharedStyle.className","className","RichText","React.Fragment","SVG","Image1","sharedStyle.fonts","React.createElement","MISCSharedLayout","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","Framer.patchRoutesForABTesting","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/framerusercontent.com/modules/ws99eZ1C4ZVrADMKah6w/m19VmSifOF8vrTJTD6FX/DynamicInstagramIcon.js","https:/framerusercontent.com/modules/1mkmdHeYENeAiiju2iFH/y5YNd4pIA0EgDxoUJeLB/DynamicNav.js","https:/framerusercontent.com/modules/vwEbal1EAbJVlwztXxiU/MkMS2Yqq19ZOcTPR4cUa/LogoSlotMarker.js","https:/framerusercontent.com/modules/UvrCfvKYUZg8mObqIheJ/fQizmzKsRGZy14xRYKBO/mG3l9I_cq.js","framer:toplevel/main"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useCallback,useEffect,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useScroll,useMotionValueEvent}from\"framer-motion\";/**\n * Duplicated from ScrollLogo.tsx on purpose: Framer only exposes\n * component exports for cross-file import, not plain hooks.\n */function useActiveSectionColor(linePx,initialColor){const[color,setColor]=useState(initialColor);const{scrollY}=useScroll();const evaluate=useCallback(()=>{if(typeof document===\"undefined\")return;const sections=Array.from(document.querySelectorAll(\"[data-scroll-section-color]\"));if(sections.length===0)return;let best;for(const el of sections){const top=el.getBoundingClientRect().top;if(top<=linePx&&(best===undefined||top>best.top)){best={top,el};}}const target=best!==undefined?best.el:sections[0];const value=target.getAttribute(\"data-scroll-section-color\");if(value===\"light\"||value===\"dark\"){setColor(prev=>prev===value?prev:value);}},[linePx]);useMotionValueEvent(scrollY,\"change\",evaluate);useEffect(()=>{evaluate();window.addEventListener(\"resize\",evaluate);return()=>window.removeEventListener(\"resize\",evaluate);},[evaluate]);return color;}/**\n * Duplicated from DynamicNav.tsx on purpose. See that file for notes —\n * includes the delayed re-measure after webfonts settle, needed to stay\n * in sync with ScrollLogo's own dock-completion threshold.\n */function useHeroScrollRange(heroBoundsId,factor,fallback){const[range,setRange]=useState(fallback);const measure=useCallback(()=>{if(typeof document===\"undefined\")return;const el=document.getElementById(heroBoundsId);if(!el)return;const h=el.getBoundingClientRect().height*factor;if(h>0)setRange(prev=>prev===h?prev:h);},[heroBoundsId,factor]);useEffect(()=>{measure();const settleTimer=window.setTimeout(measure,400);window.addEventListener(\"resize\",measure);return()=>{window.clearTimeout(settleTimer);window.removeEventListener(\"resize\",measure);};},[measure]);return range;}/**\n * Duplicated from DynamicNav.tsx on purpose. See that file for notes.\n * Defaults to true (assume a hero exists) and only flips to false after\n * a delayed re-check confirms no hero marker ever showed up.\n */function useHasHero(heroBoundsId){const[hasHero,setHasHero]=useState(true);useEffect(()=>{if(typeof document===\"undefined\")return undefined;const check=()=>setHasHero(!!document.getElementById(heroBoundsId));check();const settleTimer=window.setTimeout(check,400);return()=>window.clearTimeout(settleTimer);},[heroBoundsId]);return hasHero;}/**\n * Duplicated from DynamicNav.tsx on purpose. See that file for notes.\n */function useScrollReveal(threshold){const[revealed,setRevealed]=useState(threshold<=0);const{scrollY}=useScroll();const evaluate=useCallback(()=>{const next=scrollY.get()>=threshold;setRevealed(prev=>prev===next?prev:next);},[threshold]);useMotionValueEvent(scrollY,\"change\",evaluate);useEffect(()=>{evaluate();},[evaluate]);return revealed;}/**\n * Replaces the site header's native Instagram icon so its color can\n * react to what's currently behind the fixed header, same as\n * ScrollLogo and DynamicNav. Also swaps to a fixed `hoverColor` while\n * the cursor is over it, reverting to the section color on mouse-leave\n * (same hover treatment as DynamicNav's links).\n *\n * On a page with a hero section, hidden until the hero has scrolled\n * past `heroRangeFactor` of its own height, then fades in over\n * `revealDuration`. On a page with no hero section at all (confirmed\n * via `heroBoundsId`, see useHasHero), rendered fully visible from the\n * very first paint with no fade.\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function DynamicInstagramIcon(props){const{href,size,headerHeight,lightColor,darkColor,hoverColor,heroBoundsId,heroRangeFactor,revealScrollY,revealDuration}=props;const activeColor=useActiveSectionColor(headerHeight,\"light\");const color=activeColor===\"dark\"?lightColor:darkColor;const hasHero=useHasHero(heroBoundsId);const heroRange=useHeroScrollRange(heroBoundsId,heroRangeFactor,revealScrollY);const revealed=useScrollReveal(heroRange);const[hovered,setHovered]=useState(false);const displayColor=hovered?hoverColor:color;const icon=/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.5\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"2\",y:\"2\",width:\"20\",height:\"20\",rx:\"5\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"4.2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"17.3\",cy:\"6.7\",r:\"0.6\",fill:\"currentColor\",stroke:\"none\"})]});if(!hasHero){return /*#__PURE__*/_jsx(\"a\",{href:href,target:\"_blank\",rel:\"noopener noreferrer\",onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),style:{display:\"inline-flex\",color:displayColor,transition:\"color 0.3s ease\",width:\"100%\",height:\"100%\",alignItems:\"center\",justifyContent:\"center\"},children:icon});}return /*#__PURE__*/_jsx(motion.a,{href:href,target:\"_blank\",rel:\"noopener noreferrer\",onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),initial:{opacity:0},animate:{opacity:revealed?1:0},transition:{duration:revealDuration,ease:\"easeOut\"},style:{display:\"inline-flex\",color:displayColor,transition:\"color 0.3s ease\",width:\"100%\",height:\"100%\",alignItems:\"center\",justifyContent:\"center\",pointerEvents:revealed?\"auto\":\"none\"},children:icon});}addPropertyControls(DynamicInstagramIcon,{href:{type:ControlType.String,defaultValue:\"https://instagram.com\"},size:{type:ControlType.Number,defaultValue:18,min:10,max:48},headerHeight:{type:ControlType.Number,defaultValue:70,min:40,max:200},lightColor:{type:ControlType.Color,defaultValue:\"#E6E6E6\"},darkColor:{type:ControlType.Color,defaultValue:\"#171717\"},hoverColor:{type:ControlType.Color,defaultValue:\"#6B7D63\"},heroBoundsId:{type:ControlType.String,defaultValue:\"hero-bounds\"},heroRangeFactor:{type:ControlType.Number,defaultValue:.8,min:.1,max:1,step:.05},revealScrollY:{type:ControlType.Number,defaultValue:250,min:0,max:2e3},revealDuration:{type:ControlType.Number,defaultValue:.8,min:.1,max:3,step:.1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DynamicInstagramIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DynamicInstagramIcon.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useCallback,useEffect,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useScroll,useMotionValueEvent}from\"framer-motion\";/**\n * Duplicated from ScrollLogo.tsx on purpose: Framer only exposes\n * component exports for cross-file import, not plain hooks.\n */function useActiveSectionColor(linePx,initialColor){const[color,setColor]=useState(initialColor);const{scrollY}=useScroll();const evaluate=useCallback(()=>{if(typeof document===\"undefined\")return;const sections=Array.from(document.querySelectorAll(\"[data-scroll-section-color]\"));if(sections.length===0)return;let best;for(const el of sections){const top=el.getBoundingClientRect().top;if(top<=linePx&&(best===undefined||top>best.top)){best={top,el};}}const target=best!==undefined?best.el:sections[0];const value=target.getAttribute(\"data-scroll-section-color\");if(value===\"light\"||value===\"dark\"){setColor(prev=>prev===value?prev:value);}},[linePx]);useMotionValueEvent(scrollY,\"change\",evaluate);useEffect(()=>{evaluate();window.addEventListener(\"resize\",evaluate);return()=>window.removeEventListener(\"resize\",evaluate);},[evaluate]);return color;}/**\n * Reads the live height of the hero-bounds marker (see\n * HeroBoundsMarker.tsx), multiplied by `factor`, so the reveal\n * threshold matches exactly when ScrollLogo's dock animation completes\n * (same heroBoundsId + same factor there, including the same delayed\n * re-measure after webfonts settle — without it this can drift out of\n * sync with ScrollLogo's own threshold and reveal too early/late).\n */function useHeroScrollRange(heroBoundsId,factor,fallback){const[range,setRange]=useState(fallback);const measure=useCallback(()=>{if(typeof document===\"undefined\")return;const el=document.getElementById(heroBoundsId);if(!el)return;const h=el.getBoundingClientRect().height*factor;if(h>0)setRange(prev=>prev===h?prev:h);},[heroBoundsId,factor]);useEffect(()=>{measure();const settleTimer=window.setTimeout(measure,400);window.addEventListener(\"resize\",measure);return()=>{window.clearTimeout(settleTimer);window.removeEventListener(\"resize\",measure);};},[measure]);return range;}/**\n * Whether a hero-bounds marker exists anywhere on the current page.\n * Defaults to true (assume a hero exists, keep the normal scroll-fade\n * behavior) and only flips to false after a delayed re-check confirms\n * no such element ever showed up — a single synchronous check on mount\n * can race the hero marker's own mount order and wrongly conclude \"no\n * hero\" on a page that actually has one (same fix as LogoSlotMarker).\n */function useHasHero(heroBoundsId){const[hasHero,setHasHero]=useState(true);useEffect(()=>{if(typeof document===\"undefined\")return undefined;const check=()=>setHasHero(!!document.getElementById(heroBoundsId));check();const settleTimer=window.setTimeout(check,400);return()=>window.clearTimeout(settleTimer);},[heroBoundsId]);return hasHero;}/**\n * Hidden until the page has scrolled past `threshold` px, at which\n * point it's considered \"revealed\" — reversible, so scrolling back\n * above the threshold hides it again (stays consistent with the rest\n * of this project's continuous, scrubbable scroll-linked behavior).\n */function useScrollReveal(threshold){const[revealed,setRevealed]=useState(threshold<=0);const{scrollY}=useScroll();const evaluate=useCallback(()=>{const next=scrollY.get()>=threshold;setRevealed(prev=>prev===next?prev:next);},[threshold]);useMotionValueEvent(scrollY,\"change\",evaluate);useEffect(()=>{evaluate();},[evaluate]);return revealed;}/**\n * Replaces the site header's native \"Home / Work / About / Process /\n * Contact\" text layer so its color can react to what's currently behind\n * the fixed header (same light/dark scroll-spy as ScrollLogo). `items`\n * takes \"Label|href\" pairs separated by commas.\n *\n * Each link also swaps to a fixed `hoverColor` while the cursor is over\n * it, regardless of the current light/dark section color, reverting to\n * that section color on mouse-leave. Hover state is tracked per link\n * index so only the hovered one changes.\n *\n * On a page with a hero section, hidden until the hero has scrolled\n * past `heroRangeFactor` of its own height, then fades in over\n * `revealDuration`. On a page with no hero section at all (confirmed\n * via `heroBoundsId`, see useHasHero), rendered fully visible from the\n * very first paint with no fade — there's no scroll-driven reveal\n * moment to wait for on those pages.\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function DynamicNav(props){const{items,headerHeight,lightColor,darkColor,hoverColor,gap,fontSize,fontFamily,heroBoundsId,heroRangeFactor,revealScrollY,revealDuration}=props;const activeColor=useActiveSectionColor(headerHeight,\"light\");const color=activeColor===\"dark\"?lightColor:darkColor;const hasHero=useHasHero(heroBoundsId);const heroRange=useHeroScrollRange(heroBoundsId,heroRangeFactor,revealScrollY);const revealed=useScrollReveal(heroRange);const[hoveredIndex,setHoveredIndex]=useState(null);const links=items.split(\",\").map(entry=>{const[label,href]=entry.split(\"|\").map(part=>part.trim());return{label,href:href||\"#\"};}).filter(link=>link.label);const linkStyleFor=index=>({color:hoveredIndex===index?hoverColor:color,transition:\"color 0.3s ease\",fontFamily,fontSize,textDecoration:\"none\",whiteSpace:\"nowrap\"});const linkProps=index=>({onMouseEnter:()=>setHoveredIndex(index),onMouseLeave:()=>setHoveredIndex(prev=>prev===index?null:prev)});if(!hasHero){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap,height:\"100%\"},children:links.map(({label,href},index)=>/*#__PURE__*/_jsx(\"a\",{href:href,style:linkStyleFor(index),...linkProps(index),children:label},label))});}return /*#__PURE__*/_jsx(motion.div,{initial:{opacity:0},animate:{opacity:revealed?1:0},transition:{duration:revealDuration,ease:\"easeOut\"},style:{display:\"flex\",alignItems:\"center\",gap,height:\"100%\",pointerEvents:revealed?\"auto\":\"none\"},children:links.map(({label,href},index)=>/*#__PURE__*/_jsx(\"a\",{href:href,style:linkStyleFor(index),...linkProps(index),children:label},label))});}addPropertyControls(DynamicNav,{items:{type:ControlType.String,defaultValue:\"Home|/#opening, Work|/#work, About|/#opening, Process|/#opening, Contact|/#opening\"},headerHeight:{type:ControlType.Number,defaultValue:70,min:40,max:200},lightColor:{type:ControlType.Color,defaultValue:\"#E6E6E6\"},darkColor:{type:ControlType.Color,defaultValue:\"#171717\"},hoverColor:{type:ControlType.Color,defaultValue:\"#6B7D63\"},gap:{type:ControlType.Number,defaultValue:26,min:0,max:80},fontSize:{type:ControlType.Number,defaultValue:15,min:8,max:24},fontFamily:{type:ControlType.String,defaultValue:\"Inter, sans-serif\"},heroBoundsId:{type:ControlType.String,defaultValue:\"hero-bounds\"},heroRangeFactor:{type:ControlType.Number,defaultValue:.8,min:.1,max:1,step:.05},revealScrollY:{type:ControlType.Number,defaultValue:250,min:0,max:2e3},revealDuration:{type:ControlType.Number,defaultValue:.8,min:.1,max:3,step:.1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DynamicNav\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DynamicNav.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useCallback,useEffect,useLayoutEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{useScroll,useMotionValueEvent}from\"framer-motion\";/**\n * Duplicated from ScrollLogo.tsx on purpose (see that file's notes).\n */function useActiveSectionColor(linePx,initialColor){const[color,setColor]=useState(initialColor);const{scrollY}=useScroll();const evaluate=useCallback(()=>{if(typeof document===\"undefined\")return;const sections=Array.from(document.querySelectorAll(\"[data-scroll-section-color]\"));if(sections.length===0)return;let best;for(const el of sections){const top=el.getBoundingClientRect().top;if(top<=linePx&&(best===undefined||top>best.top)){best={top,el};}}const target=best!==undefined?best.el:sections[0];const value=target.getAttribute(\"data-scroll-section-color\");if(value===\"light\"||value===\"dark\"){setColor(prev=>prev===value?prev:value);}},[linePx]);useMotionValueEvent(scrollY,\"change\",evaluate);useEffect(()=>{evaluate();window.addEventListener(\"resize\",evaluate);return()=>window.removeEventListener(\"resize\",evaluate);},[evaluate]);return color;}/**\n * Target placed in the center of the fixed header. Its rendered box\n * (set via this instance's width/height in Framer) defines exactly\n * where and at what size the scrolling \"MISC\" logo should land.\n * ScrollLogo looks it up at runtime via `document.getElementById(slotId)`\n * — on a page with a hero section this div stays empty and invisible,\n * ScrollLogo animates on top of it.\n *\n * On a page with no hero section at all (nothing will ever dock here),\n * this same div instead renders a plain static \"MISC\" wordmark, sized\n * with the exact same math ScrollLogo itself uses (measure the same\n * `heroFontSize` text, then scale it down to fill this box) so it\n * lands at an identical pixel size everywhere. This lives in the same\n * single node as the marker (not a separate sibling instance) so it\n * can never shift the header's centering by reserving extra space of\n * its own.\n *\n * The hero-presence check defaults to \"assume a hero exists\" (stay\n * blank) and only flips to the static fallback after a delayed\n * re-check confirms no hero marker ever showed up — a single\n * synchronous check on mount raced HeroBoundsMarker's own mount order\n * and could wrongly conclude \"no hero\" on the homepage itself,\n * showing the static text on top of the real animating ScrollLogo.\n *\n * The logo is also the \"home\" button: on a page with no hero it's a\n * link to `homeHref` (\"/\"); on the home page (the hero page) the empty\n * slot — which the pointer-events:none ScrollLogo animates over, so\n * clicks pass through to it — smooth-scrolls back to the top.\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function LogoSlotMarker(props){const{slotId,text,heroFontSize,letterSpacing,heroBoundsId,headerHeight,lightColor,darkColor,fontFamily}=props;const[hasHero,setHasHero]=useState(true);const[scale,setScale]=useState(1);const boxRef=useRef(null);const sizerRef=useRef(null);const activeColor=useActiveSectionColor(headerHeight,\"light\");const color=activeColor===\"dark\"?lightColor:darkColor;const letterSpacingValue=`${letterSpacing}em`;useEffect(()=>{if(typeof document===\"undefined\")return undefined;const checkHero=()=>setHasHero(!!document.getElementById(heroBoundsId));checkHero();// Re-check after other components have had time to mount —\n// matches the settle delay used elsewhere in this project for\n// exactly this kind of cross-component DOM lookup.\nconst settleTimer=window.setTimeout(checkHero,400);return()=>window.clearTimeout(settleTimer);},[heroBoundsId]);const measure=useCallback(()=>{if(!boxRef.current||!sizerRef.current)return;const boxWidth=boxRef.current.getBoundingClientRect().width;const sizerWidth=sizerRef.current.getBoundingClientRect().width;if(boxWidth>0&&sizerWidth>0){setScale(prev=>{const next=boxWidth/sizerWidth;return prev===next?prev:next;});}},[]);useLayoutEffect(()=>{if(hasHero)return undefined;measure();const fontLoadTimer=window.setTimeout(measure,300);window.addEventListener(\"resize\",measure);return()=>{window.clearTimeout(fontLoadTimer);window.removeEventListener(\"resize\",measure);};},[measure,hasHero,text,heroFontSize,letterSpacing,fontFamily]);if(hasHero){return /*#__PURE__*/_jsx(\"div\",{id:slotId,onClick:()=>window.scrollTo({top:0,behavior:\"smooth\"}),style:{width:\"100%\",height:\"100%\",cursor:\"pointer\"}});}return /*#__PURE__*/_jsx(\"a\",{href:\"/\",\"aria-label\":\"Home\",style:{display:\"block\",width:\"100%\",height:\"100%\",textDecoration:\"none\",cursor:\"pointer\"},children:/*#__PURE__*/_jsxs(\"div\",{id:slotId,ref:boxRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"visible\"},children:[/*#__PURE__*/_jsx(\"span\",{ref:sizerRef,style:{position:\"absolute\",visibility:\"hidden\",display:\"inline-block\",top:0,left:0,fontFamily,fontSize:heroFontSize,fontWeight:500,letterSpacing:letterSpacingValue,lineHeight:1,whiteSpace:\"nowrap\"},children:text}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",top:0,left:0,transformOrigin:\"top left\",transform:`scale(${scale})`,fontFamily,fontSize:heroFontSize,fontWeight:500,letterSpacing:letterSpacingValue,lineHeight:1,color,transition:\"color 0.3s ease\",whiteSpace:\"nowrap\"},children:text})]})});}addPropertyControls(LogoSlotMarker,{slotId:{type:ControlType.String,defaultValue:\"header-logo-slot\"},text:{type:ControlType.String,defaultValue:\"MISC\"},heroFontSize:{type:ControlType.Number,defaultValue:288,min:20,max:400},letterSpacing:{type:ControlType.Number,defaultValue:.05,min:-.1,max:.5,step:.01},heroBoundsId:{type:ControlType.String,defaultValue:\"hero-bounds\"},headerHeight:{type:ControlType.Number,defaultValue:72,min:40,max:200},lightColor:{type:ControlType.Color,defaultValue:\"#E6E6E6\"},darkColor:{type:ControlType.Color,defaultValue:\"#171717\"},fontFamily:{type:ControlType.String,defaultValue:\"'Bodoni Moda', serif\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LogoSlotMarker\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LogoSlotMarker.map","// Generated by Framer (0e6a859)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,getFontsFromSharedStyle,getLoadingLazyAtYPosition,Image as Image1,Link,RenderTarget,RichText,SVG,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import DynamicInstagramIcon from\"#framer/local/codeFile/qgILg8o/DynamicInstagramIcon.js\";import DynamicNav from\"#framer/local/codeFile/X4NVxf_/DynamicNav.js\";import LogoSlotMarker from\"#framer/local/codeFile/Ftwlqsh/LogoSlotMarker.js\";import*as sharedStyle from\"#framer/local/css/gFzIeDJjL/gFzIeDJjL.js\";const DynamicNavFonts=getFonts(DynamicNav);const LogoSlotMarkerFonts=getFonts(LogoSlotMarker);const DynamicInstagramIconFonts=getFonts(DynamicInstagramIcon);const breakpoints={};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-EBDBc\";const variantClassNames={q6so9EENq:\"framer-v-l4gts\"};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\".framer-EBDBc.framer-85ya9h, .framer-EBDBc .framer-85ya9h { display: block; }\",\".framer-EBDBc.framer-l4gts { align-content: center; align-items: center; background-color: var(--token-56244244-70db-4364-a9f3-ae4d27ee4c5f); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-EBDBc .framer-2kxngs { align-content: center; align-items: center; background-color: rgba(0, 0, 0, 0); display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; left: 0px; order: -1000; overflow: var(--overflow-clip-fallback, clip); padding: 24px 36px 24px 36px; position: var(--framer-canvas-fixed-position, fixed); top: 0px; width: 100%; z-index: 5; }\",\".framer-EBDBc .framer-17adelm { align-content: center; align-items: center; background-color: rgba(0, 0, 0, 0); display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: 1px; }\",\".framer-EBDBc .framer-rhumrh-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-EBDBc .framer-sh0fmh { align-content: center; align-items: center; background-color: rgba(0, 0, 0, 0); display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; padding: 0px; position: relative; width: min-content; }\",\".framer-EBDBc .framer-t5wpxz-container { flex: none; height: 32px; position: relative; width: 96px; }\",\".framer-EBDBc .framer-136g6kj { align-content: center; align-items: center; background-color: rgba(0, 0, 0, 0); display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-end; padding: 0px; position: relative; width: 1px; }\",\".framer-EBDBc .framer-ikszlu-container { flex: none; height: 18px; position: relative; width: 18px; }\",\".framer-EBDBc .framer-1gan8h6 { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-EBDBc .framer-1gwd4zd { --border-bottom-width: 0px; --border-color: rgba(245, 244, 240, 0.16); --border-left-width: 0px; --border-right-width: 0px; --border-style: solid; --border-top-width: 1px; align-content: center; align-items: center; background-color: var(--token-56244244-70db-4364-a9f3-ae4d27ee4c5f, #e6e6e6); display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: 280px; justify-content: space-between; max-width: 1440px; order: 1002; overflow: var(--overflow-clip-fallback, clip); padding: 56px 36px 56px 36px; position: relative; width: 100%; }\",\".framer-EBDBc .framer-miks0s { align-content: flex-start; align-items: flex-start; background-color: rgba(0, 0, 0, 0); display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; height: 100%; justify-content: space-between; padding: 0px; position: relative; width: min-content; }\",\".framer-EBDBc .framer-1biug3a { align-content: flex-start; align-items: flex-start; background-color: rgba(0, 0, 0, 0); display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: min-content; }\",\".framer-EBDBc .framer-19c8c3t, .framer-EBDBc .framer-14swevv, .framer-EBDBc .framer-pr50po, .framer-EBDBc .framer-ak86o7 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-EBDBc .framer-1npz77i { height: 10px; left: 1099px; position: absolute; top: 154px; width: 10px; }\",\".framer-EBDBc .framer-iehajm { aspect-ratio: 1.333 / 1; flex: none; height: auto; overflow: visible; position: relative; width: 160px; z-index: 1; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }',...sharedStyle.css,'.framer-EBDBc[data-border=\"true\"]::after, .framer-EBDBc [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,isLayoutTemplate:true,primaryVariantId:\"q6so9EENq\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-56244244-70db-4364-a9f3-ae4d27ee4c5f); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-l4gts\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsxs(motion.header,{className:\"framer-2kxngs\",\"data-framer-name\":\"Site Header\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"framer-17adelm\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-rhumrh-container\",\"data-code-component-plugin-id\":\"mcp001\",isAuthoredByUser:true,nodeId:\"AZ66Y0H0T\",scopeId:\"mG3l9I_cq\",children:/*#__PURE__*/_jsx(DynamicNav,{darkColor:\"rgb(23, 23, 23)\",fontFamily:\"Inter, sans-serif\",fontSize:15,gap:12,headerHeight:70,height:\"100%\",heroBoundsId:\"hero-bounds\",heroRangeFactor:.8,hoverColor:\"rgb(107, 125, 99)\",id:\"AZ66Y0H0T\",items:\"Work|/work, Process|/#opening, About|/about-us, Contact|/#opening\",layoutId:\"AZ66Y0H0T\",lightColor:\"rgb(230, 230, 230)\",revealDuration:.8,revealScrollY:250,width:\"100%\"})})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-sh0fmh\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-t5wpxz-container\",\"data-code-component-plugin-id\":\"mcp001\",isAuthoredByUser:true,nodeId:\"mH4UrW4of\",scopeId:\"mG3l9I_cq\",children:/*#__PURE__*/_jsx(LogoSlotMarker,{darkColor:\"var(--token-35f3da73-2fbd-4fec-98b5-2041adb68a9f, rgb(51, 162, 0))\",fontFamily:\"'Bodoni Moda', serif\",headerHeight:72,height:\"100%\",heroBoundsId:\"hero-bounds\",heroFontSize:288,id:\"mH4UrW4of\",layoutId:\"mH4UrW4of\",letterSpacing:.05,lightColor:\"rgb(230, 230, 230)\",slotId:\"header-logo-slot\",style:{height:\"100%\",width:\"100%\"},text:\"MISC\",width:\"100%\"})})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-136g6kj\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-ikszlu-container\",\"data-code-component-plugin-id\":\"mcp001\",isAuthoredByUser:true,nodeId:\"GDuF1wlwt\",scopeId:\"mG3l9I_cq\",children:/*#__PURE__*/_jsx(DynamicInstagramIcon,{darkColor:\"rgb(23, 23, 23)\",headerHeight:70,height:\"100%\",heroBoundsId:\"hero-bounds\",heroRangeFactor:.8,hoverColor:\"rgb(107, 125, 99)\",href:\"https://instagram.com\",id:\"GDuF1wlwt\",layoutId:\"GDuF1wlwt\",lightColor:\"rgb(230, 230, 230)\",revealDuration:.8,revealScrollY:250,size:18,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})]}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1gan8h6\"}),/*#__PURE__*/_jsxs(motion.footer,{className:\"framer-1gwd4zd\",\"data-border\":true,\"data-framer-name\":\"Site Footer\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-miks0s\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1biug3a\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"R0Y7Qm9kb25pIE1vZGEtNTAw\",\"--framer-font-family\":'\"Bodoni Moda\", \"Bodoni Moda Placeholder\", serif',\"--framer-font-size\":\"13px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"1.5px\",\"--framer-line-height\":\"1em\",\"--framer-text-color\":\"var(--token-ce0cba95-4c03-4d01-9fac-65fc30bf17f5, rgb(23, 23, 23))\"},children:\"MISC\"})}),className:\"framer-19c8c3t\",\"data-framer-name\":\"MISC\",fonts:[\"GF;Bodoni Moda-500\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-font-size\":\"12px\",\"--framer-line-height\":\"1.4em\",\"--framer-text-color\":\"var(--token-a1e9384e-39f9-4013-8640-1722d34d5113)\"},children:\"Work  /  Process  /  About  /  Contact  /  Instagram\"})}),className:\"framer-14swevv\",\"data-framer-name\":\"Footer Navigation\",fonts:[\"GF;Inter-regular\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-font-size\":\"12px\",\"--framer-text-color\":\"var(--token-a1e9384e-39f9-4013-8640-1722d34d5113, rgb(146, 140, 132))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"CXpzTM7cf\"},motionChild:true,nodeId:\"gyH1_7WHn\",openInNewTab:false,relValues:[],scopeId:\"mG3l9I_cq\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-e8aq5u\",\"data-styles-preset\":\"gFzIeDJjL\",children:\"Privacy Policy\"})})})}),className:\"framer-pr50po\",fonts:[\"GF;Inter-regular\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{dir:\"auto\",style:{\"--font-selector\":\"R0Y7SW50ZXItcmVndWxhcg==\",\"--framer-font-size\":\"11px\",\"--framer-line-height\":\"1em\",\"--framer-text-color\":\"var(--token-a1e9384e-39f9-4013-8640-1722d34d5113)\"},children:\"\\xa9 2026 MISC. All rights reserved.\"})}),className:\"framer-ak86o7\",\"data-framer-name\":\"Copyright\",fonts:[\"GF;Inter-regular\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1npz77i\",radius:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 10 10\" overflow=\"visible\"><path d=\"M 0 1 C 0 0.448 0.448 0 1 0 C 2.916 0 7.084 0 9 0 C 9.552 0 10 0.448 10 1 C 10 2.916 10 7.084 10 9 C 10 9.552 9.552 10 9 10 C 7.084 10 2.916 10 1 10 C 0.448 10 0 9.552 0 9 C 0 7.084 0 2.916 0 1 Z\" fill=\"var(--token-35f3da73-2fbd-4fec-98b5-2041adb68a9f, rgb(51, 162, 0)) /* {&quot;name&quot;:&quot;Accent&quot;} */\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:1194.5,intrinsicWidth:1600,loading:getLoadingLazyAtYPosition(1080),pixelHeight:2389,pixelWidth:3200,sizes:\"160px\",src:\"https://framerusercontent.com/images/Ij6PrNuVm0bKK0nLaWVH4YTCvwA.svg?width=3200&height=2389\",srcSet:\"https://framerusercontent.com/images/Ij6PrNuVm0bKK0nLaWVH4YTCvwA.svg?scale-down-to=512&width=3200&height=2389 512w,https://framerusercontent.com/images/Ij6PrNuVm0bKK0nLaWVH4YTCvwA.svg?scale-down-to=1024&width=3200&height=2389 1024w,https://framerusercontent.com/images/Ij6PrNuVm0bKK0nLaWVH4YTCvwA.svg?scale-down-to=2048&width=3200&height=2389 2048w,https://framerusercontent.com/images/Ij6PrNuVm0bKK0nLaWVH4YTCvwA.svg?width=3200&height=2389 3200w\"},className:\"framer-iehajm\",\"data-framer-name\":\"Hf 20260910_102000_61ebc668-3b80-4056-802b-8a030501bfa2\"})]})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=breakpointRules[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 800\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"q6so9EENq\":[\".framer-2kxngs\",\".framer-1gwd4zd\"]}\n * @framerBreakpoints {\"q6so9EENq\":{\"canvasClassName\":\"framer-l4gts-override\",\"minHeight\":800,\"viewportHeight\":800,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16}}\n * @framerDefaultVariant q6so9EENq\n * @framerLayoutTemplate true\n */const FramermG3l9I_cq=withCSS(Component,css,\"framer-EBDBc\");export default FramermG3l9I_cq;FramermG3l9I_cq.displayName=\"MISC Shared Layout\";FramermG3l9I_cq.defaultProps={height:800,width:1200};addFonts(FramermG3l9I_cq,[{explicitInter:true,fonts:[{cssFamilyName:\"Bodoni Moda\",source:\"google\",style:\"normal\",uiFamilyName:\"Bodoni Moda\",url:\"https://fonts.gstatic.com/s/bodonimoda/v28/aFT67PxzY382XsXX63LUYL6GYFcan6NJrKp-VPjfJMShrpsGFUt8oXzawIVytVjMYwE.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"google\",style:\"normal\",uiFamilyName:\"Inter\",url:\"https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZ1rib2Bg-4.woff2\",weight:\"400\"}]},...DynamicNavFonts,...LogoSlotMarkerFonts,...DynamicInstagramIconFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramermG3l9I_cq\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerBreakpoints\":\"{\\\"q6so9EENq\\\":{\\\"canvasClassName\\\":\\\"framer-l4gts-override\\\",\\\"minHeight\\\":800,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16}}\",\"framerDisplayContentsDiv\":\"false\",\"framerHitTargets\":\"{\\\"q6so9EENq\\\":[\\\".framer-2kxngs\\\",\\\".framer-1gwd4zd\\\"]}\",\"framerIntrinsicWidth\":\"1200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicHeight\":\"800\",\"framerAutoSizeImages\":\"true\",\"framerDefaultVariant\":\"q6so9EENq\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerLayoutTemplate\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport MISCSharedLayout from \"https://framerusercontent.com/modules/UvrCfvKYUZg8mObqIheJ/fQizmzKsRGZy14xRYKBO/mG3l9I_cq.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {uJdxJ2Kvh: \"opening-1\", xMsGM5crW: \"opening\", zC4GHQ6Lx: \"newsletter\", zfm5Etjer: \"work\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/sB7lKBquDPMeAf6keFDq/y6Kmusx6cTsrLplNNkMj/augiA20Il.js\")), path: \"/\"}, SdgmXFRmQ: {elements: {H6IQFbmMs: \"opening-1\", jsHJUluSX: \"work\", qQ8ZfPhEf: \"newsletter\", Z4HxLMGG7: \"opening\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ekxVn71MrB0SjDaFkrrg/UONm0elCI9uUPon5K9FR/SdgmXFRmQ.js\")), path: \"/home\"}, h9CqadqpJ: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/7qdvW5gLh7n31mMkCab1/hnIqgjQFSGHenZf3UTe1/h9CqadqpJ.js\")), path: \"/about-us\"}, O_YkM42aC: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/hoHYoAm5sc1n7MWGH2cG/8m6sD3aKeWv0cXZ8YHsA/O_YkM42aC.js\")), path: \"/process\"}, OQTUzOIbQ: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/V0XI8MmA2Oxfo32EV08S/ywgfEHlD2nmwOm8pUmQn/OQTUzOIbQ.js\")), path: \"/contact\"}, gtzh93OIx: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/YGmWvsi8UpY5t1kQxVts/rcZIGEJUFPJ2NfyH9xqO/gtzh93OIx.js\")), path: \"/privacy-policy\"}, eIAgnUmNy: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/w34VxBSuDj90x7dkL4K1/jHDKAglg03yS3NzaGQDx/eIAgnUmNy.js\")), path: \"/work\"}}\r\n\r\n\t\tconst locales = [{code: \"en\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {}\r\n\t\tconst serverDatabaseClient = undefined\r\n\t\tconst framerSiteId = \"f6b53740c133f2a562096cef563929a66e5c2579c6d48677bd2aa2183df6989d\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"SdgmXFRmQ\":\r\ncase \"h9CqadqpJ\":\r\ncase \"O_YkM42aC\":\r\ncase \"OQTUzOIbQ\":\r\ncase \"gtzh93OIx\":\r\ncase \"eIAgnUmNy\":\r\nreturn React.createElement(MISCSharedLayout, {...props, key: \"MISCSharedLayout\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"SdgmXFRmQ\":\r\ncase \"h9CqadqpJ\":\r\ncase \"O_YkM42aC\":\r\ncase \"OQTUzOIbQ\":\r\ncase \"gtzh93OIx\":\r\ncase \"eIAgnUmNy\":\r\nreturn [{hash: \"l4gts\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\t\r\n\t\t\r\n\r\n\t\texport async function getPageRoot({\r\n\t\t\trouteId,\r\n\t\t\tpathVariables,\r\n\t\t\tcanonicalPathVariables,\r\n\t\t\tlocaleId,\r\n\t\t\tcollectionItemId,\r\n\t\t\tcontentLocaleId,\r\n\t\t\tshouldResolveInitialRouteContentState = false,\r\n\t\t}) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\t\r\n\r\n\t\t\tFramer.setLibraryFeatures({checkServerSideRouter: true, disableCustomCode: false, disableHoverOnMobile: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageRichTextBlockSelection: true, scrollRestoration: true, synchronousNavigationOnDesktop: false, yieldOnTap: false})\r\n\t\t\tFramer.setCurrentSiteId(framerSiteId)\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tserverDatabaseClient,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n\t\t\t\t\tisReducedMotion: undefined,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://miscsound.com\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: true,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/Q74MFx2K23ViC3DeZN0e/xAAkGd02j0ebN0yhJdxb/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t\tinitialContentLocaleIdOverride: contentLocaleId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: content\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\t\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\t// Note: HTTPArchive also uses this function to detect Framer sites; see https://github.com/HTTPArchive/wappalyzer/blob/371a17583f74fd9171b9077f59a5619b24062891/src/technologies/f.json#L1722-L1748.\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, contentLocaleId, pathVariables, canonicalPathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tcontentLocaleId = routeData.contentLocaleId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tcanonicalPathVariables = routeData.canonicalPathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\t\t\t\t\tconst serverRoute = performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tcontentLocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\tcollectionItemId: shouldHydrate ? routeData?.collectionItemId : undefined,\r\n\t\t\t\t\tshouldResolveInitialRouteContentState: !shouldHydrate,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\t\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\tconst utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\tconst [slug] = Object.values(pathVariables)\r\n\t\t\tif (utils && typeof slug === \"string\") {\r\n\t\t\t\tcollectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tFramer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t"],"mappings":"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"}