/* Looping photo carousel; native image links and scrolling remain the fallback. */
.pp-services-more-work { background: #77ac00; }
[data-gallery-ready="true"] .pp-services-work-track { scrollbar-width: none; overflow-anchor: none; scroll-snap-type: none; scroll-behavior: auto; }
[data-gallery-ready="true"] .pp-services-work-track::-webkit-scrollbar { display: none; }
.pp-work-photo-link { position: relative; display: block; border-radius: clamp(20px,2.3vw,44px); color: #0079bc; overflow: hidden; cursor: zoom-in; }
.pp-work-photo-link:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.pp-work-lightbox svg { display: block; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pp-work-lightbox-open { overflow: hidden; }
.pp-work-lightbox:not([open]) { display: none; }
.pp-work-lightbox { box-sizing: border-box; width: min(1400px,calc(100vw - 32px)); max-width: none; height: calc(100dvh - 32px); max-height: none; margin: auto; padding: 0; border: 0; border-radius: 0; background: transparent; color: #fff; overflow: hidden; overscroll-behavior: contain; }
.pp-work-lightbox::backdrop { background: rgba(0,0,0,.93); }
.pp-work-lightbox-top { position: absolute; inset: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; height: 48px; font-size: 16px; font-variant-numeric: tabular-nums; }
.pp-work-lightbox button { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; margin: 0; padding: 12px; border: 0; border-radius: 50%; background: #fff; color: #0079bc; cursor: pointer; }
.pp-work-lightbox button:hover { background: #f4f4f4; }
.pp-work-lightbox button:focus-visible { outline: 3px solid #88c500; outline-offset: 4px; }
.pp-work-lightbox-stage { position: absolute; inset: 64px 0 0; display: grid; grid-template-columns: 48px minmax(0,1fr) 48px; align-items: center; gap: 24px; }
.pp-services .pp-work-lightbox-stage img { display: block; width: 100%; height: 100%; min-height: 0; min-width: 0; object-fit: contain; border-radius: 0; }
@media(max-width:650px) {
  .pp-work-lightbox { width: calc(100vw - 24px); height: calc(100dvh - 24px); }
  .pp-work-lightbox-stage { inset: 60px 0 0; display: block; padding-bottom: 64px; }
  .pp-work-lightbox-stage button { position: absolute; bottom: 0; }
  .pp-work-lightbox-stage [data-lightbox-previous] { left: 0; }
  .pp-work-lightbox-stage [data-lightbox-next] { right: 0; }
}
