
.pr-photo-gallery { background:#fff; text-align:center; color:#193643; }
.pr-photo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; max-width:1140px; margin:auto; }
.pr-photo-card { margin:0; border:1px solid #d9e2e6; border-radius:14px; overflow:hidden; background:#f5f7f8; text-align:left; }
.pr-photo-open { position:relative; display:block; background:#00263b; overflow:hidden; }
.pr-photo-open img { display:block; width:100%; height:auto; aspect-ratio:512/910; object-fit:cover; transition:transform .2s; }
.pr-photo-open:hover img { transform:scale(1.025); }
.pr-photo-open:focus-visible { outline:4px solid #ff6b00; outline-offset:-4px; }
.pr-photo-zoom { position:absolute; bottom:14px; right:12px; background:#fff; color:#00263b; font-size:12px; font-weight:750; border-radius:24px; padding:10px 14px; box-shadow:0 3px 12px #0003; }
.pr-photo-card figcaption { padding:18px; font-size:17px; font-weight:750; line-height:1.4; }
.pr-gallery-hint { color:#526671; font-size:14px; }
.pr-photo-dialog { border:0; border-radius:16px; padding:20px; width:min(860px,calc(100% - 28px)); max-height:94dvh; background:#fff; color:#193643; box-shadow:0 20px 70px #0005; }
.pr-photo-dialog::backdrop { background:#001923df; }
.pr-photo-dialog-header,.pr-photo-dialog-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pr-photo-dialog-header h2 { margin:0; font-size:20px; }
.pr-photo-dialog-header { margin-bottom:16px; }
.pr-photo-dialog #pr-photo-large { display:block; width:100%; height:min(66dvh,700px); object-fit:contain; background:#edf2f4; }
.pr-photo-dialog button { min-height:44px; padding:10px 16px; border:1px solid #b8c9d1; border-radius:8px; background:#fff; color:#00263b; font:inherit; font-weight:700; cursor:pointer; }
.pr-photo-dialog button:hover { background:#fff0e3; border-color:#ff6b00; }
.pr-photo-dialog button:focus-visible { outline:3px solid #ff6b00; outline-offset:2px; }
.pr-photo-dialog-controls { margin-top:16px; }
#pr-photo-count { font-size:14px; margin:0; white-space:nowrap; }
@media(min-width:1051px) { .refresh .reference-header #main-nav { gap:18px; } }
@media(min-width:1051px) and (max-width:1250px) { .refresh .reference-header #main-nav { gap:12px; } }
@media(max-width:850px) { .pr-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media(max-width:480px) { .pr-photo-grid { grid-template-columns:1fr; max-width:340px; } .pr-photo-dialog { padding:14px; } .pr-photo-dialog-header h2 { font-size:17px; } .pr-photo-dialog button { padding:9px 10px; font-size:13px; } }
@media(prefers-reduced-motion:reduce) { .pr-photo-open img { transition:none; } }


/* Curated photo gallery: type filters, consistent cards, and a separate video drawer. */
.pr-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.pr-photo-open img { aspect-ratio:4/3; object-fit:cover; object-position:center 48%; }
.pr-photo-card figcaption { padding:20px 22px; }
.pr-photo-stage { display:block; color:#873800; font-size:11px; text-transform:uppercase; letter-spacing:.09em; margin-bottom:7px; }
.pr-photo-title { display:block; font-size:19px; line-height:1.35; }
.pr-photo-card[hidden] { display:none; }
.pr-gallery-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0 auto 16px; max-width:1000px; }
.pr-gallery-filters button { min-height:44px; padding:11px 18px; border:1px solid #cbd8df; border-radius:28px; background:#fff; color:#193643; font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
.pr-gallery-filters button[aria-pressed="true"] { background:#00263b; color:#fff; border-color:#00263b; }
.pr-gallery-filters button:hover { border-color:#f47721; }
.pr-gallery-filters button:focus-visible { outline:3px solid #f47721; outline-offset:3px; }
.pr-gallery-count { font-size:13px; color:#526671; margin:0 0 26px; }
.pr-gallery-videos { max-width:1140px; margin:38px auto 0; border:1px solid #d3e0e6; border-radius:16px; background:#f2f6f8; text-align:left; overflow:hidden; }
.pr-gallery-videos > summary { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:24px 28px; cursor:pointer; list-style:none; }
.pr-gallery-videos > summary::-webkit-details-marker { display:none; }
.pr-gallery-videos > summary strong { font-size:22px; display:block; line-height:1.35; }
.pr-gallery-videos > summary small { display:block; margin-top:7px; color:#526671; font-size:14px; }
.pr-gallery-videos > summary > span:last-child { font-size:32px; color:#873800; }
.pr-gallery-videos[open] > summary > span:last-child { transform:rotate(45deg); }
.pr-gallery-videos > summary:focus-visible { outline:3px solid #f47721; outline-offset:-4px; }
.pr-gallery-videos-body { padding:0 28px 28px; }
.pr-gallery-videos-body > p { font-size:15px; line-height:1.6; margin:0 0 24px; }
.pr-gallery-videos .pr-job-card video { max-height:330px; }
.pr-gallery-videos .pr-job-copy { padding:20px; }
.pr-gallery-videos .pr-job-copy h3 { font-size:18px; margin-bottom:0; }
.pr-gallery-bottom { margin:34px auto 0; }
.pr-gallery-bottom p { line-height:1.6; margin:0 0 20px; }
.pr-photo-dialog button:disabled { opacity:.4; cursor:default; }
@media(max-width:850px) { .pr-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media(max-width:600px) {
 .pr-photo-grid { grid-template-columns:1fr; max-width:420px; }
 .pr-gallery-filters { gap:8px; }
 .pr-gallery-filters button { font-size:12px; padding:10px 13px; }
 .pr-photo-card figcaption { padding:18px; }
 .pr-gallery-videos > summary { padding:20px; }
 .pr-gallery-videos > summary strong { font-size:19px; }
 .pr-gallery-videos-body { padding:0 16px 20px; }
 .pr-gallery-videos .pr-jobs-grid { grid-template-columns:1fr; max-width:340px; }
}
