.rp-category-section {
  overflow: hidden;
  padding: clamp(3rem, 7vw, 5.5rem) 0 1.5rem;
}
.rp-category-heading {
  display: grid;
  gap: .35rem;
  justify-items: center;
  padding-inline: 1rem;
  text-align: center;
}
.rp-category-grid {
  display: flex;
  align-items: stretch;
  gap: clamp(.8rem, 1.3vw, 1.2rem);
  overflow-x: auto;
  padding: 2.75rem max(1.25rem, calc((100% - 72rem) / 2)) 2rem;
  scroll-padding-inline: 1.25rem;
  scroll-snap-type: x proximity;
  scrollbar-color: var(--rp-field-line) transparent;
}
.rp-category-grid > li {
  --rp-card-paper: #e2b49b;
  position: relative;
  z-index: var(--rp-arc-layer);
  flex: 0 0 clamp(9.3rem, 16vw, 12.5rem);
  scroll-snap-align: center;
}
.rp-category-grid > li:first-child { margin-inline-start: auto; }
.rp-category-grid > li:last-child { margin-inline-end: auto; }
.rp-category-grid > li:nth-child(6n + 2) { --rp-card-paper: #e6afbd; }
.rp-category-grid > li:nth-child(6n + 3) { --rp-card-paper: #c9bde7; }
.rp-category-grid > li:nth-child(6n + 4) { --rp-card-paper: #abc8e7; }
.rp-category-grid > li:nth-child(6n + 5) { --rp-card-paper: #acd5c6; }
.rp-category-grid > li:nth-child(6n + 6) { --rp-card-paper: #e2d49b; }
.rp-category-card {
  --rp-lift: 0px;
  --rp-zoom: 1;
  display: grid;
  grid-template-rows: auto auto 1fr;
  height: 100%;
  min-height: 13.25rem;
  padding: .48rem;
  border: 1px solid #25212638;
  border-radius: .2rem;
  background: var(--rp-card-paper);
  color: #242027;
  box-shadow: 0 .5rem 1rem #11141b28;
  transform: translateY(calc(var(--rp-arc-y) + var(--rp-lift))) rotate(var(--rp-arc-tilt)) scale(calc(var(--rp-arc-scale) * var(--rp-zoom)));
  transition: transform .32s cubic-bezier(.2,.75,.25,1), box-shadow .32s ease;
}
.rp-category-masthead {
  display: flex;
  justify-content: space-between;
  gap: .2rem;
  padding: .05rem 0 .3rem;
  font-size: .64rem;
  font-weight: 700;
}
.rp-category-art {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #242027;
  color: var(--rp-card-paper);
}
.rp-category-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.72); transition: filter .3s; }
.rp-category-initial { font-size: 3rem; font-weight: 800; }
.rp-category-body { display: flex; align-items: flex-start; justify-content: space-between; gap: .3rem; padding-block-start: .42rem; }
.rp-category-body h3 { font-weight: 800; line-height: 1.2; min-height: 2.4em; overflow-wrap: anywhere; }
.rp-category-body p { margin-block-start: .22rem; font-size: .75rem; }
.rp-category-arrow { font-weight: 800; }
.rp-category-grid > li:focus-within { z-index: 20; }
.rp-category-card:focus-visible { outline: 2px solid var(--rp-focus); outline-offset: 3px; }
.rp-category-card:focus-visible { --rp-lift: -12px; --rp-zoom: 1.07; }
@media (hover: hover) and (pointer: fine) {
  .rp-category-grid > li:hover { z-index: 21; }
  .rp-category-card:hover { --rp-lift: -17px; --rp-zoom: 1.08; box-shadow: 0 1rem 1.6rem #11141b42; }
  .rp-category-card:hover img { filter: saturate(1); }
}
.rp-category-card:active { --rp-lift: -6px; --rp-zoom: .98; }
@media (max-width: 640px) {
  .rp-category-grid { padding-block: 1.75rem 1.4rem; }
  .rp-category-card { transform: none; }
  .rp-category-card:active { transform: scale(.97); }
}
@media (prefers-reduced-motion: reduce) {
  .rp-category-card, .rp-category-art img { transition: none; }
  .rp-category-card:is(:hover,:focus-visible,:active) { --rp-lift: 0px; --rp-zoom: 1; }
}

#categories { scroll-margin-block-start: 5rem; }
