.play-catalogue { padding-top: clamp(2rem, 4vw, 4rem) !important; }
.play-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: 1rem 3rem;
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3rem) !important;
}
.play-intro .play-eyebrow { grid-column: 1 / -1; margin: 0; }
.play-intro h1 { margin: 0 !important; font-size: clamp(3rem, 7vw, 6rem) !important; }
.play-intro > p:last-child { margin: 0 0 .35rem !important; max-width: 44ch; }
.game-groups { display: grid; gap: clamp(2.5rem, 6vw, 5rem); }
.game-group { min-width: 0; }
.game-group__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
  gap: .35rem 2rem;
  align-items: end;
  margin-bottom: 1rem;
  padding-bottom: .8rem;
  border-bottom: 1px solid #cfc9c2;
}
.game-group__heading > p {
  grid-column: 1 / -1;
  margin: 0;
  color: #c41620;
  font: 800 .68rem/1.2 "Space Mono", "Courier New", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.game-group__heading h2 {
  margin: 0;
  color: #111014;
  font: 800 clamp(1.7rem, 4vw, 2.8rem)/1 "Sora", Arial, sans-serif;
  letter-spacing: -.045em;
}
.game-group__heading > span {
  max-width: 36ch;
  color: #66616a;
  font: 600 .92rem/1.45 "Manrope", Arial, sans-serif;
}
.game-group .game-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.game-group .game-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.game-card { min-width: 0; overflow: hidden; text-decoration: none; }
.game-card__body { display: flex; min-height: 190px; flex-direction: column; }
.game-card__meta {
  display: block;
  margin-bottom: .65rem;
  color: #c41620;
  font: 800 .62rem/1.35 "Space Mono", "Courier New", monospace;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.game-card__cta { margin-top: auto; padding-top: .9rem; color: #111014; font-weight: 800; }
.game-recent {
  margin: 0 0 clamp(2.5rem, 5vw, 4rem);
  padding: 1rem;
  border: 1px solid #d9d4db;
  border-radius: 18px;
  background: rgba(255,255,255,.65);
}
.game-recent .game-group__heading { margin-bottom: .8rem; }
.game-recent__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .7rem; }
.game-recent__item {
  display: grid;
  grid-template-columns: 74px minmax(0,1fr);
  gap: .75rem;
  align-items: center;
  min-height: 74px;
  padding: .55rem;
  border: 1px solid #d9d4db;
  border-radius: 14px;
  background: #fff;
  color: #111014;
  text-decoration: none;
}
.game-recent__item img { display: block; width: 74px; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 9px; }
.game-recent__item strong { display: block; font: 800 .95rem/1.2 "Sora", Arial, sans-serif; }
.game-recent__item span { display: block; margin-top: .2rem; color: #66616a; font: 700 .7rem/1.3 "Space Mono", monospace; }
.game-recent__item:focus-visible { outline: 3px solid #e6202a; outline-offset: 3px; }
@media (max-width: 820px) {
  .play-intro, .game-group__heading { grid-template-columns: 1fr; align-items: start; }
  .game-group .game-grid, .game-group .game-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .game-recent__grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .play-catalogue { width: min(calc(100% - 1.25rem), var(--xarmo-max)) !important; }
  .play-intro h1 { font-size: clamp(2.8rem, 16vw, 4.4rem) !important; }
  .game-group .game-grid, .game-group .game-grid--two { grid-template-columns: 1fr; }
  .game-card__body { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .game-card { transition: none !important; }
}
