/* Edge-to-edge square photo strip. Animation is progressively enhanced in JS. */
.ap-root .ap-gallery { background: #171717; color: #fdfdfc; padding: 36px 0 28px; }
.ap-gallery .ap-kicker { color: #ffd526; }
.ap-gallery .ap-gallery__head h2 { color: #fdfdfc; margin: 0; font-size: clamp(27px, 3vw, 38px); }
.ap-gallery .ap-gallery__head { display: flex; max-width: none; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 26px; }
.ap-gallery__controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ap-gallery .ap-gallery__head .ap-gallery__status { margin: 0 8px 0 0; font: 600 13px/1 "DM Sans", sans-serif; color: #d5d5d2; font-variant-numeric: tabular-nums; }
.ap-gallery__btn { width: 48px; min-height: 44px; border-radius: 9999px; border: 1px solid #fdfdfc; background: transparent; color: #fdfdfc; font: 600 18px/1 "DM Sans", sans-serif; cursor: pointer; display: inline-grid; place-items: center; }
.ap-gallery__btn[hidden] { display: none; }
.ap-gallery__pause { width: auto; min-width: 78px; padding: 0 16px; font-size: 13px; }
.ap-gallery__btn:hover:not(:disabled) { background: #ffd526; border-color: #ffd526; color: #171717; }
.ap-gallery__btn:disabled { opacity: .35; cursor: default; }
.ap-gallery__btn:focus-visible, .ap-gallery__track:focus-visible { outline: 3px solid #ffd526 !important; outline-offset: 3px; }
.ap-gallery .ap-gallery__track {
  --ap-tile-size: clamp(150px, 12vw, 200px);
  display: flex; gap: 6px; list-style: none; margin: 0; padding: 0;
  overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain;
  scroll-behavior: auto; overflow-anchor: none; scrollbar-width: none;
}
.ap-gallery__track::-webkit-scrollbar { display: none; }
.ap-gallery__slide { flex: 0 0 var(--ap-tile-size); width: var(--ap-tile-size); min-width: 0; margin: 0; }
.ap-gallery__frame { margin: 0; width: 100%; aspect-ratio: 1 / 1; background: #252525; overflow: hidden; }
.ap-gallery__frame img { display: block; width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 0; }
@media (max-width: 767px) {
  .ap-root .ap-gallery { padding: 28px 0 22px; }
  .ap-gallery .ap-gallery__head { gap: 16px; margin-bottom: 22px; }
}