/* Build Awesome V3.14 — consistent scroll reveal system.
   Scope: every non-hero page area should animate consistently: sections, text,
   buttons, cards, images, forms, and content blocks. The homepage hero slider is
   deliberately excluded and remains locked. */

.ba-v314-scroll-progress{
  position:fixed;
  top:0;
  left:0;
  width:0;
  height:4px;
  z-index:10020;
  pointer-events:none;
  background:linear-gradient(90deg,#ec136a 0%,#b41783 34%,#522789 68%,#f3552c 100%);
  box-shadow:0 0 18px rgba(236,19,106,.42),0 0 30px rgba(82,39,137,.26);
  transform-origin:left center;
}

body.ba-v314-scroll-motion .ba-cursor-glow{
  width:340px;
  height:340px;
  opacity:0;
  filter:blur(8px);
  background:
    radial-gradient(circle at 38% 38%,rgba(236,19,106,.18),transparent 42%),
    radial-gradient(circle at 64% 42%,rgba(243,85,44,.12),transparent 38%),
    radial-gradient(circle at 52% 66%,rgba(82,39,137,.16),transparent 48%);
  transition:opacity .34s ease,filter .34s ease;
  mix-blend-mode:multiply;
}
html.has-cursor-glow body.ba-v314-scroll-motion .ba-cursor-glow,
body.ba-v314-scroll-motion.has-cursor-glow .ba-cursor-glow{opacity:.72;}

body.ba-v314-scroll-motion .ba-v314-section{
  position:relative;
  isolation:isolate;
}
body.ba-v314-scroll-motion .ba-v314-section::after{
  content:"";
  position:absolute;
  inset:8% -8%;
  z-index:-1;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 12% 24%,rgba(236,19,106,.11),transparent 34%),
    radial-gradient(circle at 86% 28%,rgba(243,85,44,.09),transparent 35%),
    radial-gradient(circle at 50% 92%,rgba(82,39,137,.10),transparent 42%);
  transform:translate3d(0,18px,0) scale(.985);
  transition:opacity .85s ease,transform 1s cubic-bezier(.16,1,.3,1);
}
body.ba-v314-scroll-motion .ba-v314-section.ba-v314-active::after{
  opacity:1;
  transform:translate3d(0,calc(var(--ba-v314-depth,0) * -16px),0) scale(1.015);
}

/* Hidden states are JS-applied only. If JS fails, content stays visible. */
body.ba-v314-scroll-ready .ba-v314-item.ba-v314-pending{
  --ba-v314-x:0px;
  --ba-v314-y:62px;
  --ba-v314-scale:.965;
  --ba-v314-blur:10px;
  --ba-v314-clip:14%;
  opacity:0;
  transform:translate3d(var(--ba-v314-x),var(--ba-v314-y),0) scale(var(--ba-v314-scale));
  filter:blur(var(--ba-v314-blur));
  clip-path:inset(0 0 var(--ba-v314-clip) 0 round 20px);
  will-change:opacity,transform,filter,clip-path;
  backface-visibility:hidden;
}
body.ba-v314-scroll-ready .ba-v314-item.ba-v314-in{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  filter:blur(0)!important;
  clip-path:inset(0 0 0 0 round 0)!important;
  transition:
    opacity .72s ease,
    transform .88s cubic-bezier(.16,1,.3,1),
    filter .82s cubic-bezier(.16,1,.3,1),
    clip-path .9s cubic-bezier(.16,1,.3,1),
    box-shadow .28s ease,
    border-color .28s ease,
    background-color .28s ease,
    color .28s ease;
  transition-delay:calc(var(--ba-v314-delay,0) * 52ms);
}

/* Consistent type-specific reveal across the theme. */
body.ba-v314-scroll-ready .ba-v314-section-item.ba-v314-pending{--ba-v314-y:46px;--ba-v314-scale:.985;--ba-v314-blur:8px;--ba-v314-clip:8%;}
body.ba-v314-scroll-ready .ba-v314-text-item.ba-v314-pending{--ba-v314-y:32px;--ba-v314-scale:.992;--ba-v314-blur:5px;--ba-v314-clip:6%;}
body.ba-v314-scroll-ready .ba-v314-button-item.ba-v314-pending{--ba-v314-y:30px;--ba-v314-scale:.94;--ba-v314-blur:5px;--ba-v314-clip:8%;}
body.ba-v314-scroll-ready .ba-v314-card-item.ba-v314-pending,
body.ba-v314-scroll-ready .ba-v314-element-item.ba-v314-pending{--ba-v314-y:74px;--ba-v314-scale:.945;--ba-v314-blur:11px;--ba-v314-clip:16%;}
body.ba-v314-scroll-ready .ba-v314-image-item.ba-v314-pending{--ba-v314-y:58px;--ba-v314-scale:1.04;--ba-v314-blur:9px;--ba-v314-clip:22%;overflow:hidden;}
body.ba-v314-scroll-ready .ba-v314-form-item.ba-v314-pending{--ba-v314-y:42px;--ba-v314-scale:.975;--ba-v314-blur:7px;--ba-v314-clip:10%;}
body.ba-v314-scroll-ready .ba-v314-list-item.ba-v314-pending{--ba-v314-y:28px;--ba-v314-scale:.985;--ba-v314-blur:5px;--ba-v314-clip:7%;}
body.ba-v314-scroll-ready .ba-v314-left.ba-v314-pending{--ba-v314-x:-44px;--ba-v314-y:24px;}
body.ba-v314-scroll-ready .ba-v314-right.ba-v314-pending{--ba-v314-x:44px;--ba-v314-y:24px;}

