/* Native scroll keeps the photo sequence usable with touch, mouse and keyboard. */
.journey-gallery{padding:2px 0 76px;--gallery-gap:24px;--gallery-card:calc((100% - 48px)/3)}
.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}
.gallery-heading .section-kicker{margin-bottom:10px}
.gallery-heading h2{font-size:clamp(27px,3vw,39px)}
.gallery-heading p{font-size:13px;color:var(--muted);margin-top:13px}
.gallery-controls{display:flex;align-items:center;gap:10px;flex-shrink:0;padding-bottom:4px}
.gallery-counter{font:13px Georgia,serif;letter-spacing:1.5px;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;min-width:92px;text-align:right;margin-right:15px}
.gallery-arrow{display:grid;place-items:center;width:48px;height:48px;background:transparent;border:1px solid #b9c4b2;border-radius:50%;color:var(--green);transition:background .2s,color .2s,transform .2s}
.gallery-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.gallery-arrow:hover:not(:disabled){background:var(--green);border-color:var(--green);color:var(--cream);transform:translateY(-2px)}
.gallery-arrow:active:not(:disabled){transform:scale(.95)}
.gallery-arrow:disabled{opacity:.3;cursor:default}
.gallery-track{display:flex;gap:var(--gallery-gap);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 1px 12px;cursor:grab;border-radius:5px;position:relative}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-track:focus-visible{outline:2px solid var(--rust);outline-offset:7px}
.gallery-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.gallery-track.is-dragging a{cursor:grabbing}
.gallery-card{flex:0 0 var(--gallery-card);min-width:0;scroll-snap-align:start;position:relative;background:var(--paper);border:1px solid #daddd2;border-radius:5px;overflow:hidden}
.gallery-card-link{display:block;text-decoration:none;touch-action:auto;-webkit-user-drag:none}
.gallery-card-link:focus-visible{outline:3px solid var(--rust);outline-offset:-4px;border-radius:4px}
.gallery-photo{position:relative;aspect-ratio:1.12;overflow:hidden;background:#dfe4d7}
.gallery-photo img{width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,50% 50%);display:block;transition:transform .6s cubic-bezier(.2,.7,.3,1);user-select:none;-webkit-user-drag:none}
.gallery-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#10291c24,transparent 35%,#0d291b18)}
.gallery-card-link:hover img{transform:scale(1.035)}
.gallery-photo-badge{position:absolute;z-index:1;top:17px;left:17px;color:#fbfaf4;background:#19382cbb;backdrop-filter:blur(5px);padding:5px 10px;font-size:9px;letter-spacing:1.3px;line-height:1.8;border:1px solid #ffffff2e;border-radius:2px}
.gallery-photo-context{position:absolute;right:12px;bottom:11px;z-index:1;font-size:8px;letter-spacing:.5px;padding:3px 6px;background:#f7f5eef0;color:#415342;border-radius:2px}
.gallery-card-body{padding:22px 23px 17px;min-height:139px}
.gallery-card-topline{display:flex;justify-content:space-between;align-items:center;color:var(--rust);font-size:9px;letter-spacing:1.2px;gap:10px;margin-bottom:9px}
.gallery-card-index{font:italic 16px Georgia,serif;color:#8c9c83}
.gallery-card h3{font-size:22px;line-height:1.5;margin-bottom:10px;overflow-wrap:anywhere}
.gallery-location{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;color:var(--muted);letter-spacing:.35px}
.gallery-location svg{width:18px;height:18px;flex:none;stroke:var(--rust);stroke-width:1.1;fill:none;transition:transform .2s}
.gallery-card-link:hover .gallery-location svg{transform:translate(2px,-2px)}
.gallery-credit{font-size:8px;color:#78816f;padding:0 23px 17px;line-height:1.6}
.gallery-credit a{text-decoration:none;display:inline-block;padding:3px 0}
.gallery-credit a:hover{text-decoration:underline}
.gallery-foot{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:15px;font-size:10px;color:var(--muted)}
.gallery-foot>span:first-child{letter-spacing:.5px;color:var(--rust)}
.gallery-foot>span:first-child>span{font-size:23px;vertical-align:middle;margin-left:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.gallery-photo{aspect-ratio:1.05}}
@media(max-width:1050px){.journey-gallery{--gallery-card:calc((100% - 24px)/2.25)}.gallery-card h3{font-size:21px}.gallery-heading{align-items:flex-end}.gallery-heading p{font-size:12px}.gallery-counter{min-width:78px;margin-right:5px}}
@media(max-width:760px){.journey-gallery{padding-bottom:45px;--gallery-gap:15px;--gallery-card:85%}.gallery-heading{display:block;margin-bottom:21px}.gallery-heading h2{font-size:27px}.gallery-heading p{font-size:11px;margin-top:10px}.gallery-controls{justify-content:flex-end;margin-top:20px;padding-bottom:0}.gallery-counter{font-size:12px;margin-right:auto;min-width:0;text-align:left}.gallery-arrow{width:44px;height:44px}.gallery-photo{aspect-ratio:.96}.gallery-card-body{padding:20px 20px 14px;min-height:140px}.gallery-card h3{font-size:23px}.gallery-card-topline{font-size:8px}.gallery-location{font-size:9px}.gallery-credit{padding:0 20px 15px;font-size:8px}.gallery-photo-badge{top:14px;left:14px;font-size:8px}.gallery-foot{display:block;font-size:9px;line-height:1.8;padding-top:10px}.gallery-foot>span{display:block}.gallery-foot>span+span{margin-top:4px}.gallery-track{margin-right:-8px;padding-right:8px}}
@media(prefers-reduced-motion:reduce){.journey-gallery *{scroll-behavior:auto!important;transition:none!important}.gallery-card-link:hover img{transform:none}}
@media print{.journey-gallery{display:none!important}}
