/* Shared river-trail photographs preserve each complete frame and its HDR data. */
.river-trail-section { scroll-margin-top:90px; }
.river-trail-comparison { color:#e7e7e7; width:100%; max-width:1440px; margin:40px auto 64px; scroll-margin-top:90px; }
.comparison-intro { max-width:68ch; margin:0 auto 28px; padding-inline:20px; }
.comparison-intro h3 { font-family:Jost,Arial,sans-serif; font-size:clamp(28px,3vw,42px); line-height:1.12; margin-bottom:18px; }
.river-trail-comparison-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.river-trail-comparison-grid figure { min-width:0; margin:0; text-align:center; }
.river-trail-comparison-grid img { display:block; width:100%; max-width:calc(68svh * var(--photo-ratio)); height:auto; aspect-ratio:var(--photo-ratio); margin:0 auto; cursor:zoom-in; }
.river-trail-comparison-grid figcaption { padding:16px 12px 0; font-size:16px; line-height:1.5; }
.comparison-photo-note { display:block; margin-top:5px; font-size:13px; color:#bcbcbc; }
.comparison-note { color:#bcbcbc; text-align:center; font-size:14px; padding-inline:20px; margin:24px 0 0; }
.river-trail-section img, .river-trail-story .portable-lightbox img { dynamic-range-limit:no-limit; }
.river-trail-story .river-trail-section { padding-block:72px; }
.river-trail-story .river-trail-section > h2 { font-size:clamp(42px,5vw,72px); line-height:1.05; margin-bottom:32px; }
.river-trail-overview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
.river-trail-story .river-trail-overview-grid figure { width:100%; min-width:0; margin:0; }
.river-trail-story .river-trail-overview-grid img { width:100%; max-width:calc(68svh * 3024 / 4032); height:auto; aspect-ratio:3024 / 4032; margin:0 auto; cursor:zoom-in; }
.river-trail-story .module-caption-container { margin:24px auto 0; max-width:65ch; }
.river-trail-story .module-caption-container h3 { font-size:30px; line-height:1.12; margin-bottom:18px; }
.river-trail-story .module-caption-container p, .river-trail-story .comparison-intro p { font-size:16px; line-height:1.75; }
.river-trail-story .hdr-photo-note { color:var(--muted); font-size:14px; }
.river-trail-story .comparison-intro { padding-inline:0; }
.river-trail-story .portable-lightbox { border:0; padding:0; width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; background:rgba(255,255,255,.96); color:#222; }
.river-trail-story .portable-lightbox::backdrop { background:rgba(255,255,255,.94); }
.river-trail-story .portable-lightbox .lightbox-stage { height:100%; display:flex; align-items:center; justify-content:center; padding:60px; box-sizing:border-box; }
.river-trail-story .portable-lightbox img { max-height:calc(100dvh - 120px); max-width:100%; object-fit:contain; }
.river-trail-story .portable-lightbox button { position:absolute; border:0; background:rgba(0,0,0,.1); border-radius:50%; width:44px; height:44px; font:28px/1 sans-serif; cursor:pointer; color:#333; }
.river-trail-story .portable-lightbox .close { right:20px; top:20px; }
.river-trail-story .portable-lightbox .previous { left:12px; top:calc(50% - 22px); }
.river-trail-story .portable-lightbox .next { right:12px; top:calc(50% - 22px); }
.river-trail-story .portable-lightbox .count { position:absolute; bottom:16px; left:0; width:100%; text-align:center; font:16px Arial,sans-serif; }
@media(max-width:600px) {
 .river-trail-comparison-grid { gap:12px; }
 .river-trail-comparison-grid figcaption { padding:12px 6px 0; font-size:14px; }
 .comparison-photo-note { font-size:11px; }
 .river-trail-overview-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
 .river-trail-story .river-trail-section { padding-block:45px; }
 .river-trail-story .portable-lightbox .lightbox-stage { padding:60px 10px; }
}
@media print { .river-trail-section { break-before:page; } .river-trail-comparison-grid { break-inside:avoid; } .river-trail-section img { max-height:none; } .comparison-photo-note,.comparison-note { color:#555; } }

.portfolio-project .standard-modules .river-trail-section > figure .project-copy h3 { margin:0 0 .65em; padding:0; color:#eee; font:600 var(--project-heading-size)/1.25 ftnk,"Helvetica Neue",Arial,sans-serif; letter-spacing:-.015em; text-align:left; text-wrap:balance; }
.river-trail-section img:focus-visible { outline:3px solid #ed9264; outline-offset:4px; }

.river-trail-video { width:100%; max-width:900px; margin:48px auto 64px; scroll-margin-top:90px; }
.river-trail-video video { display:block; width:100%; max-width:calc(68svh * 1080 / 1920); height:auto; aspect-ratio:1080 / 1920; margin:0 auto; background:#081016; dynamic-range-limit:no-limit; }
.river-trail-video .module-caption-container { max-width:68ch; margin:24px auto 0; padding-inline:20px; }

.river-trail-scene { width:100%; max-width:900px; margin:48px auto 64px; scroll-margin-top:90px; }
.river-trail-scene img { width:100%; max-width:calc(68svh * 3024 / 4032); height:auto; aspect-ratio:3024 / 4032; margin:0 auto; }
.river-trail-scene .module-caption-container { max-width:68ch; margin:24px auto 0; padding-inline:20px; }
