/* Photos stay in the reading flow; their small drift never adds scroll distance. */
.place-story{width:100%}
.stack-spread{width:var(--place-content-width,min(calc(100% - 96px),1120px));margin:0 auto;padding:40px 0 12px}
.stack-spread>h2{display:flex;align-items:center;gap:22px;margin:0 0 24px;font:600 clamp(19px,2vw,25px)/1.2 var(--serif);letter-spacing:.14em;text-transform:uppercase;color:var(--ivory)}
.stack-spread>h2::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,#b7966f88,transparent)}
.story-beat{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,70px);align-items:center;margin:0 0 34px}
.story-beat:nth-of-type(even){grid-template-columns:1.1fr 1fr}
.story-beat:nth-of-type(even) .story-copy{order:2}
.photo-trail{display:flex;align-items:center;gap:12px;min-width:0;padding:10px 0}
.stack-card{flex:1;min-width:0;margin:0;padding:4px;border:1px solid #b7966f85;background:#101c21;box-shadow:0 8px 22px #0004;transform:translateY(var(--trail-drift,0px)) rotate(-1deg)}
.stack-card:nth-child(even){transform:translateY(calc(12px - var(--trail-drift,0px))) rotate(1deg)}
.stack-photo{display:block;width:100%;padding:0;border:0;background:none;color:inherit;cursor:zoom-in}
.stack-card img{display:block;width:100%;height:auto;max-height:350px;object-fit:contain;user-select:none}
.photo-trail[data-count="1"]{justify-content:center}
.photo-trail[data-count="1"] .stack-card[data-orientation="portrait"]{flex:0 1 240px}
.stack-card img[hidden]{display:none}
.stack-card:focus-within{outline:2px solid var(--ivory);outline-offset:4px}
.stack-failure{display:grid;place-items:center;min-height:140px;padding:12px;font:16px/1.3 var(--serif);text-align:center;color:var(--ivory)}
@media(max-width:760px){
.stack-spread{padding-top:28px}
.stack-spread>h2{font-size:18px;gap:14px;margin-bottom:18px}
.story-beat,.story-beat:nth-of-type(even){grid-template-columns:1fr;gap:14px;margin-bottom:28px}
.story-beat:nth-of-type(even) .story-copy{order:0}
.photo-trail{gap:9px;padding:3px 0 8px;justify-content:center}
.stack-card{flex:0 1 auto;max-width:100%;padding:3px}
.photo-trail[data-count="1"] .stack-card{width:100%}
.photo-trail[data-count="1"] .stack-card[data-orientation="portrait"]{flex:0 1 170px}
.photo-trail[data-count="2"] .stack-card{width:calc(50% - 5px)}
.photo-trail[data-count="3"] .stack-card{width:calc(33.333% - 6px)}
.stack-card img{max-height:240px}
}
@media(prefers-reduced-motion:reduce){.stack-card,.stack-card:nth-child(even){transform:none}}
