/* Static engineering drawings, integrated into the page rather than carded off. */
.stack-band {
  overflow: hidden;
  background: linear-gradient(120deg, rgba(39, 25, 46, .35), transparent 57%);
}

.stack-visual { min-width: 0; }
.stack-visual h2 { max-width: 16ch; }
.stack-visual__art {
  display: block;
  width: min(115%, 570px);
  max-width: none;
  height: auto;
  margin: 12px 0 -40px -28px;
  opacity: .9;
  pointer-events: none;
}

.software-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: 0;
  background:
    radial-gradient(ellipse 64% 110% at 79% 51%, rgba(60, 36, 66, .24), transparent 70%),
    linear-gradient(110deg, #130d18 0%, #1a101f 55%, #120d17 100%);
}
.software-cta__inner {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 430px;
}
.software-cta__inner::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: 40%;
  background: linear-gradient(90deg, #130d18 4%, rgba(19, 13, 24, .88) 44%, transparent);
  pointer-events: none;
}
.software-cta__copy {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: start;
  gap: 30px;
  width: min(44%, 500px);
  padding-block: 72px;
}
.software-cta__copy h2 {
  max-width: 14ch;
  font-size: clamp(2.3rem, 3.7vw, 3.55rem);
}
.software-cta__copy .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.software-cta__art {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 50%;
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  transform: translateY(-50%);
  opacity: .86;
  pointer-events: none;
}

@media (max-width: 899px) {
  .stack-visual__art {
    width: min(100%, 520px);
    max-height: 400px;
    object-fit: contain;
    object-position: left center;
    margin: 10px 0 0 -14px;
  }
}

@media (max-width: 1099px) {
  .software-cta__inner {
    display: block;
    min-height: 0;
    padding-top: 68px;
  }
  .software-cta__inner::after { display: none; }
  .software-cta__copy {
    width: min(100%, 620px);
    padding-block: 0;
  }
  .software-cta__copy h2 { max-width: 17ch; }
  .software-cta__art {
    position: relative;
    top: auto;
    left: auto;
    width: 780px;
    margin: 2px 0 0 clamp(-338px, calc(50vw - 518px), -68px);
    transform: none;
  }
}

@media (max-width: 640px) {
  .software-cta__inner { padding-top: 64px; }
  .software-cta__copy { gap: 26px; }
  .software-cta__copy h2 { max-width: 15ch; }
  .software-cta__copy .actions { gap: 10px; }
  .software-cta__art { margin-top: 18px; }
}
