/* Only the two public start pages load this story. Static flow is the fallback. */
.landing-story{--story-top:85px;position:relative}.story-sticky{position:relative}.story-scene{width:min(1264px,calc(100% - 104px));margin:0 auto 55px}.story-canvas{position:relative;overflow:hidden;background:#e0e6d4;border:1px solid #cdd7c1;aspect-ratio:1000/620}.story-map{width:100%;height:100%;display:block}.story-land{fill:#d1d9be;opacity:.65}.story-land.second{fill:#bfcdae;opacity:.45}.story-route{fill:none;stroke:#789066;stroke-width:2;vector-effect:non-scaling-stroke;opacity:.45}.story-stage{fill:none;stroke:#bd872e;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.story-stage-title{position:absolute;left:5%;top:7%;color:#294331}.story-stage-title .eyebrow{margin-bottom:12px}.story-stage-title h2{font-size:clamp(2rem,4vw,3.6rem);margin-bottom:12px}.story-stage-title>p:last-child{font-size:.75rem;letter-spacing:.08em}.story-points{list-style:none;margin:0;padding:0}.story-point{position:absolute;left:var(--x);top:var(--y);display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:.75rem;color:#294331}.story-point>span:last-child{padding:9px 12px;background:#faf8ef;border:1px solid #c8d0bd;box-shadow:0 3px 14px #3045280a}.story-pin{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#314c35;color:#fffaf0;font-size:.59rem;border:3px solid #f4f1e3}.story-disclaimer{position:absolute;left:5%;bottom:4%;font-size:.65rem;color:#42593c;background:#e0e6d4e8;padding:5px 8px}.story-ending{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:25px}.story-ending h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:0}.story-ending .button{flex:none}
@media(min-width:741px){.landing-story.is-animated{height:250vh}.is-animated .story-sticky{position:sticky;top:var(--story-top);height:calc(100vh - var(--story-top));min-height:0;max-height:1000px}.is-animated .hero{height:100%;padding-block:30px;box-sizing:border-box}.is-animated .hero .route-poster{max-height:100%;width:100%}.is-animated .story-scene{position:absolute;inset:25px 0 20px;margin:0 auto;display:flex;flex-direction:column;pointer-events:none;opacity:0}.is-animated .story-canvas{flex:1;min-height:0;aspect-ratio:auto}.is-animated .story-map{position:absolute;inset:0;object-fit:contain}.is-animated .story-ending{flex:none}.is-animated .story-ending a{pointer-events:auto}.is-animated .hero-copy,.is-animated .route-poster,.is-animated .story-scene,.is-animated .story-geometry,.is-animated .story-point{will-change:transform,opacity}}
@media(max-width:1050px){.story-scene{width:calc(100% - 64px)}.story-point{font-size:.66rem;gap:5px}.story-point>span:last-child{padding:7px 8px}}
@media(max-width:740px){.story-scene{width:calc(100% - 40px);margin:0 auto 38px}.story-canvas{aspect-ratio:1/1.2}.story-map{position:absolute;width:155%;max-width:none;height:100%;left:-28%}.story-stage-title{top:6%;left:6%}.story-stage-title .eyebrow{font-size:.6rem;margin-bottom:10px}.story-stage-title h2{font-size:2.25rem}.story-points{position:absolute;inset:44% 6% 13%;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.story-point{position:static;font-size:.72rem;gap:8px}.story-point:nth-child(2){align-self:center}.story-point:nth-child(3){align-self:flex-end}.story-point>span:last-child{padding:7px 10px}.story-disclaimer{left:4%;bottom:3%;font-size:.55rem;max-width:92%;white-space:normal}.story-ending{flex-direction:column;align-items:flex-start;gap:20px;padding-top:22px}.story-ending h2{max-width:270px;font-size:2.2rem}}

.story-pin svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* Static/mobile pins share the map's SVG coordinate plane. */
@media(max-width:740px){
.story-points{inset:auto;position:absolute;display:block;width:155%;height:auto;aspect-ratio:1000/620;left:-28%;top:50%;transform:translateY(-50%)}
.story-point,.story-point:nth-child(2),.story-point:nth-child(3){position:absolute;left:var(--x);top:var(--y);display:flex;transform:translate(-15px,-15px);font-size:.64rem;gap:5px}
.story-point>span:last-child{padding:6px 7px}
.story-point.point-0>span:last-child,.story-point.point-2>span:last-child{position:absolute;right:35px}
.story-point.point-1>span:last-child{position:absolute;left:35px}
.story-stage-title{z-index:1}.story-pin{flex:none}
}

.story-endpoint{opacity:0;fill:#264c3d;stroke:#264c3d;stroke-width:3;vector-effect:non-scaling-stroke}.story-endpoint.start{fill:#f7f6ef}
.landing-story .hero-copy{min-width:0}
@media(max-width:380px){
.landing-story .hero h1{font-size:clamp(2rem,12vw,2.5rem)}
.story-canvas{aspect-ratio:2/3}
.story-stage-title h2{font-size:2rem}
.story-stage-title .eyebrow{font-size:.54rem;letter-spacing:.12em}
}
/* Long trail names need their own caption area on narrow hero posters. */
@media(max-width:740px){
  .landing-story .hero .route-poster{aspect-ratio:auto;max-height:none}
  .landing-story .hero .route-poster>img{height:clamp(230px,65vw,300px);padding:45px 20px 10px;object-fit:contain}
  .landing-story .hero .route-poster figcaption{position:static;margin:0 65px 22px 20px}
}
