/* Scroll-snap photo stories; native scrolling also works without JavaScript. */
.travel-album{margin:52px 0 60px;scroll-margin-top:130px;min-width:0}
.travel-album-heading{padding:34px 32px;background:#f0f1e6;border:1px solid #d9dfcf;border-radius:22px}
.about-page .travel-album-heading h2{font-size:clamp(38px,4.4vw,55px);line-height:1.1;letter-spacing:-.045em;color:#244535;margin:17px 0 25px}
.travel-album-heading h2 em{font-family:Georgia,serif;font-weight:400}
.about-page .travel-album-heading p{margin:18px 0 0;max-width:720px}
.travel-slider{margin-top:22px;background:#193c31;color:#f5f7e9;border:1px solid #365d48;border-radius:22px;overflow:hidden;min-width:0;box-shadow:0 14px 30px #1d38250e}
.travel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#7f976b #193c31;min-width:0;max-width:100%;align-items:stretch}
.about-page .travel-slide{flex:0 0 100%;width:100%;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;scroll-snap-align:start;scroll-snap-stop:always}
.travel-image{display:block;position:relative;width:100%;height:clamp(240px,30vw,360px);background:#102d25;text-decoration:none;cursor:zoom-in}
.about-page .travel-image img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;margin:0;border:0;border-radius:0}
.travel-image>span{position:absolute;right:14px;bottom:14px;background:#fffef4ec;color:#2f4b35;border:1px solid #fff8;border-radius:7px;padding:6px 11px;font-size:14px;line-height:1.6}
.about-page .travel-slide figcaption{background:transparent;padding:26px 30px 28px;margin:0;text-align:left;line-height:1.5;color:#f0f7e6}
.travel-location{display:block;font-size:14px;color:#b8cfb1;margin-bottom:8px}
.travel-slide figcaption strong{display:block;font-size:26px;line-height:1.25;font-weight:550;letter-spacing:-.025em;color:#e0f1be}
.about-page .travel-comment{font-size:21px;line-height:1.75;color:#e2eade;margin:17px 0 0}
.travel-controls{display:flex;align-items:center;justify-content:center;gap:12px;border-top:1px solid #e6f6cd22;padding:15px 22px;flex-wrap:wrap}
.travel-controls[hidden]{display:none}
.travel-controls>button{font:inherit;font-size:24px;line-height:1;width:46px;height:46px;border:1px solid #a8c09266;background:#f3f8df10;border-radius:50%;color:#ecf5dc;cursor:pointer;flex:none}
.travel-controls>button:disabled{opacity:.3;cursor:default}
.travel-counter{font-size:16px;color:#bcd0b6;min-width:48px;text-align:center}
.travel-counter b{font-size:20px;color:#e2f0ce;font-weight:550}
.travel-controls button:focus-visible,.travel-image:focus-visible,.travel-track:focus-visible{outline:3px solid #e0bd7b;outline-offset:-4px}
.about-page .travel-album-ending{border-left:3px solid #91ab6c;padding:5px 0 5px 24px;margin:34px 0 0}
.travel-album-link{display:inline-block;font-size:19px;margin:0 0 15px;text-decoration:underline;text-underline-offset:5px;line-height:1.7;color:#365633}
.travel-viewer{width:min(1200px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:18px 20px 22px;border:1px solid #5d7055;border-radius:18px;background:#f6f8f0;color:#1e3f2b;overflow:auto;overscroll-behavior:contain}
.travel-viewer::backdrop{background:#07140eef}
.travel-viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 12px}
.travel-viewer-toolbar>span{font-size:16px;color:#637057}
.travel-viewer button{appearance:none;font:inherit;background:#25432f;color:#fff;border:0;padding:10px 15px;border-radius:9px;cursor:pointer;min-width:44px;min-height:44px;font-size:17px}
.travel-viewer button:focus-visible{outline:3px solid #90b657;outline-offset:3px}
.travel-viewer-stage{position:relative;display:flex;justify-content:center;align-items:center;background:#e5e9dd;border-radius:10px;overflow:hidden;min-height:100px}
.travel-viewer-stage img{display:block;max-width:100%;width:auto;height:auto;max-height:calc(100dvh - 215px);object-fit:contain}
.travel-viewer-stage button{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;line-height:1;padding:12px;background:#193d2ed9}
.travel-viewer-stage [data-travel-prev]{left:10px}
.travel-viewer-stage [data-travel-next]{right:10px}
.about-page .travel-viewer-caption h2{font-size:23px;line-height:1.3;color:#244535;letter-spacing:-.015em;margin:16px 0 5px}
.about-page .travel-viewer-caption p{font-size:16px;line-height:1.5;color:#66735a;margin:0}

@media(max-width:650px){.travel-album{scroll-margin-top:100px;margin:35px 0 45px}.travel-album-heading{padding:26px 23px}.travel-slider{border-radius:17px}.travel-image{height:240px}.about-page .travel-slide figcaption{padding:23px 22px}.travel-slide figcaption strong{font-size:24px}.about-page .travel-comment{font-size:20px;line-height:1.75}.travel-controls{gap:10px;padding:12px 17px}.travel-viewer{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:12px;border-radius:12px}.travel-viewer-stage img{max-height:calc(100dvh - 225px)}.travel-viewer-stage button{padding:9px;min-width:40px;min-height:44px}.travel-viewer-stage [data-travel-prev]{left:4px}.travel-viewer-stage [data-travel-next]{right:4px}.about-page .travel-viewer-caption h2{font-size:21px}.travel-album-ending{padding-left:18px}}
