{"version":3,"file":"script_main.BMm5XEVb.mjs","names":["x","d","debounce","useRef","_Fragment","Children","Component","useRef","useState","addPropertyOverrides","PageWrapperPaddingFonts","PageWrapperPadding","MiscPillCtaFonts","MiscPillCta","cycleOrder","serializationHash","variantClassNames","transition1","transition2","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","PageWrapperPadding","MiscPillCta","serializationHash","variantClassNames","React.useContext","React.useMemo","React.Fragment","humanReadableVariantMap","getProps","useRef","React.useId","Desktop","Lenis","Mobile","isBrowser","Component","useRef","React.useId","PropertyOverrides","React.createElement","Main","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","Framer.LibraryFeaturesProvider","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","breakpoints","Framer.patchRoutesForABTesting","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/unpkg.com/lenis@1.3.8/dist/lenis.mjs","https:/unpkg.com/lenis@1.3.8/dist/lenis-snap.mjs","https:/framerusercontent.com/modules/bSeEZJm22jsjERCOGQvq/ewEgVFDJmU5IWGjRz6lM/Lenis.js","https:/framerusercontent.com/modules/nQ5MoAD9i53uM9hSQHd4/bA8TzCbLzqjskj5Kof8U/Custom_header.js","https:/framerusercontent.com/modules/QqJgRh1DmABvR8uWZXe9/UmXyzTcqHEEUebbRxRn6/cRpOWIwj5.js","https:/framerusercontent.com/modules/lmA3L7mWhwXVoPD6Hsbk/pFusv1zjJafglu3HRO8v/L5Ni1IYJ9.js","https:/framerusercontent.com/modules/hmfSlCTQ0lRGgCkheQD0/Oq2w84fX1de4bPAZctjH/kSVXYVI9Q.js","framer:toplevel/main"],"sourcesContent":["// package.json\nvar version = \"1.3.8\";\n\n// packages/core/src/maths.ts\nfunction clamp(min, input, max) {\n  return Math.max(min, Math.min(input, max));\n}\nfunction lerp(x, y, t) {\n  return (1 - t) * x + t * y;\n}\nfunction damp(x, y, lambda, deltaTime) {\n  return lerp(x, y, 1 - Math.exp(-lambda * deltaTime));\n}\nfunction modulo(n, d) {\n  return (n % d + d) % d;\n}\n\n// packages/core/src/animate.ts\nvar Animate = class {\n  isRunning = false;\n  value = 0;\n  from = 0;\n  to = 0;\n  currentTime = 0;\n  // These are instanciated in the fromTo method\n  lerp;\n  duration;\n  easing;\n  onUpdate;\n  /**\n   * Advance the animation by the given delta time\n   *\n   * @param deltaTime - The time in seconds to advance the animation\n   */\n  advance(deltaTime) {\n    if (!this.isRunning) return;\n    let completed = false;\n    if (this.duration && this.easing) {\n      this.currentTime += deltaTime;\n      const linearProgress = clamp(0, this.currentTime / this.duration, 1);\n      completed = linearProgress >= 1;\n      const easedProgress = completed ? 1 : this.easing(linearProgress);\n      this.value = this.from + (this.to - this.from) * easedProgress;\n    } else if (this.lerp) {\n      this.value = damp(this.value, this.to, this.lerp * 60, deltaTime);\n      if (Math.round(this.value) === this.to) {\n        this.value = this.to;\n        completed = true;\n      }\n    } else {\n      this.value = this.to;\n      completed = true;\n    }\n    if (completed) {\n      this.stop();\n    }\n    this.onUpdate?.(this.value, completed);\n  }\n  /** Stop the animation */\n  stop() {\n    this.isRunning = false;\n  }\n  /**\n   * Set up the animation from a starting value to an ending value\n   * with optional parameters for lerping, duration, easing, and onUpdate callback\n   *\n   * @param from - The starting value\n   * @param to - The ending value\n   * @param options - Options for the animation\n   */\n  fromTo(from, to, { lerp: lerp2, duration, easing, onStart, onUpdate }) {\n    this.from = this.value = from;\n    this.to = to;\n    this.lerp = lerp2;\n    this.duration = duration;\n    this.easing = easing;\n    this.currentTime = 0;\n    this.isRunning = true;\n    onStart?.();\n    this.onUpdate = onUpdate;\n  }\n};\n\n// packages/core/src/debounce.ts\nfunction debounce(callback, delay) {\n  let timer;\n  return function(...args) {\n    let context = this;\n    clearTimeout(timer);\n    timer = setTimeout(() => {\n      timer = void 0;\n      callback.apply(context, args);\n    }, delay);\n  };\n}\n\n// packages/core/src/dimensions.ts\nvar Dimensions = class {\n  constructor(wrapper, content, { autoResize = true, debounce: debounceValue = 250 } = {}) {\n    this.wrapper = wrapper;\n    this.content = content;\n    if (autoResize) {\n      this.debouncedResize = debounce(this.resize, debounceValue);\n      if (this.wrapper instanceof Window) {\n        window.addEventListener(\"resize\", this.debouncedResize, false);\n      } else {\n        this.wrapperResizeObserver = new ResizeObserver(this.debouncedResize);\n        this.wrapperResizeObserver.observe(this.wrapper);\n      }\n      this.contentResizeObserver = new ResizeObserver(this.debouncedResize);\n      this.contentResizeObserver.observe(this.content);\n    }\n    this.resize();\n  }\n  width = 0;\n  height = 0;\n  scrollHeight = 0;\n  scrollWidth = 0;\n  // These are instanciated in the constructor as they need information from the options\n  debouncedResize;\n  wrapperResizeObserver;\n  contentResizeObserver;\n  destroy() {\n    this.wrapperResizeObserver?.disconnect();\n    this.contentResizeObserver?.disconnect();\n    if (this.wrapper === window && this.debouncedResize) {\n      window.removeEventListener(\"resize\", this.debouncedResize, false);\n    }\n  }\n  resize = () => {\n    this.onWrapperResize();\n    this.onContentResize();\n  };\n  onWrapperResize = () => {\n    if (this.wrapper instanceof Window) {\n      this.width = window.innerWidth;\n      this.height = window.innerHeight;\n    } else {\n      this.width = this.wrapper.clientWidth;\n      this.height = this.wrapper.clientHeight;\n    }\n  };\n  onContentResize = () => {\n    if (this.wrapper instanceof Window) {\n      this.scrollHeight = this.content.scrollHeight;\n      this.scrollWidth = this.content.scrollWidth;\n    } else {\n      this.scrollHeight = this.wrapper.scrollHeight;\n      this.scrollWidth = this.wrapper.scrollWidth;\n    }\n  };\n  get limit() {\n    return {\n      x: this.scrollWidth - this.width,\n      y: this.scrollHeight - this.height\n    };\n  }\n};\n\n// packages/core/src/emitter.ts\nvar Emitter = class {\n  events = {};\n  /**\n   * Emit an event with the given data\n   * @param event Event name\n   * @param args Data to pass to the event handlers\n   */\n  emit(event, ...args) {\n    let callbacks = this.events[event] || [];\n    for (let i = 0, length = callbacks.length; i < length; i++) {\n      callbacks[i]?.(...args);\n    }\n  }\n  /**\n   * Add a callback to the event\n   * @param event Event name\n   * @param cb Callback function\n   * @returns Unsubscribe function\n   */\n  on(event, cb) {\n    this.events[event]?.push(cb) || (this.events[event] = [cb]);\n    return () => {\n      this.events[event] = this.events[event]?.filter((i) => cb !== i);\n    };\n  }\n  /**\n   * Remove a callback from the event\n   * @param event Event name\n   * @param callback Callback function\n   */\n  off(event, callback) {\n    this.events[event] = this.events[event]?.filter((i) => callback !== i);\n  }\n  /**\n   * Remove all event listeners and clean up\n   */\n  destroy() {\n    this.events = {};\n  }\n};\n\n// packages/core/src/virtual-scroll.ts\nvar LINE_HEIGHT = 100 / 6;\nvar listenerOptions = { passive: false };\nvar VirtualScroll = class {\n  constructor(element, options = { wheelMultiplier: 1, touchMultiplier: 1 }) {\n    this.element = element;\n    this.options = options;\n    window.addEventListener(\"resize\", this.onWindowResize, false);\n    this.onWindowResize();\n    this.element.addEventListener(\"wheel\", this.onWheel, listenerOptions);\n    this.element.addEventListener(\n      \"touchstart\",\n      this.onTouchStart,\n      listenerOptions\n    );\n    this.element.addEventListener(\n      \"touchmove\",\n      this.onTouchMove,\n      listenerOptions\n    );\n    this.element.addEventListener(\"touchend\", this.onTouchEnd, listenerOptions);\n  }\n  touchStart = {\n    x: 0,\n    y: 0\n  };\n  lastDelta = {\n    x: 0,\n    y: 0\n  };\n  window = {\n    width: 0,\n    height: 0\n  };\n  emitter = new Emitter();\n  /**\n   * Add an event listener for the given event and callback\n   *\n   * @param event Event name\n   * @param callback Callback function\n   */\n  on(event, callback) {\n    return this.emitter.on(event, callback);\n  }\n  /** Remove all event listeners and clean up */\n  destroy() {\n    this.emitter.destroy();\n    window.removeEventListener(\"resize\", this.onWindowResize, false);\n    this.element.removeEventListener(\"wheel\", this.onWheel, listenerOptions);\n    this.element.removeEventListener(\n      \"touchstart\",\n      this.onTouchStart,\n      listenerOptions\n    );\n    this.element.removeEventListener(\n      \"touchmove\",\n      this.onTouchMove,\n      listenerOptions\n    );\n    this.element.removeEventListener(\n      \"touchend\",\n      this.onTouchEnd,\n      listenerOptions\n    );\n  }\n  /**\n   * Event handler for 'touchstart' event\n   *\n   * @param event Touch event\n   */\n  onTouchStart = (event) => {\n    const { clientX, clientY } = event.targetTouches ? event.targetTouches[0] : event;\n    this.touchStart.x = clientX;\n    this.touchStart.y = clientY;\n    this.lastDelta = {\n      x: 0,\n      y: 0\n    };\n    this.emitter.emit(\"scroll\", {\n      deltaX: 0,\n      deltaY: 0,\n      event\n    });\n  };\n  /** Event handler for 'touchmove' event */\n  onTouchMove = (event) => {\n    const { clientX, clientY } = event.targetTouches ? event.targetTouches[0] : event;\n    const deltaX = -(clientX - this.touchStart.x) * this.options.touchMultiplier;\n    const deltaY = -(clientY - this.touchStart.y) * this.options.touchMultiplier;\n    this.touchStart.x = clientX;\n    this.touchStart.y = clientY;\n    this.lastDelta = {\n      x: deltaX,\n      y: deltaY\n    };\n    this.emitter.emit(\"scroll\", {\n      deltaX,\n      deltaY,\n      event\n    });\n  };\n  onTouchEnd = (event) => {\n    this.emitter.emit(\"scroll\", {\n      deltaX: this.lastDelta.x,\n      deltaY: this.lastDelta.y,\n      event\n    });\n  };\n  /** Event handler for 'wheel' event */\n  onWheel = (event) => {\n    let { deltaX, deltaY, deltaMode } = event;\n    const multiplierX = deltaMode === 1 ? LINE_HEIGHT : deltaMode === 2 ? this.window.width : 1;\n    const multiplierY = deltaMode === 1 ? LINE_HEIGHT : deltaMode === 2 ? this.window.height : 1;\n    deltaX *= multiplierX;\n    deltaY *= multiplierY;\n    deltaX *= this.options.wheelMultiplier;\n    deltaY *= this.options.wheelMultiplier;\n    this.emitter.emit(\"scroll\", { deltaX, deltaY, event });\n  };\n  onWindowResize = () => {\n    this.window = {\n      width: window.innerWidth,\n      height: window.innerHeight\n    };\n  };\n};\n\n// packages/core/src/lenis.ts\nvar defaultEasing = (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t));\nvar Lenis = class {\n  _isScrolling = false;\n  // true when scroll is animating\n  _isStopped = false;\n  // true if user should not be able to scroll - enable/disable programmatically\n  _isLocked = false;\n  // same as isStopped but enabled/disabled when scroll reaches target\n  _preventNextNativeScrollEvent = false;\n  _resetVelocityTimeout = null;\n  __rafID = null;\n  /**\n   * Whether or not the user is touching the screen\n   */\n  isTouching;\n  /**\n   * The time in ms since the lenis instance was created\n   */\n  time = 0;\n  /**\n   * User data that will be forwarded through the scroll event\n   *\n   * @example\n   * lenis.scrollTo(100, {\n   *   userData: {\n   *     foo: 'bar'\n   *   }\n   * })\n   */\n  userData = {};\n  /**\n   * The last velocity of the scroll\n   */\n  lastVelocity = 0;\n  /**\n   * The current velocity of the scroll\n   */\n  velocity = 0;\n  /**\n   * The direction of the scroll\n   */\n  direction = 0;\n  /**\n   * The options passed to the lenis instance\n   */\n  options;\n  /**\n   * The target scroll value\n   */\n  targetScroll;\n  /**\n   * The animated scroll value\n   */\n  animatedScroll;\n  // These are instanciated here as they don't need information from the options\n  animate = new Animate();\n  emitter = new Emitter();\n  // These are instanciated in the constructor as they need information from the options\n  dimensions;\n  // This is not private because it's used in the Snap class\n  virtualScroll;\n  constructor({\n    wrapper = window,\n    content = document.documentElement,\n    eventsTarget = wrapper,\n    smoothWheel = true,\n    syncTouch = false,\n    syncTouchLerp = 0.075,\n    touchInertiaExponent = 1.7,\n    duration,\n    // in seconds\n    easing,\n    lerp: lerp2 = 0.1,\n    infinite = false,\n    orientation = \"vertical\",\n    // vertical, horizontal\n    gestureOrientation = \"vertical\",\n    // vertical, horizontal, both\n    touchMultiplier = 1,\n    wheelMultiplier = 1,\n    autoResize = true,\n    prevent,\n    virtualScroll,\n    overscroll = true,\n    autoRaf = false,\n    anchors = false,\n    autoToggle = false,\n    // https://caniuse.com/?search=transition-behavior\n    allowNestedScroll = false,\n    __experimental__naiveDimensions = false\n  } = {}) {\n    window.lenisVersion = version;\n    if (!wrapper || wrapper === document.documentElement) {\n      wrapper = window;\n    }\n    if (typeof duration === \"number\" && typeof easing !== \"function\") {\n      easing = defaultEasing;\n    } else if (typeof easing === \"function\" && typeof duration !== \"number\") {\n      duration = 1;\n    }\n    this.options = {\n      wrapper,\n      content,\n      eventsTarget,\n      smoothWheel,\n      syncTouch,\n      syncTouchLerp,\n      touchInertiaExponent,\n      duration,\n      easing,\n      lerp: lerp2,\n      infinite,\n      gestureOrientation,\n      orientation,\n      touchMultiplier,\n      wheelMultiplier,\n      autoResize,\n      prevent,\n      virtualScroll,\n      overscroll,\n      autoRaf,\n      anchors,\n      autoToggle,\n      allowNestedScroll,\n      __experimental__naiveDimensions\n    };\n    this.dimensions = new Dimensions(wrapper, content, { autoResize });\n    this.updateClassName();\n    this.targetScroll = this.animatedScroll = this.actualScroll;\n    this.options.wrapper.addEventListener(\"scroll\", this.onNativeScroll, false);\n    this.options.wrapper.addEventListener(\"scrollend\", this.onScrollEnd, {\n      capture: true\n    });\n    if (this.options.anchors && this.options.wrapper === window) {\n      this.options.wrapper.addEventListener(\n        \"click\",\n        this.onClick,\n        false\n      );\n    }\n    this.options.wrapper.addEventListener(\n      \"pointerdown\",\n      this.onPointerDown,\n      false\n    );\n    this.virtualScroll = new VirtualScroll(eventsTarget, {\n      touchMultiplier,\n      wheelMultiplier\n    });\n    this.virtualScroll.on(\"scroll\", this.onVirtualScroll);\n    if (this.options.autoToggle) {\n      this.rootElement.addEventListener(\"transitionend\", this.onTransitionEnd, {\n        passive: true\n      });\n    }\n    if (this.options.autoRaf) {\n      this.__rafID = requestAnimationFrame(this.raf);\n    }\n  }\n  /**\n   * Destroy the lenis instance, remove all event listeners and clean up the class name\n   */\n  destroy() {\n    this.emitter.destroy();\n    this.options.wrapper.removeEventListener(\n      \"scroll\",\n      this.onNativeScroll,\n      false\n    );\n    this.options.wrapper.removeEventListener(\"scrollend\", this.onScrollEnd, {\n      capture: true\n    });\n    this.options.wrapper.removeEventListener(\n      \"pointerdown\",\n      this.onPointerDown,\n      false\n    );\n    if (this.options.anchors && this.options.wrapper === window) {\n      this.options.wrapper.removeEventListener(\n        \"click\",\n        this.onClick,\n        false\n      );\n    }\n    this.virtualScroll.destroy();\n    this.dimensions.destroy();\n    this.cleanUpClassName();\n    if (this.__rafID) {\n      cancelAnimationFrame(this.__rafID);\n    }\n  }\n  on(event, callback) {\n    return this.emitter.on(event, callback);\n  }\n  off(event, callback) {\n    return this.emitter.off(event, callback);\n  }\n  onScrollEnd = (e) => {\n    if (!(e instanceof CustomEvent)) {\n      if (this.isScrolling === \"smooth\" || this.isScrolling === false) {\n        e.stopPropagation();\n      }\n    }\n  };\n  dispatchScrollendEvent = () => {\n    this.options.wrapper.dispatchEvent(\n      new CustomEvent(\"scrollend\", {\n        bubbles: this.options.wrapper === window,\n        // cancelable: false,\n        detail: {\n          lenisScrollEnd: true\n        }\n      })\n    );\n  };\n  onTransitionEnd = (event) => {\n    if (event.propertyName.includes(\"overflow\")) {\n      const property = this.isHorizontal ? \"overflow-x\" : \"overflow-y\";\n      const overflow = getComputedStyle(this.rootElement)[property];\n      if ([\"hidden\", \"clip\"].includes(overflow)) {\n        this.internalStop();\n      } else {\n        this.internalStart();\n      }\n    }\n  };\n  setScroll(scroll) {\n    if (this.isHorizontal) {\n      this.options.wrapper.scrollTo({ left: scroll, behavior: \"instant\" });\n    } else {\n      this.options.wrapper.scrollTo({ top: scroll, behavior: \"instant\" });\n    }\n  }\n  onClick = (event) => {\n    const path = event.composedPath();\n    const anchor = path.find(\n      (node) => node instanceof HTMLAnchorElement && (node.getAttribute(\"href\")?.startsWith(\"#\") || node.getAttribute(\"href\")?.startsWith(\"/#\") || node.getAttribute(\"href\")?.startsWith(\"./#\"))\n    );\n    if (anchor) {\n      const id = anchor.getAttribute(\"href\");\n      if (id) {\n        const options = typeof this.options.anchors === \"object\" && this.options.anchors ? this.options.anchors : void 0;\n        let target = `#${id.split(\"#\")[1]}`;\n        if ([\"#\", \"/#\", \"./#\", \"#top\", \"/#top\", \"./#top\"].includes(id)) {\n          target = 0;\n        }\n        this.scrollTo(target, options);\n      }\n    }\n  };\n  onPointerDown = (event) => {\n    if (event.button === 1) {\n      this.reset();\n    }\n  };\n  onVirtualScroll = (data) => {\n    if (typeof this.options.virtualScroll === \"function\" && this.options.virtualScroll(data) === false)\n      return;\n    const { deltaX, deltaY, event } = data;\n    this.emitter.emit(\"virtual-scroll\", { deltaX, deltaY, event });\n    if (event.ctrlKey) return;\n    if (event.lenisStopPropagation) return;\n    const isTouch = event.type.includes(\"touch\");\n    const isWheel = event.type.includes(\"wheel\");\n    this.isTouching = event.type === \"touchstart\" || event.type === \"touchmove\";\n    const isClickOrTap = deltaX === 0 && deltaY === 0;\n    const isTapToStop = this.options.syncTouch && isTouch && event.type === \"touchstart\" && isClickOrTap && !this.isStopped && !this.isLocked;\n    if (isTapToStop) {\n      this.reset();\n      return;\n    }\n    const isUnknownGesture = this.options.gestureOrientation === \"vertical\" && deltaY === 0 || this.options.gestureOrientation === \"horizontal\" && deltaX === 0;\n    if (isClickOrTap || isUnknownGesture) {\n      return;\n    }\n    let composedPath = event.composedPath();\n    composedPath = composedPath.slice(0, composedPath.indexOf(this.rootElement));\n    const prevent = this.options.prevent;\n    if (!!composedPath.find(\n      (node) => node instanceof HTMLElement && (typeof prevent === \"function\" && prevent?.(node) || node.hasAttribute?.(\"data-lenis-prevent\") || isTouch && node.hasAttribute?.(\"data-lenis-prevent-touch\") || isWheel && node.hasAttribute?.(\"data-lenis-prevent-wheel\") || this.options.allowNestedScroll && this.checkNestedScroll(node, { deltaX, deltaY }))\n    ))\n      return;\n    if (this.isStopped || this.isLocked) {\n      if (event.cancelable) {\n        event.preventDefault();\n      }\n      return;\n    }\n    const isSmooth = this.options.syncTouch && isTouch || this.options.smoothWheel && isWheel;\n    if (!isSmooth) {\n      this.isScrolling = \"native\";\n      this.animate.stop();\n      event.lenisStopPropagation = true;\n      return;\n    }\n    let delta = deltaY;\n    if (this.options.gestureOrientation === \"both\") {\n      delta = Math.abs(deltaY) > Math.abs(deltaX) ? deltaY : deltaX;\n    } else if (this.options.gestureOrientation === \"horizontal\") {\n      delta = deltaX;\n    }\n    if (!this.options.overscroll || this.options.infinite || this.options.wrapper !== window && (this.animatedScroll > 0 && this.animatedScroll < this.limit || this.animatedScroll === 0 && deltaY > 0 || this.animatedScroll === this.limit && deltaY < 0)) {\n      event.lenisStopPropagation = true;\n    }\n    if (event.cancelable) {\n      event.preventDefault();\n    }\n    const isSyncTouch = isTouch && this.options.syncTouch;\n    const isTouchEnd = isTouch && event.type === \"touchend\";\n    const hasTouchInertia = isTouchEnd;\n    if (hasTouchInertia) {\n      delta = Math.sign(this.velocity) * Math.pow(Math.abs(this.velocity), this.options.touchInertiaExponent);\n    }\n    this.scrollTo(this.targetScroll + delta, {\n      programmatic: false,\n      ...isSyncTouch ? {\n        lerp: hasTouchInertia ? this.options.syncTouchLerp : 1\n        // immediate: !hasTouchInertia,\n      } : {\n        lerp: this.options.lerp,\n        duration: this.options.duration,\n        easing: this.options.easing\n      }\n    });\n  };\n  /**\n   * Force lenis to recalculate the dimensions\n   */\n  resize() {\n    this.dimensions.resize();\n    this.animatedScroll = this.targetScroll = this.actualScroll;\n    this.emit();\n  }\n  emit() {\n    this.emitter.emit(\"scroll\", this);\n  }\n  onNativeScroll = () => {\n    if (this._resetVelocityTimeout !== null) {\n      clearTimeout(this._resetVelocityTimeout);\n      this._resetVelocityTimeout = null;\n    }\n    if (this._preventNextNativeScrollEvent) {\n      this._preventNextNativeScrollEvent = false;\n      return;\n    }\n    if (this.isScrolling === false || this.isScrolling === \"native\") {\n      const lastScroll = this.animatedScroll;\n      this.animatedScroll = this.targetScroll = this.actualScroll;\n      this.lastVelocity = this.velocity;\n      this.velocity = this.animatedScroll - lastScroll;\n      this.direction = Math.sign(\n        this.animatedScroll - lastScroll\n      );\n      if (!this.isStopped) {\n        this.isScrolling = \"native\";\n      }\n      this.emit();\n      if (this.velocity !== 0) {\n        this._resetVelocityTimeout = setTimeout(() => {\n          this.lastVelocity = this.velocity;\n          this.velocity = 0;\n          this.isScrolling = false;\n          this.emit();\n        }, 400);\n      }\n    }\n  };\n  reset() {\n    this.isLocked = false;\n    this.isScrolling = false;\n    this.animatedScroll = this.targetScroll = this.actualScroll;\n    this.lastVelocity = this.velocity = 0;\n    this.animate.stop();\n  }\n  /**\n   * Start lenis scroll after it has been stopped\n   */\n  start() {\n    if (!this.isStopped) return;\n    if (this.options.autoToggle) {\n      this.rootElement.style.removeProperty(\"overflow\");\n      return;\n    }\n    this.internalStart();\n  }\n  internalStart() {\n    if (!this.isStopped) return;\n    this.reset();\n    this.isStopped = false;\n    this.emit();\n  }\n  /**\n   * Stop lenis scroll\n   */\n  stop() {\n    if (this.isStopped) return;\n    if (this.options.autoToggle) {\n      this.rootElement.style.setProperty(\"overflow\", \"clip\");\n      return;\n    }\n    this.internalStop();\n  }\n  internalStop() {\n    if (this.isStopped) return;\n    this.reset();\n    this.isStopped = true;\n    this.emit();\n  }\n  /**\n   * RequestAnimationFrame for lenis\n   *\n   * @param time The time in ms from an external clock like `requestAnimationFrame` or Tempus\n   */\n  raf = (time) => {\n    const deltaTime = time - (this.time || time);\n    this.time = time;\n    this.animate.advance(deltaTime * 1e-3);\n    if (this.options.autoRaf) {\n      this.__rafID = requestAnimationFrame(this.raf);\n    }\n  };\n  /**\n   * Scroll to a target value\n   *\n   * @param target The target value to scroll to\n   * @param options The options for the scroll\n   *\n   * @example\n   * lenis.scrollTo(100, {\n   *   offset: 100,\n   *   duration: 1,\n   *   easing: (t) => 1 - Math.cos((t * Math.PI) / 2),\n   *   lerp: 0.1,\n   *   onStart: () => {\n   *     console.log('onStart')\n   *   },\n   *   onComplete: () => {\n   *     console.log('onComplete')\n   *   },\n   * })\n   */\n  scrollTo(target, {\n    offset = 0,\n    immediate = false,\n    lock = false,\n    duration = this.options.duration,\n    easing = this.options.easing,\n    lerp: lerp2 = this.options.lerp,\n    onStart,\n    onComplete,\n    force = false,\n    // scroll even if stopped\n    programmatic = true,\n    // called from outside of the class\n    userData\n  } = {}) {\n    if ((this.isStopped || this.isLocked) && !force) return;\n    if (typeof target === \"string\" && [\"top\", \"left\", \"start\"].includes(target)) {\n      target = 0;\n    } else if (typeof target === \"string\" && [\"bottom\", \"right\", \"end\"].includes(target)) {\n      target = this.limit;\n    } else {\n      let node;\n      if (typeof target === \"string\") {\n        node = document.querySelector(target);\n      } else if (target instanceof HTMLElement && target?.nodeType) {\n        node = target;\n      }\n      if (node) {\n        if (this.options.wrapper !== window) {\n          const wrapperRect = this.rootElement.getBoundingClientRect();\n          offset -= this.isHorizontal ? wrapperRect.left : wrapperRect.top;\n        }\n        const rect = node.getBoundingClientRect();\n        target = (this.isHorizontal ? rect.left : rect.top) + this.animatedScroll;\n      }\n    }\n    if (typeof target !== \"number\") return;\n    target += offset;\n    target = Math.round(target);\n    if (this.options.infinite) {\n      if (programmatic) {\n        this.targetScroll = this.animatedScroll = this.scroll;\n        const distance = target - this.animatedScroll;\n        if (distance > this.limit / 2) {\n          target = target - this.limit;\n        } else if (distance < -this.limit / 2) {\n          target = target + this.limit;\n        }\n      }\n    } else {\n      target = clamp(0, target, this.limit);\n    }\n    if (target === this.targetScroll) {\n      onStart?.(this);\n      onComplete?.(this);\n      return;\n    }\n    this.userData = userData ?? {};\n    if (immediate) {\n      this.animatedScroll = this.targetScroll = target;\n      this.setScroll(this.scroll);\n      this.reset();\n      this.preventNextNativeScrollEvent();\n      this.emit();\n      onComplete?.(this);\n      this.userData = {};\n      requestAnimationFrame(() => {\n        this.dispatchScrollendEvent();\n      });\n      return;\n    }\n    if (!programmatic) {\n      this.targetScroll = target;\n    }\n    if (typeof duration === \"number\" && typeof easing !== \"function\") {\n      easing = defaultEasing;\n    } else if (typeof easing === \"function\" && typeof duration !== \"number\") {\n      duration = 1;\n    }\n    this.animate.fromTo(this.animatedScroll, target, {\n      duration,\n      easing,\n      lerp: lerp2,\n      onStart: () => {\n        if (lock) this.isLocked = true;\n        this.isScrolling = \"smooth\";\n        onStart?.(this);\n      },\n      onUpdate: (value, completed) => {\n        this.isScrolling = \"smooth\";\n        this.lastVelocity = this.velocity;\n        this.velocity = value - this.animatedScroll;\n        this.direction = Math.sign(this.velocity);\n        this.animatedScroll = value;\n        this.setScroll(this.scroll);\n        if (programmatic) {\n          this.targetScroll = value;\n        }\n        if (!completed) this.emit();\n        if (completed) {\n          this.reset();\n          this.emit();\n          onComplete?.(this);\n          this.userData = {};\n          requestAnimationFrame(() => {\n            this.dispatchScrollendEvent();\n          });\n          this.preventNextNativeScrollEvent();\n        }\n      }\n    });\n  }\n  preventNextNativeScrollEvent() {\n    this._preventNextNativeScrollEvent = true;\n    requestAnimationFrame(() => {\n      this._preventNextNativeScrollEvent = false;\n    });\n  }\n  checkNestedScroll(node, { deltaX, deltaY }) {\n    const time = Date.now();\n    const cache = node._lenis ??= {};\n    let hasOverflowX, hasOverflowY, isScrollableX, isScrollableY, scrollWidth, scrollHeight, clientWidth, clientHeight;\n    const gestureOrientation = this.options.gestureOrientation;\n    if (time - (cache.time ?? 0) > 2e3) {\n      cache.time = Date.now();\n      const computedStyle = window.getComputedStyle(node);\n      cache.computedStyle = computedStyle;\n      const overflowXString = computedStyle.overflowX;\n      const overflowYString = computedStyle.overflowY;\n      hasOverflowX = [\"auto\", \"overlay\", \"scroll\"].includes(overflowXString);\n      hasOverflowY = [\"auto\", \"overlay\", \"scroll\"].includes(overflowYString);\n      cache.hasOverflowX = hasOverflowX;\n      cache.hasOverflowY = hasOverflowY;\n      if (!hasOverflowX && !hasOverflowY) return false;\n      if (gestureOrientation === \"vertical\" && !hasOverflowY) return false;\n      if (gestureOrientation === \"horizontal\" && !hasOverflowX) return false;\n      scrollWidth = node.scrollWidth;\n      scrollHeight = node.scrollHeight;\n      clientWidth = node.clientWidth;\n      clientHeight = node.clientHeight;\n      isScrollableX = scrollWidth > clientWidth;\n      isScrollableY = scrollHeight > clientHeight;\n      cache.isScrollableX = isScrollableX;\n      cache.isScrollableY = isScrollableY;\n      cache.scrollWidth = scrollWidth;\n      cache.scrollHeight = scrollHeight;\n      cache.clientWidth = clientWidth;\n      cache.clientHeight = clientHeight;\n    } else {\n      isScrollableX = cache.isScrollableX;\n      isScrollableY = cache.isScrollableY;\n      hasOverflowX = cache.hasOverflowX;\n      hasOverflowY = cache.hasOverflowY;\n      scrollWidth = cache.scrollWidth;\n      scrollHeight = cache.scrollHeight;\n      clientWidth = cache.clientWidth;\n      clientHeight = cache.clientHeight;\n    }\n    if (!hasOverflowX && !hasOverflowY || !isScrollableX && !isScrollableY) {\n      return false;\n    }\n    if (gestureOrientation === \"vertical\" && (!hasOverflowY || !isScrollableY))\n      return false;\n    if (gestureOrientation === \"horizontal\" && (!hasOverflowX || !isScrollableX))\n      return false;\n    let orientation;\n    if (gestureOrientation === \"horizontal\") {\n      orientation = \"x\";\n    } else if (gestureOrientation === \"vertical\") {\n      orientation = \"y\";\n    } else {\n      const isScrollingX = deltaX !== 0;\n      const isScrollingY = deltaY !== 0;\n      if (isScrollingX && hasOverflowX && isScrollableX) {\n        orientation = \"x\";\n      }\n      if (isScrollingY && hasOverflowY && isScrollableY) {\n        orientation = \"y\";\n      }\n    }\n    if (!orientation) return false;\n    let scroll, maxScroll, delta, hasOverflow, isScrollable;\n    if (orientation === \"x\") {\n      scroll = node.scrollLeft;\n      maxScroll = scrollWidth - clientWidth;\n      delta = deltaX;\n      hasOverflow = hasOverflowX;\n      isScrollable = isScrollableX;\n    } else if (orientation === \"y\") {\n      scroll = node.scrollTop;\n      maxScroll = scrollHeight - clientHeight;\n      delta = deltaY;\n      hasOverflow = hasOverflowY;\n      isScrollable = isScrollableY;\n    } else {\n      return false;\n    }\n    const willScroll = delta > 0 ? scroll < maxScroll : scroll > 0;\n    return willScroll && hasOverflow && isScrollable;\n  }\n  /**\n   * The root element on which lenis is instanced\n   */\n  get rootElement() {\n    return this.options.wrapper === window ? document.documentElement : this.options.wrapper;\n  }\n  /**\n   * The limit which is the maximum scroll value\n   */\n  get limit() {\n    if (this.options.__experimental__naiveDimensions) {\n      if (this.isHorizontal) {\n        return this.rootElement.scrollWidth - this.rootElement.clientWidth;\n      } else {\n        return this.rootElement.scrollHeight - this.rootElement.clientHeight;\n      }\n    } else {\n      return this.dimensions.limit[this.isHorizontal ? \"x\" : \"y\"];\n    }\n  }\n  /**\n   * Whether or not the scroll is horizontal\n   */\n  get isHorizontal() {\n    return this.options.orientation === \"horizontal\";\n  }\n  /**\n   * The actual scroll value\n   */\n  get actualScroll() {\n    const wrapper = this.options.wrapper;\n    return this.isHorizontal ? wrapper.scrollX ?? wrapper.scrollLeft : wrapper.scrollY ?? wrapper.scrollTop;\n  }\n  /**\n   * The current scroll value\n   */\n  get scroll() {\n    return this.options.infinite ? modulo(this.animatedScroll, this.limit) : this.animatedScroll;\n  }\n  /**\n   * The progress of the scroll relative to the limit\n   */\n  get progress() {\n    return this.limit === 0 ? 1 : this.scroll / this.limit;\n  }\n  /**\n   * Current scroll state\n   */\n  get isScrolling() {\n    return this._isScrolling;\n  }\n  set isScrolling(value) {\n    if (this._isScrolling !== value) {\n      this._isScrolling = value;\n      this.updateClassName();\n    }\n  }\n  /**\n   * Check if lenis is stopped\n   */\n  get isStopped() {\n    return this._isStopped;\n  }\n  set isStopped(value) {\n    if (this._isStopped !== value) {\n      this._isStopped = value;\n      this.updateClassName();\n    }\n  }\n  /**\n   * Check if lenis is locked\n   */\n  get isLocked() {\n    return this._isLocked;\n  }\n  set isLocked(value) {\n    if (this._isLocked !== value) {\n      this._isLocked = value;\n      this.updateClassName();\n    }\n  }\n  /**\n   * Check if lenis is smooth scrolling\n   */\n  get isSmooth() {\n    return this.isScrolling === \"smooth\";\n  }\n  /**\n   * The class name applied to the wrapper element\n   */\n  get className() {\n    let className = \"lenis\";\n    if (this.options.autoToggle) className += \" lenis-autoToggle\";\n    if (this.isStopped) className += \" lenis-stopped\";\n    if (this.isLocked) className += \" lenis-locked\";\n    if (this.isScrolling) className += \" lenis-scrolling\";\n    if (this.isScrolling === \"smooth\") className += \" lenis-smooth\";\n    return className;\n  }\n  updateClassName() {\n    this.cleanUpClassName();\n    this.rootElement.className = `${this.rootElement.className} ${this.className}`.trim();\n  }\n  cleanUpClassName() {\n    this.rootElement.className = this.rootElement.className.replace(/lenis(-\\w+)?/g, \"\").trim();\n  }\n};\nexport {\n  Lenis as default\n};\n//# sourceMappingURL=lenis.mjs.map","// packages/snap/src/debounce.ts\nfunction debounce(callback, delay) {\n  let timer;\n  return function(...args) {\n    let context = this;\n    clearTimeout(timer);\n    timer = setTimeout(() => {\n      timer = void 0;\n      callback.apply(context, args);\n    }, delay);\n  };\n}\n\n// packages/snap/src/element.ts\nfunction removeParentSticky(element) {\n  const position = getComputedStyle(element).position;\n  const isSticky = position === \"sticky\";\n  if (isSticky) {\n    element.style.setProperty(\"position\", \"static\");\n    element.dataset.sticky = \"true\";\n  }\n  if (element.offsetParent) {\n    removeParentSticky(element.offsetParent);\n  }\n}\nfunction addParentSticky(element) {\n  if (element?.dataset?.sticky === \"true\") {\n    element.style.removeProperty(\"position\");\n    delete element.dataset.sticky;\n  }\n  if (element.offsetParent) {\n    addParentSticky(element.offsetParent);\n  }\n}\nfunction offsetTop(element, accumulator = 0) {\n  const top = accumulator + element.offsetTop;\n  if (element.offsetParent) {\n    return offsetTop(element.offsetParent, top);\n  }\n  return top;\n}\nfunction offsetLeft(element, accumulator = 0) {\n  const left = accumulator + element.offsetLeft;\n  if (element.offsetParent) {\n    return offsetLeft(element.offsetParent, left);\n  }\n  return left;\n}\nfunction scrollTop(element, accumulator = 0) {\n  const top = accumulator + element.scrollTop;\n  if (element.offsetParent) {\n    return scrollTop(element.offsetParent, top);\n  }\n  return top + window.scrollY;\n}\nfunction scrollLeft(element, accumulator = 0) {\n  const left = accumulator + element.scrollLeft;\n  if (element.offsetParent) {\n    return scrollLeft(element.offsetParent, left);\n  }\n  return left + window.scrollX;\n}\nvar SnapElement = class {\n  element;\n  options;\n  align;\n  // @ts-ignore\n  rect = {};\n  wrapperResizeObserver;\n  resizeObserver;\n  constructor(element, {\n    align = [\"start\"],\n    ignoreSticky = true,\n    ignoreTransform = false\n  } = {}) {\n    this.element = element;\n    this.options = { align, ignoreSticky, ignoreTransform };\n    this.align = [align].flat();\n    this.wrapperResizeObserver = new ResizeObserver(this.onWrapperResize);\n    this.wrapperResizeObserver.observe(document.body);\n    this.onWrapperResize();\n    this.resizeObserver = new ResizeObserver(this.onResize);\n    this.resizeObserver.observe(this.element);\n    this.setRect({\n      width: this.element.offsetWidth,\n      height: this.element.offsetHeight\n    });\n  }\n  destroy() {\n    this.wrapperResizeObserver.disconnect();\n    this.resizeObserver.disconnect();\n  }\n  setRect({\n    top,\n    left,\n    width,\n    height,\n    element\n  } = {}) {\n    top = top ?? this.rect.top;\n    left = left ?? this.rect.left;\n    width = width ?? this.rect.width;\n    height = height ?? this.rect.height;\n    element = element ?? this.rect.element;\n    if (top === this.rect.top && left === this.rect.left && width === this.rect.width && height === this.rect.height && element === this.rect.element)\n      return;\n    this.rect.top = top;\n    this.rect.y = top;\n    this.rect.width = width;\n    this.rect.height = height;\n    this.rect.left = left;\n    this.rect.x = left;\n    this.rect.bottom = top + height;\n    this.rect.right = left + width;\n  }\n  onWrapperResize = () => {\n    let top, left;\n    if (this.options.ignoreSticky) removeParentSticky(this.element);\n    if (this.options.ignoreTransform) {\n      top = offsetTop(this.element);\n      left = offsetLeft(this.element);\n    } else {\n      const rect = this.element.getBoundingClientRect();\n      top = rect.top + scrollTop(this.element);\n      left = rect.left + scrollLeft(this.element);\n    }\n    if (this.options.ignoreSticky) addParentSticky(this.element);\n    this.setRect({ top, left });\n  };\n  onResize = ([entry]) => {\n    if (!entry?.borderBoxSize[0]) return;\n    const width = entry.borderBoxSize[0].inlineSize;\n    const height = entry.borderBoxSize[0].blockSize;\n    this.setRect({ width, height });\n  };\n};\n\n// packages/snap/src/uid.ts\nvar index = 0;\nfunction uid() {\n  return index++;\n}\n\n// packages/snap/src/snap.ts\nvar Snap = class {\n  constructor(lenis, {\n    type = \"proximity\",\n    lerp,\n    easing,\n    duration,\n    distanceThreshold = \"50%\",\n    // velocityThreshold = 1.2,\n    debounce: debounceDelay = 500,\n    onSnapStart,\n    onSnapComplete\n  } = {}) {\n    this.lenis = lenis;\n    this.options = {\n      type,\n      lerp,\n      easing,\n      duration,\n      distanceThreshold,\n      // velocityThreshold,\n      debounce: debounceDelay,\n      onSnapStart,\n      onSnapComplete\n    };\n    this.onWindowResize();\n    window.addEventListener(\"resize\", this.onWindowResize, false);\n    this.onSnapDebounced = debounce(this.onSnap, this.options.debounce);\n    this.lenis.on(\"virtual-scroll\", this.onSnapDebounced);\n  }\n  options;\n  elements = /* @__PURE__ */ new Map();\n  snaps = /* @__PURE__ */ new Map();\n  viewport = {\n    width: window.innerWidth,\n    height: window.innerHeight\n  };\n  isStopped = false;\n  onSnapDebounced;\n  /**\n   * Destroy the snap instance\n   */\n  destroy() {\n    this.lenis.off(\"virtual-scroll\", this.onSnapDebounced);\n    window.removeEventListener(\"resize\", this.onWindowResize, false);\n    this.elements.forEach((element) => element.destroy());\n  }\n  /**\n   * Start the snap after it has been stopped\n   */\n  start() {\n    this.isStopped = false;\n  }\n  /**\n   * Stop the snap\n   */\n  stop() {\n    this.isStopped = true;\n  }\n  /**\n   * Add a snap to the snap instance\n   *\n   * @param value The value to snap to\n   * @param userData User data that will be forwarded through the snap event\n   * @returns Unsubscribe function\n   */\n  add(value, userData = {}) {\n    const id = uid();\n    this.snaps.set(id, { value, userData });\n    return () => this.snaps.delete(id);\n  }\n  /**\n   * Add an element to the snap instance\n   *\n   * @param element The element to add\n   * @param options The options for the element\n   * @returns Unsubscribe function\n   */\n  addElement(element, options = {}) {\n    const id = uid();\n    this.elements.set(id, new SnapElement(element, options));\n    return () => this.elements.delete(id);\n  }\n  onWindowResize = () => {\n    this.viewport.width = window.innerWidth;\n    this.viewport.height = window.innerHeight;\n  };\n  // private onScroll = ({\n  //   // scroll,\n  //   // limit,\n  //   lastVelocity,\n  //   velocity,\n  //   // isScrolling,\n  //   userData,\n  // }: // isHorizontal,\n  // Lenis) => {\n  //   if (this.isStopped) return\n  //   // return\n  //   const isDecelerating = Math.abs(lastVelocity) > Math.abs(velocity)\n  //   const isTurningBack =\n  //     Math.sign(lastVelocity) !== Math.sign(velocity) && velocity !== 0\n  //   if (\n  //     Math.abs(velocity) < this.options.velocityThreshold &&\n  //     // !isTouching &&\n  //     isDecelerating &&\n  //     !isTurningBack &&\n  //     userData?.initiator !== 'snap'\n  //   ) {\n  //     this.onSnapDebounced()\n  //   }\n  // }\n  onSnap = () => {\n    let { scroll, isHorizontal } = this.lenis;\n    scroll = Math.ceil(this.lenis.scroll);\n    let snaps = [...this.snaps.values()];\n    this.elements.forEach(({ rect, align }) => {\n      let value;\n      align.forEach((align2) => {\n        if (align2 === \"start\") {\n          value = rect.top;\n        } else if (align2 === \"center\") {\n          value = isHorizontal ? rect.left + rect.width / 2 - this.viewport.width / 2 : rect.top + rect.height / 2 - this.viewport.height / 2;\n        } else if (align2 === \"end\") {\n          value = isHorizontal ? rect.left + rect.width - this.viewport.width : rect.top + rect.height - this.viewport.height;\n        }\n        if (typeof value === \"number\") {\n          snaps.push({ value: Math.ceil(value), userData: {} });\n        }\n      });\n    });\n    snaps = snaps.sort((a, b) => Math.abs(a.value) - Math.abs(b.value));\n    if (snaps.length === 0) return;\n    let prevSnap = snaps.findLast(({ value }) => value <= scroll);\n    if (prevSnap === void 0) prevSnap = snaps[0];\n    const distanceToPrevSnap = Math.abs(scroll - prevSnap.value);\n    let nextSnap = snaps.find(({ value }) => value >= scroll);\n    if (nextSnap === void 0) nextSnap = snaps[snaps.length - 1];\n    const distanceToNextSnap = Math.abs(scroll - nextSnap.value);\n    const snap = distanceToPrevSnap < distanceToNextSnap ? prevSnap : nextSnap;\n    const distance = Math.abs(scroll - snap.value);\n    let distanceThreshold;\n    const axis = isHorizontal ? \"width\" : \"height\";\n    if (typeof this.options.distanceThreshold === \"string\" && this.options.distanceThreshold.endsWith(\"%\")) {\n      distanceThreshold = Number(this.options.distanceThreshold.replace(\"%\", \"\")) / 100 * this.viewport[axis];\n    } else if (typeof this.options.distanceThreshold === \"number\") {\n      distanceThreshold = this.options.distanceThreshold;\n    } else {\n      distanceThreshold = this.viewport[axis];\n    }\n    if (this.options.type === \"mandatory\" || this.options.type === \"proximity\" && distance <= distanceThreshold) {\n      this.lenis.scrollTo(snap.value, {\n        lerp: this.options.lerp,\n        easing: this.options.easing,\n        duration: this.options.duration,\n        userData: { initiator: \"snap\" },\n        onStart: () => {\n          this.options.onSnapStart?.(snap);\n        },\n        onComplete: () => {\n          this.options.onSnapComplete?.(snap);\n        }\n      });\n    }\n  };\n};\nexport {\n  Snap as default\n};\n//# sourceMappingURL=lenis-snap.mjs.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import Lenis from\"https://unpkg.com/lenis@1.3.8/dist/lenis.mjs\";import Snap from\"https://unpkg.com/lenis@1.3.8/dist/lenis-snap.mjs\";import{useEffect,useRef,Children,isValidElement,cloneElement}from\"react\";/**\n * @framerSupportedLayoutHeight any\n * @framerSupportedLayoutWidth any\n * @framerDisableUnlink\n */export default function Component({smooth,easing,infinite,orientation,intensity,children,snap}){const wrapperRef=useRef();const contentRef=useRef();useEffect(()=>{if(children&&(!wrapperRef.current||!contentRef.current))return;if(wrapperRef.current&&contentRef.current){if(orientation===\"horizontal\"){wrapperRef.current.style.setProperty(\"overflowX\",\"auto\");}else{wrapperRef.current.style.setProperty(\"overflowY\",\"auto\");}}const lenis=new Lenis({smoothWheel:smooth,duration:intensity/10,infinite,orientation,gestureOrientation:orientation===\"horizontal\"?\"both\":\"vertical\",autoRaf:true,autoToggle:true,anchors:true,allowNestedScroll:true,wrapper:wrapperRef.current,content:contentRef.current,syncTouch:Boolean(infinite)||orientation===\"horizontal\"});let lenisSnap;if(snap&&snap.snaps.length>0){lenisSnap=new Snap(lenis,{type:snap.type,distanceThreshold:snap.threshold+\"%\"});snap.snaps.forEach(item=>{if(!item.target?.current)return;const id=item.target.current.id;// workaround when content is duplicated by LenisSeamlessInfinite\nconst elements=document.querySelectorAll(`#${id}`);elements.forEach(element=>{lenisSnap.addElement(element,{align:item.align});});});}window.lenis=lenis;window.lenisSnap=snap;return()=>{lenis.destroy();if(lenisSnap)lenisSnap.destroy();};},[children]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"link\",{href:\"https://unpkg.com/lenis@1.3.8/dist/lenis.css\",rel:\"stylesheet\"}),children&&/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:orientation===\"horizontal\"?{overflowX:\"auto\",width:\"100%\"}:{overflowY:\"auto\",height:\"100%\"},children:/*#__PURE__*/_jsx(\"div\",{ref:contentRef,style:{width:\"100%\"},children:Children.map(children,child=>/*#__PURE__*/isValidElement(child)?/*#__PURE__*/cloneElement(child,{style:{...child.props.style,width:\"100%\"}}):child)})})})]});}Component.displayName=\"Lenis\";addPropertyControls(Component,{smooth:{type:ControlType.Boolean,title:\"Smooth\",defaultValue:true},intensity:{type:ControlType.Number,title:\"Intensity\",defaultValue:12,step:1,min:1,max:100,hidden(props){return props.smooth===false;}},infinite:{type:ControlType.Boolean,title:\"Infinite\",defaultValue:false,hidden(props){return props.smooth===false;}},orientation:{type:ControlType.Enum,defaultValue:\"Vertical\",displaySegmentedControl:true,options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],hidden(props){return props.smooth===false;}},children:{type:ControlType.ComponentInstance,title:\"Content\"},snap:{type:ControlType.Object,optional:true,description:\"Cooked and served by [darkroom.engineering](https://darkroom.engineering).\",controls:{type:{type:ControlType.Enum,defaultValue:\"proximity\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",options:[\"proximity\",\"mandatory\"],optionTitles:[\"Proximity\",\"Mandatory\"]},threshold:{type:ControlType.Number,defaultValue:50,min:0,max:100,unit:\"%\",hidden:props=>{return props.snap.type===\"mandatory\";}},snaps:{type:ControlType.Array,control:{type:ControlType.Object,controls:{target:{title:\"Target\",type:ControlType.ScrollSectionRef},align:{type:ControlType.Enum,defaultValue:\"center\",displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",options:[\"start\",\"center\",\"end\"],optionIcons:[\"align-top\",\"align-middle\",\"align-bottom\"]}}}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Component\",\"slots\":[\"children\"],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lenis.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useScroll}from\"framer-motion\";import{useRef,useEffect,useState,forwardRef}from\"react\";// CHANGE THE VALUES HERE IF YOU NEED\nconst HEADER_HEIGHT={DESKTOP:80,MOBILE:65};const INITIAL_THRESHOLD={DESKTOP:250,MOBILE:1};const OPACITY_THRESHOLD=INITIAL_THRESHOLD.DESKTOP;const useIsBgVisible=()=>{const{scrollY}=useScroll();const[isVisible,setIsVisble]=useState(false);useEffect(()=>{const unsubscribe=scrollY.onChange(y=>{setIsVisble(y>OPACITY_THRESHOLD);});return()=>unsubscribe();},[scrollY]);return isVisible;};const useHideOnScroll=threshold=>{const{scrollY}=useScroll();const directionRef=useRef(0);const prevY=useRef(0);const[isVisible,setIsVisble]=useState(true);useEffect(()=>{const unsubscribe=scrollY.onChange(y=>{const dir=y>prevY.current?1:-1;directionRef.current=dir;if(y<threshold){setIsVisble(true);}else{setIsVisble(dir<0);}prevY.current=y;});return()=>unsubscribe();},[scrollY]);return isVisible;};export function withOpacityOnScroll(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const isVisible=useIsBgVisible();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{opacity:isVisible?1:0}});});}export function withHideOnScrollDesktop(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const isVisible=useHideOnScroll(INITIAL_THRESHOLD.DESKTOP);const height=HEADER_HEIGHT.DESKTOP;return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{y:isVisible?0:-height}});});}export function withHideOnScrollMobile(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const isVisible=useHideOnScroll(INITIAL_THRESHOLD.MOBILE);const height=HEADER_HEIGHT.MOBILE;return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{y:isVisible?0:-height}});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withHideOnScrollDesktop\":{\"type\":\"reactHoc\",\"name\":\"withHideOnScrollDesktop\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHideOnScrollMobile\":{\"type\":\"reactHoc\",\"name\":\"withHideOnScrollMobile\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withOpacityOnScroll\":{\"type\":\"reactHoc\",\"name\":\"withOpacityOnScroll\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Custom_header.map","// Generated by Framer (fb365c6)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,ResolveLinks,RichText,SmartComponentScopedContainer,SVG,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCodeBoundaryForOverrides,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{withHideOnScrollDesktop}from\"https://framerusercontent.com/modules/nQ5MoAD9i53uM9hSQHd4/bA8TzCbLzqjskj5Kof8U/Custom_header.js\";import PageWrapperPadding from\"https://framerusercontent.com/modules/db9kEQjWxJH5WSfUuuYb/fPrIYUdHrbPcoeBPg7g9/h4a7dWxv8.js\";import MiscPillCta from\"https://framerusercontent.com/modules/9z7GTLVRCp1xfO7oSsWd/IlOazO8GMwpoEhQPf3Ni/rWJNCjZWS.js\";const PageWrapperPaddingFonts=getFonts(PageWrapperPadding);const MiscPillCtaFonts=getFonts(MiscPillCta);const MotionDivWithHideOnScrollDesktop1hqsvu5=withCodeBoundaryForOverrides(motion.div,{nodeId:\"eKGd6bYeA\",override:withHideOnScrollDesktop,scopeId:\"cRpOWIwj5\"});const cycleOrder=[\"M3mW3uV9R\",\"lBf2Mey5b\",\"GF4vNtHNI\"];const serializationHash=\"framer-0MDFm\";const variantClassNames={GF4vNtHNI:\"framer-v-jnw65y\",lBf2Mey5b:\"framer-v-9x05q1\",M3mW3uV9R:\"framer-v-wgo4ua\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.8,ease:[.44,0,.56,1],type:\"tween\"};const transition2={bounce:0,delay:0,duration:.8,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Black:\"M3mW3uV9R\",Pink:\"lBf2Mey5b\",White:\"GF4vNtHNI\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"M3mW3uV9R\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};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 componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"M3mW3uV9R\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const router=useRouter();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.header,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-wgo4ua\",className,classNames),\"data-framer-name\":\"Black\",layoutDependency:layoutDependency,layoutId:\"M3mW3uV9R\",ref:refBinding,style:{...style},...addPropertyOverrides({GF4vNtHNI:{\"data-framer-name\":\"White\"},lBf2Mey5b:{\"data-framer-name\":\"Pink\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Transition,{value:transition2,children:/*#__PURE__*/_jsxs(MotionDivWithHideOnScrollDesktop1hqsvu5,{className:\"framer-1hqsvu5\",\"data-framer-name\":\"Wrapper\",layoutDependency:layoutDependency,layoutId:\"eKGd6bYeA\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-pvmth5\",\"data-framer-name\":\"BG Wraper || Opacity\",layoutDependency:layoutDependency,layoutId:\"Z6a4jdGzC\",style:{mask:\"linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%) add\",WebkitMask:\"linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%) add\"},children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-nlac91\",\"data-framer-name\":\"BG\",layoutDependency:layoutDependency,layoutId:\"Bxj9Bxee3\",style:{backgroundColor:\"rgba(15, 14, 14, 0.6)\"},variants:{GF4vNtHNI:{backgroundColor:\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\"},lBf2Mey5b:{backgroundColor:\"var(--token-e80458c3-498c-4ee3-b35f-d4fd64d13449, rgb(255, 184, 185))\"}}})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1ihubi2\",layoutDependency:layoutDependency,layoutId:\"BBOFqMSzw\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:400,y:(componentViewport?.y||0)+0+-162.5+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1cqspwo-container\",layoutDependency:layoutDependency,layoutId:\"FebJNW_SK-container\",nodeId:\"FebJNW_SK\",rendersWithMotion:true,scopeId:\"cRpOWIwj5\",children:/*#__PURE__*/_jsx(PageWrapperPadding,{height:\"100%\",id:\"FebJNW_SK\",layoutId:\"FebJNW_SK\",style:{height:\"100%\"},variant:\"MAsJj1Ki9\",width:\"100%\"})})}),/*#__PURE__*/_jsx(motion.nav,{className:\"framer-12w0lqx\",\"data-framer-name\":\"Main Container\",layoutDependency:layoutDependency,layoutId:\"ZwlOwyyuh\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-e9zwmj\",layoutDependency:layoutDependency,layoutId:\"N9vQRuRCP\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-23xtlb\",\"data-framer-name\":\"Left\",layoutDependency:layoutDependency,layoutId:\"CaDIUQrob\"}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1oi6u2w\",layoutDependency:layoutDependency,layoutId:\"sFX6sFhJ4\",children:[/*#__PURE__*/_jsxs(SVG,{className:\"framer-5q8sx4\",\"data-framer-name\":\"Logo vector\",layoutDependency:layoutDependency,layoutId:\"kHHMbfOlS\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 32 28\" overflow=\"visible\"><path d=\"M 20.413 22.131 C 20.44 22.174 20.44 22.229 20.413 22.274 C 20.388 22.318 20.34 22.346 20.288 22.346 L 0.145 22.346 C 0.093 22.346 0.046 22.319 0.02 22.275 C -0.006 22.231 -0.006 22.178 0.019 22.133 C 1.237 19.987 11.296 2.258 12.529 0.086 C 12.555 0.041 12.602 0.013 12.654 0.013 C 12.706 0.013 12.754 0.04 12.78 0.084 C 13.246 0.878 14.85 3.611 15.13 4.085 C 15.155 4.129 15.155 4.183 15.13 4.227 C 14.902 4.625 13.783 6.578 13.407 7.235 C 13.381 7.279 13.334 7.307 13.282 7.307 C 13.23 7.307 13.182 7.281 13.157 7.236 L 12.83 6.679 C 12.804 6.635 12.756 6.608 12.704 6.608 C 12.652 6.608 12.604 6.636 12.579 6.681 C 11.709 8.213 6.525 17.351 5.666 18.864 C 5.641 18.909 5.641 18.962 5.667 19.006 C 5.693 19.05 5.741 19.076 5.792 19.076 L 18.522 19.076 C 18.573 19.076 18.62 19.103 18.646 19.147 C 18.88 19.542 20.028 21.478 20.414 22.131 Z M 16.486 4.412 C 16.482 4.41 16.481 4.406 16.483 4.403 C 16.576 4.239 18.44 0.959 18.944 0.073 C 18.969 0.028 19.017 0 19.069 0 C 19.121 0 19.169 0.027 19.194 0.072 C 20.454 2.245 30.733 19.981 31.981 22.133 C 32.006 22.177 32.006 22.231 31.981 22.275 C 31.955 22.319 31.907 22.346 31.856 22.346 L 27.441 22.346 C 27.389 22.346 27.342 22.32 27.316 22.276 C 27.082 21.881 25.934 19.944 25.548 19.292 C 25.522 19.248 25.522 19.194 25.548 19.149 C 25.574 19.104 25.622 19.077 25.674 19.077 L 26.152 19.077 C 26.203 19.077 26.251 19.05 26.276 19.006 C 26.302 18.962 26.302 18.908 26.276 18.863 C 25.398 17.347 20.111 8.226 19.224 6.696 C 19.198 6.651 19.15 6.624 19.098 6.624 C 19.046 6.624 18.998 6.652 18.973 6.696 C 18.123 8.191 13.199 16.855 12.697 17.739 C 12.671 17.784 12.623 17.812 12.571 17.812 L 9.109 17.812 C 9.058 17.812 9.011 17.785 8.985 17.741 C 8.958 17.697 8.958 17.643 8.983 17.599 C 9.761 16.231 14.029 8.722 14.029 8.722 C 14.029 8.722 14.029 8.722 14.028 8.72 L 14.028 8.719 C 14.054 8.673 16.432 4.523 16.492 4.418 C 16.492 4.417 16.492 4.416 16.491 4.415 C 16.49 4.415 16.489 4.414 16.486 4.412 Z M 18.479 10.217 C 18.504 10.173 18.552 10.145 18.603 10.145 C 18.655 10.145 18.703 10.171 18.729 10.216 C 19.84 12.108 27.937 25.897 29.046 27.786 C 29.072 27.83 29.072 27.885 29.046 27.929 C 29.02 27.973 28.973 28 28.921 28 L 3.317 28 C 3.266 28 3.219 27.973 3.192 27.929 C 3.167 27.886 3.166 27.831 3.191 27.788 C 3.645 26.987 5.243 24.178 5.521 23.689 C 5.546 23.644 5.594 23.617 5.647 23.617 L 9.109 23.617 C 9.16 23.617 9.207 23.643 9.233 23.687 C 9.259 23.731 9.26 23.785 9.235 23.829 C 9.122 24.027 8.955 24.321 8.843 24.519 C 8.818 24.563 8.818 24.617 8.844 24.661 C 8.87 24.705 8.917 24.731 8.969 24.731 L 23.18 24.731 C 23.231 24.731 23.279 24.704 23.304 24.66 C 23.33 24.616 23.33 24.561 23.304 24.518 C 22.429 23.027 17.272 14.245 16.757 13.367 C 16.731 13.323 16.731 13.269 16.756 13.225 C 16.984 12.827 18.103 10.874 18.479 10.217 Z\" fill=\"rgb(255,255,255)\"></path></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-1jk0nzv\",layoutDependency:layoutDependency,layoutId:\"LjkStnNhz\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 20.433 22.333\" overflow=\"visible\"><path d=\"M 20.413 22.118 C 20.44 22.161 20.44 22.216 20.413 22.261 C 20.388 22.305 20.34 22.333 20.288 22.333 L 0.145 22.333 C 0.093 22.333 0.046 22.306 0.02 22.262 C -0.006 22.218 -0.006 22.165 0.019 22.12 C 1.237 19.974 11.296 2.245 12.529 0.073 C 12.555 0.028 12.602 0 12.654 0 C 12.706 0 12.754 0.027 12.78 0.071 C 13.246 0.865 14.85 3.598 15.13 4.072 C 15.155 4.116 15.155 4.17 15.13 4.214 C 14.902 4.612 13.783 6.565 13.407 7.222 C 13.381 7.266 13.334 7.294 13.282 7.294 C 13.23 7.294 13.182 7.268 13.157 7.223 L 12.83 6.666 C 12.804 6.622 12.756 6.595 12.704 6.595 C 12.652 6.595 12.604 6.623 12.579 6.668 C 11.709 8.2 6.525 17.338 5.666 18.851 C 5.641 18.895 5.641 18.949 5.667 18.993 C 5.693 19.037 5.741 19.063 5.792 19.063 L 18.522 19.063 C 18.573 19.063 18.62 19.09 18.646 19.134 C 18.88 19.529 20.028 21.465 20.414 22.118 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-ldlazd\",layoutDependency:layoutDependency,layoutId:\"FywSTtBex\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 23.035 22.346\" overflow=\"visible\"><path d=\"M 7.521 4.412 C 7.518 4.41 7.516 4.406 7.518 4.403 C 7.611 4.239 9.475 0.959 9.979 0.073 C 10.005 0.028 10.052 0 10.104 0 C 10.156 0 10.204 0.027 10.23 0.072 C 11.49 2.245 21.769 19.981 23.016 22.133 C 23.042 22.177 23.042 22.231 23.016 22.275 C 22.99 22.319 22.943 22.346 22.891 22.346 L 18.476 22.346 C 18.425 22.346 18.378 22.32 18.351 22.276 C 18.118 21.881 16.969 19.944 16.583 19.292 C 16.557 19.248 16.557 19.194 16.583 19.149 C 16.61 19.104 16.657 19.077 16.709 19.077 L 17.187 19.077 C 17.238 19.077 17.286 19.05 17.312 19.006 C 17.337 18.962 17.337 18.908 17.312 18.863 C 16.433 17.347 11.147 8.226 10.26 6.696 C 10.234 6.651 10.186 6.624 10.134 6.624 C 10.082 6.624 10.034 6.652 10.008 6.696 C 9.159 8.191 4.234 16.855 3.732 17.739 C 3.706 17.784 3.659 17.812 3.606 17.812 L 0.145 17.812 C 0.093 17.812 0.046 17.785 0.02 17.741 C -0.006 17.697 -0.006 17.643 0.019 17.599 C 0.796 16.231 5.065 8.722 5.065 8.722 C 5.065 8.722 5.064 8.722 5.063 8.72 L 5.063 8.719 C 5.09 8.673 7.468 4.523 7.527 4.418 C 7.527 4.417 7.527 4.416 7.527 4.415 C 7.525 4.415 7.524 4.414 7.522 4.412 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1238ly5\",layoutDependency:layoutDependency,layoutId:\"zfWQUG7uw\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 25.893 17.855\" overflow=\"visible\"><path d=\"M 15.306 0.073 C 15.332 0.028 15.38 0.001 15.431 0 C 15.483 0 15.531 0.027 15.556 0.071 C 16.668 1.964 24.765 15.753 25.874 17.642 C 25.899 17.686 25.899 17.74 25.874 17.784 C 25.848 17.829 25.8 17.855 25.749 17.855 L 0.144 17.855 C 0.093 17.855 0.046 17.829 0.02 17.785 C -0.006 17.741 -0.007 17.687 0.018 17.643 C 0.473 16.843 2.07 14.033 2.348 13.545 C 2.374 13.5 2.421 13.472 2.474 13.472 L 5.936 13.472 C 5.987 13.472 6.034 13.499 6.061 13.543 C 6.086 13.587 6.087 13.641 6.062 13.685 C 5.949 13.883 5.783 14.176 5.67 14.374 C 5.645 14.419 5.645 14.472 5.671 14.516 C 5.697 14.56 5.745 14.587 5.796 14.587 L 20.007 14.587 C 20.058 14.587 20.106 14.559 20.132 14.516 C 20.157 14.471 20.157 14.417 20.132 14.373 C 19.257 12.883 14.1 4.1 13.584 3.222 C 13.558 3.178 13.558 3.124 13.583 3.08 C 13.811 2.682 14.931 0.73 15.307 0.073 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7Um9ib3RvLTcwMA==\",\"--framer-font-family\":'\"Roboto\", \"Roboto Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247)))\"},children:\"Miura Design Lab\"})}),className:\"framer-1ds0wub\",fonts:[\"GF;Roboto-700\"],layoutDependency:layoutDependency,layoutId:\"kg3jdS59m\",style:{\"--extracted-r6o4lv\":\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\"},verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-j235ms\",\"data-framer-name\":\"Right\",layoutDependency:layoutDependency,layoutId:\"zDD3ZlAqL\",children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":lHot7k9nw\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{hash:\":lHot7k9nw\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{hash:\":lHot7k9nw\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:36,y:(componentViewport?.y||0)+0+-162.5+162.5+0+0+0+19.5,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-bykp76-container\",layoutDependency:layoutDependency,layoutId:\"ZCDIrHZFV-container\",nodeId:\"ZCDIrHZFV\",rendersWithMotion:true,scopeId:\"cRpOWIwj5\",children:/*#__PURE__*/_jsx(MiscPillCta,{b8VXSGknl:\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\",bcYtybTGu:\"10px 14px 9px 14px\",FHNoFi5gB:resolvedLinks[0],gsNKEh_GI:\"rgba(255, 255, 255, 0)\",height:\"100%\",huhxNzn4E:{borderColor:\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\",borderStyle:\"solid\",borderWidth:1},id:\"ZCDIrHZFV\",KcK3TyQ0v:{borderColor:\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\",borderStyle:\"solid\",borderWidth:1},layoutId:\"ZCDIrHZFV\",m_ANRLISe:\"get in touch\",mgpAkjpuL:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\",pFoblqCcq:\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\",style:{height:\"100%\"},variant:\"GDrrbGBJL\",width:\"100%\",...addPropertyOverrides({GF4vNtHNI:{b8VXSGknl:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\",FHNoFi5gB:resolvedLinks[2],huhxNzn4E:{borderColor:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\",borderStyle:\"solid\",borderWidth:1},KcK3TyQ0v:{borderColor:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\",borderStyle:\"solid\",borderWidth:1},mgpAkjpuL:\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\",pFoblqCcq:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\"},lBf2Mey5b:{b8VXSGknl:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\",FHNoFi5gB:resolvedLinks[1],huhxNzn4E:{borderColor:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\",borderStyle:\"solid\",borderWidth:1},KcK3TyQ0v:{borderColor:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\",borderStyle:\"solid\",borderWidth:1},mgpAkjpuL:\"var(--token-e80458c3-498c-4ee3-b35f-d4fd64d13449, rgb(255, 184, 185))\",pFoblqCcq:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\"}},baseVariant,gestureVariant)})})})})})]})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:400,y:(componentViewport?.y||0)+0+-162.5+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1hxyon1-container\",layoutDependency:layoutDependency,layoutId:\"jGLfqJFrg-container\",nodeId:\"jGLfqJFrg\",rendersWithMotion:true,scopeId:\"cRpOWIwj5\",children:/*#__PURE__*/_jsx(PageWrapperPadding,{height:\"100%\",id:\"jGLfqJFrg\",layoutId:\"jGLfqJFrg\",style:{height:\"100%\"},variant:\"MAsJj1Ki9\",width:\"100%\"})})})]})]})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-0MDFm.framer-wkq77r, .framer-0MDFm .framer-wkq77r { display: block; }\",\".framer-0MDFm.framer-wgo4ua { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 75px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 1200px; }\",\".framer-0MDFm .framer-1hqsvu5 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 75px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-0MDFm .framer-pvmth5 { flex: none; height: 100%; left: 0px; overflow: visible; position: absolute; top: 0px; width: 100%; }\",\".framer-0MDFm .framer-nlac91 { flex: none; height: 100%; left: calc(50.00000000000002% - 100% / 2); overflow: visible; position: absolute; top: calc(49.33333333333336% - 100% / 2); width: 100%; z-index: 1; }\",\".framer-0MDFm .framer-1ihubi2 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; max-width: 1800px; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-0MDFm .framer-1cqspwo-container { align-self: stretch; flex: none; height: auto; position: relative; width: auto; }\",\".framer-0MDFm .framer-12w0lqx { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 75px; justify-content: flex-start; max-width: 1800px; overflow: hidden; padding: 0px; position: relative; width: 1px; z-index: 1; }\",\".framer-0MDFm .framer-e9zwmj { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: 1px; justify-content: space-between; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-0MDFm .framer-23xtlb { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 28px; height: 100%; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-0MDFm .framer-1oi6u2w { align-content: center; align-items: center; display: flex; flex: 2 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: 43px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-0MDFm .framer-5q8sx4 { height: 28px; position: relative; width: 32px; }\",\".framer-0MDFm .framer-1jk0nzv { height: 23px; left: 0px; position: absolute; top: 0px; width: 21px; }\",\".framer-0MDFm .framer-ldlazd { height: 23px; left: 9px; position: absolute; top: 0px; width: 23px; }\",\".framer-0MDFm .framer-1238ly5 { height: 18px; left: 3px; position: absolute; top: 10px; width: 26px; }\",\".framer-0MDFm .framer-1ds0wub { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-0MDFm .framer-j235ms { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 28px; height: 100%; justify-content: flex-end; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-0MDFm .framer-bykp76-container { flex: none; height: 36px; position: relative; width: auto; }\",\".framer-0MDFm .framer-1hxyon1-container { flex: none; height: 400px; position: relative; width: auto; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 75\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"lBf2Mey5b\":{\"layout\":[\"fixed\",\"fixed\"]},\"GF4vNtHNI\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramercRpOWIwj5=withCSS(Component,css,\"framer-0MDFm\");export default FramercRpOWIwj5;FramercRpOWIwj5.displayName=\"Desktop\";FramercRpOWIwj5.defaultProps={height:75,width:1200};addPropertyControls(FramercRpOWIwj5,{variant:{options:[\"M3mW3uV9R\",\"lBf2Mey5b\",\"GF4vNtHNI\"],optionTitles:[\"Black\",\"Pink\",\"White\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramercRpOWIwj5,[{explicitInter:true,fonts:[{family:\"Roboto\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/roboto/v49/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjammWggvWl0Qn.woff2\",weight:\"700\"}]},...PageWrapperPaddingFonts,...MiscPillCtaFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramercRpOWIwj5\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1200\",\"framerIntrinsicHeight\":\"75\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"lBf2Mey5b\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"GF4vNtHNI\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (fb365c6)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,ResolveLinks,RichText,SmartComponentScopedContainer,SVG,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCodeBoundaryForOverrides,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{withHideOnScrollMobile}from\"https://framerusercontent.com/modules/nQ5MoAD9i53uM9hSQHd4/bA8TzCbLzqjskj5Kof8U/Custom_header.js\";import PageWrapperPadding from\"https://framerusercontent.com/modules/db9kEQjWxJH5WSfUuuYb/fPrIYUdHrbPcoeBPg7g9/h4a7dWxv8.js\";import MiscPillCta from\"https://framerusercontent.com/modules/9z7GTLVRCp1xfO7oSsWd/IlOazO8GMwpoEhQPf3Ni/rWJNCjZWS.js\";const PageWrapperPaddingFonts=getFonts(PageWrapperPadding);const MiscPillCtaFonts=getFonts(MiscPillCta);const MotionDivWithHideOnScrollMobileixqo37=withCodeBoundaryForOverrides(motion.div,{nodeId:\"bKgGFl8Rp\",override:withHideOnScrollMobile,scopeId:\"L5Ni1IYJ9\"});const cycleOrder=[\"kj0h7Z5Tq\",\"ojHzVwC3b\",\"XQDNfynvK\"];const serializationHash=\"framer-mHg7H\";const variantClassNames={kj0h7Z5Tq:\"framer-v-epe8y1\",ojHzVwC3b:\"framer-v-ycb2p8\",XQDNfynvK:\"framer-v-thbgbo\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.8,ease:[.44,0,.56,1],type:\"tween\"};const transition2={bounce:0,delay:0,duration:.8,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Black:\"kj0h7Z5Tq\",Pink:\"ojHzVwC3b\",White:\"XQDNfynvK\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"kj0h7Z5Tq\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};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 componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"kj0h7Z5Tq\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const router=useRouter();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-epe8y1\",className,classNames),\"data-framer-name\":\"Black\",layoutDependency:layoutDependency,layoutId:\"kj0h7Z5Tq\",ref:refBinding,style:{...style},...addPropertyOverrides({ojHzVwC3b:{\"data-framer-name\":\"Pink\"},XQDNfynvK:{\"data-framer-name\":\"White\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Transition,{value:transition2,children:/*#__PURE__*/_jsxs(MotionDivWithHideOnScrollMobileixqo37,{className:\"framer-ixqo37\",\"data-framer-name\":\"Wrapper\",layoutDependency:layoutDependency,layoutId:\"bKgGFl8Rp\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1ugapfi\",\"data-framer-name\":\"BG Wraper || Opacity\",layoutDependency:layoutDependency,layoutId:\"Z9DR_et30\",style:{mask:\"linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%) add\",WebkitMask:\"linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%) add\"},children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1512kso\",\"data-framer-name\":\"BG\",layoutDependency:layoutDependency,layoutId:\"JxnnwNWvg\",style:{backgroundColor:\"rgba(15, 14, 14, 0.6)\"},variants:{ojHzVwC3b:{backgroundColor:\"var(--token-e80458c3-498c-4ee3-b35f-d4fd64d13449, rgb(255, 184, 185))\"},XQDNfynvK:{backgroundColor:\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\"}}})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1s0yjhy\",layoutDependency:layoutDependency,layoutId:\"NW6hzz1kv\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:400,y:(componentViewport?.y||0)+0+-135+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1e4256n-container\",layoutDependency:layoutDependency,layoutId:\"FfvPX8g30-container\",nodeId:\"FfvPX8g30\",rendersWithMotion:true,scopeId:\"L5Ni1IYJ9\",children:/*#__PURE__*/_jsx(PageWrapperPadding,{height:\"100%\",id:\"FfvPX8g30\",layoutId:\"FfvPX8g30\",style:{height:\"100%\"},variant:\"ZTUvY15qg\",width:\"100%\"})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-15saex1\",\"data-framer-name\":\"Main Container\",layoutDependency:layoutDependency,layoutId:\"iPKICkHDg\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1as13lu\",layoutDependency:layoutDependency,layoutId:\"OYoRLtB4g\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1a06ht3\",layoutDependency:layoutDependency,layoutId:\"iTW98oFQO\",children:[/*#__PURE__*/_jsxs(SVG,{className:\"framer-1w32dy0\",\"data-framer-name\":\"Logo vector\",layoutDependency:layoutDependency,layoutId:\"dxF0QL32R\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 32 28\" overflow=\"visible\"><path d=\"M 20.413 22.131 C 20.44 22.174 20.44 22.229 20.413 22.274 C 20.388 22.318 20.34 22.346 20.288 22.346 L 0.145 22.346 C 0.093 22.346 0.046 22.319 0.02 22.275 C -0.006 22.231 -0.006 22.178 0.019 22.133 C 1.237 19.987 11.296 2.258 12.529 0.086 C 12.555 0.041 12.602 0.013 12.654 0.013 C 12.706 0.013 12.754 0.04 12.78 0.084 C 13.246 0.878 14.85 3.611 15.13 4.085 C 15.155 4.129 15.155 4.183 15.13 4.227 C 14.902 4.625 13.783 6.578 13.407 7.235 C 13.381 7.279 13.334 7.307 13.282 7.307 C 13.23 7.307 13.182 7.281 13.157 7.236 L 12.83 6.679 C 12.804 6.635 12.756 6.608 12.704 6.608 C 12.652 6.608 12.604 6.636 12.579 6.681 C 11.709 8.213 6.525 17.351 5.666 18.864 C 5.641 18.909 5.641 18.962 5.667 19.006 C 5.693 19.05 5.741 19.076 5.792 19.076 L 18.522 19.076 C 18.573 19.076 18.62 19.103 18.646 19.147 C 18.88 19.542 20.028 21.478 20.414 22.131 Z M 16.486 4.412 C 16.482 4.41 16.481 4.406 16.483 4.403 C 16.576 4.239 18.44 0.959 18.944 0.073 C 18.969 0.028 19.017 0 19.069 0 C 19.121 0 19.169 0.027 19.194 0.072 C 20.454 2.245 30.733 19.981 31.981 22.133 C 32.006 22.177 32.006 22.231 31.981 22.275 C 31.955 22.319 31.907 22.346 31.856 22.346 L 27.441 22.346 C 27.389 22.346 27.342 22.32 27.316 22.276 C 27.082 21.881 25.934 19.944 25.548 19.292 C 25.522 19.248 25.522 19.194 25.548 19.149 C 25.574 19.104 25.622 19.077 25.674 19.077 L 26.152 19.077 C 26.203 19.077 26.251 19.05 26.276 19.006 C 26.302 18.962 26.302 18.908 26.276 18.863 C 25.398 17.347 20.111 8.226 19.224 6.696 C 19.198 6.651 19.15 6.624 19.098 6.624 C 19.046 6.624 18.998 6.652 18.973 6.696 C 18.123 8.191 13.199 16.855 12.697 17.739 C 12.671 17.784 12.623 17.812 12.571 17.812 L 9.109 17.812 C 9.058 17.812 9.011 17.785 8.985 17.741 C 8.958 17.697 8.958 17.643 8.983 17.599 C 9.761 16.231 14.029 8.722 14.029 8.722 C 14.029 8.722 14.029 8.722 14.028 8.72 L 14.028 8.719 C 14.054 8.673 16.432 4.523 16.492 4.418 C 16.492 4.417 16.492 4.416 16.491 4.415 C 16.49 4.415 16.489 4.414 16.486 4.412 Z M 18.479 10.217 C 18.504 10.173 18.552 10.145 18.603 10.145 C 18.655 10.145 18.703 10.171 18.729 10.216 C 19.84 12.108 27.937 25.897 29.046 27.786 C 29.072 27.83 29.072 27.885 29.046 27.929 C 29.02 27.973 28.973 28 28.921 28 L 3.317 28 C 3.266 28 3.219 27.973 3.192 27.929 C 3.167 27.886 3.166 27.831 3.191 27.788 C 3.645 26.987 5.243 24.178 5.521 23.689 C 5.546 23.644 5.594 23.617 5.647 23.617 L 9.109 23.617 C 9.16 23.617 9.207 23.643 9.233 23.687 C 9.259 23.731 9.26 23.785 9.235 23.829 C 9.122 24.027 8.955 24.321 8.843 24.519 C 8.818 24.563 8.818 24.617 8.844 24.661 C 8.87 24.705 8.917 24.731 8.969 24.731 L 23.18 24.731 C 23.231 24.731 23.279 24.704 23.304 24.66 C 23.33 24.616 23.33 24.561 23.304 24.518 C 22.429 23.027 17.272 14.245 16.757 13.367 C 16.731 13.323 16.731 13.269 16.756 13.225 C 16.984 12.827 18.103 10.874 18.479 10.217 Z\" fill=\"rgb(255,255,255)\"></path></svg>',withExternalLayout:true,children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-1twlzsx\",layoutDependency:layoutDependency,layoutId:\"NB8kg0730\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 20.433 22.333\" overflow=\"visible\"><path d=\"M 20.413 22.118 C 20.44 22.161 20.44 22.216 20.413 22.261 C 20.388 22.305 20.34 22.333 20.288 22.333 L 0.145 22.333 C 0.093 22.333 0.046 22.306 0.02 22.262 C -0.006 22.218 -0.006 22.165 0.019 22.12 C 1.237 19.974 11.296 2.245 12.529 0.073 C 12.555 0.028 12.602 0 12.654 0 C 12.706 0 12.754 0.027 12.78 0.071 C 13.246 0.865 14.85 3.598 15.13 4.072 C 15.155 4.116 15.155 4.17 15.13 4.214 C 14.902 4.612 13.783 6.565 13.407 7.222 C 13.381 7.266 13.334 7.294 13.282 7.294 C 13.23 7.294 13.182 7.268 13.157 7.223 L 12.83 6.666 C 12.804 6.622 12.756 6.595 12.704 6.595 C 12.652 6.595 12.604 6.623 12.579 6.668 C 11.709 8.2 6.525 17.338 5.666 18.851 C 5.641 18.895 5.641 18.949 5.667 18.993 C 5.693 19.037 5.741 19.063 5.792 19.063 L 18.522 19.063 C 18.573 19.063 18.62 19.09 18.646 19.134 C 18.88 19.529 20.028 21.465 20.414 22.118 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-p3qa4b\",layoutDependency:layoutDependency,layoutId:\"shP9Y6pfn\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 23.035 22.346\" overflow=\"visible\"><path d=\"M 7.521 4.412 C 7.518 4.41 7.516 4.406 7.518 4.403 C 7.611 4.239 9.475 0.959 9.979 0.073 C 10.005 0.028 10.052 0 10.104 0 C 10.156 0 10.204 0.027 10.23 0.072 C 11.49 2.245 21.769 19.981 23.016 22.133 C 23.042 22.177 23.042 22.231 23.016 22.275 C 22.99 22.319 22.943 22.346 22.891 22.346 L 18.476 22.346 C 18.425 22.346 18.378 22.32 18.351 22.276 C 18.118 21.881 16.969 19.944 16.583 19.292 C 16.557 19.248 16.557 19.194 16.583 19.149 C 16.61 19.104 16.657 19.077 16.709 19.077 L 17.187 19.077 C 17.238 19.077 17.286 19.05 17.312 19.006 C 17.337 18.962 17.337 18.908 17.312 18.863 C 16.433 17.347 11.147 8.226 10.26 6.696 C 10.234 6.651 10.186 6.624 10.134 6.624 C 10.082 6.624 10.034 6.652 10.008 6.696 C 9.159 8.191 4.234 16.855 3.732 17.739 C 3.706 17.784 3.659 17.812 3.606 17.812 L 0.145 17.812 C 0.093 17.812 0.046 17.785 0.02 17.741 C -0.006 17.697 -0.006 17.643 0.019 17.599 C 0.796 16.231 5.065 8.722 5.065 8.722 C 5.065 8.722 5.064 8.722 5.063 8.72 L 5.063 8.719 C 5.09 8.673 7.468 4.523 7.527 4.418 C 7.527 4.417 7.527 4.416 7.527 4.415 C 7.525 4.415 7.524 4.414 7.522 4.412 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1ft977l\",layoutDependency:layoutDependency,layoutId:\"TEIg4d4Ey\",opacity:1,requiresOverflowVisible:false,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 25.893 17.855\" overflow=\"visible\"><path d=\"M 15.306 0.073 C 15.332 0.028 15.38 0.001 15.431 0 C 15.483 0 15.531 0.027 15.556 0.071 C 16.668 1.964 24.765 15.753 25.874 17.642 C 25.899 17.686 25.899 17.74 25.874 17.784 C 25.848 17.829 25.8 17.855 25.749 17.855 L 0.144 17.855 C 0.093 17.855 0.046 17.829 0.02 17.785 C -0.006 17.741 -0.007 17.687 0.018 17.643 C 0.473 16.843 2.07 14.033 2.348 13.545 C 2.374 13.5 2.421 13.472 2.474 13.472 L 5.936 13.472 C 5.987 13.472 6.034 13.499 6.061 13.543 C 6.086 13.587 6.087 13.641 6.062 13.685 C 5.949 13.883 5.783 14.176 5.67 14.374 C 5.645 14.419 5.645 14.472 5.671 14.516 C 5.697 14.56 5.745 14.587 5.796 14.587 L 20.007 14.587 C 20.058 14.587 20.106 14.559 20.132 14.516 C 20.157 14.471 20.157 14.417 20.132 14.373 C 19.257 12.883 14.1 4.1 13.584 3.222 C 13.558 3.178 13.558 3.124 13.583 3.08 C 13.811 2.682 14.931 0.73 15.307 0.073 Z\" fill=\"transparent\"></path></svg>',withExternalLayout:true})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7Um9ib3RvLTcwMA==\",\"--framer-font-family\":'\"Roboto\", \"Roboto Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.04em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247)))\"},children:\"Miura Design Lab\"})}),className:\"framer-6ssgh1\",fonts:[\"GF;Roboto-700\"],layoutDependency:layoutDependency,layoutId:\"VweoMGjQC\",style:{\"--extracted-r6o4lv\":\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\"},verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-wdiqbr\",\"data-border\":true,\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"jK3XTlsJR\",style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\",borderBottomLeftRadius:50,borderBottomRightRadius:50,borderTopLeftRadius:50,borderTopRightRadius:50},children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":lHot7k9nw\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{hash:\":lHot7k9nw\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{hash:\":lHot7k9nw\",webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:36,y:(componentViewport?.y||0)+0+-135+135+14+0+0+52.4+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-16r2u1z-container\",layoutDependency:layoutDependency,layoutId:\"IROK1IPw0-container\",nodeId:\"IROK1IPw0\",rendersWithMotion:true,scopeId:\"L5Ni1IYJ9\",children:/*#__PURE__*/_jsx(MiscPillCta,{b8VXSGknl:\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\",bcYtybTGu:\"10px 6px 10px 6px\",FHNoFi5gB:resolvedLinks[0],gsNKEh_GI:\"rgba(255, 255, 255, 0)\",height:\"100%\",huhxNzn4E:{borderColor:\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\",borderStyle:\"solid\",borderWidth:1},id:\"IROK1IPw0\",KcK3TyQ0v:{borderColor:\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\",borderStyle:\"solid\",borderWidth:1},layoutId:\"IROK1IPw0\",m_ANRLISe:\"get in touch\",mgpAkjpuL:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\",pFoblqCcq:\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\",style:{height:\"100%\"},variant:\"qr_f1EdvQ\",width:\"100%\",...addPropertyOverrides({ojHzVwC3b:{FHNoFi5gB:resolvedLinks[1],huhxNzn4E:{borderColor:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\",borderStyle:\"solid\",borderWidth:1},KcK3TyQ0v:{borderColor:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\",borderStyle:\"solid\",borderWidth:1},mgpAkjpuL:\"var(--token-e80458c3-498c-4ee3-b35f-d4fd64d13449, rgb(255, 184, 185))\",pFoblqCcq:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\"},XQDNfynvK:{FHNoFi5gB:resolvedLinks[2],huhxNzn4E:{borderColor:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\",borderStyle:\"solid\",borderWidth:1},KcK3TyQ0v:{borderColor:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\",borderStyle:\"solid\",borderWidth:1},mgpAkjpuL:\"var(--token-c3043347-e55d-4e8f-a620-23399553e32c, rgb(247, 247, 247))\",pFoblqCcq:\"var(--token-af4aa957-55ee-4f69-b04a-fc26bc15a171, rgb(15, 14, 14))\"}},baseVariant,gestureVariant)})})})})})]})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:400,y:(componentViewport?.y||0)+0+-135+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1u784db-container\",layoutDependency:layoutDependency,layoutId:\"CEKHWfqES-container\",nodeId:\"CEKHWfqES\",rendersWithMotion:true,scopeId:\"L5Ni1IYJ9\",children:/*#__PURE__*/_jsx(PageWrapperPadding,{height:\"100%\",id:\"CEKHWfqES\",layoutId:\"CEKHWfqES\",style:{height:\"100%\"},variant:\"ZTUvY15qg\",width:\"100%\"})})})]})]})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-mHg7H.framer-eq7k0v, .framer-mHg7H .framer-eq7k0v { display: block; }\",\".framer-mHg7H.framer-epe8y1 { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 130px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 800px; }\",\".framer-mHg7H .framer-ixqo37 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 130px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-mHg7H .framer-1ugapfi { flex: none; height: 100%; left: 0px; overflow: visible; position: absolute; top: 0px; width: 100%; }\",\".framer-mHg7H .framer-1512kso { flex: none; height: 100%; left: calc(50.00000000000002% - 100% / 2); overflow: visible; position: absolute; top: calc(49.33333333333336% - 100% / 2); width: 100%; z-index: 1; }\",\".framer-mHg7H .framer-1s0yjhy { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; max-width: 1800px; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-mHg7H .framer-1e4256n-container { align-self: stretch; flex: none; height: auto; position: relative; width: auto; }\",\".framer-mHg7H .framer-15saex1 { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 130px; justify-content: flex-start; max-width: 1800px; overflow: hidden; padding: 14px 0px 0px 0px; position: relative; width: 1px; z-index: 1; }\",\".framer-mHg7H .framer-1as13lu { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 14px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-mHg7H .framer-1a06ht3 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-mHg7H .framer-1w32dy0 { height: 28px; position: relative; width: 32px; }\",\".framer-mHg7H .framer-1twlzsx { height: 23px; left: 0px; position: absolute; top: 0px; width: 21px; }\",\".framer-mHg7H .framer-p3qa4b { height: 23px; left: 9px; position: absolute; top: 0px; width: 23px; }\",\".framer-mHg7H .framer-1ft977l { height: 18px; left: 3px; position: absolute; top: 10px; width: 26px; }\",\".framer-mHg7H .framer-6ssgh1 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-mHg7H .framer-wdiqbr { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 3px; height: min-content; justify-content: center; overflow: visible; padding: 0px 10px 0px 10px; position: relative; width: min-content; }\",\".framer-mHg7H .framer-16r2u1z-container { flex: none; height: 36px; position: relative; width: auto; }\",\".framer-mHg7H .framer-1u784db-container { flex: none; height: 400px; position: relative; width: auto; }\",'.framer-mHg7H[data-border=\"true\"]::after, .framer-mHg7H [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; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 130\n * @framerIntrinsicWidth 800\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"ojHzVwC3b\":{\"layout\":[\"fixed\",\"fixed\"]},\"XQDNfynvK\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerL5Ni1IYJ9=withCSS(Component,css,\"framer-mHg7H\");export default FramerL5Ni1IYJ9;FramerL5Ni1IYJ9.displayName=\"Mobile\";FramerL5Ni1IYJ9.defaultProps={height:130,width:800};addPropertyControls(FramerL5Ni1IYJ9,{variant:{options:[\"kj0h7Z5Tq\",\"ojHzVwC3b\",\"XQDNfynvK\"],optionTitles:[\"Black\",\"Pink\",\"White\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerL5Ni1IYJ9,[{explicitInter:true,fonts:[{family:\"Roboto\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/roboto/v49/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjammWggvWl0Qn.woff2\",weight:\"700\"}]},...PageWrapperPaddingFonts,...MiscPillCtaFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerL5Ni1IYJ9\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"800\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"ojHzVwC3b\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"XQDNfynvK\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"130\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (fb365c6)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,Container,ControlType,cx,GeneratedComponentContext,getFonts,PropertyOverrides,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS,withVariantAppearEffect}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Lenis from\"https://framerusercontent.com/modules/bSeEZJm22jsjERCOGQvq/ewEgVFDJmU5IWGjRz6lM/Lenis.js\";import Desktop from\"#framer/local/canvasComponent/cRpOWIwj5/cRpOWIwj5.js\";import Mobile from\"#framer/local/canvasComponent/L5Ni1IYJ9/L5Ni1IYJ9.js\";const DesktopFonts=getFonts(Desktop);const DesktopWithVariantAppearEffect=withVariantAppearEffect(Desktop);const LenisFonts=getFonts(Lenis);const MobileFonts=getFonts(Mobile);const MobileWithVariantAppearEffect=withVariantAppearEffect(Mobile);const breakpoints={Foqf1eEtT:\"(min-width: 1200px)\",Lnf7_71Pi:\"(min-width: 810px) and (max-width: 1199.98px)\",nTHvMJNVb:\"(max-width: 809.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-avVM7\";const variantClassNames={Foqf1eEtT:\"framer-v-8x2iiv\",Lnf7_71Pi:\"framer-v-j5o0xp\",nTHvMJNVb:\"framer-v-1olml1m\"};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-avVM7.framer-1ar725h, .framer-avVM7 .framer-1ar725h { display: block; }\",\".framer-avVM7.framer-8x2iiv { align-content: center; align-items: center; background-color: var(--token-e33c3ba9-31c2-46b2-a046-e687109c3532, #f2eaef); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-avVM7 .framer-4t9ln-container { flex: none; height: 75px; left: 0px; order: -1000; position: var(--framer-canvas-fixed-position, fixed); right: 0px; top: 0px; z-index: 10; }\",\".framer-avVM7 .framer-1dtf089 { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -10px; position: relative; width: 0px; }\",\".framer-avVM7 .framer-10vapha-container { flex: none; height: auto; order: 1004; position: relative; width: auto; }\",\".framer-avVM7 .framer-i5uwz8-container { flex: none; height: auto; left: 0px; order: 1005; position: var(--framer-canvas-fixed-position, fixed); top: 0px; width: 100%; z-index: 10; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -10px; }'];const mediaQueries={Foqf1eEtT:\"(min-width: 1200px)\",Lnf7_71Pi:\"(min-width: 810px) and (max-width: 1199.98px)\",nTHvMJNVb:\"(max-width: 809.98px)\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const humanReadableVariantMap={Desktop:\"Foqf1eEtT\",Phone:\"nTHvMJNVb\",Tablet:\"Lnf7_71Pi\"};const getProps=({height,id,sectionPink,sectionWhite,width,...props})=>{return{...props,jLROMKH4z:sectionPink??props.jLROMKH4z,variant:humanReadableVariantMap[props.variant]??props.variant??\"Foqf1eEtT\",xu4Q9uAPJ:sectionWhite??props.xu4Q9uAPJ};};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,xu4Q9uAPJ,jLROMKH4z,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(!isBrowser())return true;if(baseVariant===\"nTHvMJNVb\")return false;return true;};const isDisplayed1=()=>{if(!isBrowser())return true;if(baseVariant===\"nTHvMJNVb\")return true;return false;};useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{isLayoutTemplate:true,primaryVariantId:\"Foqf1eEtT\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-e33c3ba9-31c2-46b2-a046-e687109c3532, rgb(242, 234, 239)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-8x2iiv\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:75,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-4t9ln-container hidden-1olml1m\",layoutScroll:true,nodeId:\"mbfnUlWN8\",rendersWithMotion:true,scopeId:\"kSVXYVI9Q\",children:/*#__PURE__*/_jsx(DesktopWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{ref:xu4Q9uAPJ,target:\"GF4vNtHNI\"},{ref:jLROMKH4z,target:\"lBf2Mey5b\"}],__framer__threshold:1,__framer__variantAppearEffectEnabled:true,height:\"100%\",id:\"mbfnUlWN8\",layoutId:\"mbfnUlWN8\",style:{height:\"100%\",width:\"100%\"},variant:\"M3mW3uV9R\",width:\"100%\"})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1dtf089\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-10vapha-container\",isAuthoredByUser:true,isModuleExternal:true,nodeId:\"UCWY5WnxL\",scopeId:\"kSVXYVI9Q\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{nTHvMJNVb:{smooth:false}},children:/*#__PURE__*/_jsx(Lenis,{height:\"100%\",id:\"UCWY5WnxL\",infinite:false,intensity:6,layoutId:\"UCWY5WnxL\",orientation:\"vertical\",smooth:true,width:\"100%\"})})})}),isDisplayed1()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{nTHvMJNVb:{height:130,width:\"100vw\",y:0}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-i5uwz8-container hidden-8x2iiv hidden-j5o0xp\",layoutScroll:true,nodeId:\"ld1pG4bXS\",rendersWithMotion:true,scopeId:\"kSVXYVI9Q\",children:/*#__PURE__*/_jsx(MobileWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{ref:xu4Q9uAPJ,target:\"XQDNfynvK\"},{ref:jLROMKH4z,target:\"ojHzVwC3b\"}],__framer__threshold:1,__framer__variantAppearEffectEnabled:true,height:\"100%\",id:\"ld1pG4bXS\",layoutId:\"ld1pG4bXS\",style:{width:\"100%\"},variant:\"kj0h7Z5Tq\",width:\"100%\"})})})})]}),/*#__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=mediaQueries[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 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"Lnf7_71Pi\":{\"layout\":[\"fixed\",\"fixed\"]},\"nTHvMJNVb\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"xu4Q9uAPJ\":\"sectionWhite\",\"jLROMKH4z\":\"sectionPink\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"Foqf1eEtT\":[\".framer-4t9ln-container\",\".framer-10vapha-container\"],\"Lnf7_71Pi\":[\".framer-4t9ln-container\",\".framer-10vapha-container\"],\"nTHvMJNVb\":[\".framer-10vapha-container\",\".framer-i5uwz8-container\"]}\n * @framerBreakpoints {\"Foqf1eEtT\":{\"min\":1200,\"canvasClassName\":\"framer-8x2iiv-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"Lnf7_71Pi\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-j5o0xp-override\",\"minHeight\":1000,\"viewportHeight\":1080,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"nTHvMJNVb\":{\"max\":809,\"canvasClassName\":\"framer-1olml1m-override\",\"minHeight\":1000,\"viewportHeight\":844,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant Foqf1eEtT\n * @framerLayoutTemplate\n */const FramerkSVXYVI9Q=withCSS(Component,css,\"framer-avVM7\");export default FramerkSVXYVI9Q;FramerkSVXYVI9Q.displayName=\"Main\";FramerkSVXYVI9Q.defaultProps={height:1e3,width:1200};addPropertyControls(FramerkSVXYVI9Q,{xu4Q9uAPJ:{title:\"Section white\",type:ControlType.ScrollSectionRef},jLROMKH4z:{title:\"Section pink\",type:ControlType.ScrollSectionRef}});addFonts(FramerkSVXYVI9Q,[{explicitInter:true,fonts:[]},...DesktopFonts,...LenisFonts,...MobileFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerkSVXYVI9Q\",\"slots\":[],\"annotations\":{\"framerHitTargets\":\"{\\\"Foqf1eEtT\\\":[\\\".framer-4t9ln-container\\\",\\\".framer-10vapha-container\\\"],\\\"Lnf7_71Pi\\\":[\\\".framer-4t9ln-container\\\",\\\".framer-10vapha-container\\\"],\\\"nTHvMJNVb\\\":[\\\".framer-10vapha-container\\\",\\\".framer-i5uwz8-container\\\"]}\",\"framerAutoSizeImages\":\"true\",\"framerLayoutTemplate\":\"\",\"framerDefaultVariant\":\"Foqf1eEtT\",\"framerIntrinsicHeight\":\"1000\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"xu4Q9uAPJ\\\":\\\"sectionWhite\\\",\\\"jLROMKH4z\\\":\\\"sectionPink\\\"}\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Lnf7_71Pi\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"nTHvMJNVb\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerBreakpoints\":\"{\\\"Foqf1eEtT\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-8x2iiv-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"Lnf7_71Pi\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-j5o0xp-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"nTHvMJNVb\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-1olml1m-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n        import * as Framer from \"framer\";\r\nimport { ResolveLinks, useSiteRefs } from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport Main from \"https://framerusercontent.com/modules/hmfSlCTQ0lRGgCkheQD0/Oq2w84fX1de4bPAZctjH/kSVXYVI9Q.js\";\r\n\r\n        const routes = {augiA20Il: {elements: {cz8T2jva_: \"services-production\", lHot7k9nw: \"contact-section\", nDArIfO2K: \"services-art\", Qr16iZYrc: \"services-design\", SefG5cbIc: \"cta\", sGJjzULe_: \"services-rebranding\", ZgVWHJGqx: \"services-strategy\", zLnpnWsgS: \"services\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/7AZXqOZCLZPiChwntRZ8/dbgz2Sjo2g6ttYzTqG0F/augiA20Il.js\")), path: \"/\"}, hCoPX1LSs: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/9SAC89jTgsp6cDuNq3FS/8toWk7HFgC066jql2tu9/hCoPX1LSs.js\")), path: \"/404\"}, EarKHzRnd: {page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/9Mvpp9sqj78Imoh1CAxU/ggm0pOmtGz1wo2GPFrgn/EarKHzRnd.js\"))}}\r\n\r\n        const locales = [{code: \"en\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n        const collectionUtils = {}\r\n        const framerSiteId = \"ad06a8cd7f8db5123b1f2e263bdcaa1116bccdde22c498455f9e303925dde401\"\r\n        function Template({routeId, children, style, ...rest}) {const props1 = {jLROMKH4z: {href: {webPageId: \"augiA20Il\"}, refKey: true}, xu4Q9uAPJ: {href: {hash: \":zLnpnWsgS\", webPageId: \"augiA20Il\"}, refKey: true}}\r\nconst props2 = {...props1, jLROMKH4z: undefined, xu4Q9uAPJ: undefined}\r\nconst siteRef = useSiteRefs()\r\nconst templateProps = {augiA20Il: props1, hCoPX1LSs: props2}\r\nconst props = templateProps[routeId] ?? {}\r\nswitch (routeId) {case \"augiA20Il\":\r\ncase \"hCoPX1LSs\":\r\nreturn React.createElement(ResolveLinks, {links: [props[\"xu4Q9uAPJ\"], props[\"jLROMKH4z\"]]}, (resolvedLinks) => React.createElement(Main, {...props, jLROMKH4z: siteRef(resolvedLinks[1]), key: \"Main\", routeId, style, xu4Q9uAPJ: siteRef(resolvedLinks[0])}, children(true)));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"hCoPX1LSs\":\r\nreturn [{hash: \"8x2iiv\", mediaQuery: \"(min-width: 1200px)\"}, {hash: \"j5o0xp\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"1olml1m\", mediaQuery: \"(max-width: 809.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n        export async function getPageRoot({ routeId, pathVariables, localeId }) {\r\n            const rootPreload = routes[routeId].page.preload()\r\n\r\n            const content = React.createElement(\r\n                Framer.PageRoot,\r\n                {\r\n                    isWebsite: true,\r\n                    routeId,\r\n                    pathVariables,\r\n                    routes,\r\n                    collectionUtils,\r\n                    framerSiteId,\r\n                    notFoundPage: Framer.lazy(() => import(\"https://framerusercontent.com/modules/9SAC89jTgsp6cDuNq3FS/8toWk7HFgC066jql2tu9/hCoPX1LSs.js\")),\r\n                    isReducedMotion: undefined,\r\n                    localeId,\r\n                    locales,\r\n                    preserveQueryParams: undefined,\r\n                    siteCanonicalURL: \"https://www.miuradesignlab.com\",\r\n                    EditorBar: \r\n            typeof window !== \"undefined\" ? (() => {\r\n                const isBot = /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n                if (isBot) {\r\n                    console.log(\"[Framer Editor Bar] Unavailable because navigator is bot\")\r\n                    return\r\n                }\r\n\r\n                return Framer.lazy(async () => {\r\n                    const dependencies = {\r\n                        __version: 2,\r\n                        framer: {\r\n                            useCurrentRoute: Framer.useCurrentRoute,\r\n                            useLocaleInfo: Framer.useLocaleInfo,\r\n                            useRouter: Framer.useRouter,\r\n                        },\r\n                        react: {\r\n                            createElement: React.createElement,\r\n                            Fragment: React.Fragment,\r\n                            memo: React.memo,\r\n                            useCallback: React.useCallback,\r\n                            useEffect: React.useEffect,\r\n                            useRef: React.useRef,\r\n                            useState: React.useState,\r\n                        },\r\n                        \"react-dom\": { createPortal },\r\n                    }\r\n\r\n                    window.__framer_editorBarDependencies = dependencies\r\n\r\n                    const { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n                    return {\r\n                        default: createEditorBar(),\r\n                    }\r\n                })\r\n            })() : undefined\r\n        ,\r\n                    adaptLayoutToTextDirection: false,\r\n                    LayoutTemplate: Template,\r\n                }\r\n            )\r\n\r\n            const contentWithFeaturesContext = React.createElement(\r\n                Framer.LibraryFeaturesProvider,\r\n                {\r\n                    children: content,\r\n                    value: {editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, motionDivToDivBackgroundImage: true, pauseOffscreen: true, synchronousNavigationOnDesktop: false, yieldOnTap: false}\r\n                }\r\n            )\r\n\r\n            const contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n                children: contentWithFeaturesContext\r\n            })\r\n\r\n            \r\n            const page = React.createElement(Framer.PageEffectsProvider, {\r\n                children: contentWithGracefullyDegradingErrorBoundary,\r\n                value: {global: {enter: {opacity: 1, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.85, ease: [0.77, 0, 0.175, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"100%\"}, exit: {opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1.2, transition: {damping: 30, delay: 0, duration: 0.85, ease: [0.77, 0, 0.175, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"-25%\"}}, routes: {}}\r\n            })\r\n\r\n            // We don't want the initial render to immediately have to suspend.\r\n            await rootPreload\r\n            return page\r\n        }\r\n\r\n        const isBrowser = typeof document !== \"undefined\"\r\n        if (isBrowser) {\r\n            window.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n                return React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n            }\r\n\r\n            window.__framer_events = window.__framer_events || []\r\n\r\n            // Fallback support for stack gaps\r\n            Framer.installFlexboxGapWorkaroundIfNeeded()\r\n\r\n            const container = document.getElementById(\"main\")\r\n            // We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n            if (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n            else main(false, container)\r\n        }\r\n\r\n        function track() {\r\n            if (!isBrowser) return\r\n            window.__framer_events.push(arguments)\r\n        }\r\n\r\n        async function main(shouldHydrate, container) {\r\n            function handleError(error, errorInfo, recoverable = true) {\r\n                if (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n                const componentStack = errorInfo?.componentStack\r\n                if (recoverable) {\r\n                    console.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                    // we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n                    if (Math.random() > 0.01) return\r\n                } else {\r\n                    console.error(\"Caught a fatal error. If you are the author of this website, please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n                }\r\n                track(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n                    message: String(error),\r\n                    componentStack, // componentStack is more useful\r\n                    stack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n                })\r\n            }\r\n\r\n            try {\r\n                let routeId, localeId, pathVariables, breakpoints\r\n                if (shouldHydrate) {\r\n                    const routeData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n                    routeId = routeData.routeId\r\n                    localeId = routeData.localeId\r\n                    pathVariables = routeData.pathVariables\r\n                    breakpoints = routeData.breakpoints\r\n\r\n                    routeId = 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                } else {\r\n                    Framer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n                    \r\n                    const routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n                    routeId = routeData.routeId\r\n                    localeId = routeData.localeId\r\n                    pathVariables = routeData.pathVariables\r\n                    \r\n                }\r\n\r\n                const pagePromise = getPageRoot({ routeId, localeId, pathVariables })\r\n\r\n                \r\nif (typeof window !== \"undefined\") {\r\n    void (async () => {\r\n        const route = routes[routeId]\r\n\r\n        const defaultLocaleId = \"default\"\r\n        const framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n        let collectionItemId = null\r\n        if (route?.collectionId && collectionUtils) {\r\n              const utils = await collectionUtils[route.collectionId]?.()\r\n              const [slug] = Object.values(pathVariables)\r\n              if (utils && typeof slug === \"string\") {\r\n                  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n              }\r\n        }\r\n\r\n        const resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n        const timezone = resolvedDateTimeOptions.timeZone\r\n        const locale = resolvedDateTimeOptions.locale\r\n\r\n        // wait for the page to be activated before sending the pageview event\r\n        // https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n        await new Promise((resolve) => {\r\n            if (document.prerendering) {\r\n                document.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n            } else {\r\n                resolve()\r\n            }\r\n        })\r\n\r\n        window.__framer_events.push([\r\n            \"published_site_pageview\",\r\n            {\r\n                framerSiteId: framerSiteId ?? null,\r\n                version: 2,\r\n                routePath: route?.path || \"/\",\r\n                collectionItemId,\r\n                framerLocale: framerLocale || null,\r\n                webPageId: route?.abTestingVariantId ?? routeId,\r\n                abTestId: route?.abTestId,\r\n                referrer: document.referrer || null,\r\n                url: window.location.href,\r\n                hostname: window.location.hostname || null,\r\n                pathname: window.location.pathname || null,\r\n                hash: window.location.hash || null,\r\n                search: window.location.search || null,\r\n                timezone,\r\n                locale,\r\n            },\r\n            \"eager\"\r\n        ])\r\n\r\n        // Yield to avoid blocking the main thread with the user code\r\n        await Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n        document.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n            detail: { framerLocale: framerLocale || null }\r\n        }))\r\n    })()\r\n}\r\n\r\n\r\n                const page = await pagePromise\r\n                if (shouldHydrate) {\r\n                    \r\n\r\n                    Framer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n                        Framer.removeHiddenBreakpointLayersV2(breakpoints)\r\n                        window.__framer_onRewriteBreakpoints?.(breakpoints)\r\n                    })\r\n\r\n                    \r\n\r\n                    const startTransition = React.startTransition\r\n                    startTransition(() => {\r\n                        Framer.markHydrationStart()\r\n                        if (true) Framer.turnOffReactEventHandling()\r\n                        ReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n                    })\r\n                } else {\r\n                    \r\n                    ReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n                }\r\n            } catch (error) {\r\n                handleError(error, undefined, false)\r\n                throw error\r\n            }\r\n        }\r\n\r\n        \r\n\r\n        \r\n    "],"mappings":"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"}