.journey-heading{margin:6px 0 20px}.journey-heading>span,.journey-next>span{font-size:13px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#56717d}.journey-heading h2,.journey-closed h2{font:32px/1.2 Bourton,var(--font);margin:10px 0;color:#001a26}.journey-next{background:#fff;border:1px solid #dce6e9;border-radius:22px;padding:22px;margin-bottom:16px;box-shadow:0 8px 24px #001a2606}.journey-next h3{font:27px/1.2 Bourton,var(--font);margin:9px 0;color:#001a26}.journey-next p{font-size:17px;line-height:1.55;margin:8px 0;color:#385968}.journey-next small{color:#56717d;font-size:13px}.journey-distance{font-size:16px;font-weight:650;margin:10px 0;color:#294b59}.journey-distance b{font-size:39px;letter-spacing:-1px;margin-right:5px;color:#001a26;font-variant-numeric:tabular-nums}.journey-map{position:relative;border-radius:24px;background:#edf2ee;border:1px solid #d8e3df;overflow:hidden;height:390px;margin:0 0 12px}.journey-map-svg{width:100%;height:100%;touch-action:none;cursor:grab}.journey-map-svg:active{cursor:grabbing}.map-features path{vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.map-water{fill:#bad8e2;stroke:#a8cad8;stroke-width:1}.map-glacier{fill:#dae8ee;stroke:#baceD9;stroke-width:1}.map-river{fill:none;stroke:#a9cedb;stroke-width:1.5}.map-road{fill:none;stroke:#d0d7d1;stroke-width:1.1}.map-major{stroke:#fff;stroke-width:3}.map-route-halo,.map-route{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map-route-halo{stroke:#fff;stroke-width:7}.map-route{stroke:#bd2635;stroke-width:3.5}.map-stop circle{fill:#001a26;stroke:#fff;stroke-width:.16}.map-stop text{font-size:.95px;font-weight:750;fill:#001a26;paint-order:stroke;stroke:#f7faf8;stroke-width:.24px;stroke-linejoin:round}.map-road-label{font-size:.7px;font-weight:750;fill:#627a74;paint-order:stroke;stroke:#edf2ee;stroke-width:.18px}.map-location circle{fill:#326a90;stroke:white;stroke-width:.12}.map-location .map-location-ring{fill:#4688b133;stroke:#4688b166;stroke-width:.05}.journey-map-tools{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:5px}.journey-map-tools button{width:44px;height:44px;border:1px solid #d7e1e4;background:#fffffff5;border-radius:12px;font-size:25px;color:#001a26;box-shadow:0 2px 9px #001a260b}.journey-attribution{position:absolute;bottom:0;right:0;padding:5px 8px;font-size:10px;background:#fffffff2;color:#355866;line-height:1.3}.journey-local-status{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;font-weight:650;color:#486672;line-height:1.5;margin-bottom:18px}.journey-local-status span{flex:1;min-width:120px}.journey-privacy{font-size:14px;line-height:1.55;color:#486672;margin:12px 0 8px}.journey-connection{font-size:14px;color:#865a25;line-height:1.5}.journey-stops{list-style:none;padding:0;margin:28px 0}.journey-stops li{display:flex;gap:14px;border-top:1px solid #dce6e9;padding:20px 0}.journey-stops li>span{flex:0 0 34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e5eef1;font-weight:750;color:#345566}.journey-stops b{font-size:19px}.journey-stops p{font-size:16px;color:#486672;line-height:1.55;margin:8px 0 0}.journey-closed{padding:20px 0;text-align:center}.journey-closed p{font-size:18px;color:#486672;line-height:1.6}.journey-review{text-decoration:none;display:flex;justify-content:center;align-items:center;margin-top:26px}.journey-follow{margin:20px 0}.journey-demo-label{font-size:13px;color:#7a4b2d;background:#fff3db;padding:10px 14px;border-radius:12px}.journey-demo-controls{padding:16px;border:1px dashed #a6bbc4;border-radius:16px;margin:20px 0}.journey-demo-controls summary{font-weight:700;cursor:pointer}.journey-demo-controls>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.journey-demo-controls button{min-height:44px;padding:10px 13px;border:1px solid #c8d8df;border-radius:9px;background:white;color:#001a26;font-size:14px;font-weight:650}body[data-flow-step=journey] .app-footer,body[data-flow-step=journey] #progress{display:none}body[data-flow-step=journey] .flow-header{margin-bottom:10px}.journey-resume-message{font-size:17px;line-height:1.6;color:#385968}.journey-season-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.journey-season-option{position:relative;cursor:pointer}.journey-season-option input{position:absolute;top:18px;right:18px;accent-color:var(--staff-accent);width:20px;height:20px}.journey-season-option>span{display:flex;flex-direction:column;gap:14px;padding:24px 50px 24px 24px;border:1px solid var(--line);border-radius:18px;background:var(--staff-surface)}.journey-season-option strong{font-size:22px}.journey-season-option i{font-size:24px;color:var(--staff-accent)}.journey-season-option b{font-size:17px}.journey-season-option small{font-size:15px;line-height:1.5;color:var(--muted)}.journey-season-option input:checked+span{border-color:var(--staff-accent);box-shadow:0 0 0 1px var(--staff-accent);background:var(--staff-soft)}.journey-season-option input:focus-visible+span{outline:3px solid var(--staff-accent);outline-offset:3px}@media(max-width:600px){.journey-map{height:360px}.journey-next{padding:20px}.journey-season-options{grid-template-columns:1fr}.journey-heading h2{font-size:30px}}
/* Compact journey: the route and one expanded stop share a single mobile screen. */
body[data-flow-step=journey] .experience{height:calc(100dvh - 24px);min-height:0}
body[data-flow-step=journey] .app-area{height:100%;min-height:0;display:flex;flex-direction:column}
body[data-flow-step=journey] .workspace{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;padding:0 20px max(10px,env(safe-area-inset-bottom))}
body[data-flow-step=journey] .mobile-header{padding-top:8px;flex-shrink:0}
body[data-flow-step=journey] .mobile-header img{width:112px}
body[data-flow-step=journey] .flow-header{position:absolute;right:max(20px,calc((100vw - 510px)/2));top:28px;min-height:36px;margin:0}
body[data-flow-step=journey] .flow-caption{display:none}
body[data-flow-step=journey] #view{flex:1;min-height:0;display:flex;flex-direction:column;padding-top:10px;gap:10px}
.journey-heading{display:flex;align-items:center;justify-content:space-between;margin:0;flex-shrink:0}
.journey-heading h2{font-size:27px;margin:0;line-height:1.2}.journey-heading>div>span{font-size:13px;color:#56717d;font-weight:700}
.journey-info-button{border:1px solid #cfdae0;border-radius:50%;background:transparent;color:#294b59;width:44px;height:44px;font-size:26px}
.journey-map{height:auto;flex:1;min-height:150px;margin:0;border-radius:20px}
.journey-next{padding:0;margin:0;border-radius:18px;flex-shrink:0;overflow:hidden;box-shadow:none}
.journey-stop+.journey-stop{border-top:1px solid #e2e8eb}
.journey-stop-toggle{display:flex;gap:10px;align-items:center;width:100%;min-height:48px;padding:8px 14px;border:0;background:transparent;color:#385968;text-align:left}
.journey-stop-number{display:grid;place-items:center;border-radius:50%;width:28px;height:28px;background:#eaf0f3;color:#486672;font-size:14px;font-weight:800;flex-shrink:0}
.journey-stop-name{flex:1;min-width:0}.journey-stop-name b{display:block;font-size:17px;line-height:1.25}.journey-stop-name small{display:block;color:#a42636;font-size:12px;line-height:1.4;font-weight:750}
.journey-stop-meta{font-size:17px;font-weight:800;white-space:nowrap;color:#294b59}.journey-stop.is-current .journey-stop-number{background:#001a26;color:white}
.journey-stop.is-current{background:#f3f7f8}.journey-stop-content{padding:0 14px 12px 52px}.journey-stop-content[hidden]{display:none}
.journey-stop-content p{font-size:16px;line-height:1.4;margin:0;color:#385968}
.journey-driving-open{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;background:#001a26;border:0;color:white;border-radius:12px;padding:12px;margin-top:10px;font-weight:700;font-size:16px;min-height:48px;text-align:left}
#journey-location{min-height:48px;flex-shrink:0;margin:0;font-size:17px;padding:10px 14px}
.journey-connection{margin:0;flex-shrink:0;font-size:13px}.journey-connection:empty{display:none}
.journey-dialog{width:min(550px,100%);max-width:550px;max-height:calc(100dvh - 28px);padding:0;border-radius:22px;background:#f8fafb;box-shadow:0 20px 80px #001a2650}
.journey-dialog[open]{display:flex;flex-direction:column}.journey-dialog header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid #dae4e8;flex-shrink:0;background:#fff}.journey-dialog header h2{font:23px/1.2 Bourton,var(--font);margin:0}.journey-dialog header button{width:44px;height:44px;border:0;border-radius:50%;font-size:28px;background:#eaf0f3;color:#001a26;flex-shrink:0}
.journey-dialog-body{padding:18px 20px;overflow:auto;overscroll-behavior:contain;min-height:0}.journey-dialog-body h3{font-size:20px;line-height:1.4;margin:12px 0}.journey-dialog-body p{font-size:17px;line-height:1.55;color:#385968;white-space:pre-line}.journey-lesson-count{font-weight:800;color:#a42636}.journey-lesson-images{display:flex;gap:8px;justify-content:center}.journey-lesson-images img{max-height:190px;min-width:0;max-width:100%;object-fit:contain;flex:1}.journey-dialog footer{display:flex;gap:12px;padding:14px 20px;border-top:1px solid #dae4e8;background:#fff}.journey-dialog footer button{flex:1;min-height:48px;border:1px solid #cfdae0;border-radius:12px;background:white;color:#001a26;font-weight:750;font-size:16px}.journey-dialog footer button:last-child{background:#001a26;color:white}.journey-local-status{display:grid;gap:8px;font-size:15px;margin:0}
@media(max-height:700px){body[data-flow-step=journey] #view{gap:7px;padding-top:6px}.journey-heading h2{font-size:24px}.journey-stop-content p{font-size:15px}.journey-stop-content{padding-bottom:8px}.journey-stop-toggle{min-height:44px;padding-top:6px;padding-bottom:6px}.journey-map{min-height:120px}}
@media(max-height:570px){body[data-flow-step=journey] .experience{height:auto;min-height:calc(100dvh - 24px)}.journey-map{flex:none;height:200px}}
body[data-flow-step=journey] .experience{height:calc(100dvh - 25px)}
.journey-live-summary{margin:0;text-align:center;font-size:13px;line-height:1.3;color:#486672;flex-shrink:0}
.journey-stop-content:not([hidden]){animation:journeyReveal .2s ease-out}@keyframes journeyReveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.journey-stop-content:not([hidden]){animation:none}}
body[data-flow-step=journey] #view>section[data-step=journey]{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}
@media(max-height:570px){body[data-flow-step=journey] #view>section[data-step=journey]{min-height:0}}

@media(max-height:700px){.journey-map-tools{display:grid;grid-template-columns:44px 44px;gap:5px;top:8px;right:8px}}

.journey-route-distance{position:absolute;left:12px;right:74px;bottom:26px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 14px;border:1px solid #dce6e9;border-radius:16px;background:#fffffff5;box-shadow:0 5px 20px #001a2615;color:#001a26;pointer-events:none}.journey-route-distance>div{flex:1;min-width:0}.journey-route-distance span{display:block;font-size:12px;font-weight:750;line-height:1.4;color:#56717d}.journey-route-distance b{display:block;font-size:16px;line-height:1.25}.journey-route-distance>strong{font-size:27px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.journey-route-distance strong small{font-size:14px;font-weight:650}.journey-distance-hint{flex:0 0 100%;font-size:12px;line-height:1.35;color:#56717d}.journey-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.journey-bottom .journey-live-summary{text-align:left;flex:1;font-size:12px}.journey-return-form{border:0;background:none;color:#486672;font-size:13px;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:4px 0;max-width:58%;flex-shrink:0}.journey-popup-label{display:block;font-size:13px;font-weight:750;color:#6b4b8b;margin-bottom:8px}.journey-tourist-popup header{background:#f6f2fa}.journey-tourist-popup .journey-dialog-body{font-size:17px;line-height:1.6}.journey-tourist-popup img{max-width:100%;height:auto;border-radius:12px}.journey-tourist-popup footer button{min-height:50px}.journey-tourist-popup::backdrop{background:#001a2670;backdrop-filter:blur(4px)}

/* Photo-led route cards */
body[data-flow-step=journey] .workspace #view{overflow:auto;padding-bottom:14px}
body[data-flow-step=journey] #view>section[data-step=journey]{flex:0 0 auto}
body[data-flow-step=journey] #view>section[data-step=journey]{gap:14px}
.journey-cards-layout{display:grid;gap:14px;align-items:start;min-width:0}
.journey-route-card{min-width:0;padding:14px;background:#fff;border:1px solid #d8e2e6;border-radius:18px}
.journey-route-card .journey-live-summary{text-align:left;margin-bottom:10px}
.journey-stop-nav{display:flex;flex-wrap:wrap;gap:5px}
.journey-stop-nav button{display:flex;align-items:center;gap:5px;min-height:42px;padding:5px 8px;text-align:left;background:#f1f5f6;border:1px solid transparent;border-radius:9px;color:#132c39;font:inherit;font-size:.8rem;font-weight:700}
.journey-stop-nav button span{flex:none;font-size:.72rem}
.journey-stop-nav button[aria-current]{color:#a42636;background:#faedf0;border-color:#ead1d6}
.journey-route-overview{margin-top:10px;border-top:1px solid #d8e2e6;padding-top:9px}
.journey-route-overview summary{cursor:pointer;font-size:.86rem;font-weight:700}
.journey-route-overview .journey-map{height:280px;margin:9px 0 0}
.journey-next.journey-stop-feed{display:grid;gap:12px;padding:0;background:none;border:0;box-shadow:none;overflow:visible;margin:0}
.journey-step-card{overflow:hidden;background:#fff;border:1px solid #d8e2e6;border-radius:18px;scroll-margin:12px}
.journey-step-card.is-current{border-color:#d8a7b0}
.journey-step-photo,.journey-dialog-body .journey-step-photo{display:block;width:100%;max-width:none;aspect-ratio:1.82;height:auto;object-fit:cover;margin:0}
.journey-step-copy{padding:15px 17px 17px}
.journey-step-card h3{font:750 clamp(1.2rem,3.5vw,1.6rem)/1.16 var(--font,system-ui);letter-spacing:-.025em;margin:0;color:#132c39}
.journey-step-card .journey-rich-output p{margin:7px 0 0;font-size:.95rem;line-height:1.5}
.journey-step-status{display:inline-block;margin-bottom:8px;padding:2px 8px;border-radius:5px;background:#faedf0;color:#a42636!important;font-weight:750}
.journey-step-card.is-past{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px}
.journey-step-card.is-past h3{font-size:.95rem;letter-spacing:0}
.journey-step-check{color:#176b4e;background:#e4f2eb;border-radius:50%;width:23px;height:23px;flex:none;display:grid;place-items:center;font-weight:800}
@media(min-width:850px){.journey-cards-layout{grid-template-columns:minmax(0,1fr) minmax(230px,.52fr)}.journey-route-card{grid-column:2;grid-row:1;position:sticky;top:12px}.journey-stop-feed{grid-column:1;grid-row:1}}

.journey-heading-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.journey-map-button{min-height:44px;padding:6px 12px;border:1px solid #cfdae0;border-radius:11px;background:#fff;color:#132c39;font:inherit;font-size:.85rem;font-weight:700}
.journey-next.journey-timeline{display:block;position:relative;padding-left:22px}
.journey-timeline::before{content:"";position:absolute;left:7px;top:22px;bottom:24px;width:2px;background:#d6e2e6}
.journey-timeline .journey-step-card{position:relative;overflow:visible}
.journey-timeline .journey-step-card::before{content:"";position:absolute;left:-21px;top:16px;width:12px;height:12px;box-sizing:border-box;border:2px solid #f0f4f5;border-radius:50%;background:#68818d}
.journey-timeline .journey-step-card.is-current::before{background:#a42636}
.journey-timeline .journey-step-card.is-past::before{background:#176b4e}
.journey-timeline .journey-step-photo{border-radius:17px 17px 0 0}
.journey-connector{padding:9px 0}
.journey-leg-distance{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 8px;padding:8px 10px;border-radius:10px;background:#faedf0;color:#8d2435;font-size:.87rem}
.journey-leg-distance[hidden]{display:none}
.journey-leg-distance strong{font-size:1.02rem;font-variant-numeric:tabular-nums}
.journey-leg-distance small{font-size:.75rem}
.journey-story-group{margin-top:5px;color:#385968}
.journey-story-group summary{min-height:44px;align-content:center;cursor:pointer;font-size:.88rem;font-weight:700}
.journey-story-group ul{list-style:none;margin:0;padding:0 0 0 8px}
.journey-story-group li button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;width:100%;padding:5px 8px;text-align:left;border:0;border-bottom:1px solid #d6e2e6;background:transparent;color:#132c39;font:inherit;font-size:.88rem}
.journey-map-dialog .journey-map{height:min(56dvh,420px);min-height:160px}
.journey-map-dialog .journey-map-gps{margin:0 0 8px;font-size:.85rem}
@media(max-width:420px){.journey-heading{flex-wrap:wrap}.journey-heading-actions{margin-left:auto}.journey-map-button{padding-inline:8px}}

.journey-gallery{position:relative;touch-action:pan-y pinch-zoom}
.journey-gallery-controls{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;padding:0 6px;pointer-events:none}
.journey-gallery-controls button{pointer-events:auto;display:grid;place-items:center;width:44px;height:48px;padding:0;color:white;background:transparent;border:0;border-radius:10px;box-shadow:none;cursor:pointer}
.journey-gallery-controls button::before{content:"";grid-area:1/1;width:34px;height:42px;border-radius:10px;background:#001a265c;transition:background-color .15s ease}
.journey-gallery-controls button::after{content:"";grid-area:1/1;width:10px;height:10px;border-block-start:2px solid currentColor;border-inline-end:2px solid currentColor;transform:translateX(-2px) rotate(45deg)}
.journey-gallery-controls button[data-photo-direction="-1"]::after{transform:translateX(2px) rotate(225deg)}
.journey-gallery-controls button:is(:hover,:focus-visible)::before{background:#001a26a6}
.journey-gallery-controls button:focus-visible{outline:2px solid white;outline-offset:-3px}


.journey-map-preview{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:1px solid #d8e3df;border-radius:12px;background:#edf2ee;cursor:pointer}
.journey-map-thumbnail{display:block;height:110px;pointer-events:none}
.journey-map-thumbnail .journey-map-svg{display:block;width:100%;height:100%;touch-action:auto}
.journey-map-thumbnail .map-stop text{display:none}
.journey-map-expand{position:absolute;top:8px;right:8px;padding:6px 9px;border-radius:8px;background:#fff;color:#132c39;font:inherit;font-size:.78rem;font-weight:750;box-shadow:0 1px 5px #001a2620}
.journey-next .journey-map-credit{display:block;margin:3px 0 6px;text-align:right;font-size:.63rem}
@media(max-width:640px){
 .journey-map-dialog{box-sizing:border-box;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0}
 .journey-map-dialog[open]{display:flex;flex-direction:column}
 .journey-map-dialog .journey-dialog-body{flex:1;min-height:0;display:flex;flex-direction:column}
 .journey-map-dialog .journey-map{flex:1;height:auto;min-height:0}
}

.journey-return-tracking{text-align:start;margin:16px 0;padding:12px}
