/* Editorial opening: one typography system, one landscape, one continuous gesture. */
.hero-v2{padding:148px 4.2% 0;overflow:hidden}
.hero-v2 .hero-top{margin-bottom:24px}
.hero-editorial{position:relative;display:grid;grid-template-columns:1fr 29%;align-items:end;gap:3%;padding:10px 0 54px;isolation:isolate}
.hero-v2 h1{font-size:clamp(64px,8.9vw,152px);line-height:1.14;letter-spacing:-.07em;position:relative;z-index:2;font-weight:500;white-space:normal}
.hero-v2 h1>span{display:block}.hero-v2 .second-line{margin-left:12.5%}.hero-word{font-family:var(--serif);font-weight:400}
.hero-introduction{position:relative;z-index:2;padding-bottom:8px}.hero-introduction>p{font-size:15px;line-height:1.9;margin:0 0 24px;color:#555e50}
.hero-cta{background:var(--ink);color:var(--paper);padding:17px 22px;font-size:12px;gap:28px}.hero-cta:hover{background:#334939;color:white}
.editorial-curve{position:absolute;z-index:0;right:-13%;top:-55px;width:68%;height:calc(100% + 130px);pointer-events:none;max-width:none;overflow:visible}
.editorial-curve path{stroke:var(--blue);stroke-width:26;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:.16}
.hero-cinema{height:clamp(380px,43vw,680px);border-radius:18px;margin:0;width:100%;z-index:1;isolation:isolate}
.hero-cinema>img{object-position:center 45%;transform:scale(1.1)}
.hero-cinema:after{background:linear-gradient(180deg,#15201b38,transparent 35%,#14231a80)}
.cinema-top{position:absolute;top:27px;left:30px;right:30px;z-index:2;color:#fff;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.2px}
.cinema-bottom{position:absolute;left:42px;right:36px;bottom:38px;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;color:white}
.cinema-bottom>span{font-size:15px;line-height:1.8}.cinema-bottom strong{font-size:60px;line-height:1.5;letter-spacing:-2px;font-weight:400}
.cinema-link{display:flex;align-items:center;gap:18px;font-size:12px}.cinema-link>span{width:52px;height:52px;border:1px solid #ffffff90;border-radius:50%;display:grid;place-items:center;font-size:28px;transition:background .25s,transform .25s}.cinema-link:hover>span{background:var(--paper);color:var(--ink);transform:rotate(45deg)}
.hero-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;border-bottom:1px solid var(--line);padding:24px 0;font-size:10px;letter-spacing:.5px}.hero-bottom i{font-style:normal;padding:0 12px;color:#a0a497}.hero-bottom-center{color:var(--muted)}.hero-bottom>a{display:flex;align-items:center;gap:25px}.hero-bottom>a>span{font-size:23px}
.route-section{padding-top:110px;padding-bottom:110px}.route-layout{grid-template-columns:33% 1fr;gap:7%}.route-map{height:420px;margin-top:30px}.route-map-caption{padding-bottom:16px;border-bottom:1px solid var(--line)}
.route-path path{stroke-width:5.5}.path-track{stroke:#d9dfd2}.path-progress{stroke:#6b8061}
.route-pin{padding:0;min-width:58px;min-height:58px;transform:translate(-50%,-50%);border-radius:50%;color:#4c5947;transition:color .2s}
.pin-emblem{width:60px;height:60px;border:1px solid #a5af9c;border-radius:50%;background:var(--paper);display:grid;place-items:center;position:relative;transition:background .25s,border-color .25s,box-shadow .25s;--icon-paper:var(--paper)}
.landmark-icon{width:38px;height:38px;max-width:none}.pin-number{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;border-radius:50%;width:21px;height:21px;font-size:9px;background:var(--paper);border:1px solid #b7bfaf;color:#596451;font-variant-numeric:tabular-nums}
.pin-label{top:68px;left:50%;transform:translateX(-50%);font-size:11px;padding:3px 5px;font-weight:500;line-height:1.5}
.route-pin:hover .pin-emblem{border-color:var(--blue);box-shadow:0 0 0 4px #344bea0a}.route-pin:hover{color:#344bea}
.route-pin.is-active{color:#fff}.route-pin.is-active .pin-emblem{background:var(--blue);border-color:var(--blue);--icon-paper:var(--blue);box-shadow:0 0 0 6px #344bea12}.route-pin.is-active .pin-number{border-color:var(--blue);color:var(--blue);background:var(--paper)}
.route-pin.is-active .landmark-icon{animation:landmark-lift 3.5s ease-in-out infinite}.route-pin.is-active .pin-label{color:var(--blue)}
.map-small-note{bottom:-4px;font-size:10px}.route-controls{margin-top:20px}.preview-content p{font-size:13px}.preview-image{aspect-ratio:1.22}
@keyframes landmark-lift{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
/* Longer stories keep a readable line length and expose their sources where used. */
:root{scroll-padding-top:105px}.reading-aside{top:115px}.place-reading{grid-template-columns:23% minmax(0,1fr);gap:9%;padding:90px 4%}.reading-main{max-width:800px}.detail-tabs{overflow-x:auto;gap:26px;padding:4px 3px 0;scrollbar-width:thin}.detail-tabs button{font-size:14px;padding:10px 0 18px}.detail-tabs button:focus-visible{outline-offset:-3px;border-radius:4px;outline-width:2px}
.story-opening>.eyebrow{color:var(--blue);font-size:9px}.story-meta{display:flex;gap:20px;color:var(--muted);font-size:11px;margin-top:19px}.story-opening h3{font-size:clamp(28px,3vw,43px);line-height:1.45;margin:22px 0}.tab-panel .story-lead{font-size:17px;color:#3e4938;line-height:1.95}
.place-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;border-top:1px solid var(--line);margin:28px 0 30px}.place-facts>div{border-bottom:1px solid var(--line);padding:15px 0}.place-facts dt{font-size:10px;color:#7e8974;margin-bottom:7px}.place-facts dd{font-size:13px;line-height:1.7;margin:0;color:#394634}
.chapter-nav{padding:22px;background:#e8ecdf;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-bottom:55px}.chapter-nav button{text-align:left;background:none;padding:3px 0;font-size:12px;line-height:1.65;display:flex;align-items:baseline;gap:11px}.chapter-nav button>span{font-size:9px;color:#879278;font-variant-numeric:tabular-nums}.chapter-nav button:hover{color:var(--blue)}
.story-chapter{scroll-margin-top:112px;margin:0 0 48px;outline:none}.story-chapter:focus-visible{outline:1px solid #a9b59c;outline-offset:12px;border-radius:3px}.chapter-kicker{display:flex;align-items:center;gap:14px;font-size:10px;color:#7d876f;letter-spacing:1px}.chapter-kicker>span:first-child{color:var(--blue);font-size:13px}.chapter-kicker:after{content:'';flex:1;height:1px;background:var(--line);margin-left:5px}.story-chapter h3{font-size:26px;margin:17px 0 22px;line-height:1.55}.story-chapter p{font-size:16px;line-height:2.05;color:#46513e;margin-bottom:20px;text-wrap:pretty}.chapter-sources{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:24px}.chapter-sources a{font-size:10px;line-height:1.9;color:#75806c;border-bottom:1px solid #c7cfbe}
.story-endmark{display:flex;gap:18px;align-items:center;padding:25px 0;border-top:1px solid var(--line);color:#6e7c61;font-size:14px}.story-endmark .landmark-icon{width:43px;height:43px}.story-endmark small{display:block;font-size:10px;color:#8c9682;margin-top:9px}.story-chapter .river-story{margin:30px 0}.story-chapter .river-story p{font-size:12px}.chapter-nav+div{min-width:0}
@media(min-width:1800px){.hero-v2{padding-left:max(5%,calc((100vw - 1480px)/2));padding-right:max(5%,calc((100vw - 1480px)/2))}}
@media(max-width:1100px){.hero-editorial{grid-template-columns:1fr 31%;gap:2%}.hero-introduction>p{font-size:12px}.hero-cta{padding:14px 18px;gap:16px;font-size:11px}.hero-cinema{height:440px}.route-layout{grid-template-columns:30% 1fr;gap:5%}.pin-emblem{width:52px;height:52px}.landmark-icon{width:33px;height:33px}.pin-label{top:62px;font-size:10px}.route-map{height:370px}.chapter-nav{grid-template-columns:1fr}.detail-tabs{gap:20px}.detail-tabs button{font-size:12px}}
@media(max-width:720px){
 :root{scroll-padding-top:90px}.hero-v2{padding:112px 6% 0}.hero-v2 .hero-top{margin-bottom:22px}.hero-v2 .edition{font-size:6px;letter-spacing:.6px}.hero-editorial{display:block;padding:0 0 30px}.hero-v2 h1{font-size:clamp(50px,12.7vw,90px);line-height:1.25;letter-spacing:-.065em}.hero-v2 .second-line{margin-left:9%}.hero-introduction{margin-top:26px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0}.hero-introduction>p{font-size:10px;line-height:1.9;margin:0}.hero-cta{padding:13px 16px;gap:15px;font-size:10px;white-space:nowrap}.hero-cta>span{font-size:17px}.editorial-curve{width:83%;height:280px;top:-16px;right:-37%;opacity:1}.editorial-curve path{stroke-width:25}.hero-cinema{height:400px;border-radius:12px;margin:0}.hero-cinema>img{object-position:46% center}.cinema-top{left:19px;right:19px;top:21px;font-size:7px;letter-spacing:.5px}.cinema-top>span:last-child{display:none}.cinema-bottom{left:22px;right:21px;bottom:24px}.cinema-bottom>span{font-size:12px}.cinema-bottom strong{font-size:40px;letter-spacing:-1px}.cinema-link{font-size:0;gap:0}.cinema-link>span{width:43px;height:43px;font-size:25px}.hero-bottom{font-size:9px;gap:10px;padding:18px 0}.hero-bottom-center{display:none}.hero-bottom i{padding:0 6px}.hero-bottom>a{gap:13px}.hero-bottom>a>span{font-size:20px}.route-section{padding-top:70px;padding-bottom:70px}.route-layout{display:flex;gap:32px}.route-map{height:370px;margin-top:26px}.route-map-caption{padding-bottom:14px}.route-path path{stroke-width:6}.route-pin{min-width:44px;min-height:44px}.pin-emblem{height:44px;width:44px}.landmark-icon{height:29px;width:29px}.pin-number{width:17px;height:17px;font-size:8px;top:-5px;right:-5px}.pin-label{top:51px;font-size:9px;line-height:1.6;max-width:78px;padding:3px 1px}.map-small-note{font-size:9px;bottom:0}.route-controls{margin-top:16px}.preview-image{aspect-ratio:1.7}.place-reading{display:block;padding:45px 0}.reading-aside{margin-bottom:26px}.reading-main{max-width:none}.detail-tabs{gap:19px;margin-bottom:30px;padding:4px 2px 0}.detail-tabs button{font-size:12px;padding:9px 0 14px}.story-opening h3{font-size:29px}.tab-panel .story-lead{font-size:15px}.place-facts{gap:0 18px}.place-facts dd{font-size:12px}.place-facts dt{font-size:10px}.chapter-nav{padding:20px;gap:14px;margin-bottom:40px}.chapter-nav button{font-size:12px}.story-chapter{scroll-margin-top:96px;margin-bottom:40px}.story-chapter h3{font-size:24px}.story-chapter p{font-size:15px;line-height:2}.story-meta{font-size:10px}.chapter-sources a{font-size:10px}.story-endmark{font-size:13px}
}
@media(max-width:370px){.hero-v2 h1{font-size:12.6vw}.hero-introduction{align-items:flex-start;flex-direction:column;gap:15px}.hero-introduction>p br{display:none}.hero-cta{align-self:flex-end}.hero-cinema{height:350px}.hero-v2 .edition{display:none}.pin-emblem{height:39px;width:39px}.landmark-icon{height:26px;width:26px}.pin-label{font-size:8px}.pin-number{height:16px;width:16px}.filters{flex-wrap:wrap;justify-content:flex-start}.detail-tabs{gap:15px}}
.reduce-motion .editorial-curve path{stroke-dashoffset:0!important}.reduce-motion .hero-cinema>img{transform:scale(1.1)!important}
@media(prefers-reduced-motion:reduce){.editorial-curve path{stroke-dashoffset:0!important}.hero-cinema>img{transform:scale(1.1)!important}}
.editorial-curve{top:0}.editorial-curve path{stroke-dashoffset:.07}.mobile-curve{display:none}
@media(max-width:720px){.desktop-curve{display:none}.mobile-curve{display:block;top:0;right:0;width:100%;height:calc(100% + 90px)}.mobile-curve path{stroke-width:10;stroke-dashoffset:0}}
.menu-button{white-space:nowrap;flex-shrink:0}.header-actions{flex-shrink:0}
@media(max-width:370px){.site-header{gap:10px}.brand{gap:7px}.brand svg{width:25px}.brand>span{font-size:16px;letter-spacing:1px}.brand small{font-size:5px;white-space:nowrap;letter-spacing:.8px}.menu-button{padding:0 12px;gap:10px}.pin-label{font-size:9px}}
/* Sixteen-stop route: four serpentine rows, with room for two-line place names. */
.route-map{height:560px}.route-layout{align-items:start}.route-preview{position:sticky;top:110px}.pin-label{white-space:normal;width:104px;line-height:1.5;text-align:center}.route-map-caption{gap:12px}
@media(max-width:1100px){.route-map{height:520px}.pin-label{width:90px}}
@media(max-width:720px){.route-map{height:510px}.route-preview{position:static}.pin-label{width:74px;max-width:74px;line-height:1.55}.route-map-caption{font-size:10px}}
@media(max-width:370px){.pin-label{width:67px;max-width:67px;font-size:9px}.route-map{height:510px}}

@media(max-width:720px){.route-layout{align-items:stretch}}
