.games-hub {
  max-width: 1100px;
  margin: 2rem auto 4rem;
  padding: 0 1.5rem;
  display: grid;
  gap: 2rem;
}
.games-hero {
  text-align: center;
}
.games-hero .eyebrow {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .85rem;
  color: var(--muted,#777);
  margin: 0;
}
.games-hero h1 {
  margin: .4rem 0 .6rem;
  font-size: clamp(2rem, 4vw, 2.8rem);
}
.games-hero p {
  font-size: 1.05rem;
  color: var(--muted,#555);
}
.games-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
}
.game-card {
  border-radius: 1.4rem;
  padding: 1.4rem;
  box-shadow: 0 15px 40px rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.05);
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.game-card h2 {
  margin:0;
  font-size: 1.35rem;
}
.game-card p {
  margin:0;
  color: #3d3d3d;
  flex:1;
}
.game-card .btn {
  align-self: flex-start;
  background: #1d1d1d;
  color: #fff;
  border-radius: .9rem;
  padding: .65rem 1.3rem;
  font-weight: 600;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease;
}
.game-card .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0,0,0,.15);
}
.card-tag {
  display: inline-flex;
  align-items: center;
  padding: .2rem .65rem;
  border-radius: 999px;
  text-transform: uppercase;
  font-size: .75rem;
  font-weight: 600;
  color: #4b342b;
  background: rgba(0,0,0,.1);
  margin-bottom: -.3rem;
}
