
/* --- iphone-search-card-fix --- */
@media screen and (max-width:479px){
  .stats-card._4 > .feature-search.card-hero-img.set-3{
    position:relative!important;
    inset:auto!important;
    align-self:flex-start!important;
    margin:0!important;
    z-index:1;
  }
  .stats-card._4 > .card-hero-heading._3{
    position:relative;
    z-index:2;
    margin-top:1rem;
  }
}

/* --- hero-video-static-desktop --- */
/* Keep the hero static, but preserve the original breathing room: on desktop the
   video sits on the bottom edge of the first viewport instead of creeping upward. */
@media screen and (min-width:768px){
  .hero-height-new{
    height:auto!important;
    min-height:0!important;
    position:relative!important;
  }
  .section.hero.home{
    height:auto!important;
    position:relative!important;
    overflow:hidden!important;
  }
  .section.hero.home .container.is-big.full{
    position:relative!important;
    top:auto!important;
    bottom:auto!important;
    height:auto!important;
    transform:none!important;
  }
  .section.hero.home .show-wrap{
    position:relative!important;
    transform:none!important;
  }
  .section.bg-dark.cards{margin-top:0!important;}
  .section.hero.home .show-real-video{
    border-radius:1.2vw!important;
    transform:none!important;
  }
  .section.hero.home .lap-top-bg{
    border-radius:1.70111vw 1.70111vw 0 0!important;
    transform:none!important;
  }
}
@media screen and (min-width:992px){
  .section.hero.home{
    min-height:100svh!important;
    padding:clamp(8.5rem,11.25vw,13.5rem) 0 0!important;
    display:flex!important;
    align-items:stretch!important;
  }
  .section.hero.home .container.is-big.full{
    width:100%!important;
    max-width:100%!important;
    min-height:calc(100svh - clamp(8.5rem,11.25vw,13.5rem))!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
  }
  .section.hero.home .hero-heading{flex:0 0 auto!important;}
  .section.hero.home .show-wrap{
    flex:1 1 auto!important;
    width:100%!important;
    min-height:0!important;
    margin-top:0!important;
    padding-top:clamp(4.5rem,7vh,7rem)!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
  }
  .section.hero.home .showreal-home{
    flex:0 0 auto!important;
    width:48%!important;
    height:auto!important;
    margin:0 auto!important;
    border-radius:1.70111vw 1.70111vw 0 0!important;
    transform:none!important;
  }
}
@media screen and (min-width:1921px){
  .section.hero.home .showreal-home{width:60%!important;}
}

/* --- scroll-stability-final --- */
/* Final scroll-stability pass: hero and process use normal document flow on every device. */
.hero-height-new{
  height:auto!important;
  min-height:0!important;
  position:relative!important;
  overflow:visible!important;
}
.section.hero.home{
  height:auto!important;
  min-height:0!important;
  position:relative!important;
  padding-top:8.25rem!important;
  padding-bottom:4rem!important;
  overflow:hidden!important;
}
.section.hero.home .container.is-big.full{
  height:auto!important;
  min-height:0!important;
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  inset:auto!important;
  transform:none!important;
}
.section.hero.home .hero-heading,
.section.hero.home .hero-tag-wrap,
.section.hero.home .hero-home-heading-wrap,
.section.hero.home .heading-hero,
.section.hero.home .hero-intro-copy,
.section.hero.home .show-wrap,
.section.hero.home .showreal-home{
  opacity:1!important;
  visibility:visible!important;
}
.section.hero.home .show-wrap{
  position:relative!important;
  transform:none!important;
  z-index:10!important;
}
.section.hero.home .showreal-home{
  width:48%!important;
  height:auto!important;
  position:relative!important;
  transform:none!important;
  border-radius:1.70111vw 1.70111vw 0 0!important;
}
.section.hero.home .show-real-video{
  transform:none!important;
  border-radius:1.2vw!important;
}
.section.hero.home .lap-top-bg{
  transform:none!important;
  border-radius:1.70111vw 1.70111vw 0 0!important;
}

