/* Shared gallery cover and photograph motion. */
.expanded-highlight{margin:0 0 55px}.expanded-highlight img{display:block;width:100%;height:auto;max-height:85vh;object-fit:contain}.expanded-highlight figcaption{font:italic 20px Georgia,serif;color:var(--accent);margin-top:20px}
.event-grid .event-photo,.expanded-photos .event-photo{overflow:hidden;position:relative}
.event-grid .event-photo img,.expanded-photos .event-photo img{transform:translate3d(0,0,0) scale(1);transition:transform .65s cubic-bezier(.2,.65,.25,1);transform-origin:center}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.event-grid .event-photo:hover img,.expanded-photos .event-photo:hover img{transform:translate3d(var(--photo-x,0px),var(--photo-y,0px),0) scale(1.10)}
}
@media(prefers-reduced-motion:no-preference){.event-grid .event-photo:focus-visible img,.expanded-photos .event-photo:focus-visible img{transform:scale(1.10)}}
@media(prefers-reduced-motion:reduce){.event-grid .event-photo img,.expanded-photos .event-photo img{transition:none;transform:none!important}}
@media(max-width:600px){.expanded-highlight{margin-bottom:35px}.expanded-highlight figcaption{font-size:17px}}

/* Small logo watermark on gallery covers, thumbnails, and enlarged photographs. */
:where(.cover,.gallery-cover,.event-hero,.portfolio-cover,.event-photo,.watermark-frame){position:relative}
:where(.cover,.gallery-cover,.event-hero,.portfolio-cover,.event-photo,.watermark-frame)::before{content:"";position:absolute;z-index:8;top:9px;right:9px;width:clamp(44px,5vw,68px);height:clamp(32px,3.65vw,50px);background-image:url('/assets/logo.png');background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.7;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));pointer-events:none}
.cover::before,.gallery-cover::before,.event-hero::before,.portfolio-cover::before{top:12px;right:12px}
.stage .watermark-frame{display:flex;align-items:center;justify-content:center;position:relative;max-width:calc(100% - 110px);height:74dvh;min-height:80px}
.stage .watermark-frame>img{display:block;max-width:100%;height:100%;object-fit:contain}
.viewer .watermark-frame{display:flex;align-items:center;justify-content:center;position:relative;max-width:calc(88vw - 100px);max-height:76vh;min-height:80px}
.viewer .watermark-frame>img{display:block;max-width:100%;max-height:76vh;object-fit:contain}
.watermark-frame::before{z-index:10;top:10px;right:10px}
@media(max-width:600px){:where(.cover,.gallery-cover,.event-hero,.portfolio-cover,.event-photo,.watermark-frame)::before{top:6px;right:6px;width:46px;height:34px}.stage .watermark-frame{max-width:calc(100% - 90px);height:74dvh}.viewer .watermark-frame{max-width:calc(96vw - 100px)}}
