/* Regency College thumbnail gallery and full-size lightbox */
.rgg-gallery-wrap{margin:24px auto;width:100%;max-width:1400px;box-sizing:border-box}
.rgg-gallery-title{margin:0 0 18px;font-size:clamp(1.35rem,2.2vw,1.9rem);line-height:1.25}
.rgg-gallery{display:grid!important;grid-template-columns:repeat(var(--rgg-columns,5),minmax(0,1fr));gap:12px;align-items:stretch}
.rgg-gallery .rgg-item{display:block;position:relative;overflow:hidden;border-radius:7px;background:#f2f2f2;height:clamp(110px,13vw,175px);min-width:0;aspect-ratio:auto;color:inherit;text-decoration:none;box-shadow:0 1px 5px rgba(0,0,0,.10);box-sizing:border-box;cursor:zoom-in}
.rgg-gallery .rgg-item img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;margin:0!important;padding:0!important;border:0!important;transition:transform .22s ease}
.rgg-gallery .rgg-item:hover img,.rgg-gallery .rgg-item:focus-visible img{transform:scale(1.04)}
.rgg-gallery .rgg-caption{position:absolute;left:0;right:0;bottom:0;padding:22px 9px 8px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75));font-size:12px;line-height:1.35;opacity:0;transition:opacity .2s;overflow-wrap:anywhere}
.rgg-gallery .rgg-item:hover .rgg-caption,.rgg-gallery .rgg-item:focus-visible .rgg-caption{opacity:1}
.rgg-message{padding:12px 16px;border-left:3px solid #9b1c31;background:#f8f8f8}
.rgg-lightbox{display:none;position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.94);align-items:center;justify-content:center;padding:58px 72px 78px;box-sizing:border-box}
.rgg-lightbox.is-open{display:flex}
.rgg-lightbox .rgg-lightbox-image{display:block;max-width:100%!important;max-height:calc(100vh - 145px)!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:0 auto!important;box-shadow:0 2px 24px rgba(0,0,0,.25)}
.rgg-lightbox button{position:absolute;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid rgba(255,255,255,.25);background:rgba(35,35,35,.72);color:#fff;cursor:pointer;font-size:34px;line-height:1;border-radius:50%;padding:5px 10px;z-index:2;transition:background .15s ease}
.rgg-lightbox button:hover,.rgg-lightbox button:focus-visible{background:rgba(90,90,90,.95);outline:2px solid #fff;outline-offset:2px}
.rgg-lightbox .rgg-close{top:14px;right:16px;font-size:30px}
.rgg-lightbox .rgg-prev{left:16px;top:50%;transform:translateY(-50%)}
.rgg-lightbox .rgg-next{right:16px;top:50%;transform:translateY(-50%)}
.rgg-lightbox-caption{position:absolute;bottom:31px;left:80px;right:80px;text-align:center;color:#fff;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.rgg-lightbox-counter{position:absolute;bottom:9px;left:0;right:0;text-align:center;color:rgba(255,255,255,.75);font-size:12px}
@media(max-width:1100px){.rgg-gallery{grid-template-columns:repeat(min(var(--rgg-columns,5),4),minmax(0,1fr));gap:10px}.rgg-gallery .rgg-item{height:clamp(115px,17vw,165px)}.rgg-gallery .rgg-caption{opacity:1}}
@media(max-width:700px){.rgg-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rgg-gallery .rgg-item{height:130px}.rgg-lightbox{padding:54px 44px 70px}.rgg-lightbox .rgg-lightbox-image{max-height:calc(100vh - 150px)!important}.rgg-lightbox .rgg-prev{left:3px}.rgg-lightbox .rgg-next{right:3px}.rgg-lightbox-caption{left:45px;right:45px;bottom:29px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.rgg-gallery .rgg-item img{transition:none}.rgg-lightbox button{transition:none}}

/* Progressive reveal control */
.rgg-gallery .rgg-item[hidden]{display:none!important}
.rgg-load-more-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin:22px auto 8px;text-align:center}
.rgg-load-more{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 24px;border:0;border-radius:5px;background:#8b1e2d;color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:background .15s ease}
.rgg-load-more:hover,.rgg-load-more:focus-visible{background:#681523;color:#fff;outline:2px solid currentColor;outline-offset:3px}
.rgg-load-more[hidden]{display:none!important}
.rgg-load-more-count{font-size:12px;opacity:.7}
@media(prefers-reduced-motion:reduce){.rgg-load-more{transition:none}}
