/* Native, unhijacked scrolling for the Webflow export */
html {
  scroll-behavior: auto;
  overflow-x: clip;
  overflow-y: auto !important;
  height: auto !important;
  overscroll-behavior-y: auto;
}

html.s4c-js {
  height: auto !important;
  min-height: 100%;
  overflow-x: clip !important;
  overflow-y: auto !important;
}

html.s4c-js body {
  height: auto !important;
  min-height: 100%;
  overflow-x: clip !important;
  overflow-y: visible !important;
}

html.s4c-js body.u-overflow-hidden {
  overflow: hidden !important;
}

.page_wrap,
.page_main {
  height: auto !important;
  transform: none !important;
}

/* Horizontal-scroll hijack → ordinary vertical layout */
.scroll-wrapper,
.second-section,
.scroll-track,
.horizontal-scroll-camera,
.horizontal-scroll-content,
.scroll-content-wrapper {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  transform: none !important;
  will-change: auto !important;
}

.scroll-track,
.horizontal-scroll-camera,
.horizontal-scroll-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 3rem;
}

.scroll-content-wrapper {
  flex: none !important;
}

.split-chars,
.split-words,
.split-lines {
  transform: none !important;
  opacity: 1 !important;
  rotate: none !important;
}

/* Wheel events hit the page, not the autoplaying hero iframe/video */
.section-video-hero iframe,
iframe.iframe.home,
.section-video-hero .iframe,
.section-video-hero video,
video.iframe.home {
  pointer-events: none !important;
}

.section-video-hero video,
video.iframe.home,
video.g_visual_video,
.g_visual_wrap video,
.div-5 video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.section-video-hero video.iframe.home {
  min-height: 100vh;
}

.section-video-hero {
  isolation: isolate;
}

#home-cta.button-outline,
.orbit-hero-cta.button-outline,
.section-video-hero .button-outline {
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  max-width: max-content;
  gap: 0.65rem;
}

img {
  max-width: 100%;
  height: auto;
}

img.u-cover-absolute,
.u-cover-absolute img,
.g_visual_wrap img,
.g_visual_video,
.hero1_bg_img_wrap img,
.nav_dropdown_item_visual_wrap img,
.card.programs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nav_wrap,
.nav_component {
  transform: translateZ(0);
  backface-visibility: hidden;
}

.slider-wrapper,
.swiper,
.swiper-wrapper {
  touch-action: pan-y pinch-zoom;
}

@media (prefers-reduced-motion: reduce) {
  html:not(.s4c-allow-motion) *,
  html:not(.s4c-allow-motion) *::before,
  html:not(.s4c-allow-motion) *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
