[data-moments-gallery][hidden]{display:none!important}
.moments-window{overflow-x:auto;overflow-y:hidden;border-radius:22px;scrollbar-width:thin;width:100%;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.moments-track,.moments-group{display:flex;align-items:stretch;width:max-content}
.moments-group{gap:12px;padding-right:12px;min-height:340px}
.moments-column{display:grid;gap:12px;flex:none;height:340px;width:340px}
.moments-stacked{width:290px;grid-template-rows:1fr 1fr}
.moments-stacked:has(> :only-child){grid-template-rows:1fr}
.moments-photo{position:relative;display:block;overflow:hidden;border:0;padding:0;margin:0;border-radius:17px;background:#dceaf4;cursor:zoom-in;min-width:0;min-height:0;color:#fff}
.moments-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.moments-photo:hover img{transform:scale(1.025)}
.moments-caption{position:absolute;bottom:12px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);padding:5px 10px;border-radius:8px;background:#082d50d9;color:white;font-size:14px;text-align:left}
.moments-zoom{position:absolute;inset:0;display:grid;place-items:center;background:#062c5533;opacity:0;transition:opacity .2s}
.moments-zoom svg{width:48px;height:48px;padding:10px;background:#fff;border-radius:50%;stroke:#084f91;fill:none;stroke-width:2}
.moments-photo:hover .moments-zoom,.moments-photo:focus-visible .moments-zoom{opacity:1}
.moments-photo:focus-visible{outline:3px solid #ff9400;outline-offset:-4px}
[data-moving="true"] .moments-window{overflow:hidden}
[data-moving="true"] .moments-track{animation:moments-travel var(--moments-duration,40s) linear infinite;will-change:transform}
[data-focus-paused="true"] .moments-track,[data-viewer-open] .moments-track{animation-play-state:paused}
@media(hover:hover){[data-moving="true"]:hover .moments-track{animation-play-state:paused}}
@keyframes moments-travel{to{transform:translateX(-50%)}}
.moments-viewer{padding:0;border:0;background:transparent;width:min(1100px,94vw);max-width:94vw;max-height:94dvh;overflow:visible;color:#fff}
.moments-viewer::backdrop{background:#041426dc}
.moments-viewer-panel{position:relative;background:#082b4c;border-radius:18px;overflow:hidden;padding:12px}
.moments-viewer figure{margin:0}
.moments-viewer img{display:block;width:100%;height:75dvh;object-fit:contain}
.moments-viewer figcaption{padding:10px 46px 0 10px;text-align:center;white-space:pre-line;font-size:15px;max-height:10dvh;overflow:auto}
.moments-viewer-close{position:absolute;top:14px;right:14px;z-index:2;border:1px solid #ffffff88;border-radius:50%;width:44px;height:44px;background:#082b4cee;color:white;font-size:30px;cursor:pointer}
.moments-viewer-nav{display:flex;justify-content:center;align-items:center;gap:20px;padding-top:8px}
.moments-viewer-nav button{width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#084f91;font-size:30px;cursor:pointer}
.moments-viewer-nav button[hidden]{display:none}
@media(max-width:600px){.moments-group{min-height:280px;gap:8px;padding-right:8px}.moments-column{height:280px;width:74vw;max-width:340px;gap:8px}.moments-stacked{width:62vw;max-width:290px}.moments-photo{border-radius:13px}.moments-viewer img{height:65dvh}.moments-caption{font-size:12px}.moments-window{border-radius:16px}}
@media(prefers-reduced-motion:reduce){.moments-track{animation:none!important}.moments-photo img,.moments-zoom{transition:none}}

.moments-cycle{display:flex;align-items:stretch;flex:none;width:max-content}
.moments-photo{isolation:isolate}
.moments-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;transform:scale(var(--photo-zoom,1))}
.moments-photo:hover img{transform:scale(calc(var(--photo-zoom,1)*1.025))}
/* Keep gallery contents from becoming the minimum width of a detail grid track. */
[data-moments-gallery]{min-width:0}
.content-panel:has([data-moments-gallery]){min-width:0;max-width:100%;overflow:hidden}
.content-panel [data-moments-gallery]{width:100%;max-width:100%;overflow:hidden}
.moments-window{min-width:0;max-width:100%;contain:inline-size}

.detail-gallery-wide{grid-column:1/-1;min-width:0}
