/* Scoped to the experience directory; shared galleries and forms keep their existing styles. */
.catalog-page .catalog-grid { align-items: stretch; }
.catalog-page .catalog-card { min-width: 0; position: relative; }
.catalog-page .catalog-card .media { aspect-ratio: 4 / 3; }
.catalog-page .catalog-card .copy { padding: 24px; }
.catalog-page .catalog-card .copy > p { flex: 1; }
.catalog-page .catalog-card .text-link {
  align-self: flex-start;
  border-radius: 999px;
  background: #14213d;
  color: #fff;
  font-size: .86rem;
  line-height: 1.35;
  margin-top: 8px;
  max-width: 100%;
  padding: 12px 17px;
  text-decoration: none;
}
.catalog-page .catalog-card .text-link::after { content: ""; position: absolute; inset: 0; }
.catalog-page .catalog-card:hover { border-color: #ac355d; }
.catalog-page .catalog-card:focus-within { outline: 3px solid #495dcc; outline-offset: 3px; }
.catalog-page .flagship-card .kicker { color: #ac355d; }
.catalog-page .traditional-catalog .media img { object-position: 50% 30%; }
.catalog-page .artwork-catalog .media { background: #fffaf3; }
.catalog-page .artwork-catalog .media img { object-fit: contain; }
.catalog-page .catalog-more-heading { margin-top: 60px; }
.catalog-page .catalog-more-heading h2 { font-size: clamp(2rem, 4vw, 3.4rem); }
@media (max-width: 920px) {
  .catalog-page .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .catalog-page .catalog-grid { grid-template-columns: minmax(0, 1fr); }
  .catalog-page .catalog-card .copy { padding: 22px; }
  .catalog-page .catalog-more-heading { margin-top: 42px; }
}