body.ba-v314-scroll-ready .ba-v314-stagger > .ba-v314-item.ba-v314-in:nth-child(2){transition-delay:85ms;}
body.ba-v314-scroll-ready .ba-v314-stagger > .ba-v314-item.ba-v314-in:nth-child(3){transition-delay:145ms;}
body.ba-v314-scroll-ready .ba-v314-stagger > .ba-v314-item.ba-v314-in:nth-child(4){transition-delay:205ms;}
body.ba-v314-scroll-ready .ba-v314-stagger > .ba-v314-item.ba-v314-in:nth-child(5){transition-delay:265ms;}
body.ba-v314-scroll-ready .ba-v314-stagger > .ba-v314-item.ba-v314-in:nth-child(6){transition-delay:325ms;}

body.ba-v314-scroll-motion .ba-v314-item.ba-v314-in:is(.ba-card,.ba-service-card,.ba-icon-card,.ba-feature,.ba-price-card,.ba-work-card,.ba-post-card,.ba-service-index-card,.ba-archive-card,.ba-search-card,.ba-v35-proof-card,.ba-v35-case-card,.ba-entry,.wp-block-group,.wp-block-columns,.wp-block-media-text,.ba-v239-info-card,.ba-v239-related-card,.ba-v239-price-card,.ba-v239-asset-card):hover{
  transform:translate3d(0,-6px,0) scale(1.01)!important;
  box-shadow:0 24px 58px rgba(82,39,137,.16),0 0 0 1px rgba(236,19,106,.08);
}

/* Locked homepage hero slider safety. Nothing in this layer may affect hero layout. */
.home .ba-hero .ba-reveal,
.home .ba-hero .ba-reveal:not(.is-visible),
.ba-hero .ba-v314-item,
.ba-hero .ba-v314-pending,
.ba-hero .ba-v314-in,
.ba-hero .ba-v313-item,
.ba-hero .ba-v313-pending,
.ba-hero .ba-v313-in{
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  clip-path:none!important;
  transform:none!important;
}
.ba-hero.ba-v314-section::after{display:none!important;}
.ba-hero .ba-v314-item{transition-property:background-color,color,border-color,box-shadow!important;}

/* Service-detail safety. Pending classes are JS-applied only; these later rules allow
   animation to be visible while JS fallback still reveals content if anything fails. */
body.single-services.ba-v314-scroll-ready .ba-v314-item.ba-v314-pending{
  opacity:0!important;
  visibility:visible!important;
  transform:translate3d(var(--ba-v314-x),var(--ba-v314-y),0) scale(var(--ba-v314-scale))!important;
  filter:blur(var(--ba-v314-blur))!important;
  clip-path:inset(0 0 var(--ba-v314-clip) 0 round 20px)!important;
}
body.single-services.ba-v314-scroll-ready .ba-v314-item.ba-v314-in{
  opacity:1!important;
  visibility:visible!important;
  transform:translate3d(0,0,0) scale(1)!important;
  filter:blur(0)!important;
  clip-path:inset(0 0 0 0 round 0)!important;
}

@media (max-width:1024px){
  body.ba-v314-scroll-ready .ba-v314-card-item.ba-v314-pending,
  body.ba-v314-scroll-ready .ba-v314-element-item.ba-v314-pending{--ba-v314-y:56px;--ba-v314-blur:9px;}
  body.ba-v314-scroll-motion .ba-v314-section::after{opacity:.60;inset:12% -14%;}
}
@media (max-width:768px){
  .ba-v314-scroll-progress{height:3px;}
  body.ba-v314-scroll-motion .ba-cursor-glow{width:240px;height:240px;opacity:.24;filter:blur(7px);}
  body.ba-v314-scroll-ready .ba-v314-item.ba-v314-pending{
    --ba-v314-y:30px!important;
    --ba-v314-x:0px!important;
    --ba-v314-scale:.988!important;
    --ba-v314-blur:5px!important;
    --ba-v314-clip:7%!important;
  }
  body.ba-v314-scroll-ready .ba-v314-item.ba-v314-in{transition-duration:.62s;transition-delay:calc(var(--ba-v314-delay,0) * 36ms);}
  body.ba-v314-scroll-motion .ba-v314-section::after{display:none;}
  body.ba-v314-scroll-motion .ba-v314-item.ba-v314-in:hover{transform:none!important;}
}

@media (prefers-reduced-motion:reduce){
  .ba-v314-scroll-progress{box-shadow:none!important;}
  body.ba-v314-scroll-motion .ba-cursor-glow{display:none!important;}
  body.ba-v314-scroll-ready .ba-v314-item,
  body.ba-v314-scroll-ready .ba-v314-item.ba-v314-pending,
  body.ba-v314-scroll-ready .ba-v314-item.ba-v314-in,
  body.ba-v314-scroll-motion .ba-v314-section::after{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    filter:none!important;
    clip-path:none!important;
    transition:none!important;
    animation:none!important;
  }
}
