.services-page .service-journey.service-stack {
  display:block;
  position:relative;
  isolation:isolate;
  padding-bottom:24px;
}

.service-stack-card {
  position:sticky;
  top:var(--stack-top,110px);
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:stretch;
  background:#f5f3ed;
  border:1px solid #d7d4cc;
  border-radius:14px;
  box-shadow:0 -8px 32px #17171410;
  margin-bottom:70px;
  overflow:clip;
  transform-origin:50% 100%;
  scroll-margin-top:112px;
}

.service-stack-card:last-child {
  margin-bottom:0;
}

.service-stack-visual {
  position:relative;
  min-height:440px;
  margin:0;
  background:#171714;
  overflow:hidden;
}

.service-stack-visual img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.service-stack-visual figcaption {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:28px;
  color:white;
  background:linear-gradient(#0003,transparent 35%,#000a);
}

.service-stack-visual small {
  font-size:11px;
  letter-spacing:.06em;
}

.service-stack-visual strong {
  font-size:clamp(28px,3.4vw,58px);
  line-height:1;
  letter-spacing:-.04em;
}

.service-stack-copy {
  padding:36px clamp(24px,3vw,52px) 40px;
}

.service-stack-copy h3 {
  font-size:clamp(24px,2.4vw,38px);
  letter-spacing:-.035em;
  line-height:1.15;
  color:var(--orange);
  margin:0 0 26px;
}

.services-page .service-stack-copy .service-content {
  display:block;
  padding:0;
  height:auto;
  max-height:none;
  overflow:visible;
}

.service-stack-count {
  display:block;
  font-size:11px;
  letter-spacing:.1em;
  margin-bottom:18px;
  color:#666;
}

.service-stack-hint {
  margin:0 0 26px;
  font-size:13px;
  color:#62615b;
}

@media(max-width:700px) {
  .service-stack-card {
    grid-template-columns:1fr;
    margin-bottom:36px;
    border-radius:10px;
  }
  .service-stack-visual {
    min-height:220px;
  }
  .service-stack-visual figcaption {
    padding:22px;
  }
  .service-stack-visual strong {
    font-size:32px;
  }
  .service-stack-copy {
    padding:26px 22px 32px;
  }
  .services-page .service-stack-copy .service-content p {
    font-size:15px;
    line-height:1.75;
  }
}

@media(prefers-reduced-motion:reduce) {
  .service-stack-card {
    transform:none!important;
  }
}

