/* WordPress / Elementor wrappers must not clip GSAP pin + scrub. */
.lw-wave-page .elementor-section,
.lw-wave-page .elementor-section-wrap,
.lw-wave-page .elementor-container,
.lw-wave-page .elementor-widget-wrap,
.lw-wave-page .elementor-widget-container,
.lw-wave-page .elementor-element,
.lw-wave-page .elementor-column,
.lw-wave-page .elementor-column-wrap,
.lw-wave-page .e-con,
.lw-wave-page .e-con-inner,
.lw-wave-page .entry-content,
.lw-wave-page .site-main,
.lw-wave-page .elementor {
  overflow: visible !important;
}

.lw-wave-page .elementor-shortcode,
.lw-wave-page .elementor-widget-html,
.lw-wave-page .elementor-widget-shortcode,
.lw-wave-page .elementor-widget-lw_wave_scene,
.lw-wave-page .elementor-widget-lw_wave_hero,
.lw-wave-page .elementor-widget-lw_wave_block {
  overflow: visible !important;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.lw-wave-el {
  color: inherit;
}

.lw-wave-el[style*="--lw-section-pad-top"] .lw-home-section,
.lw-wave-el[style*="--lw-section-pad-top"] .lw-wave-hero,
.lw-wave-el[style*="--lw-section-pad-top"] .lw-page-hero {
  padding-top: var(--lw-section-pad-top);
  padding-right: var(--lw-section-pad-right, 0);
  padding-bottom: var(--lw-section-pad-bottom);
  padding-left: var(--lw-section-pad-left, 0);
}

.lw-wave-el[style*="--lw-copy-max"] .lw-wave-copy,
.lw-wave-el[style*="--lw-copy-max"] .lw-home-copy,
.lw-wave-el[style*="--lw-copy-max"] .lw-home-cta-copy,
.lw-wave-el[style*="--lw-copy-max"] .lw-page-hero-copy {
  width: min(var(--lw-copy-max), calc(100% - 2rem));
}

.lw-wave-el[style*="--lw-graphic-min-h"] .lw-home-visual,
.lw-wave-el[style*="--lw-graphic-min-h"] .lw-wave-visual,
.lw-wave-el[style*="--lw-graphic-min-h"] .lw-home-visual-shell {
  min-height: var(--lw-graphic-min-h);
}

.lw-wave-el .lw-wave-eyebrow {
  color: var(--lw-el-eyebrow, var(--lw-wave-blue));
}

.lw-wave-el .lw-wave-copy h1,
.lw-wave-el .lw-home-copy h1,
.lw-wave-el .lw-home-copy h2,
.lw-wave-el .lw-home-cta-copy h1,
.lw-wave-el .lw-home-cta-copy h2,
.lw-wave-el .lw-page-hero h1,
.lw-wave-el .lw-page-hero h2,
.lw-wave-el .lw-page-hero-copy h1,
.lw-wave-el .lw-page-hero-copy h2 {
  color: var(--lw-el-heading, inherit);
}

.lw-wave-el .lw-wave-copy > p:not(.lw-wave-eyebrow),
.lw-wave-el .lw-home-copy > p:not(.lw-wave-eyebrow),
.lw-wave-el .lw-home-cta-copy > p:not(.lw-wave-eyebrow),
.lw-wave-el .lw-page-hero-copy > p:not(.lw-wave-eyebrow) {
  color: var(--lw-el-body, var(--lw-wave-muted));
}

.lw-wave-el.is-align-left .lw-wave-copy,
.lw-wave-el.is-align-left .lw-home-copy,
.lw-wave-el.is-align-left .lw-home-cta-copy {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
}

.lw-wave-el.is-align-center .lw-wave-copy,
.lw-wave-el.is-align-center .lw-home-copy,
.lw-wave-el.is-align-center .lw-home-cta-copy {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.lw-wave-el.is-copy-only .lw-wave-hero-stage,
.lw-wave-el.is-copy-only .lw-home-visual-shell,
.lw-wave-el.is-copy-only .lw-home-visual,
.lw-wave-el.is-copy-only .lw-home-s04-stage,
.lw-wave-el.is-copy-only .lw-home-s05-stage,
.lw-wave-el.is-copy-only .lw-home-s06-stage,
.lw-wave-el.is-copy-only .lw-home-jobs-stage {
  display: none;
}

.lw-wave-el.is-graphic-only .lw-wave-copy,
.lw-wave-el.is-graphic-only .lw-home-copy,
.lw-wave-el.is-graphic-only .lw-page-hero-copy,
.lw-wave-el.is-graphic-only .lw-home-cta-copy {
  display: none;
}

.lw-wave-el.is-graphic-only .lw-wave-hero {
  padding-top: 0;
}

.lw-wave-el.is-graphic-only .lw-wave-hero-stage,
.lw-wave-el.is-graphic-only .lw-wave-visual-shell {
  margin-top: 0;
}

.lw-wave-visual .source-logo,
.lw-wave-visual .rail-icon {
  transform-box: fill-box;
  transform-origin: center;
}

.lw-wave-el.is-cta-outline .lw-wave-cta:not(.lw-wave-cta--ghost):not(.lw-wave-cta--outline) {
  background: transparent;
  color: var(--lw-wave-action);
}

@media (min-width: 768px) {
  .lw-wave-el.is-graphic-right .lw-scene-fold,
  .lw-wave-el.is-graphic-left .lw-scene-fold {
    height: auto;
    grid-template-rows: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 1.5rem;
  }

  .lw-wave-el.is-graphic-left .lw-scene-fold,
  .lw-wave-el.is-graphic-left .lw-page-hero-stage {
    direction: rtl;
  }

  .lw-wave-el.is-graphic-left .lw-scene-fold > *,
  .lw-wave-el.is-graphic-left .lw-page-hero-stage > * {
    direction: ltr;
  }

  .lw-wave-el.is-graphic-above .lw-scene-fold,
  .lw-wave-el.is-graphic-above .lw-page-hero-stage,
  .lw-wave-el.is-graphic-above .lw-wave-hero {
    display: flex;
    flex-direction: column-reverse;
  }

  .lw-wave-el.is-graphic-below .lw-page-hero-stage {
    display: flex;
    flex-direction: column;
  }
}

/* Theme content width should not squeeze full-bleed folds. */
.lw-wave-page .lw-home-section,
.lw-wave-page .lw-wave-hero,
.lw-wave-page .lw-page-hero {
  max-width: none;
}

.lw-wave-page img.alignnone,
.lw-wave-page .lw-home-visual svg,
.lw-wave-page .lw-wave-visual svg {
  height: auto;
}

.lw-wave-el[style*="--lw-el-section-bg"] .lw-home-section,
.lw-wave-el[style*="--lw-el-section-bg"] .lw-wave-hero,
.lw-wave-el[style*="--lw-el-section-bg"] .lw-page-hero {
  background-color: var(--lw-el-section-bg);
}

.lw-wave-el[style*="--lw-el-cta-text"] .lw-wave-cta {
  color: var(--lw-el-cta-text);
}

.lw-wave-el[style*="--lw-el-cta-hover"] .lw-wave-cta:hover {
  background: var(--lw-el-cta-hover);
  border-color: var(--lw-el-cta-hover);
}

.lw-wave-el[style*="--lw-el-caption"] .lw-home-caption,
.lw-wave-el[style*="--lw-el-caption"] .lw-wave-story-caption {
  color: var(--lw-el-caption);
}

.lw-wave-el[style*="--lw-el-link"] a:not(.lw-wave-cta) {
  color: var(--lw-el-link);
}

body.elementor-editor-active .elementor-widget-lw_wave_hero,
body.elementor-editor-preview .elementor-widget-lw_wave_hero,
body.elementor-editor-active .elementor-widget-lw_wave_scene,
body.elementor-editor-preview .elementor-widget-lw_wave_scene,
body.elementor-editor-active .elementor-widget-lw_wave_block,
body.elementor-editor-preview .elementor-widget-lw_wave_block,
body.elementor-editor-active .lw-wave-el,
body.elementor-editor-preview .lw-wave-el {
  overflow: visible !important;
}

body.elementor-editor-active .lw-wave-visual,
body.elementor-editor-preview .lw-wave-visual,
body.elementor-editor-active .lw-home-visual,
body.elementor-editor-preview .lw-home-visual,
body.elementor-editor-active .lw-home-visual-shell,
body.elementor-editor-preview .lw-home-visual-shell {
  min-height: 280px;
}

body.elementor-editor-active .lw-wave-el svg,
body.elementor-editor-preview .lw-wave-el svg {
  max-width: 100%;
  height: auto;
}
