.elementor-27 .elementor-element.elementor-element-53188f1{--display:flex;--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;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-27 .elementor-element.elementor-element-20fc44d{--display:flex;--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;--align-items:center;--flex-wrap:nowrap;--overflow:auto;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-27 .elementor-element.elementor-element-add7499{--grid-columns:1;--grid-row-gap:0px;}.elementor-27 .elementor-element.elementor-element-add7499 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-27 .elementor-element.elementor-element-2ade4ef.elementor-element{--order:-99999 /* order start hack */;}.elementor-27 .elementor-element.elementor-element-2ade4ef{z-index:2;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}body:not(.rtl) .elementor-27 .elementor-element.elementor-element-effa57c{right:5%;}body.rtl .elementor-27 .elementor-element.elementor-element-effa57c{left:5%;}.elementor-27 .elementor-element.elementor-element-effa57c{bottom:50%;z-index:5;}.elementor-27 .elementor-element.elementor-element-effa57c .elementor-icon-wrapper{text-align:center;}.elementor-27 .elementor-element.elementor-element-effa57c .elementor-icon{font-size:14px;}.elementor-27 .elementor-element.elementor-element-effa57c .elementor-icon svg{height:14px;}body.elementor-page-27:not(.elementor-motion-effects-element-type-background), body.elementor-page-27 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}body.elementor-page-27{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-27 .elementor-element.elementor-element-add7499{--grid-columns:1;}.elementor-27 .elementor-element.elementor-element-3899dec > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-27 .elementor-element.elementor-element-effa57c{bottom:30px;z-index:10;}}@media(max-width:767px){.elementor-27 .elementor-element.elementor-element-53188f1{--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;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-27 .elementor-element.elementor-element-20fc44d{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-27 .elementor-element.elementor-element-add7499{--grid-columns:1;--grid-row-gap:0px;--grid-column-gap:0px;}.elementor-27 .elementor-element.elementor-element-add7499 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-27 .elementor-element.elementor-element-2ade4ef > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}body:not(.rtl) .elementor-27 .elementor-element.elementor-element-effa57c{right:5%;}body.rtl .elementor-27 .elementor-element.elementor-element-effa57c{left:5%;}.elementor-27 .elementor-element.elementor-element-effa57c{bottom:50px;}.elementor-27 .elementor-element.elementor-element-effa57c .elementor-icon{font-size:15px;}.elementor-27 .elementor-element.elementor-element-effa57c .elementor-icon svg{height:15px;}}@media(min-width:768px){.elementor-27 .elementor-element.elementor-element-53188f1{--width:100vw;}}@media(max-width:1024px) and (min-width:768px){.elementor-27 .elementor-element.elementor-element-20fc44d{--width:500px;}}/* Start custom CSS for container, class: .elementor-element-53188f1 *//* ======================
   BASE (shared)
   ====================== */
.discover-card{
  position: relative;
  overflow: visible;
  transform: scale(1);
  transform-origin: right center;
  transition: transform 450ms ease;
  will-change: transform;
}

/* Lock media ratio */
.discover-image{
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;   /* keep 1:1 */
  overflow: hidden;
}

.discover-image img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: right center;
}

/* ======================
   DETAILS (MOBILE default)
   ====================== */
/* Mobile: visible, JS controls opacity per card */
.discover-details{
  opacity: 1;
  transform: translateY(0);
  transition: opacity 120ms linear; /* keep cheap for mobile */
  will-change: opacity;
}

/* Mobile polish: make fade feel nicer (optional) */
@media (hover: none) and (pointer: coarse){
  .discover-details{
    /* helps avoid “washed” text during mid opacity */
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
  }

  /* Mobile should not zoom on active */
  .e-loop-item.is-active .discover-card{
    transform: scale(1) !important;
  }
}

/* ======================
   DESKTOP OVERRIDES
   ====================== */
@media (hover: hover) and (pointer: fine){

  /* Desktop hides by default */
  .discover-details{
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 350ms ease, transform 350ms ease;
    will-change: opacity, transform;
  }

  /* Snap focus zoom */
  .e-loop-item.is-active .discover-card{
    transform: scale(1.12);
  }

  /* Reveal details on focus */
  .e-loop-item.is-active .discover-details{
    opacity: 1;
    transform: translateY(0);
  }

  /* Optional hover assist */
  .discover-card:hover .discover-details{
    opacity: 1;
    transform: translateY(0);
  }

  /* Lift active above neighbors */
  .e-loop-item.is-active{
    position: relative;
    z-index: 5;
  }
}

/* ======================
   SAFETY / CLIP FIXES
   ====================== */
/* Prevent Elementor inner wrappers clipping zoom/details */
.e-loop-item .e-con,
.e-loop-item .elementor-element{
  overflow: visible;
}

/* Hide Elementor load-more UI */
.ringloop-enabled .e-load-more-anchor,
.ringloop-enabled .e-load-more-spinner,
.ringloop-enabled .e-load-more-message{
  display: none !important;
}

/* Optional debug band */
.focus-zone-debug{
  position: fixed;
  left: 0;
  right: 0;
  top: 50%;
  height: 4vh;
  transform: translateY(-50%);
  border-top: 2px solid rgba(255,0,0,.7);
  border-bottom: 2px solid rgba(255,0,0,.7);
  background: rgba(255,0,0,.06);
  pointer-events: none;
  z-index: 999999;
}

#vs-sound-toggle{
  position: fixed;         /* or absolute if you want it inside a section */
  transform: translateY(-50%);
  z-index: 9999999;
  pointer-events: auto !important;
}

#vs-sound-toggle *{
  pointer-events: auto !important;
}

/* Sound toggle visual state */
#vs-sound-toggle.is-sound-off{
  opacity: 0.45;
  filter: grayscale(1);
}/* End custom CSS */
/* Start custom CSS *//* Camera viewport */
.gear-track.elementor-widget-loop-grid{
  height: 100vh;           /* <-- the key */
  overflow: hidden;
  position: relative;
}

/* Optional: prevents page from having extra scroll space */
html, body { height: 100%; overflow: hidden !important; }/* End custom CSS */