.img-zoom {
  overflow: hidden;
}

.img-zoom img {
  transition: transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.img-zoom:hover img {
  transform: scale(1.05);
}

.grad-overlay {
  background: linear-gradient(180deg,
      transparent 0%,
      transparent 35%,
      rgba(30, 32, 40, 0.88) 100%);
}

@keyframes nm-float {

  0%,
  100% {
    transform: translateY(0) rotate(0deg);
  }

  50% {
    transform: translateY(-14px) rotate(2deg);
  }
}

.nm-float {
  animation: nm-float 6s ease-in-out infinite;
}

@keyframes toast-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(230, 126, 34, 0.35);
  }

  70% {
    box-shadow: 0 0 0 14px rgba(230, 126, 34, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(230, 126, 34, 0);
  }
}

.nm-pulse-badge {
  animation: toast-pulse 2.5s infinite;
}

.web-card-img {
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.web-card:hover .web-card-img {
  transform: scale(1.06);
}

.web-card:hover .web-card-arrow {
  transform: translateX(4px);
}

.web-card-arrow {
  transition: transform 0.3s ease;
}

::-webkit-scrollbar {
  width: 5px;
}

::-webkit-scrollbar-track {
  background: #e4e7f0;
}

::-webkit-scrollbar-thumb {
  background: #e67e22;
  border-radius: 3px;
}

.toast-box {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 999;
  transform: translateY(130%);
  opacity: 0;
  transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.toast-box.show {
  transform: translateY(0);
  opacity: 1;
}

.industry-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

/* Upcoming card */
.upcoming-card {
  position: relative;
}

.upcoming-card .upcoming-overlay {
  position: absolute;
  inset: 0;
  background: rgba(228, 231, 240, 0.45);
  z-index: 2;
  border-radius: 20px;
  pointer-events: none;
}

.upcoming-card .upcoming-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
  background: linear-gradient(135deg, #e67e22, #f39c12);
  box-shadow: 4px 4px 10px #c5c8d4,
    -4px -4px 10px #ffffff,
    0 2px 12px rgba(230, 126, 34, 0.3);
  padding: 6px 14px;
  border-radius: 10px;
}

.upcoming-card .web-card-img {
  filter: saturate(0.5) brightness(0.85);
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}