/* Fully static process section: no sticky containers, pins, reveals or negative overlap. */
.process-static{
  background:#080808;
  color:#fff;
  position:relative;
  z-index:1;
  margin:0!important;
  padding:8rem 1.25rem 7rem;
  overflow:hidden;
}
.process-static-inner{
  width:min(100%, 100rem);
  margin:0 auto;
}
.process-static-heading{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(18rem,.7fr);
  gap:4rem;
  align-items:end;
  padding-bottom:5rem;
}
.process-static-heading h2{
  color:#fff;
  margin:0;
  max-width:55rem;
  font-size:clamp(3.6rem,5.8vw,7.25rem);
  line-height:.94;
  letter-spacing:-.055em;
  font-weight:400;
}
.process-static-heading p{
  color:#858585;
  margin:0 0 .35rem;
  max-width:38rem;
  font-size:1.2rem;
  line-height:1.55;
}
.process-static-list{
  display:flex;
  flex-direction:column;
}
.process-static-row{
  display:grid;
  grid-template-columns:minmax(20rem,.72fr) minmax(0,1.28fr);
  gap:5rem;
  align-items:center;
  min-height:44rem;
  padding:5.5rem 0;
  border-top:1px solid rgba(255,255,255,.09);
  position:relative;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
}
.process-static-copy{
  max-width:34rem;
  padding-left:1rem;
}
.process-static-copy h3{
  color:#fff;
  margin:0 0 2.4rem;
  font-size:clamp(2.5rem,3.25vw,4.2rem);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:400;
}
.process-static-copy p{
  color:#858585;
  margin:0 0 1.55rem;
  font-size:1.16rem;
  line-height:1.58;
}
.process-static-media{
  width:100%;
  overflow:hidden;
  border-radius:1.55rem;
  background:#171717;
}
.process-static-media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1400/792;
  object-fit:cover;
}
.process-static + .section.is-cases{
  margin-top:0!important;
  position:relative!important;
  z-index:1!important;
}

@media (min-width:1921px){
  .section.hero.home .showreal-home{width:60%!important;}
}
@media (max-width:991px){
  .process-static{padding-top:6rem;padding-bottom:5rem;}
  .process-static-heading{grid-template-columns:1fr;gap:2rem;padding-bottom:3.5rem;}
  .process-static-heading h2{max-width:48rem;}
  .process-static-heading p{max-width:40rem;}
  .process-static-row{grid-template-columns:minmax(16rem,.8fr) minmax(0,1.2fr);gap:2.75rem;min-height:34rem;padding:4rem 0;}
  .process-static-copy{padding-left:0;}
}
@media (max-width:767px){
  .section.hero.home{padding-top:7rem!important;padding-bottom:3rem!important;}
  .section.hero.home .showreal-home{width:80%!important;border-radius:.68rem .68rem 0 0!important;}
  .section.hero.home .show-real-video{border-radius:.68rem!important;}
  .section.hero.home .lap-top-bg{border-radius:.68rem .68rem 0 0!important;}
  .process-static{padding:4.5rem 1.25rem 4rem;}
  .process-static-heading{display:block;padding-bottom:2.25rem;}
  .process-static-heading h2{font-size:clamp(2.65rem,11vw,4rem);line-height:.98;}
  .process-static-heading p{margin-top:1.5rem;font-size:1rem;line-height:1.55;}
  .process-static-row{display:flex;flex-direction:column;align-items:stretch;gap:1.75rem;min-height:0;padding:3.5rem 0;}
  .process-static-copy{max-width:none;}
  .process-static-copy h3{font-size:2.5rem;margin-bottom:1.6rem;}
  .process-static-copy p{font-size:1rem;line-height:1.55;margin-bottom:1.2rem;}
  .process-static-media{border-radius:1rem;}
}

