.cats-hero {
  background:
    radial-gradient(circle at 18% 25%, rgba(14,165,233,.10) 0%, transparent 55%),
    radial-gradient(circle at 82% 75%, rgba(236,72,153,.08) 0%, transparent 55%),
    #FFFFFF;
  padding: 56px 0 32px;
  border-bottom: 1px solid var(--ink-100);
  text-align: center;
}
.cats-hero h1 {
  font-family: "Fraunces", serif;
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 700;
  letter-spacing: -.025em;
  color: var(--ink-900);
  margin-bottom: 10px;
}
.cats-hero h1 em { font-style: italic; color: var(--brand-primary-dk); font-weight: 600; }
.cats-hero p { color: var(--ink-600); max-width: 600px; margin: 0 auto; font-size: 15px; }
.crumbs { font-size: 12.5px; color: var(--ink-500); margin-bottom: 14px; }
.crumbs a { color: var(--ink-700); text-decoration: none; }

.cat-card {
  background: white;
  border: 1px solid var(--ink-200);
  border-radius: 14px;
  padding: 24px;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s, transform .15s, box-shadow .15s;
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 100%;
}
.cat-card:hover {
  border-color: var(--brand-primary);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(15,23,42,.08);
}
.cat-card .head {
  display: flex;
  align-items: center;
  gap: 14px;
}
.cat-card .ico-tile {
  width: 52px; height: 52px;
  border-radius: 12px;
  background: var(--brand-primary-lt);
  display: grid;
  place-items: center;
  font-size: 26px;
  flex-shrink: 0;
}
.cat-card:nth-child(2n) .ico-tile { background: #FCE7F3; }
.cat-card:nth-child(3n) .ico-tile { background: #FEF3C7; }
.cat-card:nth-child(4n) .ico-tile { background: #DCFCE7; }
.cat-card:nth-child(5n) .ico-tile { background: #EDE9FE; }
.cat-card .ttl {
  font-family: "Fraunces", serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--ink-900);
  letter-spacing: -.01em;
  line-height: 1.15;
}
.cat-card .meta {
  font-size: 12.5px;
  color: var(--ink-500);
  margin-top: 2px;
}
.cat-card .meta strong { color: var(--brand-primary-dk); font-weight: 600; }
.cat-card .stores-list {
  font-size: 12.5px;
  color: var(--ink-600);
  line-height: 1.5;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px dashed var(--ink-200);
}
.cat-card .stores-list .lbl {
  display: block;
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ink-500);
  font-weight: 600;
  margin-bottom: 4px;
}
.cat-card .arrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--brand-primary-dk);
  margin-top: 8px;
}
.cat-card:hover .arrow { color: var(--brand-pink); }