/* How It Works — path journey section */
.path-journey{--brass:#94723e;position:relative;padding-top:35px;padding-bottom:100px;isolation:isolate;scroll-margin-top:35px}
.journey-heading{position:relative;padding:25px 0 58px;text-align:center}
.journey-heading>.eyebrow{margin-bottom:24px;color:var(--ink)}
.journey-heading h2{font-size:clamp(48px,5.7vw,82px);line-height:.99;letter-spacing:-.045em}
.journey-heading h2 em{color:var(--ink)}
.journey-compass{position:absolute;right:3%;top:8%;width:115px;opacity:.65;transform:rotate(-15deg)}
.journey-emblem{display:block;width:100%;height:auto;stroke:var(--brass);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.journey-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;position:relative;z-index:3}
.journey-toolbar nav{display:flex;width:min(580px,70%);justify-content:space-between;gap:12px}
.journey-toolbar a{display:flex;align-items:center;gap:15px;font-size:10px;letter-spacing:.08em;padding:6px 9px}
.journey-toolbar a i{width:5px;height:5px;border:1px solid var(--brass);border-radius:50%;transition:background .3s,box-shadow .3s}
.journey-toolbar a[aria-current="step"] i{background:var(--gold);box-shadow:0 0 0 5px #fac74c25}
.journey-toolbar a:hover{color:var(--brass)}
.journey-pause{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.03em;padding:8px 0 8px 12px;white-space:nowrap}
html:not(.js) .journey-pause{display:none}
.journey-terrain{position:relative;padding:30px 0 0}
.journey-terrain::before{content:"";position:absolute;inset:0 -4%;z-index:-2;background:radial-gradient(ellipse at 58% 16%,#fac74c18,transparent 35%),radial-gradient(ellipse at 40% 60%,#fae3b335,transparent 45%),radial-gradient(ellipse at 55% 100%,#c3b68a24,transparent 30%);pointer-events:none}
.journey-landscape{position:absolute;inset:0;width:100%;height:100%;color:#ad9463;opacity:.2;z-index:-1;overflow:hidden;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent)}
.journey-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.journey-road-edge{stroke:#bc964e;stroke-width:35;opacity:.2}
.journey-road{stroke:var(--sand);stroke-width:32}
.journey-road-dashes{stroke:#a48650;stroke-width:1;stroke-dasharray:2 9;stroke-linecap:round}
.journey-road-progress{stroke:url(#journey-gold);stroke-width:8;stroke-linecap:round;opacity:.9}
.journey-traveler{opacity:0;transition:opacity .4s;filter:drop-shadow(0 4px 9px #96702b30)}
.journey-running .journey-traveler{opacity:1}
.journey-stages{list-style:none;margin:0;padding:0;position:relative;z-index:1}
.journey-stage{display:grid;grid-template-columns:1fr 32% 1fr;align-items:center;min-height:310px;position:relative;scroll-margin-top:120px}
.journey-copy{grid-column:1;grid-row:1;padding:30px 0 30px 20px;position:relative}
.journey-stage:nth-child(even) .journey-copy{grid-column:3;padding:30px 20px 30px 0}
.journey-number{display:flex;align-items:center;gap:20px;font-size:12px;font-weight:500;color:var(--brass);letter-spacing:.1em;margin-bottom:15px}
.journey-number i{display:block;width:40px;height:1px;background:var(--brass);opacity:.4;transform-origin:left;transition:transform .6s,opacity .6s}
.journey-copy h3{font-size:clamp(32px,3.1vw,46px);line-height:1.02;letter-spacing:-.025em;margin-bottom:19px}
.journey-copy p{font-size:13px;line-height:1.95;color:var(--muted);max-width:360px}
.journey-waypoint{grid-column:2;grid-row:1;justify-self:end;position:relative;width:156px;margin-right:5%;}
.journey-stage:nth-child(even) .journey-waypoint{justify-self:start;margin-right:0;margin-left:5%}
.journey-medallion{padding:5px;background:var(--paper);border:1px solid #b79b6540;border-radius:50%;position:relative;box-shadow:0 0 0 10px #f3eddfaa,0 0 0 11px #b79b6520;transition:box-shadow .7s,background .7s,transform .7s}
.journey-medallion::before{content:"";position:absolute;inset:-20px;border:1px dashed #ad946330;border-radius:50%;transition:border-color .7s}
.journey-coordinate{position:absolute;left:50%;bottom:-43px;transform:translateX(-50%);font-size:8px;letter-spacing:.2em;color:#8c744a;white-space:nowrap;background:var(--paper);padding:4px 10px}
.journey-stage.is-current .journey-medallion{background:#f9ebc9;box-shadow:0 0 0 10px #fac74c1a,0 0 0 11px #b79b6550,0 12px 45px #d9ac4924;transform:scale(1.06)}
.journey-stage.is-current .journey-medallion::before{border-color:#a9824380}
.journey-stage.is-current .journey-number i{transform:scaleX(1.6);opacity:1}
.journey-stage.is-past .journey-number{color:#785c2c}
/* The route and its destination share one continuous terrain. */
.journey-arrival{position:relative;text-align:center;margin:0 auto;max-width:780px;padding:80px 0 25px}
.journey-arrival::before{content:"";position:absolute;inset:-80px -15% -30px;background:radial-gradient(ellipse at 50% 40%,#fac74c32,transparent 62%);opacity:.2;transition:opacity 1.4s;pointer-events:none;z-index:-1}
.journey-arrival .oasis-art{display:block;width:100%;height:auto;stroke:#94794a;stroke-width:.85}
.journey-arrival p{position:relative;margin:28px auto 0;font-family:var(--serif);font-size:clamp(30px,3.6vw,50px);line-height:1.15;letter-spacing:-.025em;color:var(--muted);width:fit-content}
.journey-arrival p em{display:block}
.journey-arrival p span,.journey-arrival p em{background:linear-gradient(110deg,#87602c 5%,#c19032 25%,#f3c75f 47%,#ad7929 70%,#725025);background-clip:text;-webkit-background-clip:text;transition:color 1.4s,filter 1.4s}
.journey-arrival-rule{width:70px;height:1px;margin:28px auto 0;background:var(--brass);opacity:.3;transition:width 1.4s,opacity 1.4s}
.journey-destination{opacity:.4;transition:opacity 1.4s}
.journey-static-star{display:none}
.journey-arrived .journey-arrival::before,.journey-arrived .journey-destination{opacity:1}
.journey-arrived .journey-arrival p span,.journey-arrived .journey-arrival p em{color:transparent;filter:drop-shadow(0 2px 12px #edb63b35)}
.journey-arrived .journey-arrival-rule{width:140px;opacity:.7}
.journey-arrived .journey-traveler-core{animation:journey-orbit 24s linear infinite;transform-origin:0 0}
.journey-arrived .journey-traveler-glow{animation:journey-arrival-pulse 4s ease-in-out infinite;transform-origin:0 0}
.journey-arrived .journey-traveler{filter:drop-shadow(0 0 12px #eeb43599)}
@keyframes journey-arrival-pulse{50%{transform:scale(1.65);opacity:.45}}
html:not(.js) .journey-static-star,.path-journey:not(.journey-running) .journey-static-star{display:block}
.journey-stage .j-turn,.journey-stage .j-breathe,.journey-stage .j-align,.journey-stage .j-build{transform-origin:80px 80px}
.journey-stage .j-turn{animation:journey-orbit 28s linear infinite}
.journey-stage .j-breathe{animation:journey-breathe 4s ease-in-out infinite}
.journey-stage .j-align{animation:journey-align 7s ease-in-out infinite}
.journey-stage .j-stream{animation:journey-stream 2s linear infinite}
.journey-stage .j-float{animation:journey-float 4s ease-in-out infinite}
.journey-stage .j-build{animation:journey-build 5s ease-in-out infinite}
.journey-stage .j-bars path{transform-box:fill-box;transform-origin:bottom;animation:journey-measure 3.5s ease-in-out infinite}
.journey-stage .j-bars path:nth-child(2){animation-delay:.3s}.journey-stage .j-bars path:nth-child(3){animation-delay:.6s}
.journey-stage .j-trace{stroke-dasharray:130;animation:journey-trace 3.5s ease-in-out infinite}
.path-journey:not(.journey-visible) *,.journey-stage:not(.is-current):not(:hover) .journey-emblem *{animation-play-state:paused}
@keyframes journey-orbit{to{transform:rotate(360deg)}}
@keyframes journey-breathe{50%{transform:scale(.85);opacity:.7}}
@keyframes journey-align{50%{transform:rotate(60deg) scale(.88)}}
@keyframes journey-stream{to{stroke-dashoffset:-24}}
@keyframes journey-float{50%{transform:translateY(-7px)}}
@keyframes journey-build{50%{transform:translateY(-6px);stroke:#6f512c}}
@keyframes journey-measure{50%{transform:scaleY(.65);fill:var(--gold)}}
@keyframes journey-trace{0%,100%{stroke-dashoffset:130;opacity:.35}45%,75%{stroke-dashoffset:0;opacity:1}}
.motion-paused .path-journey *{transition:none!important}
@media(min-width:1500px){.journey-stage{min-height:330px}.journey-copy p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.path-journey *{animation:none!important;transition:none!important}.journey-traveler{display:none}}
@media print{.journey-toolbar{display:none}.journey-stage{break-inside:avoid;min-height:230px}.journey-traveler{display:none}.journey-stage *{animation:none!important}}
@media(min-width:1001px){.journey-copy p{font-size:14px}}


/* Match the vertical route to tablet layouts as well as phones. */
@media (max-width: 1100px) {
  .journey-terrain { overflow: clip; overflow-clip-margin: 12px; }
  .journey-terrain::before { inset: 0; }
  .journey-copy, .journey-waypoint { min-width: 0; }
  .journey-copy p { font-size: 15px; line-height: 1.85; }
  .journey-waypoint { width: 124px; }
  .journey-copy h3 { font-size: 34px; }
  .journey-compass { width: 85px; right: 0; }
  .journey-toolbar a { min-width: 44px; min-height: 44px; justify-content: center; font-size: 12px; padding: 8px; gap: 8px; }
  .journey-toolbar nav { width: auto; flex: 1; max-width: 580px; gap: 0; }
  .journey-pause { font-size: 11px; min-height: 44px; }
}
@media (max-width: 1000px) {
  .path-journey { padding-top: 20px; padding-bottom: 72px; }
  .journey-heading { padding: 8px 0 36px; text-align: left; }
  .journey-heading h2 { font-size: clamp(38px, 6.8vw, 62px); max-width: 650px; }
  .journey-compass { display: none; }
  .journey-terrain { padding-top: 16px; }
  .journey-stage { --waypoint-column: 120px; grid-template-columns: var(--waypoint-column) minmax(0, 1fr); gap: 32px; min-height: 260px; scroll-margin-top: 24px; }
  .journey-stage .journey-copy, .journey-stage:nth-child(even) .journey-copy { grid-column: 2; padding: 36px 0; }
  .journey-waypoint, .journey-stage:nth-child(even) .journey-waypoint { grid-column: 1; width: 94px; justify-self: center; margin: 0; }
  .journey-medallion { padding: 2px; box-shadow: 0 0 0 6px #f3eddfaa, 0 0 0 7px #b79b6520; }
  .journey-medallion::before { inset: -12px; }
  .journey-coordinate { font-size: 8px; bottom: -34px; padding: 3px 5px; }
  .journey-copy h3 { font-size: 36px; margin-bottom: 16px; }
  .journey-copy p { max-width: 560px; }
  .journey-number { font-size: 11px; gap: 12px; margin-bottom: 14px; }
  .journey-number i { width: 24px; }
  .journey-road-edge { stroke-width: 22px; }
  .journey-road { stroke-width: 20px; }
  .journey-road-progress { stroke-width: 5px; }
  .journey-landscape { opacity: .12; }
  html:not(.js) .journey-route { display: none; }
  html:not(.js) .journey-stages::before { content: ''; position: absolute; left: 60px; top: 0; bottom: 0; border-left: 12px solid var(--sand); transform: translateX(-50%); }
}
@media (max-width: 600px) {
  .path-journey { padding-bottom: 60px; }
  .journey-heading > .eyebrow { font-size: 10px; margin-bottom: 18px; }
  .journey-heading h2 { font-size: clamp(36px, 8.2vw, 48px); }
  .journey-heading h2 br { display: none; }
  .journey-heading h2 em { display: block; }
  .journey-toolbar { flex-wrap: wrap; gap: 0; padding: 8px 0; }
  .journey-toolbar nav { flex: 1 0 100%; width: 100%; max-width: none; }
  .journey-toolbar a { min-width: 0; flex: 1; padding-inline: 0; gap: 5px; }
  .journey-pause { margin-left: auto; padding: 8px; }
  .journey-stage { --waypoint-column: 80px; gap: 20px; min-height: 0; }
  .journey-waypoint, .journey-stage:nth-child(even) .journey-waypoint { width: 66px; }
  .journey-copy h3 { font-size: clamp(28px, 6.4vw, 34px); }
  .journey-copy p { font-size: 15px; }
  .journey-stage .journey-copy, .journey-stage:nth-child(even) .journey-copy { padding-block: 32px; }
  .journey-arrival { margin-top: 0; padding-top: 70px; }
  .journey-arrival p { font-size: 32px; letter-spacing: -.025em; margin-top: 24px; }
  html:not(.js) .journey-stages::before { left: 40px; }
}
@media (max-width: 380px) {
  .journey-stage { --waypoint-column: 62px; gap: 16px; }
  .journey-waypoint, .journey-stage:nth-child(even) .journey-waypoint { width: 50px; }
  .journey-medallion::before { inset: -9px; }
  .journey-copy h3 { font-size: 28px; }
  .journey-toolbar a i { display: none; }
  html:not(.js) .journey-stages::before { left: 31px; }
}
