/* Direction: one warm travel planner, with a continuous sage route and dossier.
   Colour roles: evergreen for reading/actions, rust for selection, paper for details.
   The duplicated mobile mini-route recedes so the draggable plane remains primary.
   Direction: the existing editorial guide, with a tactile route.
   Motion: restrained and responsive, never running unattended.
   Signature: a directly held plane and a quiet landing.
   Support: destination preview, focus and active stop feedback.
   Stack: CSS/SVG with bounded native requestAnimationFrame. */
.journey-interactive .section-heading{margin-bottom:20px}
.journey-drag-hint{display:flex;align-items:baseline;justify-content:space-between;gap:14px 28px;max-width:none;padding:20px 24px 0;background:var(--sage);border-top:1px solid var(--line);font-size:14px;color:var(--ink);line-height:1.6}
.journey-drag-hint span{font-size:12px;color:var(--muted)}
.journey-route{height:152px;background:var(--sage);position:relative;margin:0;overflow:visible;isolation:isolate}
.journey-route-drawing{display:block;width:100%;height:100%;overflow:visible;fill:none}
.journey-route-drawing path{vector-effect:non-scaling-stroke;stroke-width:1.7}
#journey-track{stroke:#a3afa1;stroke-dasharray:2 8;stroke-linecap:round}
#journey-trail{stroke:var(--rust);stroke-width:2;stroke-linecap:round}
.journey-route-drawing ellipse{fill:var(--paper);stroke:var(--ink);stroke-width:1.5;vector-effect:non-scaling-stroke;transition:fill .18s,stroke .18s}
.journey-interactive[data-stage="0"] .journey-route-drawing ellipse:nth-of-type(1),.journey-interactive[data-stage="1"] .journey-route-drawing ellipse:nth-of-type(2),.journey-interactive[data-stage="2"] .journey-route-drawing ellipse:nth-of-type(3){fill:var(--rust);stroke:var(--rust)}
.journey-traveller{position:absolute;z-index:2;left:0;top:0;width:60px;height:60px;margin:-30px 0 0 -30px;padding:0;border:0;border-radius:50%;background:none;pointer-events:auto;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;transform:translate3d(16.7vw,96px,0)}
.journey-plane{position:relative;width:100%;height:100%;display:grid;place-items:center;background:var(--white);border-radius:50%;box-shadow:0 5px 15px rgb(32 61 54 / .15);transform:scale(1);transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .18s;pointer-events:none}
.journey-plane img{display:block;width:40px;height:30px;max-width:none;pointer-events:none;-webkit-user-drag:none}
.journey-traveller:focus-visible{outline:2px solid var(--rust);outline-offset:6px}
.journey-traveller:disabled{cursor:default;opacity:1;pointer-events:none}
.is-travelling .journey-plane{transform:scale(1.06) rotate(var(--journey-bank,0deg));box-shadow:0 9px 21px rgb(32 61 54 / .18)}
.is-dragging .journey-traveller{cursor:grabbing;will-change:transform}
.is-travelling .journey-traveller{will-change:transform}
.is-dragging .journey-plane{background:var(--paper);transform:scale(1.12) rotate(var(--journey-bank,0deg));box-shadow:0 12px 25px rgb(32 61 54 / .22)}
.is-arriving .journey-plane{animation:journey-land .45s var(--ease) both}
@keyframes journey-land{0%{transform:scale(1.06)}45%{transform:scale(.97)}100%{transform:scale(1)}}
.journey-stops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--sage);border-bottom:1px solid var(--line);gap:0}
.journey-stop{position:relative;border:0;background:none;padding:0 12px 23px;display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.4;gap:7px;font-size:20px;min-height:106px;color:var(--muted);transition:color .18s,background .18s}
.journey-stop-number{font-size:12px;font-variant-numeric:tabular-nums;display:grid;place-items:center;min-width:27px;min-height:27px;border:1px solid transparent;border-radius:50%;transition:border-color .18s,background .18s,color .18s}
.journey-stop small{font-size:12px;font-weight:400}
.journey-stop::after{position:absolute;content:"";height:2px;bottom:-1px;left:20px;right:20px;transform:scaleX(0);background:var(--rust);transition:transform .2s ease}
.journey-stop[aria-selected=true]{color:var(--ink);background:var(--white)}
.journey-stop[aria-selected=true]::after{transform:scaleX(1)}
.journey-stop[aria-selected=true] .journey-stop-number{color:var(--paper);background:var(--ink)}
.journey-stop.is-near{color:var(--ink);background:var(--paper)}
.journey-stop.is-near .journey-stop-number{border-color:var(--rust)}
.is-dragging .journey-drag-hint{color:var(--ink)}
.journey-stop-guide{display:grid;grid-template-columns:.85fr 1.7fr;gap:60px;margin-top:38px;padding:37px 42px 32px;background:var(--sage)}
.journey-guide-side{display:flex;flex-direction:column;align-items:flex-start}
#journey-stage-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
#journey-stage-thought{font-family:var(--font-display);font-size:31px;line-height:1.3;letter-spacing:-.02em;margin-top:21px}
.journey-guide-side .text-link{font-size:12px;margin-top:32px;gap:10px}
.journey-guide-main{min-width:0}
.journey-interactive #journey-panel h3{font-size:32px;line-height:1.2;margin:0 0 17px}
.journey-interactive #journey-panel p{max-width:570px;font-size:14px;line-height:1.85;color:var(--muted)}
.journey-interactive #journey-panel ul{list-style:none;padding:0;margin:23px 0 20px;counter-reset:journey-action}
.journey-interactive #journey-panel li{counter-increment:journey-action;position:relative;margin:0;padding:11px 0 11px 27px;border-top:1px solid #bec5b7;color:var(--ink);font-size:13px;line-height:1.65}
.journey-interactive #journey-panel li::before{content:counter(journey-action);position:absolute;left:0;top:12px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.journey-interactive #journey-panel .journey-plan-note{font-size:12px;line-height:1.75}
.journey-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}
.journey-navigation .button{font-size:12px;min-height:48px;padding:12px 17px;gap:18px}
.journey-previous{display:flex;align-items:center;gap:9px;background:none;border:0;font-size:12px;min-height:44px;padding:8px 0}
.journey-previous .icon{transform:rotate(180deg);width:17px;height:17px}
.journey-continuity{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;max-width:none;color:var(--muted);font-size:12px;line-height:1.8;margin-top:23px}
.journey-continuity strong{font-weight:500;color:var(--ink)}
.journey-continuity a{margin-left:auto;border-bottom:1px solid var(--line);display:inline-flex;align-items:center;gap:7px;color:var(--ink)}
.journey-continuity .icon{width:14px;height:14px}
.journey-noscript{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;margin-top:30px}
.journey-noscript h3{font-family:var(--font-display);font-size:28px}.journey-noscript p{font-size:14px;color:var(--muted)}
@media(hover:hover){.journey-stop:hover{color:var(--ink)}.journey-stop:hover .journey-stop-number{border-color:var(--line)}.journey-previous:not(:disabled):hover{color:var(--rust)}.journey-traveller:not(:disabled):hover .journey-plane{background:var(--paper);transform:scale(1.08)}}
@media(max-width:1100px){.journey-stop-guide{gap:40px;padding:30px}#journey-stage-thought{font-size:28px}.journey-interactive #journey-panel h3{font-size:29px}.journey-continuity a{margin-left:0}}
@media(max-width:800px){.journey-stop{font-size:16px;padding-inline:0}.journey-stop-guide{grid-template-columns:.8fr 1.7fr;gap:28px;padding:26px}.journey-navigation{gap:12px}.journey-navigation .button{font-size:11px;padding-inline:13px;gap:9px}.journey-previous{font-size:11px}#journey-stage-thought{font-size:25px}.journey-guide-side .text-link{font-size:11px;line-height:1.6}}
@media(max-width:600px){.journey-interactive .section-heading{margin-bottom:10px}.journey-route{height:115px}.journey-plane{width:36px;height:36px}.journey-plane svg{width:23px;height:23px}.journey-stops{gap:11px}.journey-stop{gap:7px;font-size:13px;min-height:101px;padding:0 0 18px}.journey-stop small{font-size:11px;line-height:1.5;max-width:100px}.journey-stop-number{font-size:11px}.journey-stop::after{left:0;right:0}.journey-stop-guide{display:block;margin-top:26px;padding:25px 21px}.journey-guide-side{flex-direction:row;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.journey-guide-side .text-link{margin:0;font-size:11px;gap:7px}#journey-stage-thought{display:none}.journey-interactive #journey-panel h3{font-size:29px}.journey-interactive #journey-panel p{font-size:13px}.journey-interactive #journey-panel ul{margin-block:20px 16px}.journey-interactive #journey-panel li{font-size:12px;padding-block:10px}.journey-interactive #journey-panel .journey-plan-note{font-size:11px}.journey-navigation{margin-top:23px;gap:12px;flex-wrap:wrap;row-gap:10px}.journey-navigation .button{font-size:11px;gap:10px}.journey-previous{font-size:11px;gap:5px}.journey-continuity{font-size:11px;gap:3px 5px;margin-top:18px}.journey-continuity a{margin-top:7px}.journey-noscript{display:block}.journey-noscript h3{margin-top:25px}.journey-noscript p{margin-top:12px}}
@media(max-width:600px){.journey-drag-hint{display:block;padding-top:18px;font-size:13px}.journey-drag-hint span{display:block;margin-top:3px;font-size:11px}.journey-route{height:134px}.journey-traveller{width:56px;height:56px;margin:-28px 0 0 -28px}.journey-plane{width:100%;height:100%}.journey-plane img{width:37px;height:28px}.journey-stop{min-height:111px}.journey-stop-number{font-size:11px;min-height:25px;min-width:25px}}
@media(prefers-reduced-motion:reduce){.journey-stop,.journey-stop::after,.journey-stop-number,.journey-plane,.journey-route-drawing ellipse{transition:none}.is-arriving .journey-plane{animation:none}.is-dragging .journey-plane,.is-travelling .journey-plane{transform:none}}

/* The selected destination opens an editorial dossier. Detail tabs turn
   information into a small, visitor-controlled exploration, not a live tracker. */
.journey-details-ready .journey-stop-guide{grid-template-columns:.8fr 1.85fr;gap:0;margin-top:22px;padding:0;background:var(--white);border:1px solid var(--line)}
.journey-details-ready .journey-guide-side{padding:34px 30px;background:var(--sage);color:var(--ink);min-width:0}
.journey-details-ready #journey-stage-count{color:var(--muted)}
.journey-dossier-route{width:100%;max-width:280px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 4px;margin:26px 0 7px;color:var(--muted)}
.journey-dossier-route svg{display:block;grid-column:1/-1;width:100%;height:auto;overflow:visible;fill:var(--sage);stroke:#738a78;stroke-width:1.3}
.journey-dossier-route span{font-size:11px;line-height:1.5;text-align:center}
.journey-dossier-route span:first-of-type{text-align:left}
.journey-dossier-route span:last-of-type{text-align:right}
.journey-details-ready[data-stage="0"] .journey-dossier-route circle:nth-of-type(1),.journey-details-ready[data-stage="1"] .journey-dossier-route circle:nth-of-type(2),.journey-details-ready[data-stage="2"] .journey-dossier-route circle:nth-of-type(3){fill:var(--ink);stroke:var(--ink)}
.journey-details-ready[data-stage="0"] .journey-dossier-route span:nth-of-type(1),.journey-details-ready[data-stage="1"] .journey-dossier-route span:nth-of-type(2),.journey-details-ready[data-stage="2"] .journey-dossier-route span:nth-of-type(3){color:var(--ink);font-weight:500}
.journey-details-ready #journey-stage-thought{font-size:clamp(27px,2.3vw,34px);line-height:1.24;margin-top:30px;color:var(--ink)}
.journey-details-ready #journey-stage-thought>span{display:block}
.journey-details-ready .journey-guide-side .text-link{color:var(--ink);border-color:#738a78;margin-top:auto;padding-top:37px;font-size:12px;line-height:1.6}
.journey-details-ready .journey-guide-side .text-link:hover{color:var(--ink);border-color:var(--ink)}
.journey-details-ready .journey-guide-side .text-link:focus-visible{outline-color:var(--ink)}
.journey-details-ready .journey-guide-main{padding:36px 40px 27px}
.journey-details-ready #journey-panel h3{font-size:32px;margin-bottom:14px}
.journey-details-ready #journey-panel .journey-panel-lead{font-size:14px;line-height:1.75}
.journey-detail-intro{display:flex;justify-content:space-between;gap:15px;margin-top:28px;color:var(--muted);font-size:12px;line-height:1.5}
.journey-detail-count{font-variant-numeric:tabular-nums;white-space:nowrap}
.journey-moment-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.journey-moment-tabs button{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative;min-height:76px;padding:17px 12px;background:none;border:0;text-align:left;color:var(--muted);font-size:13px;line-height:1.5}
.journey-moment-tabs button:first-child{padding-left:12px}
.journey-moment-tabs button:last-child{padding-right:12px}
.journey-moment-tabs button:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;transform:scaleX(0);transform-origin:left;background:var(--rust);transition:transform .2s var(--ease)}
.journey-moment-tabs button[aria-selected=true]{color:var(--rust);background:var(--paper);font-weight:500}
.journey-moment-tabs button[aria-selected=true]:after{transform:scaleX(1)}
.journey-moment-tabs .icon{width:15px;height:15px;flex:none;margin-top:3px;transform:rotate(-45deg);transition:transform .2s var(--ease)}
.journey-moment-tabs button[aria-selected=true] .icon{transform:rotate(45deg)}
.journey-moment-tabs button:hover{color:var(--ink)}
.journey-moment-detail{padding-top:26px;min-height:247px}
.journey-moment-detail h4{font-family:var(--font-display);font-weight:400;font-size:25px;line-height:1.25;letter-spacing:-.02em;margin:0 0 13px;text-wrap:balance}
.journey-details-ready #journey-panel .journey-moment-detail>p{font-size:14px;line-height:1.75}
.journey-useful-question{margin-top:22px;padding:16px 18px;background:var(--paper);border:0}
.journey-useful-question>span{color:var(--muted);font-size:11px;line-height:1.5}
.journey-details-ready #journey-panel .journey-useful-question p{color:var(--ink);font-family:var(--font-display);font-size:19px;line-height:1.5;margin-top:6px}
.journey-details-ready #journey-panel .journey-plan-note{font-size:11px;line-height:1.75;margin-top:22px}
.journey-details-ready .journey-navigation{padding-top:20px;border-top:1px solid var(--line);margin-top:22px}
@media(max-width:1100px){.journey-details-ready .journey-guide-side{padding:30px 26px}.journey-details-ready .journey-guide-main{padding:30px}.journey-details-ready #journey-panel h3{font-size:29px}.journey-moment-tabs button{font-size:12px;padding-inline:9px;gap:6px}.journey-moment-detail{min-height:272px}}
@media(max-width:800px){.journey-details-ready .journey-stop-guide{grid-template-columns:.7fr 1.5fr}.journey-details-ready .journey-guide-main{padding:26px}.journey-details-ready .journey-guide-side{padding:28px 22px}.journey-details-ready #journey-stage-thought{font-size:27px}.journey-moment-tabs button{flex-direction:column;gap:7px;min-height:101px}.journey-moment-tabs .icon{margin:0}.journey-moment-detail{min-height:310px}.journey-dossier-route span{font-size:11px}.journey-details-ready #journey-panel .journey-useful-question p{font-size:18px}}
@media(max-width:600px){.journey-details-ready .journey-stop-guide{display:block}.journey-details-ready .journey-guide-side{display:grid;grid-template-columns:1fr auto;gap:0 20px;align-items:start;padding:23px 22px 25px;margin:0}.journey-details-ready #journey-stage-thought{display:block;grid-column:1/-1;font-size:27px;margin-top:23px;max-width:260px}.journey-details-ready #journey-stage-thought br{display:none}.journey-details-ready #journey-stage-thought br:after{content:" "}.journey-details-ready .journey-guide-side .text-link{grid-column:2;grid-row:1;padding-top:0;margin:0;font-size:11px}.journey-dossier-route{grid-column:1/-1;grid-row:3;max-width:none;margin:24px 0 0;gap:10px 4px}.journey-dossier-route svg{height:54px;width:100%}.journey-details-ready .journey-guide-main{padding:27px 22px 25px}.journey-details-ready #journey-panel h3{font-size:28px}.journey-details-ready #journey-panel .journey-panel-lead,.journey-details-ready #journey-panel .journey-moment-detail>p{font-size:13px}.journey-detail-intro{font-size:11px;margin-top:24px}.journey-moment-tabs button{font-size:12px;min-height:96px;padding-block:15px}.journey-moment-detail{min-height:293px;padding-top:25px}.journey-moment-detail h4{font-size:24px}.journey-details-ready #journey-panel .journey-useful-question p{font-size:18px}.journey-details-ready #journey-panel .journey-plan-note{margin-top:20px}.journey-details-ready .journey-navigation{margin-top:20px}.journey-details-ready .journey-navigation .button{font-size:11px;gap:7px;padding-inline:11px}}
@media(prefers-reduced-motion:reduce){.journey-moment-tabs button:after,.journey-moment-tabs .icon{transition:none}}
@media(max-width:600px){.journey-details-ready #journey-stage-thought>span{display:inline}}

/* Colour/design refinement: keep route, destination and detail visually connected. */
.journey-interactive .journey-stop:focus-visible,.journey-moment-tabs button:focus-visible{outline:2px solid var(--ink);outline-offset:-5px}
.journey-stop:hover[aria-selected=true]{color:var(--ink)}
.journey-moment-tabs button:hover:not([aria-selected=true]){background:var(--paper)}
@media(max-width:600px){
  .journey-drag-hint{padding:18px 16px 0}
  .journey-route{height:126px}
  .journey-stops{gap:0}
  .journey-stop{min-height:106px;padding-inline:5px}
  .journey-stop::after{left:10px;right:10px}
  .journey-details-ready .journey-stop-guide{margin-top:18px}
  .journey-details-ready .journey-guide-side{padding:22px}
  .journey-details-ready #journey-stage-thought{font-size:25px;max-width:none;margin-top:20px}
  .journey-details-ready .journey-dossier-route{display:none}
  .journey-details-ready .journey-guide-side .text-link{font-size:11px}
  .journey-details-ready .journey-guide-main{padding:26px 21px}
  .journey-moment-tabs button{min-height:96px;padding-inline:9px}
  .journey-moment-tabs button:first-child,.journey-moment-tabs button:last-child{padding-inline:9px}
  .journey-useful-question{padding:15px 14px}
}


/* The care partner stays visible across all three Back home topics. */
.journey-monitoring{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:start;gap:26px;margin-block:25px;padding-block:24px;border-block:1px solid var(--line)}
.journey-monitoring-brand{display:block;padding-block:7px;outline-offset:6px}
.journey-monitoring-brand img{display:block;width:100%;height:auto}
.journey-monitoring h4{font-family:var(--font-display);font-size:23px;font-weight:400;line-height:1.25;letter-spacing:-.02em;margin:0 0 10px;text-wrap:balance}
.journey-details-ready #journey-panel .journey-monitoring p,.journey-monitoring p{font-size:13px;line-height:1.75;margin:0;color:var(--muted)}
.journey-monitoring strong{font-weight:500;color:var(--ink)}
.journey-monitoring .text-link{font-size:12px;margin-top:14px;gap:12px;line-height:1.6}
.journey-monitoring .text-link .icon{width:16px;height:16px;flex-shrink:0}
.journey-monitoring a:focus-visible{outline:2px solid var(--rust);outline-offset:5px}
@media(max-width:1100px){.journey-monitoring{grid-template-columns:1fr;gap:19px}.journey-monitoring-brand{max-width:220px;padding-block:0}}
@media(max-width:600px){.journey-monitoring{margin-block:23px;padding-block:22px;gap:19px}.journey-monitoring-brand{max-width:210px}.journey-monitoring h4{font-size:23px}.journey-monitoring .text-link{font-size:12px;gap:10px}}
