<style>
/* Base Styles */
.hover-cards-row {
  padding: 20px 0;
}
  

.hover-cards-wrapper {
  width: 100%;
  padding: 40px 20px;
  box-sizing: border-box;
}

.cards-title h2 {
  font-family: headfont, Arial;
  font-size: 28px;
  text-align: center;
  margin: 0 0 30px 0;
  color: #4f6ee8;
}

.hover-cards-container {
  display: flex;
  gap: 20px;
  padding: 20px 20px;
  max-width: 1500px;
  margin: 0 auto;
  justify-content: center;
  flex-wrap: wrap;
}

.card-column {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

.hover-card {
  position: relative;
  height: 375px;
  width: 375px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.hover-card-image-container {
  position: relative;
  height: 100%;
  width: 100%;
}

.card-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

/* Permanent overlay */
.image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.2); /* Always visible */
  transition: background 0.4s ease;
}

.card-content-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  text-align: center;
  z-index: 3;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.card-logo-overlay {
  margin-bottom: 20px;
  transition: all 0.4s ease;
}

.card-logo {
  width: 100%;
  max-width: 120px;
  height: auto;
  object-fit: contain;
}

.card-copy {
  color: white;
  opacity: 0;
  transform: translateY(15px);
  transition: all 0.4s ease;
  max-height: 0;
  overflow: hidden;
  padding: 0 10px;
}

.card-copy p {
  font-family: basefont, arial;
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  text-shadow: 0 0 5px rgba(0,0,0,0.7);
}

/* Hover Effects */
.hover-card:hover .image-overlay {
  opacity: 1;
  background: rgba(0,0,0,0.6);
}

.hover-card:hover .card-image {
  transform: scale(1.05);
}

.hover-card:hover .card-content-wrapper {
  transform: translate(-50%, -55%);
}

.hover-card:hover .card-logo-overlay {
  margin-bottom: 5px;
  transform: scale(0.85);
  transform: translateY(-20px); /* Upward movement */
}

.hover-card:hover .card-copy {
  opacity: 1;
  transform: translateY(-5px);
  max-height: 160px;
}

/* Responsive Adjustments */
@media (max-width: 1220px) {
  .hover-cards-container {
    grid-template-columns: repeat(auto-fit, minmax(280px, 2fr));
    padding: 0 20px;
    gap: 35px 25px;
  }
  .hover-card {
    height: 340px;
    width: 330px;
  }
}

@media (max-width: 800px) {
.hover-cards-container {
grid-template-columns: repeat(auto-fit, minmax(280px, 2fr));
    padding: 0 20px;
    gap: 20px;
  }
 .hover-card {
    height: 340px;
    width: 300px;
  }
}

@media (max-width: 658px) {
  .hover-cards-container {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    padding: 0 20px;
    gap: 20px;
  }
  
  .hover-card {
    height: 340px;
    width: 340px;
  }
}

@media (max-width: 480px) {
  .hover-cards-row {
    padding: 20px 0;
  }
  
  .hover-cards-wrapper {
  padding: 0 2px;
  }
  
  .hover-cards-container {
    grid-template-columns: repeat(2,1fr);
    padding: 0 2px;
    row-gap: 10px;
    column-gap: 5px;
  }
  
  .hover-card {
    width: 180px;
    height: 370px;
  }
  .card-logo {
    max-width: 80px;
  }
  .card-content-wrapper {
    width: 96%;
  }
  .card-copy p {
    font-size: 12px;
  }
  .hover-card:hover .card-logo-overlay {
  margin-bottom: 1px;
}
  .hover-card:hover .card-copy {
  max-height: 200px;
}
}
@media (max-width: 365px) {
  .hover-card {
        width: 160px;
    }
}
</style>