.elementor-109878 .elementor-element.elementor-element-30c64a1c{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--flex-wrap:wrap;--align-content:flex-end;--overflow:hidden;--overlay-opacity:0.5;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:20px;--padding-bottom:120px;--padding-left:20px;--padding-right:20px;--z-index:10;}.elementor-109878 .elementor-element.elementor-element-30c64a1c:not(.elementor-motion-effects-element-type-background), .elementor-109878 .elementor-element.elementor-element-30c64a1c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #00000000 10%, #000000E0 75%);}.elementor-109878 .elementor-element.elementor-element-30c64a1c::before, .elementor-109878 .elementor-element.elementor-element-30c64a1c > .elementor-background-video-container::before, .elementor-109878 .elementor-element.elementor-element-30c64a1c > .e-con-inner > .elementor-background-video-container::before, .elementor-109878 .elementor-element.elementor-element-30c64a1c > .elementor-background-slideshow::before, .elementor-109878 .elementor-element.elementor-element-30c64a1c > .e-con-inner > .elementor-background-slideshow::before, .elementor-109878 .elementor-element.elementor-element-30c64a1c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-109878 .elementor-element.elementor-element-30c64a1c.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-109878 .elementor-element.elementor-element-2ff41b5{width:100%;max-width:100%;text-align:center;}.elementor-109878 .elementor-element.elementor-element-2ff41b5 > .elementor-widget-container{padding:0px 0px 10px 0px;}.elementor-109878 .elementor-element.elementor-element-2ff41b5 .elementor-heading-title{font-family:"ESL Legend", Sans-serif;font-size:80px;font-weight:400;line-height:1em;letter-spacing:20px;text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.elementor-109878 .elementor-element.elementor-element-43debd44{width:auto;max-width:auto;z-index:11;text-align:center;}.elementor-109878 .elementor-element.elementor-element-43debd44.elementor-element{--align-self:center;}.elementor-109878 .elementor-element.elementor-element-43debd44 .elementor-heading-title{font-family:"ESL Legend", Sans-serif;font-size:32px;font-weight:800;line-height:1em;letter-spacing:4px;text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.elementor-109878 .elementor-element.elementor-element-6329213b{width:auto;max-width:auto;z-index:11;text-align:center;}.elementor-109878 .elementor-element.elementor-element-6329213b.elementor-element{--align-self:center;}.elementor-109878 .elementor-element.elementor-element-6329213b .elementor-heading-title{font-family:"ESL Legend", Sans-serif;font-size:32px;font-weight:800;line-height:1em;letter-spacing:4px;text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.elementor-109878 .elementor-element.elementor-element-3fbc19d0{width:auto;max-width:auto;z-index:11;text-align:center;}.elementor-109878 .elementor-element.elementor-element-3fbc19d0.elementor-element{--align-self:center;}.elementor-109878 .elementor-element.elementor-element-3fbc19d0 .elementor-heading-title{font-family:"ESL Legend", Sans-serif;font-size:32px;font-weight:800;line-height:1em;letter-spacing:4px;text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.elementor-109878 .elementor-element.elementor-element-9e09933{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-109878 .elementor-element.elementor-element-b76a008{width:100%;max-width:100%;text-align:center;font-size:24px;line-height:1.3em;text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.elementor-109878 .elementor-element.elementor-element-4a8983c .elementor-icon-wrapper{text-align:center;}.elementor-109878 .elementor-element.elementor-element-4a8983c.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-text );}.elementor-109878 .elementor-element.elementor-element-4a8983c.elementor-view-framed .elementor-icon, .elementor-109878 .elementor-element.elementor-element-4a8983c.elementor-view-default .elementor-icon{color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-109878 .elementor-element.elementor-element-4a8983c.elementor-view-framed .elementor-icon, .elementor-109878 .elementor-element.elementor-element-4a8983c.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-text );}.elementor-109878 .elementor-element.elementor-element-4a8983c .elementor-icon{font-size:32px;}.elementor-109878 .elementor-element.elementor-element-4a8983c .elementor-icon svg{height:32px;}@media(max-width:1024px){.elementor-109878 .elementor-element.elementor-element-43debd44 .elementor-heading-title{font-size:32px;}.elementor-109878 .elementor-element.elementor-element-6329213b .elementor-heading-title{font-size:32px;}.elementor-109878 .elementor-element.elementor-element-3fbc19d0 .elementor-heading-title{font-size:32px;}}@media(min-width:768px){.elementor-109878 .elementor-element.elementor-element-30c64a1c{--width:100%;}.elementor-109878 .elementor-element.elementor-element-9e09933{--content-width:730px;}}@media(max-width:767px){.elementor-109878 .elementor-element.elementor-element-30c64a1c{--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:10px 20px;--row-gap:10px;--column-gap:20px;--align-content:flex-end;--padding-top:10px;--padding-bottom:80px;--padding-left:10px;--padding-right:10px;}.elementor-109878 .elementor-element.elementor-element-30c64a1c.e-con{--align-self:center;}.elementor-109878 .elementor-element.elementor-element-2ff41b5 > .elementor-widget-container{padding:0px 0px 0px 10px;}.elementor-109878 .elementor-element.elementor-element-2ff41b5 .elementor-heading-title{font-size:40px;letter-spacing:7px;}.elementor-109878 .elementor-element.elementor-element-43debd44 .elementor-heading-title{font-size:18px;}.elementor-109878 .elementor-element.elementor-element-6329213b .elementor-heading-title{font-size:18px;}.elementor-109878 .elementor-element.elementor-element-3fbc19d0 .elementor-heading-title{font-size:18px;}.elementor-109878 .elementor-element.elementor-element-b76a008{font-size:20px;}}/* Start custom CSS for container, class: .elementor-element-30c64a1c *//* ============================================================
   Scroll sequence overlay: headlines + copytext + CTA
   ============================================================ */

