/* Fan gallery: frameless photos, caption over the photo */
.gal-stage{position:relative;max-width:1000px;margin:8px auto 0;height:420px;perspective:1400px}
.gal-card{position:absolute;left:50%;top:18px;width:min(440px,64%);margin:0;padding:0;background:none;border:0;border-radius:12px;overflow:hidden;box-shadow:0 18px 40px rgba(12,39,54,.28);transform:translateX(-50%);opacity:0;cursor:pointer;
transition:transform .65s cubic-bezier(.2,.7,.2,1),opacity .5s,box-shadow .55s;will-change:transform}
.gal-card:first-child{opacity:1}
.gal-card.is-active{box-shadow:0 26px 54px rgba(12,39,54,.38);cursor:default}
.gal-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0;transition:filter .55s;user-select:none;-webkit-user-drag:none}
.gal-card:not(.is-active) img{filter:brightness(.86) saturate(.92)}
.gal-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 14px;text-align:center;color:#fff;font:600 17px/1.2 'Rubik',system-ui,sans-serif;background:linear-gradient(to top,rgba(8,30,44,.78),rgba(8,30,44,0))}
.gal-btn{position:absolute;top:44%;z-index:30;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--heat,#E4572E);background:#fff;color:#0C2736;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 20px rgba(12,39,54,.16);transition:background .2s,transform .2s,border-color .2s}
.gal-btn:hover{background:var(--sky,#74C2EC);border-color:var(--sky,#74C2EC);transform:scale(1.08)}
.gal-btn svg{width:20px;height:20px}
.gal-prev{left:2px}.gal-next{right:2px}
.gal-dots{display:flex;justify-content:center;margin-top:6px}
.gal-dot{position:relative;width:22px;height:22px;border:0;padding:0;background:none;cursor:pointer}
.gal-dot:before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;transform:translate(-50%,-50%);border-radius:5px;background:#BBD0DB;transition:width .3s,background .3s}
.gal-dot.on:before{width:28px;background:var(--cool,#1F7FA8)}
.gal-stage:focus-visible{outline:3px solid var(--heat,#E4572E);outline-offset:6px;border-radius:10px}
@media(max-width:640px){.gal-card{width:66%}.gal-card figcaption{font-size:14.5px;padding:28px 10px 10px}.gal-btn{width:42px;height:42px;top:40%}}
@media(prefers-reduced-motion:reduce){.gal-card,.gal-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0;transition:filter .55s;user-select:none;-webkit-user-drag:none}}
