/**
 * Site custom utilities not present in theme.min.css.
 * Theme-first: only add what cannot be composed from theme classes.
 */

/* Landing hero (dynamic background-image set inline from PHP) */
.hero-section {
  min-height: 80vh;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.hero-overlay {
  background: linear-gradient(
    135deg,
    rgba(0, 82, 140, 0.88) 0%,
    rgba(0, 82, 140, 0.68) 55%,
    rgba(0, 0, 0, 0.4) 100%
  );
  min-height: 80vh;
}

.hero-section .text-white {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

/* Process step number — fixed size not in theme */
.step-circle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #ca1c23;
  color: #fff;
  font-weight: 700;
  font-size: 1.35rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Cover thumb for why-us gallery */
.lp-cover-img {
  height: 180px;
  width: 100%;
  object-fit: cover;
}

/* Scroll reveal helper */
.fade-in-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}

.card.lp-card-lift {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card.lp-card-lift:hover {
  transform: translateY(-6px);
}

@media (max-width: 992px) {
  .hero-section {
    background-attachment: scroll;
  }
}

@media (max-width: 576px) {
  .hero-section,
  .hero-overlay {
    min-height: auto;
  }
}
