/* Default: 3 columns (desktop) */
.services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  max-width: 1100px;
  margin: 40px auto;
  padding:40px;
}

/* Tablet: 2 columns */
@media (max-width: 900px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile: 1 column */
@media (max-width: 600px) {
  .services-grid {
    grid-template-columns: 1fr;
  }

  .service-excerpt {
    font-size: 0.85rem;  /* smaller text */
    padding: 0.75rem;
  }

  .services-item h3 {
    font-size: 1rem;     /* adjust heading size */
  }
}
 
.service-img-container {
  display: flex;
  justify-content: center;
  align-items: center;  /* <-- vertical align inside container */
  flex: 1;              /* let it stretch within the item */
  width: 100%;
}
 
/* Title sits normally */
.service-label {
 align-items: center; gap: 10px;  width:100%;

}
.service-label h3 {
  position: relative;
  z-index: 1;
  text-align: center;
  margin: 0;
  padding: 0.5rem;
  font-size:14px;;
  line-height: normal;
  font-weight: 700;
  background-color:rgb(0 0 0 / 67%);
  color:#fff;
 
 
}
.services-item {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
     
  color: #000;

  display: flex;                /* enable flexbox */
  flex-direction: column;       /* stack icon, title, excerpt */
  justify-content: center;      /* vertical centering */
  align-items: center;          /* horizontal centering */
  text-align: center;
  border-radius:5px;
  border-bottom:1px solid rgb(0 0 0 / 67%);
}


.services-item p {
  line-height: 25px;
  height:100px;
 
}
.service-icon {
  width:40px;
  margin-top:10px;
}
.service-excerpt {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;            /* cover the whole square */
  bottom: -100%;           /* place it completely below */
  background: rgb(0 0 0 / 67%);
  color: #000;
  padding: 50px 1rem 1rem 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: bottom 0.4s ease;
  box-sizing: border-box;
  font-size:16px;
  line-height: 26px;
}

.services-item:hover .service-excerpt {
  bottom: 0; /* slide fully into view */
}

.spectra-image-gallery * {
  margin-left:3px;
}