/* Midjourney community image wall: transform-only motion, local thumbnails. */
.cinematic-home .hero{background:#101110}
.hero-photo-art{inset:-17% -10%;overflow:visible;transition:transform .5s ease-out}
.photo-plane{width:100%;height:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;transform:rotate(-10deg) scale(1.03);transform-origin:center}
.photo-column{min-width:0;position:relative}
.photo-track{animation:photo-travel var(--duration) linear infinite;animation-delay:var(--delay);will-change:transform}
.photo-column:nth-child(even) .photo-track{animation-direction:reverse}
.photo-group{display:grid;gap:22px;padding-bottom:22px}
.photo-tile{aspect-ratio:4/5;overflow:hidden;border-radius:10px;border:1px solid #ffffff25;background:#222;box-shadow:0 15px 35px #0006;animation:photo-bob var(--bob) ease-in-out infinite alternate;animation-delay:var(--phase)}
.photo-column:nth-child(3n) .photo-tile{aspect-ratio:1/1}
.hero-photo-art .photo-tile img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.85)}
@keyframes photo-travel{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-50%,0)}}
@keyframes photo-bob{from{transform:translate3d(-3px,-4px,0) rotate(-.6deg)}to{transform:translate3d(3px,4px,0) rotate(.6deg)}}
.cinematic-home .hero::before{background:linear-gradient(90deg,#080b0bde 0%,#080b0bb8 27%,#080b0b78 48%,#080b0b1f 77%),linear-gradient(0deg,#0a0b0bef,transparent 27%,#0a0b0b40 100%)}
.cinematic-home .hero .gridlines{opacity:.06}
.cinematic-home .hero::after{opacity:.12}
.cinematic-home .hero h1{text-shadow:0 4px 35px #0006}
.photo-caption{pointer-events:auto;bottom:38px;color:#c5c8c1}
.photo-caption strong{font-size:11px;letter-spacing:.12em}
.photo-caption>span{font-size:8px;letter-spacing:.14em}
.photo-controls{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-top:10px}
.photo-toggle,.photo-sources summary{color:#e0e2d9;font:10px/1.6 var(--sans);letter-spacing:.07em;cursor:pointer;background:transparent;border:0;padding:5px 0;list-style:none}
.photo-sources summary::-webkit-details-marker{display:none}
.photo-toggle:hover,.photo-sources summary:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.photo-toggle:focus-visible,.photo-sources summary:focus-visible{outline:1px solid #fff;outline-offset:5px}
.photo-source-list{position:absolute;right:0;bottom:44px;width:min(350px,calc(100vw - 48px));max-height:min(490px,60vh);overflow:auto;overscroll-behavior:contain;text-align:left;padding:20px;background:#111b18f5;border:1px solid #ffffff30;border-radius:8px;box-shadow:0 20px 50px #0008;backdrop-filter:blur(16px);letter-spacing:0}
.photo-source-list p{font:12px/1.8 var(--sans);color:#abb3a9;margin-bottom:12px}
.photo-source-list a{display:block;padding:11px 0;border-top:1px solid #ffffff1c;font:12px/1.7 var(--sans);color:#eee}
.photo-source-list small{display:block;font:10px/1.5 var(--mono);color:#a2aea1;overflow-wrap:anywhere}
.photos-suspended .photo-track,.photos-suspended .photo-tile,.photos-user-paused .photo-track,.photos-user-paused .photo-tile{animation-play-state:paused}
@media(max-width:1000px){.hero-photo-art{inset:-15% -22%}.photo-plane{gap:16px;grid-template-columns:repeat(5,minmax(0,1fr))}.photo-column:nth-child(6){display:none}.photo-group{gap:16px;padding-bottom:16px}.photo-track{animation-duration:160s}.photo-tile{border-radius:7px}.photo-caption{right:30px}}
@media(max-width:700px){.hero-photo-art{inset:-10% auto auto 50%;width:780px;height:120%;margin-left:-390px;will-change:auto}.photo-plane{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;transform:rotate(-9deg)}.photo-column:nth-child(n+5){display:none}.photo-group{gap:14px;padding-bottom:14px}.photo-track{animation-duration:200s}.photo-tile{animation:none}.cinematic-home .hero::before{background:linear-gradient(90deg,#080b0bd9,#080b0b65),linear-gradient(0deg,#080b0bef,transparent 40%,#080b0b22)}.cinematic-home .hero .wrap{padding-bottom:150px}.photo-caption{right:24px;bottom:27px}.photo-caption strong{font-size:9px}.photo-caption>span{font-size:7px}.photo-controls{gap:16px;margin-top:6px}.photo-toggle,.photo-sources summary{font-size:10px}.scroll-cue{bottom:40px}.scroll-cue::before{height:20px}}
@media(prefers-reduced-motion:reduce){.photo-track,.photo-tile{animation:none!important}.photo-column:nth-child(even){transform:translateY(-160px)}.hero-photo-art{transition:none!important}.photo-toggle{display:none}}
@media(max-width:700px){.photo-source-list{position:fixed;right:24px;bottom:90px;max-height:min(490px,calc(100svh - 190px))}}
