/* Motion ported from the local Benleo implementation; Figma timings remain unverified. */
    body.home-page .scene::before{
      content: "";
      display: none;
      position: absolute;
      inset: 0;
      z-index: 8;
      background: #fff;
      opacity: 0;
      transform: translateY(100%);
      pointer-events: none}

    body.home-page.scene-transitioning .scene.entering::before{
      display: block;
      animation: scene-veil 1120ms cubic-bezier(.78, 0, .18, 1) both}

    @keyframes scene-veil{
      0% { opacity: .92; transform: translateY(100%)}
      44% { opacity: .82; transform: translateY(0)}
      100% { opacity: 0; transform: translateY(-100%)}
    }

    body.home-page .scene img{
      opacity: .82;
      transform: scale(1.035);
      filter: blur(2px);
      transition:
        opacity 1050ms cubic-bezier(.22, 1, .36, 1),
        transform 1350ms cubic-bezier(.22, 1, .36, 1),
        filter 1050ms cubic-bezier(.22, 1, .36, 1);
      will-change: transform, opacity, filter}

    body.home-page .scene.active img,
body.home-page .scene.entering img{
      opacity: 1;
      transform: scale(1);
      filter: blur(0)}

    body.home-page .scene.leaving img{
      opacity: .7;
      transform: scale(.985);
      filter: blur(1.5px)}

    body.home-page .stage-slider{
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
      background: #efede8;
      touch-action: none;
      cursor: grab}

    body.home-page .stage-slider::after{
      content: "";
      position: absolute;
      inset: 0;
      z-index: 4;
      pointer-events: none;
      opacity: 0;
      background: rgba(247,245,241,0);
      -webkit-backdrop-filter: blur(0);
      backdrop-filter: blur(0)}

    body.home-page .stage-slider.is-transitioning::after{
      animation: slider-glass-pass 980ms cubic-bezier(.22, 1, .36, 1) both}

    @keyframes slider-glass-pass{
      0%{
        opacity: 0;
        background: rgba(247,245,241,0);
        -webkit-backdrop-filter: blur(0);
        backdrop-filter: blur(0)}
      38%{
        opacity: 1;
        background: rgba(247,245,241,.16);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px)}
      100%{
        opacity: 0;
        background: rgba(247,245,241,0);
        -webkit-backdrop-filter: blur(0);
        backdrop-filter: blur(0)}
    }

    body.home-page .stage-slides{
      display: flex;
      width: 100%;
      height: 100%;
      transform: translate3d(0, 0, 0);
      transition: transform 1120ms cubic-bezier(.22, 1, .36, 1);
      will-change: transform}

    body.home-page .stage-slider.is-glass-morph .stage-slides{
      transition: none}

    body.home-page .slider-transition-frame{
      position: absolute;
      inset: 0;
      z-index: 3;
      pointer-events: none;
      overflow: hidden;
      opacity: 0}

    body.home-page .slider-transition-frame img{
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 1;
      transform: scale(1);
      filter: blur(0);
      transition: none}

    body.home-page .slider-transition-frame.is-visible{
      animation: slider-old-frame 980ms cubic-bezier(.22, 1, .36, 1) both}

    body.home-page .stage-slider.is-transitioning .stage-slide.current img{
      animation: slider-new-frame 980ms cubic-bezier(.22, 1, .36, 1) both}

    @keyframes slider-old-frame{
      0%{ opacity: 1}
      40%{ opacity: .78}
      100%{ opacity: 0}
    }

    @keyframes slider-new-frame{
      0%{
        opacity: .52;
        transform: scale(1.025);
        filter: blur(14px)}
      45%{
        opacity: .78;
        filter: blur(7px)}
      100%{
        opacity: 1;
        transform: scale(1);
        filter: blur(0)}
    }

    body.home-page .stage-slide{
      flex: 0 0 100%;
      width: 100%;
      height: 100%;
      position: relative;
      margin: 0}

    body.home-page .stage-slide img{
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: .72;
      transform: scale(1.025);
      filter: blur(1.5px);
      transition:
        opacity 1050ms cubic-bezier(.22, 1, .36, 1),
        transform 1350ms cubic-bezier(.22, 1, .36, 1),
        filter 1050ms cubic-bezier(.22, 1, .36, 1);
      -webkit-user-drag: none;
      user-select: none}

    body.home-page .stage-slide.current img{
      opacity: 1;
      transform: scale(1);
      filter: blur(0)}

    body.home-page .stage-slider.is-dragging .stage-slides{
      transition: none}

    body.home-page .stage-slider.is-dragging{
      cursor: grabbing}

    body.home-page .text-in{
      opacity: 0;
      transform: translate3d(0, 26px, 0) scale(.985);
      filter: blur(4px);
      transition:
        opacity 820ms cubic-bezier(.22, 1, .36, 1),
        transform 980ms cubic-bezier(.22, 1, .36, 1),
        filter 820ms cubic-bezier(.22, 1, .36, 1);
      transition-delay: 110ms;
      will-change: transform, opacity, filter}

    body.home-page .scene.active .text-in,
body.home-page .scene.entering .text-in{
      opacity: 1;
      transform: translate3d(0, 0, 0) scale(1);
      filter: blur(0)}

    body.home-page .scene.leaving .text-in{
      opacity: 0;
      transform: translate3d(0, -18px, 0) scale(.99);
      filter: blur(3px);
      transition-delay: 0ms}


body.home-page .slider-transition-frame{display:block}
body.home-page .slider-ui{z-index:5}
body.home-page .center-media{overflow:hidden}
body.home-page .scene::before{inset:84px 0 0}
body.home-page .scene.active .text-in{transition-delay:110ms}
body.home-page .scene.leaving .text-in{transition-delay:0ms}
body.home-page .lead-modal{transform:translateY(24px) scale(.98);transition:transform .5s cubic-bezier(.22,1,.36,1)}
body.home-page .lead-overlay.is-open .lead-modal{transform:translateY(0) scale(1)}
@media(max-width:1100px){
 body.home-page .scene::before{inset:76px 0 0}
 body.home-page .slider-transition-frame.is-visible,body.home-page .stage-slider.is-transitioning .stage-slide.current img{animation-duration:760ms}
 body.home-page .stage-slider.is-transitioning::after{animation-name:slider-glass-pass-mobile}
 @keyframes slider-glass-pass-mobile{0%,100%{opacity:0;backdrop-filter:blur(0);background:transparent}38%{opacity:1;backdrop-filter:blur(5px);background:rgba(247,245,241,.1)}}
}
@media(prefers-reduced-motion:reduce){
 body.home-page *,body.home-page *::before,body.home-page *::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}
 body.home-page .text-in,body.home-page .scene img{opacity:1!important;transform:none!important;filter:none!important}
 body.home-page .slider-transition-frame{display:none}
}