/* Timeline on the shared parent (contains the shortcode + the absolute stage) */
.ssq-scope {
  view-timeline: --ssq block;
}

@supports (animation-timeline: view()) {
  /* Main headline: scales in first */
  #mainhead {
    animation: ssq-scale-in linear both !important;
    animation-timeline: --ssq !important;
    animation-range: contain 0% contain 15% !important;
    transform-origin: center center;
  }

  /* Titles: bounce in one after another */
  #title1, #title2, #title3 {
    animation: ssq-bounce-in-up linear both !important;
    animation-timeline: --ssq !important;
  }
  #title1 { animation-range: contain 20% contain 29% !important; }
  #title2 { animation-range: contain 31% contain 40% !important; }
  #title3 { animation-range: contain 42% contain 51% !important; }

  /* Copytext: soft fade-up after the titles */
  #copytext {
    animation: ssq-fade-up linear both !important;
    animation-timeline: --ssq !important;
    animation-range: contain 55% contain 65% !important;
  }

  /* CTA: after the copytext */
  #cta {
    animation: ssq-cta-in linear both !important;
    animation-timeline: --ssq !important;
    animation-range: contain 69% contain 78% !important;
  }
}

@keyframes ssq-scale-in {
  from { opacity: 0; transform: scale(0); }
  to   { opacity: 1; transform: scale(1); }
}

/* Bounce In Up: comes up from below, settles without going above its final position */
@keyframes ssq-bounce-in-up {
  0%   { opacity: 0; transform: translateY(200px);
         animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
  30%  { opacity: 1; transform: translateY(0);
         animation-timing-function: ease-out; }
  50%  {             transform: translateY(14px);
         animation-timing-function: ease-in; }
  70%  {             transform: translateY(0);
         animation-timing-function: ease-out; }
  85%  {             transform: translateY(4px);
         animation-timing-function: ease-in; }
  100% { opacity: 1; transform: none; }
}

/* Fade Up: calm entrance for body copy */
@keyframes ssq-fade-up {
  0%   { opacity: 0; transform: translateY(30px);
         animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
  100% { opacity: 1; transform: none; }
}

/* CTA: slides in – no visibility animation, so Elementor's hidden sticky copy stays hidden */
@keyframes ssq-cta-in {
  0%   { opacity: 0; pointer-events: none; transform: translateY(40px) scale(.95);
         animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
  99%  { pointer-events: none; }
  100% { opacity: 1; pointer-events: auto; transform: none; }
}

/* ============================================================
   CTA button
   ============================================================ */

/* Clip the roll-effect copy at the label line */
#cta .elementor-button-content-wrapper,
#cta .elementor-button-text {
  display: inline-block;
  overflow: hidden;
  vertical-align: middle;
  line-height: 1.2;
}

/* Hover: small lift + shadow */
#cta .elementor-button {
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}
#cta .elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
}

/* ============================================================
   Mobile: sequence height = visible screen
   ============================================================ */
@media (max-width: 1024px) {
  .ssq-scope .scrollsequence-page,
  .ssq-scope .scrollsequence-sticky {
    height: 100vh !important;      /* fallback */
    height: 100svh !important;     /* visible screen height (address bar aware) */
  }
  .ssq-scope .scrollsequence-canvas {
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }
  .ssq-scene--pinned {
    height: 100svh !important;
  }
}

/* ============================================================
   Editor + reduced motion: just show everything
   ============================================================ */
.elementor-editor-active #mainhead,
.elementor-editor-active #title1,
.elementor-editor-active #title2,
.elementor-editor-active #title3,
.elementor-editor-active #copytext,
.elementor-editor-active #cta { animation: none !important; }

@media (prefers-reduced-motion: reduce) {
  #mainhead, #title1, #title2, #title3, #copytext, #cta { animation: none !important; }
}

/*/* End custom CSS */