

.pageShell {
  width: var(--shell);
  margin-left: auto;
  margin-right: auto;
}

.shellNarrow {
  width: var(--shell-narrow);
  margin-left: auto;
  margin-right: auto;
}

.splitPair {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

.cardDeck {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
}

.galleryGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: var(--space-3);
}

.railScroll {
  scrollbar-width: thin;
}

.soloShot {
  max-width: 24rem;
  margin-inline: auto;
}



@media (max-width: 47.99rem) {
  .cardDeck,
  .galleryGrid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-left: var(--space-2);
    padding-bottom: var(--space-2);
  }

  .featureCard,
  .galleryTile {
    width: 78vw;
    max-width: 100%;
    scroll-snap-align: start;
    flex: 0 0 auto;
  }
}

@media (min-width: 48rem) {
  .splitPair { grid-template-columns: 1.4fr 1fr; gap: 3rem; align-items: center; }
  .cardDeck { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 64rem) {
  .cardDeck { grid-template-columns: repeat(4, 1fr); }
}
