/* Premium dark glass service carousel, progressively enhances existing cards. */
.bc-services-carousel{--bc-gap:clamp(16px,2.05vw,26px);--bc-visible:3;position:relative;min-width:0;}
.bc-services-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 14px;min-height:46px;}
.bc-services-status{font-family:Montserrat,Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;color:#a8b0bc;font-variant-numeric:tabular-nums;}
.bc-services-navigation{display:flex;align-items:center;gap:10px;}
.bc-services-arrow{display:grid;place-items:center;width:43px;height:43px;border:1px solid rgba(168,176,188,.28);border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.012));color:#f4f6f8;font-size:28px;line-height:1;cursor:pointer;backdrop-filter:blur(18px);transition:border-color .2s ease,background .2s ease,transform .2s ease;user-select:none;}
.bc-services-arrow:not(:disabled):hover{border-color:rgba(255,77,77,.72);background:rgba(176,0,0,.20);transform:translateY(-2px);}
.bc-services-arrow:disabled{opacity:.26;cursor:default;}
.bc-services-arrow:focus-visible,.bc-services-track:focus-visible{outline:2px solid #ff4d4d;outline-offset:3px;}
#services .services-grid.bc-services-track{display:flex!important;flex-wrap:nowrap!important;align-items:stretch;gap:var(--bc-gap)!important;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;scrollbar-width:none;-ms-overflow-style:none;padding:12px 3px 23px 3px;margin:0;max-width:100%;-webkit-overflow-scrolling:touch;}
#services .services-grid.bc-services-track::-webkit-scrollbar{display:none;}
#services .services-grid.bc-services-track>.service-card{flex:0 0 calc((100% - (var(--bc-visible) - 1)*var(--bc-gap) - 6px)/var(--bc-visible))!important;width:auto!important;max-width:none!important;min-width:0;scroll-snap-align:start;scroll-snap-stop:normal;}
.bc-services-progress{height:2px;background:rgba(255,255,255,.10);border-radius:999px;overflow:hidden;margin-top:2px;}
.bc-services-progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#650000,#ff4d4d);border-radius:999px;box-shadow:0 0 13px rgba(255,77,77,.45);transition:width .45s cubic-bezier(.16,1,.3,1);}
@media(max-width:1100px){.bc-services-carousel{--bc-visible:2;}}
@media(max-width:660px){.bc-services-carousel{--bc-visible:1;--bc-gap:14px;}.bc-services-controls{margin-bottom:8px;}.bc-services-arrow{width:39px;height:39px;}#services .services-grid.bc-services-track{padding-bottom:16px;}}
@media(prefers-reduced-motion:reduce){.bc-services-arrow,.bc-services-progress>span{transition:none;}}

/* ---------- Motion layer (services-carousel.js adds .bc-anim) ---------- */
#services .bc-anim .services-grid.bc-services-track>.service-card{
  --bc-lift:0px;--bc-scale:1;--bc-rx:0deg;--bc-ry:0deg;
  transform:perspective(1100px) translate3d(0,var(--bc-lift),0) rotateX(var(--bc-rx)) rotateY(var(--bc-ry)) scale(var(--bc-scale));
  transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .7s ease,filter .7s ease,border-color .35s ease,box-shadow .35s ease;
  will-change:transform;
}
/* Depth: cards sliding in or out recede, the visible ones light up. */
#services .bc-anim .services-grid.bc-services-track>.service-card:not(.is-inview){--bc-scale:.93;opacity:.38;filter:saturate(.55) brightness(.8);}
#services .bc-anim .services-grid.bc-services-track>.service-card.is-inview:hover{--bc-lift:-10px;transition:transform .25s ease-out,opacity .7s ease,filter .7s ease,border-color .35s ease,box-shadow .35s ease;}
/* Entrance: staggered rise when the section first appears. */
#services .bc-anim:not(.is-entered) .services-grid.bc-services-track>.service-card{opacity:0;}
#services .bc-anim.is-entered .services-grid.bc-services-track>.service-card{animation:bc-card-in 1s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--bc-d,0) * 1ms);}
@keyframes bc-card-in{from{opacity:0;translate:0 46px;filter:blur(6px);}}
/* Slow breathing of the visual in lit cards. */
#services .bc-anim .service-card.is-inview .service-visual img{animation:bc-breathe 9s ease-in-out infinite alternate;}
#services .bc-anim .service-card:nth-child(2n).is-inview .service-visual img{animation-duration:11s;animation-direction:alternate-reverse;}
@keyframes bc-breathe{from{transform:scale(1);}to{transform:scale(1.075) translate(-1%,-1.2%);}}
/* Light glare that follows the pointer. */
.bc-glare{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity .35s ease;background:radial-gradient(420px circle at var(--bc-mx,50%) var(--bc-my,30%),rgba(255,77,77,.16),rgba(255,255,255,.05) 32%,transparent 60%);mix-blend-mode:screen;}
#services .bc-anim .service-card.is-inview:hover .bc-glare{opacity:1;}
/* Sweep of light across the red bottom edge of lit cards. */
#services .bc-anim .service-card.is-inview::after{background:linear-gradient(90deg,transparent 0%,rgba(217,4,41,.35) 30%,#ff4d4d 50%,rgba(217,4,41,.35) 70%,transparent 100%);background-size:220% 100%;animation:bc-edge 4.8s linear infinite;opacity:.9;}
@keyframes bc-edge{from{background-position:120% 0;}to{background-position:-120% 0;}}
/* Autoplay countdown ring around the "next" arrow. */
.bc-services-arrow.is-next{position:relative;}
.bc-ring{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);transform:rotate(-90deg);pointer-events:none;overflow:visible;}
.bc-ring circle{fill:none;stroke:#ff4d4d;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:129;stroke-dashoffset:129;opacity:0;filter:drop-shadow(0 0 4px rgba(255,77,77,.65));}
.bc-anim.is-ticking .bc-ring circle{opacity:1;animation:bc-ring var(--bc-interval,5200ms) linear forwards;}
@keyframes bc-ring{to{stroke-dashoffset:0;}}
.bc-services-arrow:not(:disabled):active{transform:scale(.92);}
/* Counter ticks when the active card changes. */
.bc-services-status{display:inline-block;transition:color .3s ease;}
@media(prefers-reduced-motion:reduce){
  #services .bc-anim .services-grid.bc-services-track>.service-card{animation:none!important;transition:none!important;transform:none!important;opacity:1!important;filter:none!important;}
  #services .bc-anim .service-card .service-visual img,#services .bc-anim .service-card::after{animation:none!important;}
  .bc-glare,.bc-ring{display:none;}
}
