.elementor-171 .elementor-element.elementor-element-7c9dfe89{--display:flex;--min-height:100vh;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.5;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:999;}.elementor-171 .elementor-element.elementor-element-7c9dfe89:not(.elementor-motion-effects-element-type-background), .elementor-171 .elementor-element.elementor-element-7c9dfe89 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-171 .elementor-element.elementor-element-7c9dfe89::before, .elementor-171 .elementor-element.elementor-element-7c9dfe89 > .elementor-background-video-container::before, .elementor-171 .elementor-element.elementor-element-7c9dfe89 > .e-con-inner > .elementor-background-video-container::before, .elementor-171 .elementor-element.elementor-element-7c9dfe89 > .elementor-background-slideshow::before, .elementor-171 .elementor-element.elementor-element-7c9dfe89 > .e-con-inner > .elementor-background-slideshow::before, .elementor-171 .elementor-element.elementor-element-7c9dfe89 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-171 .elementor-element.elementor-element-2d23eba2{--display:flex;--position:absolute;--min-height:100vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;top:0px;--z-index:99999;}body:not(.rtl) .elementor-171 .elementor-element.elementor-element-2d23eba2{left:0px;}body.rtl .elementor-171 .elementor-element.elementor-element-2d23eba2{right:0px;}.elementor-171 .elementor-element.elementor-element-6a9ad63{--display:flex;--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:space-between;--align-items:center;}.elementor-171 .elementor-element.elementor-element-128b0f4 .elementor-button{background-color:var( --e-global-color-3b1dd06 );font-family:"Helvetica", Sans-serif;font-size:12px;font-weight:500;letter-spacing:1px;fill:var( --e-global-color-2eab7c5 );color:var( --e-global-color-2eab7c5 );}.elementor-171 .elementor-element.elementor-element-1209b606 .elementor-button{background-color:var( --e-global-color-3b1dd06 );font-family:"Helvetica", Sans-serif;font-size:12px;font-weight:500;letter-spacing:1px;fill:var( --e-global-color-2eab7c5 );color:var( --e-global-color-2eab7c5 );}.elementor-171 .elementor-element.elementor-element-4bd4728e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-171 .elementor-element.elementor-element-14859c4{--display:flex;--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:space-between;--align-items:center;}.elementor-171 .elementor-element.elementor-element-351c0f0 .elementor-button{background-color:var( --e-global-color-3b1dd06 );font-family:"Helvetica", Sans-serif;font-size:12px;font-weight:500;letter-spacing:1px;fill:var( --e-global-color-2eab7c5 );color:var( --e-global-color-2eab7c5 );}.elementor-171 .elementor-element.elementor-element-26ac3ba0 .elementor-button{background-color:var( --e-global-color-3b1dd06 );font-family:"Helvetica", Sans-serif;font-size:12px;font-weight:500;letter-spacing:1px;fill:var( --e-global-color-2eab7c5 );color:var( --e-global-color-2eab7c5 );}.elementor-171 .elementor-element.elementor-element-77d86843{--display:flex;--min-height:70vh;--overlay-opacity:0.5;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:99;}.elementor-171 .elementor-element.elementor-element-77d86843::before, .elementor-171 .elementor-element.elementor-element-77d86843 > .elementor-background-video-container::before, .elementor-171 .elementor-element.elementor-element-77d86843 > .e-con-inner > .elementor-background-video-container::before, .elementor-171 .elementor-element.elementor-element-77d86843 > .elementor-background-slideshow::before, .elementor-171 .elementor-element.elementor-element-77d86843 > .e-con-inner > .elementor-background-slideshow::before, .elementor-171 .elementor-element.elementor-element-77d86843 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-171 .elementor-element.elementor-element-22c2a0b2{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-171 .elementor-element.elementor-element-7c9dfe89{--width:100vw;--min-height:100vh;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.31;--z-index:999999;}.elementor-171 .elementor-element.elementor-element-2d23eba2{--z-index:99999999;}.elementor-171 .elementor-element.elementor-element-128b0f4{z-index:9999999;}.elementor-171 .elementor-element.elementor-element-4bd4728e{--z-index:9999;}.elementor-171 .elementor-element.elementor-element-77d86843{--min-height:55vh;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-171 .elementor-element.elementor-element-7c9dfe89{--width:100vw;}.elementor-171 .elementor-element.elementor-element-2d23eba2{--width:100vw;}.elementor-171 .elementor-element.elementor-element-6a9ad63{--width:50%;}.elementor-171 .elementor-element.elementor-element-4bd4728e{--width:50%;}.elementor-171 .elementor-element.elementor-element-14859c4{--width:50%;}.elementor-171 .elementor-element.elementor-element-77d86843{--width:100vw;}}/* Start custom CSS *//*********************************************
 * GLOBAL / SAFETY
 *********************************************/
 
 .glitch-hover .elementor-button {
  overflow: visible;
}

/* Kill Elementor transition lag
   (Prevents default transitions that can fight GSAP or create lag) */
.elementor *,
.elementor-element { transition: none !important; }

/* If you use ScrollSmoother elsewhere
   (Ensures the smoother wrapper doesn't create scrollbars) */
#smooth-wrapper { overflow: hidden; }


/*********************************************
 * HORIZONTAL SCROLL SECTION
 *********************************************/

/* Horizontal section container
   - Locks section to full viewport and hides overflow so slides stay clipped */
#hscroll {
  position: relative;
  overflow: hidden;
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100vh !important;
  z-index: 2;
}

