.cases{position:relative}

.cases__pin{
  position:sticky;top:0;
  height:100vh;min-height:640px;
  display:flex;flex-direction:column;justify-content:center;
  overflow:hidden;
}

.cases__head{
  max-width:1240px;width:100%;margin:0 auto;
  padding:0 40px 42px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:30px;
  opacity:0;transform:translateY(26px);
  transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.2,1);
}
.cases.in .cases__head{opacity:1;transform:none}
.cases__eyebrow{
  display:flex;align-items:baseline;gap:14px;margin-bottom:22px;
  font-family:var(--font-mono);
}
.cases__eyebrow .num{color:var(--gold);font-size:20px;font-weight:700}
.cases__eyebrow .lbl{font-size:11px;letter-spacing:.3em;color:var(--muted);text-transform:uppercase}
.cases__title{
  font-weight:800;font-size:clamp(34px,4.4vw,58px);
  line-height:1.05;letter-spacing:-.025em;max-width:680px;
}
.cases__title em{font-style:italic;color:var(--gold)}

.cases__side{display:flex;flex-direction:column;align-items:flex-end;gap:14px;padding-bottom:6px}
.cases__nav{display:flex;gap:10px}
.cases__nav button{
  width:44px;height:44px;border-radius:12px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.04);color:var(--muted);
  border:1px solid var(--line);
  transition:color .2s,border-color .2s,background .2s,transform .2s;
}
.cases__nav button:hover{color:var(--gold);border-color:rgba(232,179,75,.4);transform:translateY(-1px)}

.cases__counter{
  font-family:var(--font-mono);font-size:13px;color:var(--muted);
  white-space:nowrap;padding-bottom:6px;
}
.cases__counter b{color:var(--gold);font-weight:700;font-size:22px}

.cases__viewport{width:100%}
.cases__track{
  display:flex;gap:28px;
  padding:0 max(40px, calc((100vw - 1240px) / 2 + 40px));
  will-change:transform;
}

.cases__bar{
  max-width:1240px;width:calc(100% - 80px);margin:38px auto 0;
  height:2px;background:rgba(232,179,75,.12);position:relative;
}
.cases__bar i{
  position:absolute;inset:0;
  background:linear-gradient(90deg,var(--gold),var(--gold-soft));
  transform:scaleX(0);transform-origin:left;
}

.case-card{
  position:relative;flex:none;
  width:min(460px, 82vw);
  display:flex;flex-direction:column;
  padding:34px 32px 28px;
  border:1px solid var(--line);border-radius:22px;
  background:
    radial-gradient(560px 340px at var(--gx,50%) var(--gy,0%), rgba(232,179,75,.09), transparent 55%),
    linear-gradient(165deg,var(--panel) 0%,#080D1B 100%);
  transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:border-color .3s ease;
  transform-style:preserve-3d;
}
.case-card:hover{border-color:rgba(232,179,75,.35)}

.case-card::before{
  content:"";position:absolute;inset:0;border-radius:22px;pointer-events:none;
  background-image:
    linear-gradient(rgba(125,150,215,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(125,150,215,.05) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(180deg,transparent, #000 30%, transparent 95%);
  -webkit-mask-image:linear-gradient(180deg,transparent, #000 30%, transparent 95%);
}

.case-card__niche{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);
  margin-bottom:30px;
}
.case-card__geo{color:var(--gold);letter-spacing:.1em}

.case-card__metric{
  display:flex;align-items:baseline;gap:8px;
  transform:translateZ(26px);
}
.case-card__metric b{
  font-weight:800;font-size:clamp(56px,5.4vw,76px);line-height:.95;
  letter-spacing:-.035em;color:var(--text);
  font-variant-numeric:tabular-nums;
}
.case-card__metric .unit{
  font-weight:800;font-size:30px;color:var(--gold);letter-spacing:-.02em;
}
.case-card__metric-label{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);
  margin:12px 0 24px;
}

.case-card__outcome{
  font-weight:700;font-size:18px;line-height:1.35;letter-spacing:-.01em;
  margin-bottom:14px;
}
.case-card__desc{
  color:var(--muted);font-size:14.5px;line-height:1.65;
  margin-bottom:26px;
}
.case-card__desc b{color:var(--text);font-weight:600}

.case-card__stack{
  display:flex;flex-wrap:wrap;gap:8px;
  margin-top:auto;margin-bottom:24px;
}
.case-card__stack span{
  font-family:var(--font-mono);font-size:10.5px;color:var(--muted);
  border:1px solid var(--line);border-radius:999px;padding:5px 12px;
  background:rgba(255,255,255,.02);
}

.case-card__cta{
  display:inline-flex;align-items:center;gap:10px;
  font-weight:700;font-size:15px;color:var(--gold);text-decoration:none;
  padding:14px 0 2px;border-top:1px solid var(--line);
  transition:gap .25s ease;
}
.case-card__cta:hover{gap:16px}
.case-card__cta svg{flex:none}

.case-card{opacity:0;transform:perspective(1100px) translateY(30px)}
.cases.in .case-card{
  opacity:1;
  transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:opacity .7s ease var(--i,0s),transform .7s cubic-bezier(.2,.65,.2,1) var(--i,0s),border-color .3s ease;
}
.case-card:nth-child(1){--i:.1s}
.case-card:nth-child(2){--i:.18s}
.case-card:nth-child(3){--i:.26s}
.case-card:nth-child(4){--i:.34s}
.case-card:nth-child(5){--i:.42s}
.case-card:nth-child(6){--i:.5s}

@media(max-width:980px), (pointer:coarse){
  .cases{height:auto!important}
  .cases__pin{position:relative;height:auto;min-height:0;display:block;padding:20px 0 120px}
  .cases__head{padding:0 20px 34px}
  .cases__viewport{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none}
  .cases__viewport::-webkit-scrollbar{display:none}
  .cases__track{padding:0 20px;gap:16px;transform:none!important}
  .case-card{scroll-snap-align:center;width:min(400px,86vw)}
  .cases__bar{width:calc(100% - 40px);margin-top:28px}
  .cases__counter{display:none}
  .cases__nav{display:none}
}

@media(prefers-reduced-motion:reduce){
  .cases{height:auto!important}
  .cases__pin{position:relative;height:auto;min-height:0;display:block;padding:20px 0 120px}
  .cases__viewport{overflow-x:auto}
  .cases__track{transform:none!important}
  .cases__head,.case-card{opacity:1;transform:none;transition:none}
}
