.sourcing-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 0;
  outline: 0;
  background-color: #dfe7ee;
  --sourcing-hero-background-image: url('/Backgrounds/3.png');
}

.sourcing-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--sourcing-hero-background-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.sourcing-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(255, 255, 255, 0.32);
}

.sourcing-hero-visual {
  position: relative;
  min-width: 0;
  height: 430px;
  overflow: visible;
}

.sourcing-mockup-frame {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1066px;
  height: 720px;
  border: 0;
  background: transparent;
  transform: translate(-50%, -50%) scale(var(--mockup-scale, 0.57));
  transform-origin: center;
  pointer-events: none;
  animation: none;
}

.sourcing-hero-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sourcing-hero-visual { height: 390px; }
}

@media (max-width: 767px) {
  .sourcing-hero::after { background: rgba(255, 255, 255, 0.32); }
  .sourcing-hero-visual { height: 330px; }
}

@media (max-width: 390px) {
  .sourcing-hero-visual { height: 290px; }
}

@media (prefers-reduced-motion: reduce) {
  .sourcing-mockup-frame { animation: none; }
}
