/* Homepage-only banner port. Keep every selector below the CMS module root. */
html body main.page-home #homeCustomModule .home-hero-banner,
html body main.page-home #homeCustomModule .home-hero-banner *{
  box-sizing:border-box;
}

html body main.page-home #homeCustomModule .home-hero-banner{
  isolation:isolate;
  position:relative;
  height:700px!important;
  min-height:700px!important;
  overflow:hidden;
  background-color:#dcecff!important;
  background-image:none!important;
}

html body main.page-home #homeCustomModule .home-hero-banner::before,
html body main.page-home #homeCustomModule .home-hero-banner::after{
  content:none!important;
  background:none!important;
}

html body main.page-home #homeCustomModule .home-hero-banner > .hero-banner-image{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  transition:opacity .36s cubic-bezier(.16,1,.3,1);
}

html body main.page-home #homeCustomModule .home-hero-banner > .hero-banner-image.is-switching{
  opacity:0!important;
}

html body main.page-home #homeCustomModule .home-hero-banner > .hero-grid{
  display:none!important;
}

html body main.page-home #homeCustomModule .home-hero-banner > .hero-shade{
  display:none!important;
  pointer-events:none!important;
}

html body main.page-home #homeCustomModule .home-hero-banner > .hero-shell{
  position:relative;
  display:flex!important;
  align-items:center!important;
  width:min(1280px,calc(100% - 64px))!important;
  height:700px!important;
  min-height:700px!important;
  margin:0 auto!important;
  padding:0!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .hero-copy{
  position:relative;
  z-index:4;
  width:58%!important;
  max-width:760px!important;
  min-width:0;
  margin-top:-28px!important;
  color:#111!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  box-sizing:border-box!important;
  width:auto!important;
  max-width:100%;
  height:30px!important;
  min-height:30px!important;
  margin-bottom:24px!important;
  padding:0 16px!important;
  gap:0!important;
  border:0!important;
  border-radius:99px!important;
  color:#091221!important;
  background:linear-gradient(90deg,rgba(22,93,255,.1),rgba(217,133,255,.1))!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  font-size:14px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  line-height:21px!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .eyebrow > .eyebrow-text{
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  color:#091221!important;
  background:none!important;
  box-shadow:none!important;
  font:inherit;
}

html body main.page-home #homeCustomModule .home-hero-banner .eyebrow > .eyebrow-text > .eyebrow-accent{
  color:transparent!important;
  background:linear-gradient(90deg,#165dff 0%,#165dff 70%,#7342ff 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  font:inherit;
}

html body main.page-home #homeCustomModule .home-hero-banner .scene-copy h1,
html body main.page-home #homeCustomModule .home-hero-banner .scene-copy h1 > :is(span,strong){
  max-width:760px!important;
  margin:0!important;
  color:#111!important;
  font-size:43px!important;
  font-weight:800!important;
  letter-spacing:0!important;
  line-height:1.22!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .scene-copy h1 > :is(span,strong){
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  min-height:1.22em!important;
  white-space:nowrap!important;
  -webkit-text-fill-color:#111!important;
  background:none!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .scene-copy h1 .headline-accent{
  display:inline!important;
  color:transparent!important;
  background:linear-gradient(90deg,#165dff,#7342ff)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .scene-description{
  display:grid!important;
  grid-template-rows:repeat(2,1.7em)!important;
  width:100%;
  max-width:720px!important;
  min-height:3.4em!important;
  margin:20px 0 0!important;
  color:#1d2129!important;
  font-size:16px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  line-height:1.7!important;
  opacity:1!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .scene-description::after{
  content:none!important;
  display:none!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .scene-description > .description-line{
  display:block!important;
  min-height:1.7em!important;
  white-space:nowrap!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
  gap:12px!important;
  width:auto!important;
  margin-top:28px!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .hero-actions > a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:48px!important;
  height:48px!important;
  padding:0 24px!important;
  gap:10px!important;
  border:1px solid #165dff!important;
  border-radius:6px!important;
  font-size:15px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  line-height:1!important;
  text-align:center;
  text-decoration:none!important;
  white-space:nowrap!important;
  transition:transform .2s,border-color .2s,background .2s;
}

html body main.page-home #homeCustomModule .home-hero-banner .hero-actions > a:hover{
  transform:translateY(-2px);
}

html body main.page-home #homeCustomModule .home-hero-banner .hero-actions > a:first-child{
  color:#fff!important;
  border:0!important;
  border-radius:8px!important;
  background:linear-gradient(90deg,#165dff 0%,#2b7fff 100%)!important;
  box-shadow:none!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .hero-actions > a:first-child:hover{
  background:linear-gradient(90deg,#2d70ff 0%,#438cff 100%)!important;
  box-shadow:none!important;
  transform:none!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .hero-actions > a:nth-child(2){
  color:#165dff!important;
  background-color:rgba(255,255,255,.5)!important;
  background-image:none!important;
  box-shadow:none!important;
  opacity:1!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .hero-actions > a > svg{
  display:none!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .hero-actions > a::after{
  content:"\2192"!important;
  display:inline-block!important;
  font-size:1.08em!important;
  font-weight:600!important;
  line-height:1!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .proof-points.banner-value-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  width:100%!important;
  max-width:660px!important;
  margin:28px 0 0!important;
  padding:0!important;
  color:#0b1d42!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .proof-points.banner-value-grid > span{
  position:relative;
  display:grid!important;
  grid-template-columns:16px minmax(0,1fr)!important;
  align-content:center;
  column-gap:8px!important;
  row-gap:4px!important;
  min-width:0;
  min-height:76px;
  margin:0!important;
  padding:12px 0!important;
  color:#0b1d42!important;
  text-align:left;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .proof-points.banner-value-grid > span::before{
  content:""!important;
  position:static!important;
  display:block!important;
  grid-row:1 / 3;
  align-self:start;
  width:16px!important;
  height:16px!important;
  margin-top:2px;
  border-radius:50%!important;
  background:url("../icons/home-banner-value-check.png") center/contain no-repeat!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .proof-points.banner-value-grid > span > :is(strong,small){
  grid-column:2;
  letter-spacing:0!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .proof-points.banner-value-grid > span > strong{
  color:#0b1d42!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.4!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .proof-points.banner-value-grid > span > small{
  color:#4e5969!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.5!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .proof-points.banner-value-grid > span:not(:last-child)::after{
  content:"";
  position:absolute;
  top:12px;
  right:-12px;
  bottom:12px;
  border-right:1px dashed #a5befa;
}

html body main.page-home #homeCustomModule .home-hero-banner .hero-controls{
  position:absolute;
  z-index:4;
  bottom:43px;
  left:0!important;
  display:flex!important;
  align-items:center;
  gap:14px;
  width:min(52%,720px)!important;
  color:#315275!important;
}

html body main.page-home #homeCustomModule .home-hero-banner :is(.scene-count,.round-control,.sound-control){
  display:none!important;
}

html body main.page-home #homeCustomModule .home-hero-banner .scene-tabs{
  display:flex!important;
  align-items:center;
  gap:8px;
}

html body main.page-home #homeCustomModule .home-hero-banner .scene-tabs button{
  width:42px;
  height:20px;
  padding:8px 0;
  cursor:pointer;
  background:transparent;
  border:0;
}

html body main.page-home #homeCustomModule .home-hero-banner .scene-tabs button span{
  display:block!important;
  width:100%!important;
  height:5px!important;
  min-height:5px!important;
  border-radius:99px;
  background:rgba(255,255,255,.5)!important;
  background-image:none!important;
  box-shadow:none!important;
  transition:background .3s;
}

html body main.page-home #homeCustomModule .home-hero-banner .scene-tabs button.active span{
  background:#165dff!important;
  background-image:none!important;
  box-shadow:none!important;
}

html body main.page-home #homeCustomModule .home-hero-banner[data-banner-scene="1"] .scene-tabs button:not(.active) span{
  background:rgba(49,82,117,.24)!important;
}

html body main.page-home #homeCustomModule .home-hero-banner[data-locale="en"] .hero-copy{
  width:49%!important;
  max-width:600px!important;
}

html body main.page-home #homeCustomModule .home-hero-banner[data-locale="en"] .scene-copy h1,
html body main.page-home #homeCustomModule .home-hero-banner[data-locale="en"] .scene-copy h1 > :is(span,strong){
  font-size:34px!important;
}

html body main.page-home #homeCustomModule .home-hero-banner[data-locale="en"] .hero-actions > a{
  padding-inline:14px!important;
  font-size:14px!important;
}

@media (max-width:1100px) and (min-width:901px){
  html body main.page-home #homeCustomModule .home-hero-banner[data-locale="en"] .hero-copy{
    width:52%!important;
    max-width:500px!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner[data-locale="en"] .scene-copy h1,
  html body main.page-home #homeCustomModule .home-hero-banner[data-locale="en"] .scene-copy h1 > :is(span,strong){
    font-size:28px!important;
  }
}

@media (max-width:900px){
  html body main.page-home #homeCustomModule .home-hero-banner{
    height:calc(100svh - 64px)!important;
    min-height:0!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner > .hero-banner-image{
    width:100%!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner > .hero-shell{
    width:min(calc(100% - 36px),720px)!important;
    height:100%!important;
    min-height:760px!important;
    padding:46px 0 110px!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .hero-copy,
  html body main.page-home #homeCustomModule .home-hero-banner[data-locale="en"] .hero-copy{
    width:100%!important;
    max-width:720px!important;
    margin-top:-55px!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .scene-copy h1,
  html body main.page-home #homeCustomModule .home-hero-banner .scene-copy h1 > :is(span,strong),
  html body main.page-home #homeCustomModule .home-hero-banner[data-locale="en"] .scene-copy h1,
  html body main.page-home #homeCustomModule .home-hero-banner[data-locale="en"] .scene-copy h1 > :is(span,strong){
    font-size:40px!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .scene-copy h1{
    margin-top:14px!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .hero-controls{
    left:0!important;
    width:calc(100% - 64px)!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .scene-tabs button{
    width:24px;
  }
}

@media (max-width:560px){
  html body main.page-home #homeCustomModule .home-hero-banner > .hero-shell{
    min-height:920px!important;
    padding:34px 0 118px!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .eyebrow{
    height:auto!important;
    padding-block:5px!important;
    white-space:normal!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .scene-copy h1,
  html body main.page-home #homeCustomModule .home-hero-banner .scene-copy h1 > :is(span,strong),
  html body main.page-home #homeCustomModule .home-hero-banner[data-locale="en"] .scene-copy h1,
  html body main.page-home #homeCustomModule .home-hero-banner[data-locale="en"] .scene-copy h1 > :is(span,strong){
    font-size:32px!important;
    line-height:1.22!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .scene-copy h1 > :is(span,strong){
    min-height:1.22em!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .scene-description{
    font-size:11px!important;
    line-height:1.7!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .scene-description > .description-line{
    white-space:normal!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .hero-actions{
    flex-direction:column!important;
    align-items:stretch!important;
    width:min(100%,350px)!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .hero-actions > a,
  html body main.page-home #homeCustomModule .home-hero-banner[data-locale="en"] .hero-actions > a{
    flex:1 1 100%;
    width:100%!important;
    min-height:50px!important;
    height:50px!important;
    padding-inline:14px!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .proof-points.banner-value-grid{
    grid-template-columns:1fr!important;
    gap:0!important;
    max-width:100%!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .proof-points.banner-value-grid > span{
    min-height:64px;
    padding:12px 0!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .proof-points.banner-value-grid > span:not(:last-child)::after{
    top:auto;
    right:0;
    bottom:0;
    left:0;
    border-right:0;
    border-bottom:1px dashed #a5befa;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .hero-controls{
    left:20px!important;
    width:calc(100% - 40px)!important;
    flex-wrap:wrap;
  }

  html body main.page-home #homeCustomModule .home-hero-banner .scene-tabs{
    order:2;
    width:180px;
  }
}

@media (prefers-reduced-motion:reduce){
  html body main.page-home #homeCustomModule .home-hero-banner .scene-copy{
    animation:none!important;
  }

  html body main.page-home #homeCustomModule .home-hero-banner > .hero-banner-image,
  html body main.page-home #homeCustomModule .home-hero-banner .hero-actions > a{
    transition:none!important;
  }
}
