.scan-cta a{
  color:inherit;
  text-decoration:none;
}

.scan-cta .btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:15px 25px;
  border-radius:999px;
  background:var(--blue);
  color:#fff;
  box-shadow:0 12px 34px rgba(0,113,227,.24);
  font-size:.98rem;
  font-weight:650;
  letter-spacing:-.015em;
  transition:transform .28s var(--ease), box-shadow .28s var(--ease), background .28s var(--ease);
}

.scan-cta .btn-primary:hover{
  transform:translateY(-2px);
  background:var(--blue-hover);
  box-shadow:0 18px 48px rgba(0,113,227,.32);
}

.scan-cta {
  position: relative;
  min-height: 720px;
  display: flex;
  align-items: center;
  padding: clamp(86px, 9vw, 128px) 8%;
  overflow: hidden;
  color: #fff;
  background: #020617;
}

.scan-cta-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.scan-cta-bg img {
  position: absolute;
  right: 0;
  top: 50%;
  width: min(58vw, 820px);
  height: 100%;
  object-fit: contain;
  object-position: right center;
  transform: translateY(-50%);
  opacity: .92;
  filter: drop-shadow(-40px 40px 80px rgba(0,0,0,.55));
}

.scan-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      90deg,
      rgba(2,6,23,5) 0%,
      rgba(2,6,23,.3) 30%,
      rgba(2,6,23,.2) 48%,
      rgba(2,6,23,.1) 68%,
      rgba(2,6,23,.0) 100%
    ),
    radial-gradient(
      circle at 78% 45%,
      rgba(0,113,227,.28),
      transparent 36%
    );
  pointer-events: none;
}

.scan-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, #000 0%, transparent 72%);
  pointer-events: none;
}

.scan-cta-content {
  position: relative;
  z-index: 2;
  max-width: 680px;
}

.scan-badge {
  display: inline-flex;
  align-items: center;
  padding: 8px 15px;
  margin-bottom: 28px;
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.84);
  backdrop-filter: blur(18px) saturate(180%);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .05em;
}

.scan-cta h2 {
  color: #fff;
  font-size: clamp(3rem, 6vw, 3rem);
  letter-spacing: -.075em;
  margin-bottom: 26px;
}

.scan-cta p {
  font-size: clamp(1.08rem, 1.6vw, 1.28rem);
  line-height: 1.65;
  color: rgba(255,255,255,.72);
  max-width: 480px;
  margin-bottom: 40px;
  line-height: 1.2;
}

.scan-cta-buttons {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

@media (max-width: 980px) {
  .scan-cta a{
  color:inherit;
  text-decoration:none;
}

.scan-cta .btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:15px 25px;
  border-radius:999px;
  background:var(--blue);
  color:#fff;
  box-shadow:0 12px 34px rgba(0,113,227,.24);
  font-size:.98rem;
  font-weight:650;
  letter-spacing:-.015em;
  transition:transform .28s var(--ease), box-shadow .28s var(--ease), background .28s var(--ease);
}

.scan-cta .btn-primary:hover{
  transform:translateY(-2px);
  background:var(--blue-hover);
  box-shadow:0 18px 48px rgba(0,113,227,.32);
}

.scan-cta {
    min-height: auto;
    padding: 96px 6% 420px;
  }

  .scan-cta-bg img {
    width: 100%;
    height: 420px;
    top: auto;
    bottom: 0;
    transform: none;
    object-position: center bottom;
    opacity: .72;
  }

  .scan-cta::before {
    background:
      linear-gradient(
        180deg,
        rgba(2,6,23,1) 0%,
        rgba(2,6,23,.96) 45%,
        rgba(2,6,23,.62) 72%,
        rgba(2,6,23,.2) 100%
      );
  }
}