.hero-image .gallery-open{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:#15263d;overflow:hidden;cursor:zoom-in}.hero-image .gallery-open img{inset:0;object-position:center}.hero-image .gallery-caption{bottom:74px;left:20px;right:20px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:11px;pointer-events:none}.gallery-controls{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:center;gap:9px}.gallery-controls button{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:#d6d1ccaa;font-size:0;transition:transform .35s ease,background .35s ease}.gallery-controls button[data-pause]{width:34px;border-radius:8px;background:#c5a059}.gallery-controls button:hover{transform:scale(1.3);background:#fff}.gallery-controls button[data-pause]:hover{transform:scale(1.08)}.gallery-full-controls button,.gallery-close{color:white;background:#0a192fed;border:1px solid #8590a1;padding:9px 15px;font-size:14px;transition:background .3s ease,transform .3s ease}.gallery-full-controls button:hover{background:#31415a;transform:translateY(-2px)}.gallery-expanded{overflow:hidden}.gallery-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:56px 5vw 20px;background:#081322;color:white;overflow:auto}.gallery-dialog::backdrop{background:#081322}.gallery-close{position:absolute;right:24px;top:14px;z-index:2}.gallery-full-image{height:calc(100dvh - 225px);min-height:240px;display:flex;align-items:center;justify-content:center}.gallery-full-image img{width:100%;height:100%;object-fit:contain}.gallery-full-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:20px}.gallery-full-footer p{font-size:14px;margin:4px 0}.gallery-title{font-size:18px!important}.gallery-credit{color:#d7bb83;text-decoration:underline}.gallery-full-controls{display:flex;gap:10px;flex-shrink:0}@media(max-width:700px){.hero-image{height:430px}.hero-image .gallery-caption{font-size:10px}.gallery-full-footer{display:block}.gallery-full-controls{margin-top:16px}.gallery-full-image{height:60dvh}.gallery-dialog{padding:60px 20px 20px}}@media(prefers-reduced-motion:reduce){.gallery-controls button,.gallery-full-controls button{transition:none}}
/* The active slide uses the elongated indicator from the approved visual reference. */
.gallery-controls button.active{width:34px;border-radius:8px;background:#c5a059}.gallery-controls button.active:hover{transform:scale(1.08)}
