/* Real memories: full-frame photographs and source-verified voices.
   All rules are confined to the existing mosaic. */
#mosaic.memory-editorial{display:block;width:100%;padding:30px 4vw clamp(100px,14vw,220px);margin:0;overflow:visible}
#mosaic .memory-passage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3.5vw 2.5vw;align-items:start;position:relative;aspect-ratio:auto;min-height:0;margin:0 0 clamp(90px,11vw,180px);padding:0;background:none;transform:none}
#mosaic .memory-photo{position:relative;margin:0;padding:0;min-width:0;line-height:0;background:none;overflow:visible;border:0}
#mosaic .memory-photo img{display:block;position:static;width:100%;height:auto;max-width:100%;object-fit:contain;transform:none;filter:none;opacity:1;border:0;border-radius:0}
#mosaic .memory-testimony{position:relative;min-width:0;max-width:none;margin:0;padding:0;border:0;background:none;text-align:left;color:var(--paper);font-family:var(--sans);font-size:clamp(16px,1.5vw,23px);font-weight:400;line-height:1.65;letter-spacing:-.025em}
#mosaic .memory-testimony p{margin:0}
#mosaic .memory-testimony footer{margin-top:24px;font-family:var(--sans);font-size:10px;line-height:1.7;font-weight:450;letter-spacing:.13em;text-transform:uppercase;color:#a5a5a1}
#mosaic .memory-featured p{font-family:var(--display);font-size:clamp(28px,3.3vw,52px);font-weight:400;line-height:1.22;letter-spacing:0;text-transform:uppercase}
#mosaic .memory-primary{grid-column:6/13;grid-row:1/3}
#mosaic .memory-companion{grid-column:1/4;grid-row:2/4;margin-top:5vw}
#mosaic .memory-quote-1{grid-column:1/5;grid-row:1;align-self:center}
#mosaic .memory-quote-2{grid-column:7/12;grid-row:3;align-self:center}
#mosaic .memory-passage-1 .memory-featured p{font-size:clamp(26px,2.6vw,42px)}
#mosaic .memory-passage-2 .memory-primary{grid-column:1/8;grid-row:1}
#mosaic .memory-passage-2 .memory-companion{grid-column:10/13;grid-row:1/3;margin-top:10vw}
#mosaic .memory-passage-2 .memory-quote-1{grid-column:2/7;grid-row:2}
#mosaic .memory-passage-3 .memory-companion{grid-column:2/5;margin-top:8vw}
#mosaic .memory-passage-3 .memory-quote-1{grid-column:1/5}
#mosaic .memory-passage-4 .memory-primary{grid-column:2/7;grid-row:1/3}
#mosaic .memory-passage-4 .memory-companion{grid-column:10/13;grid-row:2/4;margin-top:4vw}
#mosaic .memory-passage-4 .memory-quote-1{grid-column:8/13;grid-row:1;margin-top:4vw}
#mosaic .memory-passage-5 .memory-primary{grid-column:8/13}
#mosaic .memory-passage-5 .memory-companion{grid-column:2/5;grid-row:1/3;margin-top:0}
#mosaic .memory-passage-5 .memory-quote-1{grid-column:2/6;grid-row:3}
#mosaic .memory-passage-5 .memory-quote-2{grid-column:9/13;grid-row:3}
#mosaic .memory-passage-6 .memory-primary{grid-column:1/6;grid-row:1/3}
#mosaic .memory-passage-6 .memory-companion{grid-column:9/12;grid-row:2/4;margin-top:0}
#mosaic .memory-passage-6 .memory-quote-1{grid-column:8/13;grid-row:1;margin-top:5vw}
#mosaic .memory-passage-7 .memory-primary{grid-column:7/12}
#mosaic .memory-passage-7 .memory-companion{grid-column:1/4;margin-top:0}
#mosaic .memory-passage-8 .memory-primary{grid-column:2/7;grid-row:1/3}
#mosaic .memory-passage-8 .memory-companion{grid-column:10/13;grid-row:2/4;margin-top:3vw}
#mosaic .memory-passage-8 .memory-quote-1{grid-column:8/13;grid-row:1;margin-top:3vw}
#mosaic .memory-passage-9{margin-top:16vw}
#mosaic .memory-passage-9 .memory-primary{grid-column:2/6;grid-row:1/3}
#mosaic .memory-passage-9 .memory-companion{grid-column:9/12;grid-row:2/4;margin-top:8vw}
#mosaic .memory-passage-9 .memory-quote-1{grid-column:8/13;grid-row:1}
#mosaic .memory-passage-9 .memory-quote-2{grid-column:2/6;grid-row:3;margin-top:4vw}
#mosaic .memory-passage-10{margin-top:20vw;margin-bottom:0;row-gap:15vw}
#mosaic .memory-passage-10 .memory-primary{grid-column:9/12;grid-row:1}
#mosaic .memory-passage-10 .memory-companion{grid-column:3/7;grid-row:2;margin:0}
#mosaic .reveal{transition:opacity .8s ease,transform .8s ease}
.js-motion #mosaic .reveal{opacity:0;transform:translateY(10px)}
.js-motion #mosaic .reveal.visible{opacity:1;transform:none}
#mosaic .memory-testimony.reveal{transition-delay:.12s}
@media(max-width:767px){
 #mosaic.memory-editorial{padding:0 5vw 100px}
 #mosaic .memory-passage{display:flex;flex-direction:column;gap:0;margin:0 0 74px;min-height:0}
 #mosaic .memory-passage .memory-photo,#mosaic .memory-passage .memory-testimony{grid-area:auto;margin:0;align-self:auto}
 #mosaic .memory-passage .memory-primary{order:1;width:94%;align-self:flex-end}
 #mosaic .memory-passage .memory-companion{order:3;width:62%;align-self:flex-start;margin-top:48px}
 #mosaic .memory-passage .memory-quote-1{order:2;width:88%;align-self:flex-start;margin:36px 0 0}
 #mosaic .memory-passage .memory-quote-2{order:4;width:80%;align-self:flex-end;margin-top:38px}
 #mosaic .memory-testimony{font-size:16px;line-height:1.65;letter-spacing:-.025em}
 #mosaic .memory-testimony footer{font-size:9px;margin-top:18px}
 #mosaic .memory-featured p,#mosaic .memory-passage-1 .memory-featured p{font-size:clamp(25px,7.3vw,38px);line-height:1.25}
 #mosaic .memory-passage-2 .memory-primary,#mosaic .memory-passage-3 .memory-primary{width:100%}
 #mosaic .memory-passage-2 .memory-companion{width:54%;align-self:flex-end}
 #mosaic .memory-passage-4 .memory-primary,#mosaic .memory-passage-6 .memory-primary,#mosaic .memory-passage-8 .memory-primary{width:87%;align-self:flex-start}
 #mosaic .memory-passage-4 .memory-companion,#mosaic .memory-passage-6 .memory-companion,#mosaic .memory-passage-8 .memory-companion{align-self:flex-end}
 #mosaic .memory-passage-5 .memory-primary{width:82%}
 #mosaic .memory-passage-5 .memory-companion{width:66%}
 #mosaic .memory-passage-7 .memory-primary{width:91%}
 #mosaic .memory-passage-9{margin-top:95px;margin-bottom:110px}
 #mosaic .memory-passage-9 .memory-primary{width:78%;align-self:flex-start}
 #mosaic .memory-passage-9 .memory-companion{width:60%;align-self:flex-end}
 #mosaic .memory-passage-10{margin:0;gap:100px}
 #mosaic .memory-passage-10 .memory-primary{width:55%;align-self:flex-end}
 #mosaic .memory-passage-10 .memory-companion{width:70%;margin:0;align-self:flex-start}
}
@media(prefers-reduced-motion:reduce){#mosaic .reveal{opacity:1!important;transform:none!important;transition:none!important}}
html:not(.js-motion) #mosaic .reveal{opacity:1;transform:none;transition:none}

/* Refinement: enlarge full photo boxes, retain their natural image ratios. */
@media(min-width:768px){
 #mosaic .memory-passage .memory-photo{width:112%;max-width:none}
 #mosaic .memory-primary{justify-self:end}
 #mosaic .memory-companion{justify-self:start}
 #mosaic .memory-passage-2 .memory-primary,
 #mosaic .memory-passage-4 .memory-primary,
 #mosaic .memory-passage-6 .memory-primary,
 #mosaic .memory-passage-8 .memory-primary,
 #mosaic .memory-passage-9 .memory-primary{justify-self:start}
 #mosaic .memory-passage-2 .memory-companion,
 #mosaic .memory-passage-4 .memory-companion,
 #mosaic .memory-passage-8 .memory-companion{justify-self:end}
 #mosaic .memory-passage-9{margin-bottom:6vw}
 #mosaic .memory-passage-10{margin-top:6vw;row-gap:3.5vw;align-items:start}
 #mosaic .memory-passage-10 .memory-primary{grid-column:8/12;grid-row:1/3;width:100%;justify-self:end;margin:0}
 #mosaic .memory-passage-10 .memory-companion{grid-column:2/6;grid-row:1;width:112%;margin:0}
 #mosaic .memory-closing-quote{grid-column:2/7;grid-row:2;align-self:start;max-width:460px}
 #mosaic.memory-editorial{padding-bottom:clamp(64px,6vw,96px)}
}
@media(max-width:767px){
 #mosaic .memory-passage .memory-primary{width:100%}
 #mosaic .memory-passage .memory-companion{width:69.44%}
 #mosaic .memory-passage-2 .memory-companion{width:60.48%}
 #mosaic .memory-passage-4 .memory-primary,
 #mosaic .memory-passage-6 .memory-primary,
 #mosaic .memory-passage-8 .memory-primary{width:97.44%}
 #mosaic .memory-passage-5 .memory-primary{width:91.84%}
 #mosaic .memory-passage-5 .memory-companion{width:73.92%}
 #mosaic .memory-passage-9 .memory-primary{width:87.36%}
 #mosaic .memory-passage-9 .memory-companion{width:67.2%}
 #mosaic .memory-passage-9{margin-bottom:64px}
 #mosaic .memory-passage-10{gap:0}
 #mosaic .memory-passage-10 .memory-companion{order:1;width:78.4%;margin:0;align-self:flex-start}
 #mosaic .memory-passage-10 .memory-primary{order:2;width:74.25%;margin-top:48px;align-self:flex-end}
 #mosaic .memory-passage-10 .memory-closing-quote{order:3;width:88%;margin:32px 0 0;align-self:flex-start}
 #mosaic.memory-editorial{padding-bottom:56px}
}
/* Keep the closing words intact, remove the inherited full-screen spacer. */
.lights>#mosaic.memory-editorial+.feeling{min-height:0;padding-top:clamp(40px,6svh,72px)}

/* One final full-frame portrait: closes the sequence without moving existing pieces. */
#mosaic .memory-finale{width:48%;max-width:720px;margin:clamp(56px,7vw,100px) auto 0 0;z-index:0}
@media(max-width:767px){
 #mosaic .memory-finale{width:92%;max-width:none;margin:44px auto 0 0}
}
