﻿/* Shared moving gradient background — replaces all former static blue-green image backgrounds. */
.hero.main.jh-video-bg-section,
.features-v1.jh-video-bg-section,
.feature-v2.jh-video-bg-section,
.features-v3.jh-video-bg-section,
.feature-v4.jh-video-bg-section,
.feature-v5.jh-video-bg-section,
.case-study.jh-video-bg-section,
.pricing.jh-video-bg-section,
.faq-section.jh-video-bg-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-image:none!important;
  background-color:#f9fbff!important;
}
.jh-gradient-video-bg{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  pointer-events:none!important;
}
.jh-video-bg-section::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:rgba(255,255,255,.62)!important;
  pointer-events:none!important;
}
.jh-video-bg-section > :not(.jh-gradient-video-bg){
  position:relative!important;
  z-index:2!important;
}
.hero.main.jh-video-bg-section .hero-bg-shape{display:none!important}
.feature-v2.jh-real-products::before{display:none!important}
@media (max-width:767px){
  .jh-video-bg-section::after{background:rgba(255,255,255,.7)!important}
}
@media (prefers-reduced-motion:reduce){
  .jh-gradient-video-bg{display:none!important}
}

/* Video visibility refinement v29 */
.brand-main.jh-video-bg-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-image:none!important;
  background-color:#f9fbff!important;
}
.brand-main.jh-video-bg-section::after{background:rgba(255,255,255,.38)!important}
.brand-main.jh-video-bg-section > :not(.jh-gradient-video-bg){position:relative!important;z-index:2!important}
.jh-video-bg-section::after{background:rgba(255,255,255,.38)!important}
@media (max-width:767px){.jh-video-bg-section::after{background:rgba(255,255,255,.48)!important}}

/* One continuous video canvas prevents hard joins between sections. */
.page-wrapper{position:relative!important;isolation:isolate!important;background:transparent!important}
.jh-global-gradient-video{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100vw!important;
  height:100vh!important;
  object-fit:cover!important;
  pointer-events:none!important;
}
.page-wrapper > :not(.jh-global-gradient-video){position:relative!important;z-index:1!important}
.hero.main.jh-video-bg-section,
.features-v1.jh-video-bg-section,
.feature-v2.jh-video-bg-section,
.features-v3.jh-video-bg-section,
.feature-v4.jh-video-bg-section,
.feature-v5.jh-video-bg-section,
.case-study.jh-video-bg-section,
.pricing.jh-video-bg-section,
.faq-section.jh-video-bg-section,
.brand-main.jh-video-bg-section{background:transparent!important;background-image:none!important}
.jh-video-bg-section::after{background:rgba(255,255,255,.34)!important}
.brand-main.jh-video-bg-section::after{background:rgba(255,255,255,.34)!important}
@media (max-width:767px){.jh-video-bg-section::after{background:rgba(255,255,255,.44)!important}}

/* V31: one global wash keeps video brightness stable and removes every section seam. */
.jh-global-gradient-video{filter:brightness(1.14) saturate(.88)!important}
.jh-global-video-wash{
  position:fixed!important;
  inset:0!important;
  z-index:1!important;
  background:rgba(255,255,255,.39)!important;
  pointer-events:none!important;
}
.page-wrapper > :not(.jh-global-gradient-video):not(.jh-global-video-wash){z-index:2!important}
.jh-video-bg-section::after,
.brand-main.jh-video-bg-section::after{display:none!important}
.section-line-block-top,
.section-line-block-bottom,
.section-line,
.section-icon-flex,
.line-icon,
.page-line-block{display:none!important}
@media(max-width:767px){.jh-global-video-wash{background:rgba(255,255,255,.47)!important}}

/* V32: return to deliberate section video layers; remove the actual whitespace gap. */
.jh-global-gradient-video,
.jh-global-video-wash{display:none!important}
.jh-gradient-video-bg{filter:brightness(1.08) saturate(.92)!important}
.page-wrapper > :not(.jh-global-gradient-video):not(.jh-global-video-wash){z-index:auto!important}
.jh-video-bg-section::after,
.brand-main.jh-video-bg-section::after{display:block!important;background:rgba(255,255,255,.38)!important}
.brand-main.jh-video-bg-section{
  margin-top:-1px!important;
  padding-top:24px!important;
  padding-bottom:72px!important;
}

/* Partner breathing room v33 */
.brand-main.jh-video-bg-section{
  padding-top:112px!important;
  padding-bottom:88px!important;
}

/* V34: one shared, static visual field for the hero, comparison cards, and partners. */
.jh-global-gradient-video,
.jh-global-video-wash,
.jh-gradient-video-bg{display:none!important}
.home-intro{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at -5% 25%, rgba(178,243,156,.48) 0, rgba(214,250,205,.25) 22%, transparent 48%),
    radial-gradient(circle at 105% 45%, rgba(126,184,255,.44) 0, rgba(190,221,255,.24) 26%, transparent 52%),
    #fff!important;
}
.home-intro .hero.main,
.home-intro .brand-main{
  background:transparent!important;
  background-image:none!important;
}
.home-intro .hero.main::after,
.home-intro .brand-main::after{display:none!important}
.home-intro .brand-main{
  margin-top:0!important;
  padding-top:108px!important;
  padding-bottom:112px!important;
}
.home-intro .brand-content-wrapper{
  gap:62px!important;
}
.home-intro .brand-title{
  margin:0!important;
}
.home-intro .brand-section{background:transparent!important}
@media(max-width:767px){
  .home-intro .brand-main{padding-top:82px!important;padding-bottom:82px!important}
  .home-intro .brand-content-wrapper{gap:55px!important}
}

/* V35: video returns below the shared hero/partners canvas. */
.jh-video-bg-section > .jh-gradient-video-bg{display:block!important}
.jh-video-bg-section{position:relative!important;isolation:isolate!important;overflow:hidden!important}
.jh-video-bg-section::after{display:block!important;background:rgba(255,255,255,.38)!important}
.jh-video-bg-section > :not(.jh-gradient-video-bg){position:relative!important;z-index:2!important}
@media(max-width:767px){.jh-video-bg-section::after{background:rgba(255,255,255,.46)!important}}
