.gallery__grid { display: flex; flex-wrap: wrap; gap: 20px; }
.gallery__col { width: calc(50% - 10px); }
.marquee { height: 246px; overflow: hidden; }
.marquee__track { display: flex; flex-direction: column; }
.marquee__item { flex: 0 0 auto; padding: 10px 0; }
.marquee__img { position: relative; padding-top: calc(100% / var(--ratio, .75)); border-radius: var(--radius-section); }
.marquee__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.marquee--moving .marquee__track { animation: marquee-up var(--marquee-dur, 20s) linear infinite; }
.marquee--moving[data-marquee-y="down"] .marquee__track { animation-name: marquee-down; }
@keyframes marquee-up { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@keyframes marquee-down { from { transform: translateY(-50%); } to { transform: translateY(0); } }
.gallery__center { display: flex; flex: 1 1 auto; width: 100%; height: 290px; }
.gallery__feature { position: relative; width: 100%; height: 100%; border-radius: var(--radius-section); background: var(--s-bg); }
.gallery__feature img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.gallery__cta {
  position: absolute; left: 50%; bottom: 48px; transform: translateX(-50%); width: 100%; max-width: 80%; max-height: 40%; 
  overflow-y: auto; text-align: center;
}
.gallery__caption { margin: 0 0 22px; color: var(--white); }
.gallery__button { padding: 12px 30px; font: 400 12px/18px var(--font-heading); }
@media (min-width: 768px) {
  .gallery__grid { flex-wrap: nowrap; }
  .gallery__col { width: 16.5%; flex: 0 0 auto; }
  .marquee { height: 500px; }
  .gallery__center { width: auto; height: 500px; }
  .gallery__grid > .gallery__col:nth-child(-n+2) { order: 0; }
}
@media (min-width: 1400px) { .gallery__cta { max-width: 50%; } }
