/* Shared editorial roles. Photography and the route carry the experience. */
@font-face{font-family:Journey Serif;src:url('assets/fonts/journey-serif.ttf');font-weight:500;font-style:normal;font-display:swap}
:root{--paper:#f5f4ef;--ink:#232821;--muted:#5e685d;--line:#d6d9ce;--blue:#344bea;--serif:'Journey Serif','Songti SC',serif;--space:clamp(24px,4.2vw,72px);--ease:cubic-bezier(.22,1,.36,1);scroll-padding-top:92px;font-size:16px;scrollbar-color:#84907e var(--paper)}
::selection{background:#ccd3fc;color:#18224c}h1,h2,h3{text-wrap:balance;letter-spacing:-.03em}p{text-wrap:pretty}a,button{touch-action:manipulation}.arrow-icon{display:inline-flex;width:24px;height:24px;flex-shrink:0}.arrow-icon svg{width:100%;height:100%}.serif{font-weight:500}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.pill,.icon-button,.menu-button,.filter,.text-button{min-height:44px;transition:transform 160ms var(--ease),background-color 180ms,color 180ms}.pill:active,.icon-button:active,.menu-button:active,.filter:active,.text-button:active{transform:scale(.97)}
.site-header,.site-header.is-scrolled{height:76px;padding:0 var(--space);background:var(--paper);border-bottom:1px solid var(--line);backdrop-filter:none}.brand>span{font-size:20px;letter-spacing:.05em}.brand small{font-size:7px;letter-spacing:.12em}.brand svg{width:33px}.desktop-nav{font-size:14px;gap:32px}.desktop-nav a:after{transition:transform 180ms var(--ease);right:0;transform:scaleX(0);transform-origin:left}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.header-actions{gap:12px}.site-menu{top:85px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:none}.site-menu a{min-height:52px;font-size:18px}.icon-button{background:#e6e8df;min-width:44px}.menu-button{font-size:13px;white-space:nowrap}
/* One photographic opening, with an authored blue line that points onward. */
.hero-v3{padding:92px 16px 0;overflow:hidden}.hero-v3 .hero-cinema{position:relative;height:clamp(500px,calc(100svh - 170px),820px);border-radius:14px;overflow:hidden;margin:0;isolation:isolate;width:100%;background:#253e3b}.hero-v3 .hero-cinema:after{display:none}.hero-v3 .photo-media{position:absolute;inset:0}.hero-v3 .photo-media img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;transform:scale(1.04)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,30,29,.63),rgba(16,30,29,.16) 72%),linear-gradient(0deg,rgba(16,30,29,.57),transparent 40%);z-index:1;pointer-events:none}
.hero-composition{position:absolute;inset:0;z-index:3;padding:clamp(40px,5.3vw,80px);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding-bottom:92px;color:#fffef6}.hero-v3 h1{font-size:clamp(64px,7.2vw,108px);font-weight:500;line-height:1.17;letter-spacing:-.025em;color:#fffef6}.hero-v3 h1>span{font-family:var(--serif);font-weight:500;margin-left:.72em;display:inline-block}.hero-v3 .hero-introduction{display:flex;align-items:end;justify-content:space-between;gap:36px;width:100%;padding:0}.hero-v3 .hero-introduction>p{color:#fffef6;font-size:18px;line-height:1.8;margin:0}.hero-v3 .hero-cta{background:var(--paper);color:var(--ink);border:0;font-size:15px;padding:18px 24px;gap:34px;white-space:nowrap}.hero-v3 .hero-caption{position:absolute;left:clamp(40px,5.3vw,80px);right:clamp(40px,5.3vw,80px);bottom:26px;z-index:4;display:flex;align-items:center;justify-content:space-between;color:#fffef6;font-size:12px}.hero-caption>a{display:flex;gap:12px;align-items:center;min-height:44px}.hero-caption .arrow-icon{width:17px;height:17px}.journey-ribbon{position:absolute;inset:0;width:100%;height:100%;max-width:none;z-index:2;pointer-events:none}.journey-ribbon path{stroke:#6575ff;stroke-width:13;stroke-linecap:round;stroke-dasharray:1;animation:line-arrival 1500ms var(--ease) both}.hero-bottom{margin:0 calc(var(--space) - 16px);font-size:13px;padding:22px 0;letter-spacing:0}.hero-bottom>a{gap:18px}.hero-bottom>span:nth-child(2){color:var(--muted)}.hero-bottom i{padding:0 12px}.hero-bottom .arrow-icon{width:19px;height:19px}
@keyframes line-arrival{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
/* Image frames reserve their space before data arrives. */
.photo-media{display:block;width:100%;height:100%;background:#dde1d5;overflow:hidden}.photo-media img{width:100%;height:100%;object-fit:cover;transition:transform 500ms var(--ease)}.photo-media:not(.is-loaded):before{content:'';position:absolute;inset:0;background:#dce1d6;z-index:1;pointer-events:none}.photo-media.is-loaded{background:transparent}.image-fallback{min-height:240px;overflow:hidden}.image-fallback>span{font-size:13px;color:var(--ink);background:var(--paper);z-index:2}
.section{padding:100px var(--space)}.section-heading{align-items:end;gap:48px;margin-bottom:48px}.section-heading h2{font-size:clamp(36px,4.1vw,60px);line-height:1.3;letter-spacing:-.03em;margin:0}.section-heading>p{font-size:16px;line-height:1.85;max-width:28em;min-width:0;padding:0;color:var(--muted)}
/* Route controls remain direct, legible and immediate. */
.route-section{padding-bottom:100px}.route-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);gap:6%;align-items:start}.route-preview{position:sticky;top:108px;border:0;min-width:0}.preview-image{aspect-ratio:1.12;border-radius:12px;overflow:hidden;background:#dce1d6}.preview-image img{width:100%;height:100%;object-fit:cover}.preview-tag{font-size:12px;top:18px;left:18px;background:var(--paper);color:var(--ink);padding:8px 12px}.preview-arrow{height:48px;width:48px;right:18px;bottom:18px;display:grid;place-items:center}.preview-arrow .arrow-icon{width:23px;height:23px}.preview-content{padding-top:22px}.preview-content>.eyebrow{display:none}.preview-content h3{font-size:32px;line-height:1.4;margin:0 0 12px}.preview-content p{font-size:16px;line-height:1.8;margin-bottom:14px;color:var(--muted)}.underlined-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center;gap:24px}.route-map-caption{font-size:14px;padding:0 0 20px;gap:16px}.route-map-caption>span:last-child{font-size:12px;color:var(--muted)}.route-map{height:590px;margin-top:24px}.route-pin{min-width:60px;min-height:60px;animation:none}.pin-emblem{width:60px;height:60px;border-color:#85917d;background:var(--paper);transition:background 180ms,color 180ms;box-shadow:none}.pin-label{font-size:13px;color:#384835;width:112px;line-height:1.5;top:65px;padding:4px 0;font-weight:500}.pin-number{font-size:10px;width:23px;height:23px;border-color:#b9c1af;background:var(--paper);color:#4e5c44}.landmark-icon{width:36px;height:36px}.route-pin.is-active .landmark-icon{animation:none}.route-pin.is-active .pin-emblem{box-shadow:none}.route-pin.is-active .pin-label{color:var(--blue)}.route-pin:active .pin-emblem{transform:scale(.96)}.route-path path{stroke-width:4.5;stroke-linecap:round}.path-track{stroke:#d3dacb}.path-progress{stroke:#788c6a}.map-small-note{font-size:12px;color:var(--muted);bottom:-8px}.route-controls{margin-top:22px}.route-controls .text-button{min-width:44px;font-size:24px}.route-controls>span{font-size:15px;font-variant-numeric:tabular-nums}
/* Photographs lead; metadata stays outside the image's focal area. */
.landscapes{background:#eceee5;border-radius:28px 28px 0 0}.gallery-toolbar{padding:0 0 20px;border-bottom:1px solid #cdd3c3;margin-bottom:42px;gap:20px}.filters{gap:8px}.filter{font-size:14px;padding:12px 18px;border:1px solid transparent}.filter.is-active{background:var(--ink);color:var(--paper)}.filter:not(.is-active){background:transparent;color:#43523e}.filter:focus-visible{outline-offset:1px}.gallery-toolbar>span{font-size:12px;color:#4c5a46}.landscape-grid{grid-template-columns:1.06fr 1fr;column-gap:4.2%;row-gap:64px;align-items:start}.landscape-card:nth-child(even){margin-top:72px}.card-image{aspect-ratio:1.38;border-radius:12px;overflow:hidden;isolation:isolate}.landscape-card:nth-child(even) .card-image{aspect-ratio:1.13}.card-index{font-size:12px;top:18px;left:18px;color:#20291c;background:var(--paper);border-radius:4px;padding:6px 10px;font-variant-numeric:tabular-nums}.card-arrow{width:48px;height:48px;right:18px;bottom:18px;display:grid;place-items:center}.image-kind{bottom:18px;left:18px;font-size:11px;background:rgba(18,30,22,.8);color:white;padding:6px 10px;border-radius:4px}.card-meta{font-size:12px;line-height:1.5;margin-top:22px;color:#4c5a46;gap:16px}.card-meta>span:last-child{font-size:10px;letter-spacing:.04em}.landscape-card h3{font-size:clamp(25px,2.35vw,34px);line-height:1.45;margin-top:8px;letter-spacing:-.025em}.landscape-card h3>.arrow-icon{width:22px;height:22px;opacity:1}.landscape-card p{font-size:15px;line-height:1.75;margin-top:10px;max-width:34em;color:#4c5a46}.landscape-card[hidden]{display:none!important}.reveal{opacity:1;transform:none}.reveal.will-reveal:not(.is-visible){opacity:.3;transform:translateY(18px)}.reveal{transition:opacity 500ms var(--ease),transform 500ms var(--ease)}
.landscape-note{width:100%;height:100%;min-height:240px;background:#dfe6d4;color:#3e5738;position:relative;overflow:hidden;isolation:isolate}.note-lake{background:#dbe5e8;color:#3d5c65}.note-sky{background:#dee2f0;color:#4e5685}.note-city{background:#e7e0d2;color:#645941}.note-mountain{background:#dfe5df;color:#4a6254}.note-index{position:absolute;top:20px;right:28px;font-size:clamp(84px,12vw,180px);font-family:var(--serif);opacity:.12;line-height:1}.note-lines{position:absolute;inset:0;width:100%;height:100%;stroke:currentColor;stroke-width:1.4;opacity:.2;z-index:-1}.note-symbol{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%)}.note-symbol .landmark-icon{width:110px;height:110px;--icon-paper:transparent;stroke-width:1.2}.note-caption{position:absolute;bottom:18%;left:25px;right:25px;text-align:center;font-family:var(--serif);font-size:28px;line-height:1.5}.note-caption small{display:block;font:12px var(--sans);margin-top:12px}
.story-interlude{padding:100px var(--space);background:var(--paper);color:var(--ink);grid-template-columns:1fr 1fr;gap:10%}.story-copy h2{font-size:clamp(38px,4vw,58px);line-height:1.4;letter-spacing:-.03em}.story-copy p{font-size:17px;line-height:1.9;margin:24px 0;color:var(--muted)}.story-copy>.pill{font-size:14px;gap:24px}.story-paper{box-shadow:0 12px 32px #343c2310;transform:rotate(2deg);border:0}.paper-eyebrow,.story-paper>p{font-size:12px;color:#58614c}.paper-caption{font-size:15px}.member-grid{gap:32px}.member-art{height:340px}.member-orbit{color:#d6dccb}.member-info h3{font-size:18px}.member-info>span{font-size:12px}.member>p{font-size:14px;line-height:1.7;color:var(--muted)}.travelers-signoff>span{font-size:12px}.travelers-signoff>p{font-size:40px}.travelers-signoff{padding-top:36px;margin-top:72px}.site-footer{background:#e5e9dc;color:var(--ink);padding:48px var(--space) 30px}.site-footer>p{font-size:15px}.site-footer>div,.site-footer button{font-size:13px}.site-footer button{min-height:44px}
/* Reading is quieter than browsing; same type roles, closer measure. */
.place-page{padding:110px var(--space) 0}.place-breadcrumb{font-size:14px;line-height:1.7;gap:20px}.place-breadcrumb>span{font-size:12px;color:var(--muted)}.place-intro{padding:44px 0}.place-intro>.eyebrow{font-size:13px;letter-spacing:0}.place-intro h1{font-size:clamp(44px,5.3vw,76px);line-height:1.3;letter-spacing:-.03em;margin:22px 0 32px}.place-intro-bottom>p{font-size:17px;max-width:38em;line-height:1.9}.place-tags span{font-size:12px}.photo-open{border-radius:12px;overflow:hidden;width:100%;padding:0;position:relative}.photo-open picture{height:clamp(320px,48vw,650px)}.photo-open img{height:100%;width:100%;object-fit:cover}.place-cover>.landscape-note{height:420px;border-radius:12px}.place-cover figcaption{font-size:12px;line-height:1.7;color:var(--muted);gap:20px}.photo-expand{font-size:12px}.place-reading{grid-template-columns:minmax(180px,.6fr) minmax(0,1.6fr);gap:8%;padding:80px 0}.reading-main{max-width:760px;width:100%}.reading-aside h2{font-size:34px;line-height:1.5}.reading-aside>.eyebrow{font-size:12px}.reading-aside>p{font-size:14px}.detail-tabs{gap:28px;margin-bottom:36px}.detail-tabs button{font-size:15px;min-height:48px;white-space:nowrap}.story-opening h3{font-size:34px;line-height:1.45;margin:24px 0}.story-meta{font-size:12px;color:var(--muted)}.tab-panel .story-lead,.story-chapter p,.tab-panel p,.tab-panel li{font-size:17px;line-height:1.95;color:#3d4a36}.story-chapter p{max-width:38em}.story-chapter h3{font-size:26px;margin:18px 0 24px;letter-spacing:-.02em}.chapter-kicker{font-size:12px;color:#536347}.place-facts dt{font-size:12px;color:#536347}.place-facts dd{font-size:15px}.chapter-nav{background:#e9eddf;border-radius:10px;padding:24px;gap:18px 24px}.chapter-nav button{font-size:14px;min-height:44px;padding:5px 0}.chapter-nav button>span{font-size:12px;color:#536347}.chapter-sources a{font-size:12px;color:#526146;line-height:1.9}.content-note{font-size:12px!important;color:#5b684f!important}.story-endmark small{font-size:12px;color:#5b684f}.small-label{font-size:12px;letter-spacing:0;padding:6px 10px}.observation-section{border-radius:12px}.observation-section p{font-size:16px}.observation-section h2{font-size:32px;letter-spacing:-.03em}.next-place h2{font-size:44px;line-height:1.4}.next-place .eyebrow{font-size:12px}.water-buttons{flex-wrap:wrap;justify-content:flex-start;gap:8px}.water-buttons button{font-size:13px;min-height:44px;padding:10px 14px}.river-story>small{font-size:12px;color:#526146}.river-story .water-description{font-size:15px!important}.dialog-top h2{font-size:25px}dialog>p,.credits-list li,#photo-caption{font-size:14px}.credits-list strong{font-size:17px}.credits-list{line-height:1.8}.video-placeholder p{font-size:16px}.video-status{font-size:12px;color:#4e6145}.video-placeholder>.eyebrow{font-size:12px;color:#4e6145}
@media(hover:hover) and (pointer:fine){.landscape-link:hover .photo-media img,.preview-image:hover .photo-media img{transform:scale(1.045)}.hero-cta:hover{background:#dbe1ff;color:#24349c}.route-pin:hover .pin-emblem{background:#e4e9da;border-color:#526943;box-shadow:none}.route-pin.is-active:hover .pin-emblem{background:var(--blue)}.filter:not(.is-active):hover{background:#dce2d2}}
@media(hover:none){.member:hover .member-art img{transform:none}.member-girl:hover .member-art img{transform:translateY(7.5%)}.card-image img,.landscape-card:hover img{transform:none}.card-arrow{opacity:1;transform:none}}
@media(min-width:1600px){.section,.place-page,.story-interlude{padding-left:max(var(--space),calc((100vw - 1480px)/2));padding-right:max(var(--space),calc((100vw - 1480px)/2))}}
@media(max-width:1050px){.hero-v3 h1{font-size:80px}.route-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:4%}.pin-emblem{width:50px;height:50px}.route-pin{min-width:50px;min-height:50px}.pin-label{font-size:12px;width:91px;top:57px}.landmark-icon{width:32px;height:32px}.route-map{height:540px}.card-meta>span:last-child{display:none}.place-reading{gap:5%}.detail-tabs{gap:20px}.member-art{height:270px}}
@media(max-width:720px){
 :root{--space:24px;scroll-padding-top:88px}.site-header,.site-header.is-scrolled{height:72px}.brand>span{font-size:18px}.brand small{font-size:6px}.brand svg{width:27px}.header-actions{gap:8px}.menu-button{min-height:44px;padding:0 14px;gap:14px;font-size:12px}.icon-button{width:44px;height:44px}.site-menu{top:80px;right:24px;left:24px;width:auto}.site-menu a{padding:16px;font-size:20px}
 .hero-v3{padding:84px 12px 0}.hero-v3 .hero-cinema{height:max(540px,calc(100svh - 152px));border-radius:12px}.hero-composition{padding:34px 24px 88px}.hero-v3 h1{font-size:clamp(44px,11.5vw,76px);line-height:1.3;letter-spacing:-.03em}.hero-v3 h1>span{margin-left:.42em}.hero-v3 .hero-introduction{display:block}.hero-v3 .hero-introduction p{font-size:16px;line-height:1.9;margin-bottom:24px}.hero-v3 .hero-cta{width:max-content;font-size:14px;padding:15px 20px;gap:26px}.hero-v3 .photo-media img{object-position:43% center}.hero-shade{background:linear-gradient(180deg,#11282388,transparent 50%,#112823bb)}.journey-ribbon{width:210%;left:-96%;opacity:.8}.journey-ribbon path{stroke-width:9}.hero-v3 .hero-caption{left:24px;right:24px;bottom:18px;font-size:10px;gap:10px}.hero-caption>a{font-size:11px;gap:5px}.hero-caption .arrow-icon{width:14px;height:14px}.hero-bottom{margin:0 12px;padding:20px 0;font-size:12px;gap:12px}.hero-bottom>span:nth-child(2){display:none}.hero-bottom>a{font-size:0;gap:0;min-width:44px;min-height:44px;justify-content:center}.hero-bottom .arrow-icon{width:24px;height:24px}
 .section{padding:64px var(--space)}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:36px;line-height:1.4;letter-spacing:-.03em}.section-heading>p{font-size:15px;line-height:1.85;margin-top:20px;max-width:30em}.section-heading>p br{display:none}.route-layout{display:flex;flex-direction:column-reverse;align-items:stretch;gap:28px}.route-map-caption{font-size:13px;padding-bottom:16px}.route-map-caption>span:last-child{font-size:11px}.route-map{height:548px;margin:24px 0 8px}.route-pin{min-width:44px;min-height:44px}.pin-emblem{width:44px;height:44px}.landmark-icon{width:28px;height:28px}.pin-number{font-size:9px;width:19px;height:19px}.pin-label{font-size:11px;line-height:1.6;top:50px;width:80px;max-width:80px}.map-small-note{font-size:11px;bottom:-8px}.route-controls{margin-top:24px}.route-controls>span{font-size:14px}.route-preview{position:static;border-top:1px solid var(--line);padding-top:24px}.preview-image{aspect-ratio:1.45}.preview-tag{font-size:11px;left:14px;top:14px}.preview-content{padding-top:18px}.preview-content h3{font-size:28px}.preview-content p{font-size:15px}.preview-content .underlined-link{font-size:14px}.route-path path{stroke-width:5}
 .landscapes{border-radius:20px 20px 0 0}.gallery-toolbar{gap:16px;margin-bottom:28px;padding-bottom:18px}.filters{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;width:100%}.filter{font-size:14px;padding:12px;min-height:48px;border-radius:8px}.gallery-toolbar>span{font-size:12px}.landscape-grid{grid-template-columns:1fr;gap:40px}.landscape-card:nth-child(even){margin-top:0}.card-image,.landscape-card:nth-child(even) .card-image{aspect-ratio:1.2}.card-meta{font-size:11px;margin-top:18px}.landscape-card h3{font-size:27px;line-height:1.4}.landscape-card p{font-size:15px}.card-index{font-size:11px;top:14px;left:14px}.image-kind{font-size:10px;left:14px;bottom:14px}.card-arrow{right:14px;bottom:14px}.note-caption{font-size:26px}.note-symbol .landmark-icon{height:90px;width:90px}.note-index{font-size:120px}.note-caption small{font-size:12px}
 .story-interlude{padding:64px var(--space);grid-template-columns:1fr;gap:40px}.story-copy h2{font-size:36px}.story-copy p{font-size:16px}.story-paper{width:94%;padding:18px}.paper-caption{font-size:14px}.paper-eyebrow,.story-paper>p{font-size:11px}.member-grid{grid-template-columns:1fr 1fr;gap:32px 20px}.member-art{height:235px}.member-info{display:block}.member-info h3{font-size:17px}.member-info>span{display:none}.member>p{font-size:13px}.travelers-signoff{margin-top:48px;padding-top:28px}.travelers-signoff>span{display:none}.travelers-signoff>p{font-size:32px}.site-footer{padding:36px var(--space) 24px}.site-footer>div{font-size:12px;line-height:1.8;gap:18px}.site-footer button{font-size:12px}.site-footer>p{font-size:14px}
 .place-page{padding:96px var(--space) 0}.place-breadcrumb{font-size:13px;align-items:start;flex-direction:column;gap:6px;padding-top:8px}.place-breadcrumb>span{font-size:11px}.place-intro{padding:32px 0}.place-intro>.eyebrow{font-size:12px}.place-intro h1{font-size:40px;letter-spacing:-.03em;line-height:1.35;margin:20px 0 24px}.place-intro-bottom>p{font-size:16px}.place-tags span{font-size:12px}.photo-open picture{height:310px}.photo-open img{height:100%}.place-cover>.landscape-note{height:320px}.place-cover figcaption{font-size:11px}.place-cover figcaption>span+span{color:var(--muted)}.photo-expand{font-size:12px}.place-reading{display:block;padding:40px 0}.reading-aside{margin:0 0 22px}.reading-aside h2{display:none}.reading-aside>.eyebrow{display:none}.reading-aside .underlined-link{font-size:14px}.detail-tabs{gap:22px;margin-bottom:26px}.detail-tabs button{font-size:14px;min-height:48px}.story-opening h3{font-size:29px;line-height:1.5}.story-meta{font-size:12px;gap:18px}.tab-panel .story-lead,.story-chapter p,.tab-panel p,.tab-panel li{font-size:16px;line-height:1.95}.place-facts{gap:0 20px}.place-facts dd{font-size:14px}.place-facts dt{font-size:12px}.chapter-nav{padding:20px;gap:10px}.chapter-nav button{font-size:14px}.chapter-sources a{font-size:12px}.story-chapter h3{font-size:25px}.story-endmark{font-size:14px}.content-note{font-size:12px!important}.observation-section{padding:28px 20px}.observation-section h2{font-size:27px}.observation-section p{font-size:15px}.next-place{padding:48px 0;gap:20px}.next-place h2{font-size:30px}.next-place>span{font-size:40px}.next-place .eyebrow{font-size:11px}.river-story{padding:20px 16px}.water-buttons button{font-size:12px;min-height:44px}.river-story>small{font-size:11px}.chapter-kicker{font-size:11px}.video-placeholder{padding:32px 20px}.video-placeholder h3{font-size:28px}.video-placeholder p{font-size:15px}.video-status{font-size:11px}
}
@media(max-width:370px){:root{--space:18px}.site-header{gap:8px}.brand{gap:6px}.brand>span{font-size:16px}.brand small{font-size:5px}.brand svg{width:24px}.header-actions{gap:6px}.menu-button{padding:0 12px;gap:10px}.hero-composition{padding:30px 20px 88px}.hero-v3 h1{font-size:42px}.hero-v3 .hero-caption{left:20px;right:20px;font-size:9px}.hero-caption>a{font-size:10px}.hero-v3 .hero-cinema{height:550px}.pin-label{font-size:10px;width:68px;max-width:68px}.route-map{height:550px}.route-map-caption>span:last-child{font-size:10px}.member-art{height:205px}.member-grid{gap:26px 14px}.section-heading h2,.story-copy h2{font-size:32px}.place-intro h1{font-size:36px}.place-facts{grid-template-columns:1fr}.detail-tabs{gap:18px}.landscape-card h3{font-size:25px}.hero-bottom{font-size:11px}}
.reduce-motion .journey-ribbon path{animation:none;stroke-dashoffset:0}.reduce-motion .hero-photo img{transform:scale(1.04)!important}.reduce-motion .reveal.will-reveal{opacity:1;transform:none}.reduce-motion .member-art img{transform:none}.reduce-motion .member-girl .member-art img{transform:translateY(7.5%)}
@media(prefers-reduced-motion:reduce){.journey-ribbon path{animation:none;stroke-dashoffset:0}.reveal.will-reveal{opacity:1;transform:none}.hero-photo img{transform:scale(1.04)!important}.member-art img{transform:none}.member-girl .member-art img{transform:translateY(7.5%)}}

/* Perspective cards follow a circular arc; copy stays still beneath the scene. */
.landscapes{overflow:hidden;background:#eceee4}
.landscapes .gallery-heading{margin-bottom:28px}
.landscapes h2,.landscapes h3,.landscapes .serif{font-family:var(--sans);font-weight:600}
.landscapes .gallery-heading h2{font-size:clamp(32px,3.4vw,48px);letter-spacing:-.035em}
.landscapes .gallery-heading>p{font-size:15px;line-height:1.8}
.landscapes .gallery-toolbar{padding:14px 0;margin-bottom:12px;align-items:center}
.gallery-scene{position:relative;margin:0 -4.6%;isolation:isolate}
.gallery-scene::after{content:'';position:absolute;left:34%;right:34%;height:32px;bottom:35px;background:#35453720;border-radius:50%;filter:blur(18px);pointer-events:none;z-index:-1}
.gallery-arc{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;stroke:#a6b299;stroke-width:1}
.gallery-arc path+path{stroke:#a6b29955;stroke-dasharray:3 7}
.landscapes .landscape-grid{display:block;position:relative;height:438px;overflow:visible;perspective:1200px;touch-action:pan-y;user-select:none;padding:0;cursor:grab}
.landscapes .landscape-grid:active{cursor:grabbing}
.landscapes .landscape-grid::after{display:none}
.landscapes .landscape-card,.landscapes .landscape-card:nth-child(even){position:absolute;left:50%;top:24px;width:clamp(300px,29vw,400px);margin:0;padding:10px 10px 17px;border:1px solid #fff9;border-radius:17px;background:#fafbf4;box-shadow:0 5px 10px #23391c08,0 18px 32px -12px #23391c35;transform-origin:50% 55%;transition:none;backface-visibility:hidden;overflow:hidden}
.landscapes .landscape-grid[data-moving="true"] .landscape-card{will-change:transform,opacity}
.landscapes .landscape-link{display:block;outline-offset:-3px;border-radius:10px}
.landscapes .card-image,.landscapes .landscape-card:nth-child(even) .card-image{aspect-ratio:1.5;border-radius:9px}
.landscapes .card-image img,.landscapes .landscape-link:hover .card-image img{transform:none;transition:none}
.landscapes .card-meta{margin:14px 10px 0;font-size:10px;color:#66745e;letter-spacing:.04em}
.landscapes .card-meta>span:last-child{display:none}
.landscapes .landscape-card h3{font-size:23px;line-height:1.5;margin:6px 10px 0;gap:10px;letter-spacing:-.025em}
.landscapes .landscape-card h3>.arrow-icon{width:18px;height:18px;flex-shrink:0;opacity:1}
.landscapes .landscape-card p,.landscapes .card-arrow{display:none}
.landscapes .card-index{top:12px;left:12px;font-size:10px;background:#fafbf4e8;box-shadow:none;backdrop-filter:none}
.landscapes .image-kind{left:12px;bottom:12px;font-size:9px}
.gallery-caption{text-align:center;min-height:90px;position:relative;z-index:2;padding:0 20px 22px}
.gallery-caption>p{font-size:15px;color:#455440;line-height:1.75;text-wrap:balance}
#gallery-gesture{display:block;margin-top:10px;color:#718066;font-size:11px;letter-spacing:.07em}
#gallery-gesture>span{margin-left:8px}
.gallery-navigation{display:flex;align-items:center;gap:28px;border-top:1px solid #cdd3c3;padding-top:18px}
.gallery-progress{height:2px;background:#d3d9cb;flex:1;max-width:360px;margin-left:auto;overflow:hidden}
.gallery-progress>span{display:block;height:100%;background:#52654b;transition:width 300ms var(--ease)}
.gallery-paging{display:flex;align-items:center;gap:10px}
#gallery-position{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:62px;margin-right:8px}
.gallery-arrow{width:44px;height:44px;border:1px solid #bdc6b4;border-radius:50%;background:transparent;color:var(--ink);font-size:23px;display:grid;place-items:center;transition:background-color 160ms,color 160ms}
.gallery-arrow:disabled{opacity:.3;cursor:default}
.gallery-play{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 8px 0 0;background:transparent;color:var(--muted);font:13px var(--sans);white-space:nowrap}
.gallery-play>span:first-child{width:24px;height:24px;border:1px solid #bdc6b4;border-radius:50%;display:grid;place-items:center;font-size:12px;color:var(--ink)}
@media(hover:hover){.gallery-arrow:not(:disabled):hover{background:var(--ink);color:var(--paper)}}
@media(max-width:720px){
 .landscapes{padding-top:30px;padding-bottom:32px}
 .landscapes .gallery-heading{margin-bottom:18px}
 .landscapes .gallery-heading h2{font-size:32px}
 .landscapes .gallery-heading>p{font-size:13px;line-height:1.75;margin-top:10px}
 .landscapes .gallery-toolbar{display:block;padding:8px 0;margin-bottom:4px}
 .landscapes .filters{display:flex;gap:3px;width:100%;justify-content:space-between}
 .landscapes .filter{min-height:44px;padding:9px 10px;font-size:12px;border-radius:24px;white-space:nowrap}
 .landscapes .filter sup,.landscapes #gallery-count{display:none}
 .gallery-scene{margin:0 -6.82%}
 .landscapes .landscape-grid{height:clamp(278px,78vw,336px);perspective:900px}
 .landscapes .landscape-card,.landscapes .landscape-card:nth-child(even){width:min(71vw,298px);top:22px;padding:7px 7px 13px;border-radius:13px;box-shadow:0 4px 8px #23391c08,0 15px 25px -12px #23391c40}
 .landscapes .card-image,.landscapes .landscape-card:nth-child(even) .card-image{aspect-ratio:1.46;border-radius:8px}
 .landscapes .card-meta{margin:10px 7px 0;font-size:9px;letter-spacing:0}
 .landscapes .landscape-card h3{font-size:19px;line-height:1.5;margin:5px 7px 0;letter-spacing:-.025em}
 .landscapes .landscape-card h3>.arrow-icon{width:16px;height:16px}
 .landscapes .card-index{top:10px;left:10px;font-size:9px;padding:5px 8px}
 .landscapes .image-kind{left:9px;bottom:9px;font-size:8px;padding:4px 7px}
 .gallery-caption{min-height:89px;padding:4px 4px 17px}
 .gallery-caption>p{font-size:13px;line-height:1.7}
 #gallery-gesture{margin-top:7px;font-size:10px}
 .gallery-navigation{gap:8px;padding-top:12px}
 .gallery-play{font-size:11px;gap:7px}
 .gallery-progress{display:none}
 .gallery-paging{gap:8px;margin-left:auto}
 #gallery-position{font-size:12px;min-width:52px;margin-right:0}
 .gallery-scene::after{bottom:16px;height:20px;left:24%;right:24%}
}
.reduce-motion .gallery-progress>span{transition:none}
@media(prefers-reduced-motion:reduce){.gallery-progress>span{transition:none}}

/* Leave a clear outer lane for the continuous route, including narrow screens. */
.route-map{container-type:inline-size}
.route-map .pin-label{background:transparent;width:24cqw;max-width:112px;padding:4px 0}
.route-map .route-pin:nth-of-type(4n) .pin-label,
.route-map .route-pin:nth-of-type(4n + 1) .pin-label{width:20cqw;max-width:96px}
.route-map .route-path path{vector-effect:non-scaling-stroke;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* The next view is prepared underneath the current route card before its reveal. */
.route-preview{isolation:isolate}
.route-card{position:relative;width:100%}
.route-card.is-pending,.route-card.is-leaving{position:absolute;left:0;right:0;top:0;pointer-events:none}
.route-card.is-pending{opacity:0;visibility:hidden}
.route-card.is-leaving{z-index:-1}
.route-preview[aria-busy="true"]::after{content:'正在准备下一站…';position:absolute;top:18px;right:18px;border-radius:24px;background:#f8faf2ed;color:#46523f;font-size:11px;padding:9px 13px;z-index:3;pointer-events:none}
.route-card .preview-image img{transform-origin:50% 50%}
.route-play{display:inline-flex;align-items:center;gap:8px;margin-right:auto;min-height:44px;padding:0;background:transparent;color:var(--muted);font-size:12px;white-space:nowrap}
.route-play>span:first-child{width:27px;height:27px;border:1px solid #bdc6b4;border-radius:50%;display:grid;place-items:center;color:var(--ink);font-size:12px}
.route-controls{gap:14px}
@media(max-width:720px){.route-play{font-size:11px;gap:6px}.route-controls{gap:12px}.route-card.is-pending,.route-card.is-leaving{top:24px}.route-preview[aria-busy="true"]::after{top:37px}}

/* A travelling highlight follows the itinerary's own geometry. */
.route-map .route-travel-line{stroke:#424cf0;stroke-width:3;fill:none;filter:drop-shadow(0 0 3px #555ee044);transition:opacity .35s}
.route-travel-dot{position:absolute;width:9px;height:9px;border:2px solid #fff;background:#424cf0;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 6px #555ee020,0 0 16px #555ee090;pointer-events:none;opacity:0;z-index:1;transition:opacity .2s}
.is-travelling .route-travel-dot{opacity:1}
/* A compact, measured reading folio; all article text remains available. */
.story-book{--read-progress:0%;width:100%;margin:0;isolation:isolate}
.book-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 0 18px;border-bottom:1px solid #cdd3c4;color:#52604a;font-size:12px}
.book-toolbar>span{letter-spacing:.16em;white-space:nowrap}.book-toolbar label{min-width:0;max-width:70%}
.book-toolbar select{font:inherit;color:#303d2b;background:transparent;border:0;padding:10px 22px 10px 0;width:100%;min-height:44px;text-overflow:ellipsis;cursor:pointer}
.book-stage{position:relative;height:clamp(470px,calc(100svh - 260px),620px);margin:20px 0 0;perspective:1400px;overflow:hidden;border:1px solid #deded2;border-radius:3px 12px 12px 3px;background:#e7e9df;box-shadow:0 14px 36px -24px #35452d55;touch-action:pan-y;outline-offset:5px}
.book-page{position:absolute;inset:0;display:flex;flex-direction:column;gap:24px;padding:32px 38px 28px;background:linear-gradient(90deg,#e8e7db 0,#f8f6ee 13px,#fbfaf4 65%);transform-origin:left center;backface-visibility:hidden;overflow:hidden}
.book-page header{flex:none;padding-bottom:20px;border-bottom:1px solid #dfdfd3}
.book-kicker{font-size:11px;letter-spacing:.12em;color:#68735f}
.tab-panel .book-page h3{font-family:inherit;font-size:clamp(23px,2.2vw,31px);line-height:1.45;font-weight:550;margin:14px 0 0;letter-spacing:-.025em;color:#263423}
.book-page-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#b6beac transparent}
.tab-panel .book-page-body p{font-size:17px;line-height:2.05;margin:0 0 20px;color:#3b4936;max-width:none;text-align:justify;overflow-wrap:anywhere}
.book-page-body p:last-child{margin-bottom:0}
.book-page-body .place-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:0}
.book-page-body .place-facts>div{padding:12px 0;border-bottom:1px solid #dedfd1}.book-page-body .place-facts dt{font-size:12px;margin-bottom:7px}.book-page-body .place-facts dd{font-size:15px;line-height:1.8;margin:0}
.book-page-body .chapter-sources{margin:18px 0 0;padding-top:16px;border-top:1px solid #dddace;display:flex;flex-direction:column;gap:8px}.book-page-body .chapter-sources a{font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.book-page-body .river-story{margin:0;padding:0;background:transparent;border:0}.book-page-body .river-story>h3{font-size:21px;margin:6px 0}.book-page-body .river-story>svg{max-height:170px;width:100%}.book-page-body .river-story .water-buttons{gap:5px}.book-page-body .water-buttons button{font-size:11px;padding:8px;min-height:40px}.book-page-body .river-story .water-description{font-size:13px!important;line-height:1.8;margin:12px 0}.book-page-body .river-story>small{font-size:10px}
.book-measure{visibility:hidden;pointer-events:none}.book-leaving{z-index:2;pointer-events:none}
.book-progress{height:2px;background:#dce0d3;margin-top:16px;overflow:hidden}.book-progress>span{display:block;width:var(--read-progress);height:100%;background:#60754b;transition:width .6s cubic-bezier(.22,1,.36,1)}
.book-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px}.book-hint{font-size:12px;color:#6b7563}.book-footer>div{display:flex;align-items:center;gap:15px}.book-count{font-size:12px;font-variant-numeric:tabular-nums;color:#52604a;white-space:nowrap}.book-footer button{width:44px;height:44px;border:1px solid #cad1bf;border-radius:50%;font:inherit;font-size:23px;line-height:1;background:transparent;color:#34442e;cursor:pointer;transition:background .2s,transform .2s}.book-footer button:hover:not(:disabled){background:#e0e6d4;transform:translateY(-2px)}.book-footer button:disabled{opacity:.28;cursor:default}
.reduce-motion .book-progress>span,.reduce-motion .route-travel-dot{transition:none}
@media(max-width:720px){.book-toolbar{padding-bottom:8px;gap:8px}.book-toolbar>span{font-size:10px;letter-spacing:.08em}.book-toolbar select{font-size:12px}.book-stage{height:clamp(435px,calc(100svh - 265px),570px);margin-top:14px}.book-page{padding:24px 22px;gap:20px}.tab-panel .book-page h3{font-size:24px;line-height:1.5;margin-top:12px}.book-page header{padding-bottom:16px}.tab-panel .book-page-body p{font-size:16px;line-height:1.95;margin-bottom:18px}.book-page-body .place-facts{grid-template-columns:1fr;gap:0}.book-page-body .place-facts>div{padding:10px 0}.book-page-body .place-facts dd{font-size:14px}.book-page-body .place-facts dt{margin-bottom:3px}.book-footer>div{gap:10px}.book-hint{font-size:11px}.book-footer{padding-top:10px}.book-progress{margin-top:12px}}
@media(max-width:370px){.book-page{padding:22px 18px;gap:16px}.tab-panel .book-page h3{font-size:22px}.book-hint{max-width:72px;line-height:1.6}.book-toolbar label{max-width:68%}}
.book-diagram>header{display:none}.book-diagram .river-story>h3{margin:12px 0 18px;font-size:25px}.book-diagram .river-story>svg{max-height:190px}
/* Playback stays observable even while the mouse rests on the preview. */
.route-pin.is-active .pin-emblem::after{content:'';position:absolute;inset:-7px;border-radius:50%;padding:2px;background:conic-gradient(from -90deg,#5057ed var(--route-dwell,0deg),#d6dccb 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:0;transition:opacity .3s;pointer-events:none}
.route-is-playing .route-pin.is-active .pin-emblem::after{opacity:1}
/* Keep the station badge above the countdown, with a small paper-coloured gap. */
.route-pin .pin-number{z-index:1}
.route-pin.is-active .pin-number{box-shadow:0 0 0 3px var(--paper)}
.route-preview{perspective:1100px}.route-card{transform-style:preserve-3d}.route-travel-dot{box-shadow:0 0 0 7px #555ee018,0 0 20px #626ae099}
/* A compact contact sheet: native horizontal gestures never capture vertical wheel input. */
.place-album{padding:48px 0 64px;border-bottom:1px solid var(--line);min-width:0}
.album-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}
.album-heading h2{font-family:inherit;font-size:clamp(24px,3vw,38px);font-weight:550;letter-spacing:-.035em;margin:10px 0 0}
.album-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.album-controls>span{font-size:12px;color:#59634e;margin-right:10px}
.album-controls button{width:42px;height:42px;border-radius:50%;border:1px solid #b9c2ad;background:transparent;color:#263523;font-size:23px;transition:background .2s,transform .2s}
.album-controls button:hover{background:#e1e7d5;transform:translateY(-2px)}
.album-track{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:1px;overscroll-behavior-x:contain;padding:0 1px 18px;scrollbar-width:thin;scrollbar-color:#879676 transparent}
.album-frame{flex:0 0 min(calc((100% - 40px)/3),440px);min-width:0;margin:0;scroll-snap-align:start}
.album-photo{position:relative;display:block;width:100%;aspect-ratio:1.45;border:0;padding:0;border-radius:12px;overflow:hidden;background:#dfe4d6;cursor:zoom-in;isolation:isolate}
.album-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.22,1,.36,1)}
.album-photo:hover img{transform:scale(1.04)}.album-photo-number{position:absolute;top:13px;left:13px;font-size:11px;font-variant-numeric:tabular-nums;padding:5px 9px;background:#f5f4eff0;border-radius:5px;color:#263523}
.album-zoom{position:absolute;right:13px;bottom:13px;background:#f5f4eff0;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#263523;font-size:22px}
.album-frame figcaption{padding:14px 0 0;color:#59634e;font-size:11px;line-height:1.6}.album-frame figcaption p{font-size:15px;font-weight:500;margin:0 0 6px;color:#293525}.album-frame figcaption a{display:block;text-decoration:none;overflow-wrap:anywhere}.album-frame figcaption a:hover{text-decoration:underline}.album-frame small{display:block;font-size:10px;margin-top:3px;color:#65705d}
.album-hint{font-size:12px;color:#66725d;margin:12px 0 0}
#photo-caption a{text-decoration:underline}
@media(max-width:720px){.place-album{padding:30px 0 40px}.album-heading{gap:12px;align-items:center;margin-bottom:20px}.album-heading h2{font-size:23px}.album-heading .eyebrow{font-size:10px}.album-controls{gap:6px}.album-controls>span{display:none}.album-controls button{width:36px;height:36px;font-size:21px}.album-frame{flex-basis:85%}.album-photo{aspect-ratio:1.32}.album-frame figcaption p{font-size:14px}.album-track{padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.album-photo img,.album-controls button{transition:none}}.reduce-motion .album-photo img,.reduce-motion .album-controls button{transition:none}
.album-controls button:disabled{opacity:.3;cursor:default;transform:none;background:transparent}
.member-four .member-art img{height:106%;width:106%;max-width:none;flex-shrink:0;translate:0 3.8%}
