/* Keep the portfolio self-contained, including with the pre-migration CSS cached. */
.gallery-section { overflow: hidden; }
.gallery-section > .container { max-width: 1440px; padding-inline: 0; }
.gallery-section .sec-head { padding-inline: 24px; margin-bottom: 32px; }
.work-track {
  --slide-width: 232px;
  --slide-gap: 16px;
  display: flex;
  flex-flow: row nowrap;
  gap: var(--slide-gap);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: none;
  overflow-anchor: none;
  scrollbar-width: none;
  padding-block: 4px;
}
.work-track::before, .work-track::after {
  content: none;
}
.work-track::-webkit-scrollbar { display: none; }
.work-slide { flex: 0 0 var(--slide-width); width: var(--slide-width); min-width: 0; margin: 0; scroll-snap-align: none; }
.work-image {
  display: block;
  width: 100%;
  height: 264px;
  padding: 0;
  border: 0;
  border-radius: 14px;
  overflow: hidden;
  background: transparent;
  cursor: zoom-in;
}
.work-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.work-slide figcaption { margin-top: 12px; text-align: center; font-size: 13px; line-height: 1.5; color: #536077; }
.work-image:focus-visible, .work-track:focus-visible { outline: 2px solid #007db6; outline-offset: -3px; }
@media (max-width: 600px) {
  .work-track { --slide-width: min(64vw, 216px); --slide-gap: 12px; }
  .work-image { height: 240px; }
}
@media (prefers-reduced-motion: reduce) {
  .work-track { scroll-behavior: auto; }
}
