/* Muse measures the inner content height when switching breakpoints. */
#u476-bw { height: auto; }
#u476 { height: auto !important; background: none !important; }
.jgm-gallery { --visible-slides: 3; width: 100%; margin: 0; padding: 0; background: #fff; box-sizing: border-box; }
.jgm-gallery__viewport { overflow: hidden; touch-action: pan-y pinch-zoom; cursor: grab; }
.jgm-gallery__viewport.is-dragging { cursor: grabbing; }
.jgm-gallery__track { display: flex; width: 100%; transition: transform .45s ease; }
.jgm-gallery__track.is-instant { transition: none; }
.jgm-gallery__item { display: block; flex: 0 0 calc(100% / var(--visible-slides)); position: relative; overflow: hidden; aspect-ratio: 1; background: #002e44; cursor: zoom-in; user-select: none; -webkit-user-drag: none; }
.jgm-gallery__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: opacity .25s ease; pointer-events: none; }
.jgm-gallery__item:focus-visible { outline: 3px solid #1677db; outline-offset: -4px; }
.jgm-gallery__zoom { display: flex; align-items: center; justify-content: center; position: absolute; right: 16px; bottom: 16px; width: 40px; height: 40px; border: 1px solid rgb(255 255 255 / 85%); background: rgb(0 30 50 / 45%); color: #fff; border-radius: 50%; transition: background .25s ease; pointer-events: none; }
.jgm-gallery__item:focus-visible img { opacity: .65; }
@media (hover: hover) {
 .jgm-gallery__item:hover img { opacity: .65; }
 .jgm-gallery__item:hover .jgm-gallery__zoom { background: rgb(0 30 50 / 80%); }
}
.jgm-gallery__controls { display: flex; align-items: center; justify-content: center; gap: 2px; padding: 8px 12px; }
.jgm-gallery__dots { display: flex; }
.jgm-gallery__controls button { display: flex; align-items: center; justify-content: center; width: 36px; height: 44px; padding: 0; border: 0; background: transparent; color: #002e44; cursor: pointer; }
.jgm-gallery__dot::before { content: ""; width: 8px; height: 8px; background: #b6c5ce; border-radius: 50%; }
.jgm-gallery__dot[aria-current="true"]::before { background: #002e44; }
.jgm-gallery__controls button:focus-visible { outline: 2px solid #1677db; outline-offset: -3px; border-radius: 6px; }
.jgm-lightbox { border: 0; padding: 0; width: 100vw; max-width: none; height: 100dvh; max-height: none; background: rgba(0, 13, 25, .96); color: #fff; position: fixed; inset: 0; margin: 0; z-index: 10000; }
.jgm-lightbox::backdrop { background: rgba(0, 13, 25, .96); }
.jgm-lightbox[open] { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; }
.jgm-lightbox__image { display: block; max-width: calc(100vw - 140px); max-height: calc(100dvh - 140px); width: auto; height: auto; object-fit: contain; }
.jgm-lightbox__caption { padding: 0 65px; text-align: center; font: 16px/1.5 Arial, sans-serif; }
.jgm-lightbox button { position: absolute; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; width: 44px; height: 44px; background: #11354e; color: #fff; cursor: pointer; font: 28px/1 Arial, sans-serif; }
.jgm-lightbox button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.jgm-lightbox__close { top: 20px; right: 20px; }
.jgm-lightbox__prev { left: 16px; top: calc(50% - 22px); }
.jgm-lightbox__next { right: 16px; top: calc(50% - 22px); }
@media (max-width: 647px) {
 .jgm-gallery { --visible-slides: 2; }
 .jgm-lightbox__image { max-width: calc(100vw - 32px); max-height: calc(100dvh - 200px); }
 .jgm-lightbox__prev, .jgm-lightbox__next { top: auto !important; bottom: 20px; }
 .jgm-lightbox__caption { padding: 0 20px; }
}
@media (prefers-reduced-motion: reduce) {
 .jgm-gallery__track, .jgm-gallery__item img, .jgm-gallery__zoom { transition: none !important; }
}
/* Give the services a shared text rhythm and room before the photo carousel. */
#u476-bw { margin-top: 64px !important; }
@media (min-width: 961px) {
 #u8016-6, #u8023-6, #u8029-6 { min-height: 86px; box-sizing: border-box; }
 #u8016-10, #u8023-8, #u8029-8 { min-height: 144px; box-sizing: border-box; }
}
@media (max-width: 647px) { #u476-bw { margin-top: 48px !important; } }

/* Reuse the same carousel in the former photo-strip locations. */
.jgm-gallery-frame { height: auto !important; background: none !important; }
.jgm-gallery-wrap { height: auto; margin-top: 64px !important; margin-bottom: 48px !important; }
@media (max-width: 647px) { .jgm-gallery-wrap { margin-top: 48px !important; margin-bottom: 32px !important; } }

/* Account for the shared footer's own margin after galleries at the end of a page. */
.jgm-gallery-last #ppu157 { margin-top: 16px !important; }
.jgm-gallery-last .verticalspacer { height: 0 !important; min-height: 0 !important; }
