/* Preview 27: route, arrival, memory. */
.journey-section{padding:90px 0 55px;background:linear-gradient(135deg,#08242e,#04121d);border-block:1px solid var(--line)}
.journey-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.journey-narrative article{min-height:46vh;display:flex;flex-direction:column;justify-content:center;padding:45px 0;max-width:340px}.journey-number{color:var(--gold);font-size:13px;letter-spacing:.13em}.journey-narrative h3{font:38px/1.12 'DM Serif Display',Georgia,serif;margin:20px 0 15px}.journey-narrative p{color:var(--muted);font-size:17px;line-height:1.7;margin:0}.journey-sticky{position:sticky;top:35px;min-width:0}.journey-controls{display:flex;gap:8px;margin-bottom:16px}.journey-controls button{flex:1;border:1px solid #42616e;background:transparent;color:var(--muted);min-height:46px;border-radius:25px;font-size:14px;padding:10px 8px}.journey-controls button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.journey-stage{position:relative;padding:28px;background:#071c26;border:1px solid #49616a;border-radius:18px;box-shadow:0 25px 70px #0004;overflow:hidden}.journey-stage-top{display:flex;justify-content:space-between;gap:15px;font-size:12px;letter-spacing:.1em;color:var(--gold)}.journey-route{display:flex;position:relative;justify-content:space-between;padding:34px 0 22px;isolation:isolate}.journey-line{position:absolute;inset:5px 0 auto;width:100%;height:108px;z-index:-1;overflow:visible}.journey-line path{fill:none;stroke-width:1.5}.route-track{stroke:#355762}.route-trace{stroke:var(--gold);stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1.5s cubic-bezier(.2,.65,.3,1)}.journey-stage.is-visible[data-scene="0"] .route-trace{stroke-dashoffset:1}.journey-stage.is-visible[data-scene="1"] .route-trace{stroke-dashoffset:.5}.journey-stage.is-visible[data-scene="2"] .route-trace{stroke-dashoffset:0}.journey-stop{width:25%;text-align:center}.journey-stop>span{display:grid;place-items:center;margin:auto auto 15px;width:42px;height:42px;border-radius:50%;background:#0d2b36;border:1px solid var(--gold);color:var(--gold);font-size:14px;transition:background .4s,color .4s,box-shadow .4s}.journey-stop strong{font:20px/1.2 'DM Serif Display',Georgia,serif;color:var(--cream)}
.journey-arrival{display:flex;align-items:center;gap:14px;padding:16px 0;border-block:1px solid var(--line)}.arrival-check{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:#163540;color:#6c8994;font-size:23px;transition:background .3s,color .3s,transform .3s}.journey-arrival div>span,.journey-note>span{display:block;font-size:12px;letter-spacing:.09em;color:var(--gold);margin-bottom:6px}.journey-arrival strong{font-size:17px;color:var(--cream)}.journey-memory{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:center;min-height:215px;padding-top:20px}.journey-stamp{position:relative;isolation:isolate}.journey-stamp img{display:block;width:100%;height:auto;max-height:170px;filter:grayscale(1);opacity:.22;transform:rotate(-7deg) scale(.9);transition:opacity .4s,filter .4s}.journey-note strong{font:28px/1.1 'DM Serif Display',Georgia,serif;color:var(--cream)}.journey-note p{font-size:14px;line-height:1.5;color:var(--muted);margin:12px 0 4px}.journey-note small{font-size:12px;color:#98b1bd}.journey-caption{min-height:44px;margin:18px 0 0;font-size:14px;line-height:1.55;color:var(--muted)}.journey-footnote{text-align:center;font-size:12px;color:#99afb9;margin:14px 0}
.journey-stage[data-scene="1"] .arrival-check,.journey-stage[data-scene="2"] .arrival-check{background:var(--gold);color:var(--ink)}.journey-stage[data-scene="1"] .journey-stop:first-of-type>span,.journey-stage[data-scene="2"] .journey-stop:first-of-type>span{background:var(--gold);color:var(--ink);box-shadow:0 0 0 7px #d4b07915}.journey-stage[data-scene="2"] .journey-stamp img{opacity:1;filter:none;transform:rotate(-7deg) scale(1);animation:passport-land .75s cubic-bezier(.2,.7,.2,1) both}.journey-stamp:after{content:'';position:absolute;inset:5%;border-radius:50%;box-shadow:0 0 40px #dfb76255;opacity:0;z-index:-1}.journey-stage[data-scene="2"] .journey-stamp:after{animation:stamp-radiance .9s ease-out both}
@keyframes passport-land{0%{transform:translateY(-28px) rotate(-15deg) scale(1.2);opacity:0}48%{transform:translateY(3px) rotate(-5deg) scale(.94);opacity:1}72%{transform:translateY(-3px) rotate(-8deg) scale(1.025)}100%{transform:rotate(-7deg) scale(1);opacity:1}}
@keyframes stamp-radiance{0%{opacity:0;transform:scale(.6)}35%{opacity:1}100%{opacity:0;transform:scale(1.3)}}
.collection-complete{padding:25px 30px;border:1px solid var(--gold);background:#d4b0790d;margin:28px 0;text-align:center;animation:chapter-in .5s ease both}.collection-complete[hidden]{display:none}.collection-complete>span{font-size:12px;color:var(--gold);letter-spacing:.15em}.collection-complete strong{display:block;font:32px/1.2 'DM Serif Display',Georgia,serif;margin:10px 0}.collection-complete em{font-style:normal;color:var(--amber)}.collection-complete p{color:var(--muted);font-size:15px;margin:0}.collectible:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#ffe5a833 50%,transparent 65%);opacity:0;pointer-events:none;transform:translateX(-50%)}.collectible[aria-pressed=true]:after{animation:collect-shimmer .8s ease-out both}.collectible{overflow:hidden}.collectible[aria-pressed=true] img{animation:stamp-hit .65s cubic-bezier(.2,.75,.2,1)}@keyframes collect-shimmer{10%{opacity:0}30%{opacity:1}100%{opacity:0;transform:translateX(50%)}}
.venue-summary{max-width:430px;font-size:17px;line-height:1.7;color:var(--muted)}.community-beats>div{padding:15px 0}.sherpa-story,.community-story,.venue-story,.passport-story,.features{padding-block:75px}.text-button{min-height:44px;font-size:14px}.motion-toggle{min-height:44px}.story-copy h2,.section-heading h2,.feature-heading h2,.closing h2{text-wrap:balance}.story-layout>*{min-width:0}
@media(min-width:901px) and (min-height:760px){.journey-sticky{top:65px}}
@media(max-width:900px),(max-height:759px){.journey-layout{grid-template-columns:1fr;gap:25px}.journey-sticky{position:static;max-width:620px;width:100%;margin:auto}.journey-narrative{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.journey-narrative article{min-height:0;padding:10px 0 20px;max-width:none}.journey-narrative h3{font-size:26px}.journey-narrative p{font-size:15px}.journey-enhanced .journey-narrative{display:none}}
@media(max-width:700px){.journey-section{padding:60px 0 45px}.journey-layout{gap:0}.journey-stage{padding:20px 16px}.journey-stage-top{font-size:10px;letter-spacing:.06em}.journey-controls{gap:6px}.journey-controls button{font-size:13px}.journey-stop strong{font-size:18px}.journey-memory{gap:15px;min-height:200px}.journey-note strong{font-size:25px}.journey-note p{font-size:14px}.journey-caption{min-height:66px}.journey-arrival strong{font-size:16px}.journey-narrative{display:block}.journey-section h2{font-size:clamp(36px,10vw,45px)}.sherpa-story,.community-story,.venue-story,.passport-story,.features{padding-block:55px}.hero h1{font-size:clamp(44px,11.5vw,75px)}.story-copy h2,.section-heading h2,.feature-heading h2,.cities-editorial-heading h2,.closing h2{font-size:clamp(35px,10vw,46px)}.mood,.widget-tabs button,.prompt-picks button{font-size:14px;min-height:44px}.stamp-shelf{gap:16px 10px}.collectible img{height:auto;aspect-ratio:1;max-height:180px}.stamp-name{font-size:18px}.stamp-state{font-size:12px;letter-spacing:.08em}.collection-complete{padding:22px 16px}.collection-complete strong{font-size:27px}.hero-product .phone{max-width:80vw}.story-phone{max-width:min(270px,90%)}.motion-toggle{bottom:max(10px,env(safe-area-inset-bottom));font-size:12px}.journey-memory img{max-height:155px}.nav nav a{min-height:44px;display:inline-flex;align-items:center}}
.motion-paused .journey-stage *,.motion-paused .journey-stage *:after,.motion-paused .collection-complete,.motion-paused .collectible:after{animation:none!important;transition:none!important}.motion-paused .journey-stage .route-trace{stroke-dashoffset:0}.motion-paused .journey-stage[data-scene="2"] .journey-stamp img{opacity:1;transform:rotate(-7deg)}
@media(prefers-reduced-motion:reduce){.journey-stage *,.journey-stage *:after,.collection-complete,.collectible:after{animation:none!important;transition:none!important}.journey-stage .route-trace{stroke-dashoffset:0}}
/* Venue photography uses photo-only windows from the existing app previews.
   Number badges remain separate from the photos for clear route order. */
.journey-stop>.journey-venue-photo{position:relative;width:76px;height:76px;border:2px solid var(--gold);background:#0d2b36;padding:4px;margin-bottom:18px;box-shadow:0 0 0 5px #071c26}
.venue-photo-window{display:block;width:100%;height:100%;border-radius:50%;background-repeat:no-repeat;background-color:#183039}
.venue-copper .venue-photo-window{background-image:url('assets/explore-fictional-scores.webp');background-size:284.33% auto;background-position:52.44% 34.33%}
.venue-velvet .venue-photo-window{background-image:url('assets/community-source-preview-fictional.webp');background-size:609.29% auto;background-position:15.43% 33.74%}
.venue-lantern .venue-photo-window{background-image:url('assets/map-fictional-scores.webp');background-size:319.48% auto;background-position:6.48% 80.47%}
.journey-stop-number{position:absolute;bottom:-6px;right:-6px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px solid #071c26;background:var(--gold);color:var(--ink);font:600 12px/1 Inter,Arial,sans-serif}
.journey-line{top:22px}.journey-stage[data-scene="1"] .journey-stop:first-of-type>.journey-venue-photo,.journey-stage[data-scene="2"] .journey-stop:first-of-type>.journey-venue-photo{box-shadow:0 0 0 5px #071c26,0 0 0 7px var(--gold)}
@media(max-width:700px){.journey-stop>.journey-venue-photo{width:60px;height:60px;padding:3px}.journey-line{top:14px}.journey-stop-number{width:24px;height:24px;font-size:12px}.journey-route{padding-top:34px}}
/* Center brand marks in the mobile header and footer. */
@media(max-width:700px){
 .masthead .nav{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;height:auto;min-height:0;gap:16px;padding-top:20px;padding-bottom:16px}
 .masthead .nav>a:first-child{grid-column:1;grid-row:1;justify-self:center;display:block}
 .masthead .nav .approved-logo{width:95px;margin-inline:auto}
 .masthead .nav>.store-badge{grid-column:1;grid-row:2;justify-self:center;margin:0}
 .masthead .nav>nav{grid-column:1;grid-row:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:0 10px;justify-items:center}
 .masthead .nav>nav a{justify-content:center;text-align:center;white-space:nowrap;min-height:44px}
 .footer-top{flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;text-align:center;gap:24px}
 .footer-top>a:first-child{display:block;align-self:center;margin-inline:auto}
 .footer-top .approved-logo{margin-inline:auto}
 .footer-top .social-links{justify-content:center;align-self:center;flex-wrap:wrap}
}

/* The route advances with the three journey scenes. */
.journey-stage.is-visible[data-scene="0"] .journey-stop:first-of-type>.journey-venue-photo,
.journey-stage[data-scene="1"] .journey-stop:nth-of-type(2)>.journey-venue-photo,
.journey-stage[data-scene="2"] .journey-stop>.journey-venue-photo{box-shadow:0 0 0 5px #071c26,0 0 0 7px var(--gold)}
.motion-paused .journey-stage.is-visible .route-trace{transition:none!important}
@media(prefers-reduced-motion:reduce){.journey-stage.is-visible .route-trace{transition:none!important}}
