/* Case-study carousel (same design as the homepage "Hub") */
.carousel{position:relative;}
.carousel-track{display:flex;gap:clamp(16px,2vw,26px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;}
.carousel-track::-webkit-scrollbar{display:none;}
.carousel-slide{flex:0 0 100%;scroll-snap-align:center;}
.carousel-foot{display:flex;align-items:center;gap:18px;margin-top:28px;}
.car-btn{width:50px;height:50px;border:1px solid var(--line-2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;transition:background .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);}
.car-btn:hover{background:var(--accent-bright);border-color:var(--accent-bright);transform:scale(1.05);}
.car-btn:hover svg path{stroke:#050505;}
.car-btn svg path{stroke:var(--bone);}
.car-dots{display:flex;gap:9px;margin-left:6px;}
.car-dot{width:8px;height:8px;border-radius:50%;background:var(--line-2);transition:background .35s var(--ease),width .35s var(--ease);}
.car-dot.on{background:var(--accent);width:26px;}
.car-count{margin-left:auto;font-family:"Graphik","Plus Jakarta Sans",sans-serif;font-size:.82rem;letter-spacing:.1em;color:var(--mute);}
.car-count b{color:var(--bone);}

.cstage{position:relative;min-height:64vh;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;background:var(--panel);}
.cstage-art{position:absolute;inset:0;z-index:0;transition:transform 1.2s var(--ease);}
.carousel-slide:hover .cstage-art{transform:scale(1.04);}
.cstage-art::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,5,5,.97) 16%,rgba(5,5,5,.5) 56%,rgba(5,5,5,.16) 100%);z-index:2;}
.art-1{background:radial-gradient(circle at 28% 26%,#3a2a18,transparent 52%),radial-gradient(circle at 78% 72%,#5a3410,transparent 56%),#0e0b08;}
.art-2{background:radial-gradient(circle at 64% 30%,#4a3216,transparent 54%),#0c0a07;}
.art-3{background:linear-gradient(135deg,#100d09 0%,#2c2114 64%,#5a3410 130%);}
.art-4{background:radial-gradient(circle at 72% 22%,#4a3216,transparent 52%),linear-gradient(160deg,#0b0907,#1d160e);}
.cstage-top{position:absolute;top:0;left:0;right:0;z-index:4;display:flex;justify-content:space-between;padding:clamp(22px,2.4vw,36px);}
.cstage-sector{font-family:"Graphik","Plus Jakarta Sans",sans-serif;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone);background:rgba(5,5,5,.6);backdrop-filter:blur(4px);padding:8px 14px;border:1px solid var(--line-2);}
.cstage-num{font-family:"Graphik","Plus Jakarta Sans",sans-serif;font-size:.78rem;letter-spacing:.12em;color:var(--bone-2);}
.cstage-inner{position:relative;z-index:4;padding:clamp(26px,3.2vw,52px);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,60px);align-items:end;}
.cstage-client{font-family:"Graphik","Plus Jakarta Sans",sans-serif;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:500;}
.cstage-title{font-family:"Graphik","Plus Jakarta Sans",sans-serif;font-weight:600;font-size:clamp(1.9rem,3.6vw,3.2rem);letter-spacing:-.025em;line-height:1.05;margin:14px 0 0;}
.cstage-roi{display:flex;gap:10px;margin-top:20px;}
.cstage-roi .rv{font-family:"Graphik","Plus Jakarta Sans",sans-serif;font-weight:600;font-size:clamp(1.5rem,2.2vw,2.2rem);color:var(--accent-bright);letter-spacing:-.02em;}
.cstage-roi .rl{font-family:"Graphik","Plus Jakarta Sans",sans-serif;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-2);align-self:center;}
.cstage-acts{display:flex;flex-direction:column;gap:13px;}
.act{display:flex;gap:14px;border-top:1px solid var(--line-2);padding-top:13px;}
.act .num{font-family:"Graphik","Plus Jakarta Sans",sans-serif;font-size:.78rem;color:var(--accent);flex:none;letter-spacing:.06em;padding-top:3px;}
.act .tx{font-size:.95rem;color:var(--bone-2);}
.act .tx b{color:var(--bone);font-weight:600;display:block;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;}
.cstage-link{position:absolute;inset:0;z-index:5;}
.case-carousel-sec .carousel-track{
  --vault-carousel-gap:clamp(16px,2vw,26px);
  gap:var(--vault-carousel-gap);
  scroll-snap-type:x mandatory;
}
.case-carousel-sec .cstage-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.case-carousel-sec .cstage-bg img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.case-carousel-sec .cstage-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(5,5,5,.97) 12%,rgba(5,5,5,.58) 56%,rgba(5,5,5,.2) 100%);
  pointer-events:none;
}

@media (min-width:901px){
  .case-carousel-sec .carousel-slide{
    flex:0 0 calc((100% - var(--vault-carousel-gap))/2);
    min-width:0;
    scroll-snap-align:start;
  }
  .case-carousel-sec .cstage{
    min-height:clamp(560px,52vw,720px);
  }
  .case-carousel-sec .cstage-inner{
    grid-template-columns:1fr;
    gap:clamp(20px,2.2vw,34px);
    padding:clamp(26px,3vw,44px);
  }
  .case-carousel-sec .cstage-title{
    font-size:clamp(1.75rem,2.45vw,2.75rem);
  }
  .case-carousel-sec .cstage-roi{
    flex-wrap:wrap;
    row-gap:6px;
  }
  .case-carousel-sec .cstage-acts{
    max-width:100%;
  }
}

@media (max-width:900px){
  .case-carousel-sec .carousel-slide{
    flex:0 0 100%;
    scroll-snap-align:start;
  }
}


@media (max-width:1024px){.case-carousel-sec .cstage-inner{grid-template-columns:1fr;}}
.case-carousel-sec .carousel-foot{margin-top:28px;}
.case-carousel-sec .cstage-bg{background:var(--panel);}

@media (min-width:1025px){
  .case-carousel-sec .carousel-slide{flex:0 0 calc((100% - 2*var(--vault-carousel-gap))/3);}
  .case-carousel-sec .cstage{min-height:clamp(440px,36vw,540px);}
  .case-carousel-sec .cstage-title{font-size:clamp(1.4rem,1.8vw,2rem);}
  .case-carousel-sec .cstage-inner{padding:clamp(20px,2vw,30px);}
}
