/* Reference lock: exactly collage A tile spans and compact rows. */
.mosaic{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:minmax(165px,auto) 225px auto;gap:12px}
.painting{grid-column:8/-1;grid-row:1/3;display:block;overflow:hidden;position:relative}
.painting img{position:absolute;top:0;left:0;display:block;width:100%;height:100%;min-height:0;flex:none;aspect-ratio:auto;object-fit:cover;object-position:50% 100%}
.train-story blockquote{grid-column:1/8;grid-row:1;padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.train-story blockquote p{font-size:22px;line-height:1.4;margin:0}
.train{grid-column:1/8;grid-row:2}.train img{height:100%;object-position:50% 26%}
.voice{grid-column:1/6;grid-row:3;min-height:136px;padding:20px;align-items:center;gap:12px}
.voice-player{width:100%;max-width:230px;padding:3px 8px 3px 4px;gap:6px}
.voice>p{font-size:13px}.time{font-size:10px}.waveform{min-width:24px}
.memory{grid-column:6/-1;grid-row:3;padding:20px;gap:16px}.memory p{font-size:18px;line-height:1.4}
.photo-options{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px}.photo-options a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.photo-options a[aria-current=true]{color:var(--ink);font-weight:600}
@media(max-width:1000px){.train-story blockquote p{font-size:20px}.train-story blockquote{padding:12px 18px}.memory{padding:14px 20px}.voice{padding:12px}.voice-player{gap:4px}.time{font-size:9px}}
@media(max-width:700px){.mosaic{grid-template-rows:auto 195px auto auto;gap:10px}.train-story blockquote{padding:10px 16px}.train-story blockquote p{font-size:19px}.painting img{height:100%;min-height:0}.voice{grid-column:1/-1;grid-row:3;min-height:120px;padding:18px}.voice-player{max-width:230px}.time{font-size:11px}.memory{grid-column:1/-1;grid-row:4;padding:14px 20px}.memory p{font-size:21px}}
