/* Keep the photo frame stable as the photographs crossfade. */
.hero-photo{overflow:hidden;background:var(--navy)}
.gallery-slide{position:absolute;inset:0;opacity:0;transition:opacity .85s ease;pointer-events:none}
.gallery-slide.is-active{opacity:1}
.hero-photo .gallery-slide img{width:100%;height:100%;object-position:50% 40%}
.hero-photo .gallery-worship img{object-position:50% 20%}
.hero-photo .gallery-message img{object-position:62% 35%}
.gallery-footer{position:absolute;bottom:0;left:0;right:0;z-index:1;padding:5rem 1.3rem .8rem;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff}
.gallery-caption{font:italic clamp(1.2rem,2vw,1.6rem)/1.4 var(--serif);margin-bottom:.5rem}
.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:.35rem}
.gallery-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;border:0;background:transparent;color:#fff;padding:.5rem;cursor:pointer;border-radius:3px;font-size:1.25rem}
.gallery-controls button:hover{background:rgba(255,255,255,.16)}
.gallery-controls button:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.gallery-controls .gallery-toggle{font-size:.875rem;min-width:56px;justify-content:flex-start}
.gallery-dots,.gallery-arrows{display:flex;align-items:center}
.gallery-dots button{min-width:32px;padding:.5rem}
.gallery-dots span{display:block;width:7px;height:7px;border:1px solid #fff;border-radius:50%}
.gallery-dots [aria-current="true"] span{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.22)}
@media(max-width:360px){.gallery-footer{padding-inline:.75rem}.gallery-arrows button{min-width:36px}.gallery-dots button{min-width:28px}}
@media(prefers-reduced-motion:reduce){.gallery-slide{transition:none}}

.hero-photo .gallery-welcome img{object-position:43% 35%}
@media(max-width:420px){.gallery-controls{flex-wrap:wrap}.gallery-dots{order:3;width:100%;justify-content:center}.gallery-dots button{min-width:36px}}
