/* Quiet motion for square editorial photography; logo stays still. */
.zg-brand-photo{overflow:hidden;isolation:isolate}
.zg-brand-photo>img{transform-origin:50% 55%;animation:zg-photo-drift 18s ease-in-out infinite alternate;will-change:transform}
.zg-brand-photo:has(>img[src*="polka"]){--zg-light-time:23s;--zg-light-delay:-9s}
.zg-brand-photo:has(>img[src*="polka"])>img{animation-duration:23s;animation-delay:-7s;transform-origin:40% 55%}
.zg-brand-photo:has(>img[src*="krawedz"]){--zg-light-time:19s;--zg-light-delay:-5s}
.zg-brand-photo:has(>img[src*="krawedz"])>img{animation-duration:21s;animation-delay:-11s;transform-origin:65% 65%}
.zg-brand-photo::after{content:"";position:absolute;inset:-25%;pointer-events:none;z-index:1;background:linear-gradient(112deg,transparent 36%,rgba(255,255,255,.02) 43%,rgba(255,255,255,.16) 49%,rgba(255,255,255,.025) 55%,transparent 63%);mix-blend-mode:screen;opacity:0;transform:translateX(-65%);animation:zg-photo-reflection var(--zg-light-time,17s) ease-in-out var(--zg-light-delay,-2s) infinite}
.zg-brand-photo>span{z-index:2}
.zg-brand-photo:hover>img,.zg-brand-photo:hover::after{animation-play-state:paused}
@keyframes zg-photo-drift{from{transform:scale(1)}to{transform:scale(1.025)}}
@keyframes zg-photo-reflection{0%,18%{transform:translateX(-65%);opacity:0}30%{opacity:.65}58%{opacity:.45}72%,100%{transform:translateX(65%);opacity:0}}
@media(prefers-reduced-motion:reduce){.zg-brand-photo>img{animation:none;transform:none;will-change:auto}.zg-brand-photo::after{animation:none;display:none}}
