body {
  font-family: "Open Sans", sans-serif;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Parallax backgrounds (custom) */
.parallax {
  background-image: url("/assets/bg-white.jpg");
  min-height: 400px;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.parallax2 {
  background-image: url("/assets/bg-purple.jpg");
  min-height: 400px;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* service hover lift */
.service-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.service-card:hover {
  transform: translateY(-8px);
}
.card-1 {
  background-image: url("/assets/visas/usa.jpeg");
}
.card-2 {
  background-image: url("/assets/visas/china.jpeg");
}
.card-3 {
  background-image: url("/assets/card_3.jpeg");
}
.card-4 {
  background-image: url("/assets/visas/japon.jpeg");
}
.card-5 {
  background-image: url("/assets/visas/canada.jpeg");
}
.card-bg-image {
  background-size: cover;
  background-position: center;
}
.card-overlay {
  transition: background-color 0.3s ease;
}

.card:hover .card-overlay {
  background-color: rgba(0, 0, 0, 0.55);
}
/* accordion panel default transitions are handled via inline style in JS (max-height) */

/* small shake animation for form error feedback */
@keyframes shake {
  0%,
  100% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-6px);
  }
  40% {
    transform: translateX(6px);
  }
  60% {
    transform: translateX(-4px);
  }
  80% {
    transform: translateX(4px);
  }
}
.animate-shake {
  animation: shake 0.28s linear;
}

/*Flip cards*/
.flip-card {
  perspective: 1000px;
}

.flip-inner {
  transition: transform 0.7s;
  transform-style: preserve-3d;
}

.flip-card:hover .flip-inner {
  transform: rotateY(180deg);
}

.flip-front,
.flip-back {
  backface-visibility: hidden;
}

.flip-back {
  transform: rotateY(180deg);
}

.animate-fadeInUp {
  animation: fadeInUp 1s ease-out 0.2s forwards;
}