.hero {
  position: relative;
  overflow: hidden;
  background: #0b1b34;
  color: #fff;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/hero-home.jpg") center/cover no-repeat;
  opacity: .25;
}

.hero .container {
  position: relative;
  z-index: 2;
}

.rounded-4 { border-radius: 1rem !important; }
.rounded-5 { border-radius: 1.5rem !important; }

.card-hover:hover { transform: translateY(-3px); transition: .2s; }

.icon-badge {
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 12px;
  background: #eef4ff;
}

.hero-stats .stat {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 16px;
  padding: 14px 16px;
}

.bg-soft {
  background: linear-gradient(180deg, #f7f9ff 0%, #ffffff 75%);
}

.service-img {
  width: 100%;
  height: 170px;
  object-fit: cover;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}

.gallery-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 1rem;
}

.banner-img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  border-radius: 1.5rem;
}
