/* --- Devblog (Rust-style tiles) --- */

.devblog-wrap {
  padding-top: 1rem;
  padding-bottom: 3rem;
}

.devblog-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
}

@media (min-width: 820px) {
  .devblog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1180px) {
  .devblog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.devblog-tile {
  cursor: pointer;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
  transition: transform .12s ease, border-color .12s ease, filter .12s ease;
}

.devblog-tile:hover {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.14);
  filter: brightness(1.05);
}

.devblog-hero {
  position: relative;
  height: 180px;
  background: #111;
  background-size: cover;
  background-position: center;
}

@media (min-width: 1180px) {
  .devblog-hero { height: 200px; }
}

.devblog-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.60) 60%, rgba(0,0,0,.95));
}

.devblog-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .75rem 1rem;
  border-top: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.35);
}

.devblog-date {
  font-size: .85rem;
  letter-spacing: .02em;
  color: rgba(255,255,255,.65);
  text-transform: uppercase;
}

.devblog-body {
  padding: .85rem 1rem 1rem;
}

.devblog-title {
  margin: 0;
  font-size: 1.25rem;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

.devblog-excerpt {
  margin: .55rem 0 0;
  color: rgba(255,255,255,.65);
  line-height: 1.35;
  font-size: .98rem;

  /* clamp to ~3 lines like Rust tiles */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
