.ipsc-wrap { width: 100%; }

/* ✅ 6-column grid trick:
   - Desktop: 6 cols, each card spans 2 => 3 cards per row
   - If last row has 2 cards: we offset them to center (col2+col4)
*/
.ipsc-grid{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 26px;
  width: 100%;
}

/* default card span */
.ipsc-item{
  grid-column: span 2;
}

/* Center 2 cards in last row (desktop) */
.ipsc-offset-left{
  grid-column: 2 / span 2; /* leaves 1 col gap left */
}
.ipsc-offset-right{
  grid-column: 4 / span 2; /* leaves 1 col gap right */
}

/* Center 1 card in last row (desktop) */
.ipsc-offset-center{
  grid-column: 3 / span 2;
}

/* Card design (same look) */
.ipsc-card{
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.02);
  border-radius: 18px;
  padding: 28px 26px;
  min-height: 310px;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.ipsc-top{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 14px;
  align-items: start;
}

.ipsc-number{
  font-size: 14px;
  letter-spacing: 1px;
  font-weight: 600;
  line-height: 1;
  opacity: 0.95;
  margin-top: 2px;
}

.ipsc-title{
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1.15;
  text-transform: uppercase;
}

.ipsc-mid{
  padding: 28px 0 16px;
}

.ipsc-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.85;
}

.ipsc-desc{
  font-size: 15px;
  line-height: 1.6;
  opacity: 0.82;
}

/* ✅ Tablet: 2 cards per row */
@media (max-width: 1024px){
  .ipsc-grid{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .ipsc-item{ grid-column: span 2; }

  /* Remove desktop offsets so natural grid works */
  .ipsc-offset-left,
  .ipsc-offset-right,
  .ipsc-offset-center{
    grid-column: span 2;
  }
}

/* ✅ Mobile: 1 card per row */
@media (max-width: 767px){
  .ipsc-grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .ipsc-item{ grid-column: span 1; }

  .ipsc-offset-left,
  .ipsc-offset-right,
  .ipsc-offset-center{
    grid-column: span 1;
  }

  .ipsc-card{ min-height: 280px; padding: 22px 18px; }
  .ipsc-title{ font-size: 18px; }
  .ipsc-desc{ font-size: 14px; }
}
