/* Owner-supplied JIL photographs, with an uncropped full-image viewer. */
.gallery-section{padding-top:50px}
.gallery-section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:36px}
.gallery-section-heading h2{font-size:clamp(29px,3.3vw,44px);line-height:1.18}
.gallery-section-heading>p{max-width:295px;font-size:16px;color:var(--muted);margin:0 0 3px}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px}
.gallery-filters[hidden]{display:none}
.gallery-filter{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 16px;background:white;border:1px solid var(--line);color:var(--navy);font:600 14px/1.4 'Source Sans 3',Arial,sans-serif;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.gallery-filter-count{font-size:11px;font-weight:400;opacity:.7}
.gallery-filter:hover{border-color:var(--blue);color:var(--blue)}
.gallery-filter.is-active{background:var(--navy);border-color:var(--navy);color:white}
.gallery-filter:focus-visible,.gallery-photo-link:focus-visible,.gallery-viewer-close:focus-visible,.gallery-viewer-nav:focus-visible,.gallery-original-link:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.gallery-count{font-size:13px;white-space:nowrap;color:var(--muted);margin:0}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 26px}
.gallery-card{min-width:0;margin:0}
.gallery-card[hidden]{display:none}
.gallery-photo-link{display:block}
.gallery-photo-frame{position:relative;aspect-ratio:4/5;background:var(--pale);overflow:hidden}
.gallery-photo-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.gallery-photo-link:hover img{transform:scale(1.025)}
.gallery-photo-view{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:23px;background:var(--navy);color:white;padding:10px 14px;font-size:12px;font-weight:600}
.gallery-photo-view>span{font-size:18px}
.gallery-card-caption{padding:17px 0 0}
.gallery-photo-category{font-size:10px;line-height:1.6;color:var(--blue);text-transform:uppercase;letter-spacing:.11em}
.gallery-card-caption h3{font-size:16px;line-height:1.55;letter-spacing:-.02em;margin:7px 0 0;overflow-wrap:break-word}
.gallery-empty{font-size:16px;padding:45px 0;text-align:center;color:var(--muted)}
.gallery-empty[hidden]{display:none}
.gallery-dialog{border:0;padding:0;width:min(1180px,calc(100vw - 40px));max-width:none;height:calc(100vh - 40px);height:calc(100dvh - 40px);max-height:none;overflow:hidden;background:#112f43;color:white;border-radius:3px}
.gallery-dialog:not([open]){display:none}
.gallery-dialog::backdrop{background:rgba(5,21,31,.9)}
.gallery-viewer-shell{display:flex;flex-direction:column;min-height:0;height:100%}
.gallery-viewer-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 23px;flex-shrink:0;border-bottom:1px solid #ffffff22}
.gallery-viewer-kicker{color:#adc7d5;text-transform:uppercase;letter-spacing:.12em;font-size:9px;line-height:1.6;margin:0 0 4px}
.gallery-viewer-header h2{font-size:19px;line-height:1.3;letter-spacing:-.02em;color:white;margin:0}
.gallery-viewer-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;padding:9px;border:1px solid #66808f;background:transparent;color:white;cursor:pointer}
.gallery-viewer-close svg{width:24px;height:24px}
.gallery-viewer-close:hover,.gallery-viewer-nav:hover{background:#24485d;border-color:#a6c9dc}
.gallery-image-stage{position:relative;display:flex;justify-content:center;align-items:center;flex:1;min-height:0;min-width:0;overflow:hidden;padding:20px;background:#0a2232}
.gallery-image-stage .gallery-large-image{display:block;width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%;margin:0}
.gallery-image-stage .gallery-large-image[hidden]{display:none}
.gallery-image-message{font-size:15px;line-height:1.7;max-width:400px;margin:0;text-align:center;color:#d1e1e9;padding:20px}
.gallery-image-message[hidden]{display:none}
.gallery-viewer-footer{flex-shrink:0;padding:15px 23px 12px;border-top:1px solid #ffffff22}
.gallery-viewer-description{display:flex;align-items:start;justify-content:space-between;gap:25px;margin-bottom:14px}
.gallery-viewer-description>p{font-size:15px;line-height:1.6;max-width:730px;margin:0;color:white}
.gallery-original-link{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;border-bottom:1px solid #66808f;padding:3px 0;font-size:12px;line-height:1.6;color:#cae2ed}
.gallery-original-link:hover{color:white;border-color:white}
.gallery-viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}
.gallery-viewer-nav{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;min-width:125px;padding:9px 15px;border:1px solid #66808f;background:transparent;color:white;font:600 13px/1.4 'Source Sans 3',Arial,sans-serif;cursor:pointer}
.gallery-viewer-nav[disabled]{opacity:.4;cursor:default}
.gallery-position{font-size:13px;line-height:1.5;color:#d1e1e9;margin:0;white-space:nowrap}
.gallery-keyboard-help{color:#9fbccc;font-size:10px;line-height:1.5;text-align:center;margin:10px 0 0}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 23px}.gallery-toolbar{align-items:start}.gallery-count{padding-top:12px}}
@media(max-width:640px){.gallery-section{padding-top:35px}.gallery-section-heading{display:block;margin-bottom:26px}.gallery-section-heading>p{font-size:14px;margin-top:20px;max-width:100%}.gallery-toolbar{display:block;padding:16px 0;margin-bottom:27px}.gallery-filters{gap:8px}.gallery-filter{font-size:12px;padding:9px 12px;gap:8px}.gallery-count{font-size:12px;padding:0;margin-top:14px}.gallery-grid{grid-template-columns:1fr;gap:31px}.gallery-card-caption h3{font-size:17px}.gallery-photo-view{font-size:12px;padding:10px 15px}.gallery-dialog{width:calc(100vw - 16px);height:calc(100vh - 16px);height:calc(100dvh - 16px);border-radius:0}.gallery-viewer-header{padding:12px 14px;gap:12px}.gallery-viewer-kicker{font-size:8px;letter-spacing:.08em}.gallery-viewer-header h2{font-size:17px}.gallery-image-stage{padding:10px}.gallery-viewer-footer{padding:13px 14px 10px}.gallery-viewer-description{display:block;margin-bottom:13px}.gallery-viewer-description>p{font-size:13px;line-height:1.5}.gallery-original-link{font-size:11px;margin-top:8px}.gallery-viewer-nav{min-width:99px;gap:8px;padding:9px 12px;font-size:12px}.gallery-position{font-size:12px}.gallery-keyboard-help{display:none}}
@media(prefers-reduced-motion:reduce){.gallery-photo-frame img,.gallery-filter{transition:none}.gallery-photo-link:hover img{transform:none}}