/* --- process-desktop-restore --- */
.process-intro{background:#080808;color:#fff;position:relative;z-index:2;margin:0;padding:8rem 1.25rem 1.5rem;overflow:visible}
.process-intro .process-static-heading{padding-bottom:4rem}
.process-desktop-restored.section.is-cases-new{display:block;background:#080808;margin:0!important;padding:0!important;position:relative;overflow:visible}
/* The original interaction had a long scroll runway. Restoring that distance makes
   each transition feel deliberate rather than stepping between states. */
.process-desktop-restored .height-cases{height:400vh!important;margin:0!important;position:relative}
.process-desktop-restored .cases-sticky-wrap{height:100vh!important;position:sticky!important;top:0!important;overflow:hidden;background:#080808}
.process-desktop-restored .cards-cases{height:100vh!important;margin-top:0!important;top:0!important;overflow:hidden}
.process-desktop-restored .cards-cases-left{padding-top:5.5rem!important}
.process-desktop-restored .cases-cards-left-item.first{margin-top:8rem!important}
.process-desktop-restored .cards-cases-left-wrap,
.process-desktop-restored .rotate-ellipse-2,
.process-desktop-restored .cases-cards-left-item{
  will-change:transform,opacity;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transition:none!important;
}
.process-desktop-restored .cards-cases-left-wrap.height{top:0!important}
.process-desktop-restored .case-rotate-img{will-change:opacity;transform}
.process-mobile-static{display:none;background:#080808;color:#fff;padding:0 1.25rem 5rem;position:relative;z-index:2}
.process-mobile-static .process-static-row:first-child{border-top:0}
.process-desktop-restored + .process-mobile-static + .section.is-cases{margin-top:0!important;position:relative!important;z-index:1!important}
@media (max-width:991px){
  .process-intro{padding:6rem 1.25rem 1rem}
  .process-intro .process-static-heading{padding-bottom:2rem}
  .process-desktop-restored{display:none!important}
  .process-mobile-static{display:block}
}
@media (max-width:767px){
  .process-intro{padding:4.5rem 1.25rem 0}
  .process-mobile-static{padding:0 1.25rem 4rem}
}
@media (prefers-reduced-motion:reduce){
  .process-desktop-restored{display:none!important}
  .process-mobile-static{display:block!important}
}

/* --- hero-process-final-v6 --- */
/* Desktop hero: static composition, with the video resting on the bottom of the first viewport. */
@media screen and (min-width:992px){
  html body .section.hero.home{
    height:auto!important;
    min-height:100svh!important;
    box-sizing:border-box!important;
    padding:clamp(9.5rem,11.25vw,12rem) 0 0!important;
    position:relative!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:stretch!important;
  }
  html body .section.hero.home .container.is-big.full{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:calc(100svh - clamp(9.5rem,11.25vw,12rem))!important;
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    transform:none!important;
    display:flex!important;
    flex-direction:column!important;
  }
  html body .section.hero.home .hero-heading{
    flex:0 0 auto!important;
  }
  html body .section.hero.home .show-wrap{
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    margin-top:0!important;
    padding-top:clamp(4rem,7vh,6.5rem)!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    position:relative!important;
    transform:none!important;
  }
  html body .section.hero.home .showreal-home{
    flex:0 0 auto!important;
    width:48%!important;
    height:auto!important;
    margin:0 auto!important;
    bottom:auto!important;
    position:relative!important;
    transform:none!important;
    border-radius:1.70111vw 1.70111vw 0 0!important;
  }
  html body .section.hero.home .show-real-video{
    transform:none!important;
    border-radius:1.2vw!important;
  }
  html body .section.hero.home .lap-top-bg{
    transform:none!important;
    border-radius:1.70111vw 1.70111vw 0 0!important;
  }

  /* Keep the restored desktop process layout intact while Webflow drives the original smooth scroll interaction. */
  html body .process-desktop-restored .height-cases{
    height:400vh!important;
    position:relative!important;
    margin:0!important;
  }
  html body .process-desktop-restored .cases-sticky-wrap{
    height:100vh!important;
    position:sticky!important;
    top:0!important;
    overflow:hidden!important;
  }
  html body .process-desktop-restored .cards-cases{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:auto!important;
    height:100vh!important;
    min-height:100vh!important;
    margin:0!important;
    padding:0!important;
    position:relative!important;
    top:0!important;
    overflow:hidden!important;
  }
  html body .process-desktop-restored .cards-cases-left,
  html body .process-desktop-restored .cards-cases-right{
    display:flex!important;
    height:100vh!important;
    visibility:visible!important;
  }
  html body .process-desktop-restored .cards-cases-left{
    opacity:1;
  }
}
@media screen and (min-width:1921px){
  html body .section.hero.home .showreal-home{width:60%!important;}
}

/* --- growth-heading-spacing --- */
/* Extra breathing room before the feature-card heading. */
.section.bg-dark.cards > .container.hero.margin-top-8.overflow-hidden{
  padding-top:5rem!important;
}
@media screen and (max-width:991px){
  .section.bg-dark.cards > .container.hero.margin-top-8.overflow-hidden{
    padding-top:3.5rem!important;
  }
}
@media screen and (max-width:479px){
  .section.bg-dark.cards > .container.hero.margin-top-8.overflow-hidden{
    padding-top:2.75rem!important;
  }
}

/* --- feature-card-layout-match --- */
@media screen and (min-width: 992px) {
  /* Make Fast and Flexible follow the same top-left rhythm as Search-ready and Responsive. */
  .hero-cards .stats-card-wrapper.set-3 .stats-card._2,
  .hero-cards .stats-card-wrapper.set-4 .stats-card._2._3 {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 0 !important;
    padding: 1.32rem 1.39rem 2.22rem 3.47rem !important;
  }

  .hero-cards .stats-card-wrapper.set-3 .card-gero-text-img,
  .hero-cards .stats-card-wrapper.set-4 .card-gero-text-img._2 {
    display: flex !important;
    flex-flow: column nowrap !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    align-self: stretch !important;
    width: 100% !important;
  }

  .hero-cards .stats-card-wrapper.set-3 .feature-fast.card-hero-img.set-2,
  .hero-cards .stats-card-wrapper.set-4 .feature-flexible.card-hero-img.set-4 {
    order: 1;
    position: relative !important;
    inset: auto !important;
    align-self: flex-start !important;
    width: 14.6528rem !important;
    margin: 0 0 0 -.5rem !important;
  }

  .hero-cards .stats-card-wrapper.set-3 .card-hero-heading._2,
  .hero-cards .stats-card-wrapper.set-4 .card-hero-heading._2-1 {
    order: 2;
    align-self: flex-start !important;
    margin: 2rem 0 .5rem !important;
  }

  .hero-cards .stats-card-wrapper.set-3 .card-hero-desc,
  .hero-cards .stats-card-wrapper.set-4 .card-hero-desc {
    margin: 0 !important;
    align-self: flex-start !important;
  }
}

/* --- process-original-stage-sync --- */
/* Desktop process sync: keep the full-screen stage and let the flat/0deg
   project cards settle lower in the viewport, matching the original visual timing. */
@media screen and (min-width: 992px) {
  .process-desktop-restored .cards-cases-left {
    padding-top: 13rem !important;
    transform: none !important;
  }
  .process-desktop-restored .cases-cards-left-item.first {
    margin-top: 12rem !important;
  }
  .process-desktop-restored .cards-cases-left-wrap.height {
    top: -2.5rem !important;
  }
  .process-desktop-restored .rotate-cards-flexbox-2 {
    transform: none !important;
  }
}
@media screen and (min-width: 1920px) {
  .process-desktop-restored .cards-cases-left {
    padding-top: 13vw !important;
    padding-left: 15rem !important;
    padding-right: 15rem !important;
  }
  .process-desktop-restored .cards-cases-left-wrap {
    column-gap: 25vh !important;
    row-gap: 25vh !important;
  }
}


/* Homepage CTA phone button */
.cta-call-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:2.6rem 3.8rem 2.45rem!important;
  text-decoration:none;
}
.cta-call-content{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  line-height:1;
}
.cta-call-icon{
  width:1.25rem;
  height:1.25rem;
  flex:none;
}
.cta-call-button .btn-text{line-height:1;}