/* Track that holds the horizontal slides
   - Flex row, no wrap, full height; width is auto so content defines length */
#hscroll .hs-track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  height: 100vh !important;
  width: auto !important;
}

/* Each horizontal slide
   - Exactly one viewport wide/high so each fills the screen */
#hscroll .hs-slide {
  flex: 0 0 100vw !important;
  width: 100vw !important;
  height: 100vh !important;
}


/*********************************************
 * HORIZONTAL REVEAL OVERLAY
 *********************************************/

/* The reveal overlay – lives ON TOP of #hscroll (inside it)
   - Starts fully clipped from the bottom; use GSAP to animate clip-path */
.hz-overlay{
  position: absolute;       /* anchor to #hscroll */
  inset: 0;                 /* top/right/bottom/left = 0 */
  height: 100%;
  z-index: 3;
  pointer-events: none;
  transform: none !important;
  clip-path: inset(100% 0% 0% 0%); /* hidden from bottom */
  will-change: clip-path;
}


/*********************************************
 * FX FRAMES & IMAGES (PARALLAX / SCALE / PAN)
 *********************************************/

/* Frame container for visual effects
   - Overflow hidden so image fills & can move without showing edges */
.fx-frame { 
  position: relative; 
  overflow: hidden; 
}

/* Hint to browser that transforms may animate on the frame */
.fx-frame { will-change: transform; }

/* Absolutely fill the frame regardless of its height/width */
.fx-img {
  position: absolute;    /* fill the frame regardless of % heights */
  inset: 0;              /* top:0 right:0 bottom:0 left:0 */
}

/* Make Elementor's widget container and its img fill the frame */
.fx-img .elementor-widget-container,
.fx-img .elementor-widget-container img {
  width: 100%;
  height: 100%;
}

/* Slight oversize + cover so edges never show during motion */
.fx-img .elementor-widget-container img {
  position: absolute; 
  inset: 0;
  width: 120%;           /* slight oversize so edges never show */
  height: 120%;
  object-fit: cover;
  will-change: transform;
}


/*********************************************
 * SCROLL PERFORMANCE HINTS
 *********************************************/

/* Any element you plan to animate vertically under another (underlap) */
.underlap-con { will-change: transform; }


/*********************************************
 * BACKGROUND PARALLAX HELPERS
 *********************************************/

/* Keeps the background stable; we only slide its Y position
   - Ideal for elements controlled via data attributes / GSAP */
[data-bgspeed]{
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}


/*********************************************
 * REVEAL / MASK HELPERS
 *********************************************/

/* Any element you want to reveal can act as a mask
   - Clip-path or transform-based reveals without overflow artifacts */
.reveal-mask {
  overflow: hidden;
  will-change: clip-path;
}


/*********************************************
 * FOLLOW-UP / NORMAL SECTION
 *********************************************/

/* Normal section after the horizontal
   - Sits below the horizontal scroller */
#end-100vh {
  position: relative;
  z-index: 1;
  margin-top: 0;
}


html, body {
  height: 100%;
  overflow: hidden; /* Prevents double scrollbars */
}

#smooth-wrapper {
  height: 100%;
  overflow: hidden;
}

#smooth-content {
  will-change: transform;
}



.under-hero {
  position: relative;
  height: 100vh;
  overflow: hidden;       /* keep the zoom contained */
  z-index: 1;
}

.con-holder {
  position: relative;
  height: 100%;
}

.img-holder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}

.sc-img img {
  width: 440px;
  height: 250px;
  object-fit: cover;          /* this is the magic */
  transform-origin: center center;
  will-change: transform;
  display: block;
}/* End custom CSS */