/* Balasore Web Services v5.8.4 — continuous motion for internal pages */
body.bws-animated-page{--bws-motion-purple:#6b37f2;--bws-motion-blue:#2e73e8}
.bws-animated-page .bws-inner-hero{background-size:190% 190%;animation:bws-page-gradient 13s ease-in-out infinite alternate}
.bws-animated-page .bws-inner-hero:before{animation:bws-page-orb-one 9s ease-in-out infinite alternate}
.bws-animated-page .bws-inner-hero:after{animation:bws-page-orb-two 7s ease-in-out infinite alternate}
.bws-animated-page .bws-inner-hero span{animation:bws-page-enter .6s .05s both,bws-page-pill 3s 1s ease-in-out infinite}
.bws-animated-page .bws-inner-hero h1{animation:bws-page-enter .75s .14s both}
.bws-animated-page .bws-inner-hero p{animation:bws-page-enter .75s .24s both}
.bws-animated-page .bws-inner-hero nav{animation:bws-page-enter .7s .34s both}

.bws-page-motion-active .bws-page-reveal{opacity:.72;transform:translateY(14px);transition:opacity .38s ease,transform .38s cubic-bezier(.2,.7,.2,1)}
.bws-page-motion-active .bws-page-reveal.bws-page-visible{opacity:1;transform:none}
.bws-page-motion-active .bws-page-reveal:nth-child(2){transition-delay:.04s}.bws-page-motion-active .bws-page-reveal:nth-child(3){transition-delay:.08s}.bws-page-motion-active .bws-page-reveal:nth-child(4){transition-delay:.12s}.bws-page-motion-active .bws-page-reveal:nth-child(5){transition-delay:.16s}.bws-page-motion-active .bws-page-reveal:nth-child(6){transition-delay:.2s}

.bws-animated-page .section-head .v2-kicker{animation:bws-page-kicker 3.3s ease-in-out infinite}
.bws-animated-page .v2-service-card{isolation:isolate;overflow:hidden;animation:bws-page-card-float 6.5s ease-in-out infinite}
.bws-animated-page .v2-service-card:nth-child(2n){animation-delay:.7s}.bws-animated-page .v2-service-card:nth-child(3n){animation-delay:1.3s}
.bws-animated-page .v2-service-card:after{content:"";position:absolute;z-index:-1;inset:-1px;background:linear-gradient(110deg,transparent 25%,#ffffff80 48%,transparent 72%);transform:translateX(-125%);animation:bws-page-card-shine 6s ease-in-out infinite}
.bws-animated-page .v2-service-card:nth-child(2n):after{animation-delay:1.1s}
.bws-animated-page .v2-service-icon{animation:bws-page-icon-pulse 3.2s ease-in-out infinite}
.bws-animated-page .bws-promise-grid article{animation:bws-page-border-glow 5s ease-in-out infinite}.bws-animated-page .bws-promise-grid article:nth-child(2){animation-delay:.5s}.bws-animated-page .bws-promise-grid article:nth-child(3){animation-delay:1s}.bws-animated-page .bws-promise-grid article:nth-child(4){animation-delay:1.5s}
.bws-animated-page .bws-promise-grid article>b{animation:bws-page-icon-pulse 3s ease-in-out infinite}

.bws-animated-page .v2-step{position:relative;overflow:hidden;animation:bws-page-step-breathe 5.6s ease-in-out infinite}.bws-animated-page .v2-step:nth-child(2n){animation-delay:.6s}
.bws-animated-page .v2-step>b{animation:bws-page-number-turn 4s ease-in-out infinite}
.bws-animated-page .v2-step:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-75px;top:-75px;background:#7b43ff0d;animation:bws-page-small-orb 6s ease-in-out infinite alternate;pointer-events:none}

.bws-animated-page .explorer-shell,.bws-animated-page .quote-form{animation:bws-page-panel-glow 6s ease-in-out infinite}
.bws-animated-page .explorer-field label,.bws-animated-page .field label{transition:color .25s ease,transform .25s ease}
.bws-animated-page .explorer-field:focus-within label,.bws-animated-page .field:focus-within label{color:var(--bws-motion-purple);transform:translateX(3px)}
.bws-animated-page .calculator-summary{animation:bws-page-summary-float 5s ease-in-out infinite}
.bws-animated-page .estimate-badge{animation:bws-page-pill 2.8s ease-in-out infinite}
.bws-animated-page .calculator-total strong{animation:bws-page-total-glow 3s ease-in-out infinite}

.bws-animated-page .contact-point{transition:transform .3s ease,box-shadow .3s ease;animation:bws-page-contact-breathe 5s ease-in-out infinite}.bws-animated-page .contact-point:nth-child(2){animation-delay:.5s}.bws-animated-page .contact-point:nth-child(3){animation-delay:1s}.bws-animated-page .contact-point:hover{transform:translateX(7px)}
.bws-animated-page .contact-point i{animation:bws-page-icon-pulse 3s ease-in-out infinite}

.bws-animated-page .bws-portfolio-card,.bws-animated-page .bws-review-card{animation:bws-page-card-float 7s ease-in-out infinite}.bws-animated-page .bws-portfolio-card:nth-child(2n),.bws-animated-page .bws-review-card:nth-child(2n){animation-delay:.8s}
.bws-animated-page .bws-blog-card{animation:bws-page-card-float 7s ease-in-out infinite}.bws-animated-page .bws-blog-card:nth-child(2n){animation-delay:.7s}.bws-animated-page .bws-blog-card:nth-child(3n){animation-delay:1.4s}
.bws-animated-page .bws-portfolio-card img{transition:transform .6s ease}.bws-animated-page .bws-portfolio-card:hover img{transform:scale(1.035)}
.bws-animated-page .bws-page-cta{position:relative;overflow:hidden;background-size:220% 220%;animation:bws-page-cta-gradient 7s ease-in-out infinite alternate}
.bws-animated-page .bws-page-cta:before{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:8%;top:-170px;background:#fff1;animation:bws-page-cta-orb 8s ease-in-out infinite alternate;pointer-events:none}
.bws-animated-page .bws-page-cta .btn{position:relative;overflow:hidden;animation:bws-page-button-pulse 3.5s ease-in-out infinite}
.bws-animated-page .bws-page-cta .btn:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff85 48%,transparent 70%);transform:translateX(-130%);animation:bws-page-button-shine 4s ease-in-out infinite}

@keyframes bws-page-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes bws-page-gradient{to{background-position:100% 50%}}
@keyframes bws-page-orb-one{to{transform:translate(-85px,70px) scale(1.18)}}
@keyframes bws-page-orb-two{to{transform:translate(70px,-38px) scale(1.25)}}
@keyframes bws-page-pill{50%{box-shadow:0 0 0 8px #7040ef0c;filter:brightness(1.08)}}
@keyframes bws-page-kicker{50%{letter-spacing:.145em;filter:brightness(1.15)}}
@keyframes bws-page-card-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes bws-page-card-shine{0%,60%{transform:translateX(-125%)}82%,100%{transform:translateX(125%)}}
@keyframes bws-page-icon-pulse{50%{transform:scale(1.07) rotate(-2deg);box-shadow:0 9px 26px #4d2ab52b}}
@keyframes bws-page-border-glow{0%,100%{border-color:#dce5f2}50%{border-color:#a794ed;box-shadow:0 18px 42px #5235b518}}
@keyframes bws-page-step-breathe{0%,100%{box-shadow:0 10px 30px #172b5709}50%{box-shadow:0 20px 45px #5935c719}}
@keyframes bws-page-number-turn{50%{transform:scale(1.07) rotate(-3deg)}}
@keyframes bws-page-small-orb{to{transform:translate(-32px,28px) scale(1.35)}}
@keyframes bws-page-panel-glow{0%,100%{box-shadow:0 18px 50px #172b570d}50%{box-shadow:0 26px 65px #633add1c}}
@keyframes bws-page-summary-float{50%{transform:translateY(-5px)}}
@keyframes bws-page-total-glow{50%{filter:drop-shadow(0 5px 12px #6530db38);transform:scale(1.02)}}
@keyframes bws-page-contact-breathe{50%{box-shadow:0 13px 34px #4d34a510}}
@keyframes bws-page-cta-gradient{to{background-position:100% 50%}}
@keyframes bws-page-cta-orb{to{transform:translate(-100px,85px) scale(1.3)}}
@keyframes bws-page-button-pulse{50%{transform:translateY(-2px);box-shadow:0 12px 30px #111b6652}}
@keyframes bws-page-button-shine{0%,55%{transform:translateX(-130%)}82%,100%{transform:translateX(130%)}}

@media(max-width:900px){.bws-animated-page .v2-service-card,.bws-animated-page .bws-portfolio-card,.bws-animated-page .bws-review-card{animation-duration:9s}.bws-animated-page .calculator-summary{animation:none}.bws-animated-page .bws-inner-hero:before{width:250px;height:250px}}
@media(max-width:767px){.bws-animated-page .v2-service-card,.bws-animated-page .bws-portfolio-card,.bws-animated-page .bws-review-card,.bws-animated-page .bws-blog-card,.bws-animated-page .bws-promise-grid article,.bws-animated-page .v2-step,.bws-animated-page .contact-point,.bws-animated-page .explorer-shell,.bws-animated-page .quote-form{animation:none!important}}
@media(prefers-reduced-motion:reduce){.bws-animated-page *,.bws-animated-page *:before,.bws-animated-page *:after{animation:none!important;transition-duration:.01ms!important}.bws-page-motion-active .bws-page-reveal{opacity:1!important;transform:none!important}}
