.gx-public .gallery-hero-section{min-height:0}
.gx-public .gallery-hero-container{padding:3.5rem 1rem 2.5rem}
.gx-public .gallery-main-title{font-size:clamp(2.2rem,4vw,3.5rem)}
.gx-public .gallery-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:660px;gap:0;margin-top:2rem;border:1px solid #ffffff30;border-radius:16px;overflow:hidden}
.gx-public .gallery-stat-card{background:#ffffff0c;border:0;border-radius:0;box-shadow:none;padding:1rem .5rem;border-right:1px solid #ffffff25}
.gx-public .gallery-stat-card:last-child{border:0}
.gx-public .gallery-stat-card strong{font:800 1.55rem Manrope,sans-serif;color:white}
.gx-public .gallery-stat-card span{color:#e0f6f1;font-size:.75rem}
.gx-public .gallery-container{max-width:1360px;padding:3rem 24px 4rem}
.gg-heading{text-align:center;margin:0 auto 1.5rem}
.gg-heading h2{font-size:clamp(1.5rem,2.8vw,2rem);margin:.5rem 0;font-weight:800;letter-spacing:-.04em}
.gg-heading p{color:#627b75;margin:0;font-size:.92rem}
.gx-public .gallery-filter-wrapper{position:static;box-shadow:none;background:transparent;border:0;padding:0;gap:.5rem;margin-bottom:2rem}
.gx-public .gallery-filter{background:white;border:1px solid #d7e6e1;color:#315f54;padding:.6rem 1.1rem;font-size:.83rem}
.gx-public .gallery-filter.active{background:#163f35;border-color:#163f35;color:white;box-shadow:0 4px 12px #163f3515}
.gx-public .gallery-program-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
.gx-public .gallery-program-card{flex:0 1 calc(50% - 12px);min-width:0;overflow:hidden;border:1px solid #dce9e4;border-radius:20px;background:white;box-shadow:0 8px 28px #174c3510;transition:transform .2s,box-shadow .2s}
.gx-public .gallery-program-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #174c3518}
.gx-public .gallery-program-cover{height:auto;aspect-ratio:16/9;overflow:hidden;background:#e6f1ec}
.gx-public .gallery-program-cover>img{height:100%;width:100%;object-fit:cover}
.gx-public .gallery-program-cover:after{display:none}
.gx-public .gallery-program-placeholder{height:100%;min-height:180px;background:radial-gradient(circle at 20% 20%,#b8e8db,#edf5f0);color:#267d6a}
.gx-public .gallery-program-overlay{position:static;padding:1.3rem 1.4rem .8rem;color:#183f35}
.gx-public .gallery-program-year{display:inline-block;background:#e8f4ee;color:#26735e;font-size:.71rem;letter-spacing:.08em;padding:.3rem .65rem;margin-bottom:.65rem}
.gx-public .gallery-program-overlay h2{color:#163f35;font:800 clamp(1.15rem,1.5vw,1.4rem)/1.35 Manrope,sans-serif;margin:0 0 .35rem;overflow-wrap:anywhere;letter-spacing:-.03em}
.gx-public .gallery-program-overlay p{color:#71817b;font-size:.78rem;margin:0}
.gx-public .gallery-album-list{padding:.3rem 1.4rem 1.4rem}
.gx-public .gallery-album-row{padding:1rem 0;gap:1rem;align-items:center}
.gx-public .gallery-album-row:last-child{padding-bottom:0}
.gx-public .gallery-album-row>div{min-width:0}
.gx-public .gallery-album-row strong{font-size:.88rem;overflow-wrap:anywhere}
.gx-public .gallery-album-row span{font-size:.72rem;line-height:1.7}
.gx-public .gallery-open-btn{flex-shrink:0;background:#edf7f1;color:#216c59;border:1px solid #d2e7dc;padding:.65rem .85rem;font-size:.75rem;white-space:nowrap}
.gx-public .gallery-open-btn:hover{background:#38b09d;color:#fff}
.gx-public .gallery-open-btn>span{display:inline;margin-left:.35rem}
.gx-public button:focus-visible{outline:3px solid #38b09d;outline-offset:4px}
.gallery-modal-header{background:#f3f8f5}
.gallery-modal-header h2{font-family:Manrope,sans-serif;overflow-wrap:anywhere;font-size:1.15rem}
.gallery-modal-close{flex-shrink:0}
.gallery-modal-body{min-height:0}
.gallery-masonry{columns:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gallery-masonry-item{margin:0;aspect-ratio:4/3;border-radius:12px;transition:transform .2s}
.gallery-masonry-item:hover{transform:scale(.97)}
.gallery-masonry-item>img,.gallery-video-thumb{height:100%;width:100%;object-fit:cover}
.gg-message{color:#667f75;font-size:.85rem;text-align:center}
.gg-position{position:absolute;top:1.8rem;left:1.5rem;color:white;font-size:.85rem}
.gallery-lightbox-content{max-height:calc(100dvh - 10rem)}
.gallery-lightbox-content img,.gallery-lightbox-content video{max-height:calc(100dvh - 10rem)}
.gallery-lightbox-nav:disabled{opacity:.25}
.gallery-lightbox button:focus-visible,.gallery-modal button:focus-visible{outline:3px solid #38b09d;outline-offset:3px}
@media(min-width:1600px){.gx-public .gallery-container{max-width:1480px}.gx-public .gallery-program-card{flex-basis:calc(33.333% - 16px)}}
@media(max-width:900px){.gx-public .gallery-program-card{flex-basis:100%;max-width:640px}.gallery-masonry{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:575px){.gx-public .gallery-container{padding:2rem 16px 3rem}.gx-public .gallery-hero-container{padding:2.5rem 1rem 2rem}.gx-public .gallery-stat-card{padding:.85rem .3rem}.gx-public .gallery-stat-card strong{font-size:1.25rem}.gx-public .gallery-stat-card span{font-size:.65rem}.gx-public .gallery-program-overlay{padding:1rem 1rem .7rem}.gx-public .gallery-album-list{padding:.2rem 1rem 1rem}.gx-public .gallery-album-row{align-items:stretch;gap:.65rem}.gallery-masonry{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-modal-panel{max-height:calc(100dvh - 1rem)}.gallery-lightbox-nav{display:flex;top:auto;bottom:1rem;transform:none;width:44px;height:44px}.gallery-lightbox-content{max-width:calc(100vw - 2rem)}}
@media(prefers-reduced-motion:reduce){.gx-public .gallery-program-card,.gallery-masonry-item{transition:none;transform:none!important}}
