/* ═══ STACK ══════════════════════════════════════════════════════════════════ */
.stack {
  padding-block: clamp(60px, 8vw, 120px);
  background: var(--bg1);
}

.stack__head {
  margin-bottom: clamp(40px, 5vw, 64px);
}

.stack__title {
  font-family: var(--font-tektur);
  font-weight: 200;
  font-size: clamp(28px, 4vw, 56px);
  color: #fff;
  margin-bottom: 12px;
}

.stack__sub {
  font-size: 16px;
  color: var(--text-muted);
  font-weight: 300;
}

/* Grid of cards */
.stack__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

.stack-item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px 20px;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  transition: border-color var(--tr), background var(--tr), transform var(--tr);
}
.stack-item:hover {
  border-color: rgba(255,255,255,.15);
  background: var(--bg3);
  transform: translateY(-3px);
}

/* Icon */
.stack-item__icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
.stack-item__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Name */
.stack-item__name {
  font-family: var(--font-tektur);
  font-weight: 200;
  font-size: 16px;
  color: #fff;
  white-space: nowrap;
}

/* Description */
.stack-item__desc {
  font-size: 13px;
  font-weight: 300;
  color: var(--text-muted);
  line-height: 1.6;
  flex: 1;
}

/* Responsive */
@media (max-width: 1024px) {
  .stack__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
  .stack__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 380px) {
  .stack__grid { grid-template-columns: 1fr; }
}
