/* Media URLs and posters remain editable in the native Elementor Video widgets. */
#welcome { position: relative; isolation: isolate; overflow: hidden; }
#welcome > .s-welcome-inner { position: relative; z-index: 2; }
#welcome::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, #fff 0%, #fff 29%, #fffffff0 40%, #ffffff00 67%);
}
#welcome > .xo-hero-video {
  position: absolute; inset: 0 0 0 auto; width: 70%; height: 100%; z-index: 0;
  max-width: none; margin: 0;
}
.xo-background-video .elementor-widget-container,
.xo-background-video .elementor-wrapper { width: 100%; height: 100%; aspect-ratio: auto; }
.xo-background-video video.elementor-video {
  display: block; width: 100%; height: 100%; object-fit: cover; object-position: center;
  pointer-events: none;
}
#visit > .xo-cta-video {
  position: relative; width: 50%; min-height: 700px; align-self: stretch; flex-shrink: 0;
  margin: 0; overflow: hidden; background: #0c2e3a center / cover no-repeat;
}
#visit > .xo-cta-video > .elementor-widget-container,
#visit > .xo-cta-video > .elementor-wrapper { position: absolute; inset: 0; }
@media (max-width: 1024px) {
  #welcome > .xo-hero-video { width: 78%; }
  #welcome::before { background: linear-gradient(90deg, #fff 0%, #fff 33%, #fffffff0 47%, #ffffff00 79%); }
  #visit > .xo-cta-video { width: 100%; height: 460px; min-height: 0; flex-basis: auto; }
}
@media (max-width: 767px) {
  #welcome > .xo-hero-video { inset: auto 0 0; width: 100%; height: 300px; }
  #welcome::before { background: linear-gradient(180deg, #fff 0%, #fff calc(100% - 300px), #ffffff00 calc(100% - 225px)); }
  #visit > .xo-cta-video { height: 280px; }
}
