/* Photo stories: a compact photographic block beside useful editorial copy. */
.photo-story { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:clamp(32px,5vw,64px); padding:64px 8vw 80px; max-width:1440px; margin-inline:auto; background:#f4f1ec; }
.photo-story-gallery { min-width:0; width:100%; max-width:480px; justify-self:center; }
.photo-story-gallery-bike { display:grid; grid-template-columns:.92fr 1fr; grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; aspect-ratio:17/12; }
.photo-story-gallery-bike img { display:block; width:100%; height:100%; min-height:0; object-fit:cover; }
.photo-story-gallery-bike img:first-child { grid-row:span 2; }
.photo-story-gallery-mountain { display:grid; gap:12px; max-width:280px; }
.photo-story-gallery-mountain img { display:block; width:100%; height:auto; }
.photo-story-copy h2 { font:800 clamp(36px,3.5vw,54px)/1 'Barlow Condensed',sans-serif; letter-spacing:-.025em; margin:0 0 24px; }
.photo-story-copy .body-copy { max-width:48ch; margin:0 0 20px; }
.photo-story-copy .button { margin-top:8px; }
@media(max-width:750px) { .photo-story { grid-template-columns:minmax(0,1fr); padding:48px 7vw 56px; gap:32px; } .photo-story-gallery { max-width:420px; } .photo-story-gallery-mountain { max-width:260px; } .photo-story-copy h2 { font-size:40px; } }

.photo-story-mountain { grid-template-columns:minmax(0,320px) minmax(0,1fr); }
.photo-story-gallery-mountain { max-width:320px; justify-self:start; }
@media(max-width:750px) { .photo-story-mountain { grid-template-columns:minmax(0,1fr); } .photo-story-gallery-mountain { max-width:260px; justify-self:center; } }

.photo-story-gallery-single { display:grid; gap:12px; max-width:300px; justify-self:start; }
.photo-story-gallery-single img { display:block; width:100%; height:auto; filter:none; }
.photo-story-single { grid-template-columns:minmax(0,320px) minmax(0,1fr); }
@media(max-width:750px) { .photo-story-single { grid-template-columns:minmax(0,1fr); } .photo-story-gallery-single { justify-self:center; max-width:260px; } }
