/* small custom helpers */
    .hero-bg {
      background-image: linear-gradient(90deg, rgba(6, 21, 40, 0.72), rgba(6, 21, 40, 0.42)), url('/assets/images/hero-bg.jpg');
      background-size: cover;
      background-position: center;
    }

    .gold-gradient {
    background: linear-gradient(90deg, #1864c5, #092847);
    background-size: 200% 200%;
    background-position: 0% 50%;
    animation: gradientAnimation 3s ease infinite;
  }

  /* Keyframes for animating the gradient */
  @keyframes gradientAnimation {
    0% {
      background-position: 0% 50%;
    }
    50% {
      background-position: 100% 50%;
    }
    100% {
      background-position: 0% 50%;
    }
  }

  .animated-button {
    display: inline-block;
    padding: 12px 24px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    color: white;
    text-decoration: none;
    transition: all 0.3s ease;
  }

  .animated-button:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  }

    .card-glass {
      background: rgba(255, 255, 255, 0.03);
      backdrop-filter: blur(6px);
      border: 1px solid rgba(255, 255, 255, 0.04);
    }

    /* small responsive tweak for hero headings */
    @media (min-width: 1024px) {
      .hero-h1 {
        font-size: 56px;
        line-height: 1.02;
      }

      .hero-h2 {
        font-size: 34px;
      }
    }




    .swiper-button-next:after,
    .swiper-button-prev:after {
      font-size: 20px;
      font-weight: 900;
      color: #1864c5;
      transition: color 0.3s ease;
    }

    .swiper-button-next:hover:after,
    .swiper-button-prev:hover:after {
      color: white;
    }

    /* Custom pagination styles */
    .swiper-pagination {
      bottom: 30px !important;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 8px;
    }

    .swiper-pagination-bullet {
      width: 12px;
      height: 12px;
      background: rgba(255, 255, 255, 0.4);
      opacity: 1;
      border-radius: 50%;
      transition: all 0.3s ease;
      border: 2px solid rgba(255, 255, 255, 0.3);
      cursor: pointer;
    }

    .swiper-pagination-bullet-active {
      background: #1864c5;
      border-color: #1864c5;
      transform: scale(1.2);
      box-shadow: 0 0 15px rgba(24, 100, 197, 0.6);
    }

    .swiper-pagination-bullet:hover {
      background: rgba(24, 100, 197, 0.7);
      border-color: rgba(24, 100, 197, 0.7);
      transform: scale(1.1);
    }

    /* Position adjustments for mobile */
    @media (max-width: 768px) {

      .swiper-button-next,
      .swiper-button-prev {
        width: 50px;
        height: 50px;
        margin-top: -25px;
      }

      .swiper-button-next:after,
      .swiper-button-prev:after {
        font-size: 16px;
      }

      .swiper-pagination {
        bottom: 20px !important;
      }

      .swiper-pagination-bullet {
        width: 10px;
        height: 10px;
      }

      .slide-counter-wrapper {
        bottom: 50px !important;
        font-size: 12px;
      }
    }

    /* Slide counter styling */
    .slide-counter-wrapper {
      background: rgba(0, 0, 0, 0.3);
      backdrop-filter: blur(10px);
      padding: 8px 16px;
      border-radius: 20px;
      border: 1px solid rgba(255, 255, 255, 0.2);
    }

    .slide-counter {
      color: #1864c5;
      font-weight: 700;
    }
    .fade-in {
  animation: fadeIn 0.6s ease forwards;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

 @keyframes gradient {
      0% { background-position: 0% 50%; }
      50% { background-position: 100% 50%; }
      100% { background-position: 0% 50%; }
    }
    .animate-gradient {
      background-size: 200% 200%;
      animation: gradient 3s ease infinite;
    }
    @keyframes spin-slow {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }
    .animate-spin-slow {
      animation: spin-slow 20s linear infinite;
    }
    @keyframes bounce-slow {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-20px); }
    }
    .animate-bounce-slow {
      animation: bounce-slow 3s ease-in-out infinite;
    }

     @keyframes float {
        0%, 100% { transform: translate(0, 0) scale(1) rotate(0deg); }
        33% { transform: translate(30px, -30px) scale(1.1) rotate(120deg); }
        66% { transform: translate(-30px, 30px) scale(0.9) rotate(240deg); }
    }
    @keyframes float-delayed {
        0%, 100% { transform: translate(0, 0) scale(1) rotate(0deg); }
        33% { transform: translate(-25px, 25px) scale(1.05) rotate(-120deg); }
        66% { transform: translate(25px, -25px) scale(0.95) rotate(-240deg); }
    }
    @keyframes float-slow {
        0%, 100% { transform: translate(0, 0) scale(1); }
        50% { transform: translate(-20px, -20px) scale(1.08); }
    }
    @keyframes shimmer-slow {
        0% { transform: translateX(-100%); }
        100% { transform: translateX(200%); }
    }
    @keyframes spin-slow {
        from { transform: rotate(0deg); }
        to { transform: rotate(360deg); }
    }
    @keyframes wiggle {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(-15deg); }
        75% { transform: rotate(15deg); }
    }

    .animate-float {
        animation: float 12s ease-in-out infinite;
    }
    .animate-float-delayed {
        animation: float-delayed 14s ease-in-out infinite;
    }
    .animate-float-slow {
        animation: float-slow 10s ease-in-out infinite;
    }
    .animate-shimmer-slow {
        animation: shimmer-slow 4s linear infinite;
    }
    .animate-spin-slow {
        animation: spin-slow 8s linear infinite;
    }
    .animate-wiggle {
        animation: wiggle 0.5s ease-in-out;
    }
    .animation-delay-500 {
        animation-delay: 0.5s;
    }
