/* A full-width stage leaves room for the larger pair without covering copy. */
.journey .section-surface{position:relative;isolation:isolate;overflow:clip}
.journey .journey-player{position:relative;z-index:1;border:0;box-shadow:none;background:transparent}
.journey .section-head{position:relative;z-index:1}
.journey .journey-pin{position:relative;isolation:isolate}
.journey .journey-scene{display:flex;flex-direction:column;min-height:0;height:auto!important;align-items:stretch;padding:0;background:transparent;overflow:visible;perspective:none}
.journey .journey-stage-copy{box-sizing:border-box;width:var(--photo-copy-width,46%);min-height:210px;padding:24px;align-self:start;min-width:0}
.journey .journey-visual{--figure-height:330px;--floor:24px;container-type:inline-size;display:block;position:relative;width:100%;height:calc(var(--figure-height) + 64px);margin:0;background:transparent;isolation:isolate;overflow:clip}
.journey-cast{position:absolute;inset:0;width:100%;height:100%;will-change:transform;pointer-events:none}
.journey .scene-world{display:none}
.agency-set{position:absolute;inset:0;pointer-events:none}

/* The source foot anchors, including transparent padding, share one floor. */
.journey .scene-traveler{position:absolute;left:0;bottom:calc(var(--floor) - var(--figure-height)*.0234375);width:calc(var(--figure-height)*.75);height:var(--figure-height);z-index:4;transform-origin:50% 100%;transition:opacity .14s ease}
.traveler-sprite[data-frames],.traveler-shadow,.traveler-contact,.traveler-workwear,.traveler-sad-candidate,.traveler-sad-workwear{clip-path:none;background-size:400% 200%;background-repeat:no-repeat}
.journey :is(.traveler-sprite,.traveler-workwear,.traveler-sad-candidate,.traveler-sad-workwear){transform:none;transition:opacity .16s ease;will-change:opacity}
.traveler-workwear,.traveler-sad-candidate,.traveler-sad-workwear{position:absolute;inset:0;z-index:3;opacity:0}
.journey .traveler-shadow{transform:matrix(1,0,-.2,.09,0,0);transform-origin:50% 97.65%}
.journey .traveler-contact{transform:matrix(1,0,-.04,.35,0,0);transform-origin:50% 97.65%}
.journey .agency-coordinator{position:absolute;right:2%;bottom:calc(var(--floor) - var(--figure-height)*.05404);width:calc(var(--figure-height)*.6666667);height:var(--figure-height);z-index:2;opacity:1;transition:opacity .18s ease}
.agency-coordinator img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(3px 5px 3px #19374616)}
.journey .agency-signing{position:absolute;bottom:calc(var(--floor) - var(--figure-height)*.0292969);width:calc(var(--figure-height)*1.5);height:var(--figure-height);z-index:4;opacity:0;transition:opacity .3s ease;pointer-events:none}
.agency-signing img{display:block;width:100%;height:100%;object-fit:contain}
[data-phase=paperwork] .agency-signing{opacity:1}
[data-phase=paperwork] .agency-coordinator,[data-phase=paperwork] .scene-traveler{opacity:0!important}
[data-phase=work] .agency-coordinator{opacity:0}

.agency-highfive{position:absolute;bottom:calc(var(--floor) - var(--figure-height)*.0234375);width:var(--figure-height);height:var(--figure-height);z-index:5;opacity:0;transition:opacity .14s ease;pointer-events:none}
.highfive-frame{position:absolute;inset:0;background-image:url('/media/by-name/journey-high-five.webp');background-size:300% 200%;background-repeat:no-repeat;opacity:0;transition:opacity .11s linear}
.journey-player[data-greeting=active] .agency-highfive{opacity:1}
.journey-player[data-greeting=active] .agency-coordinator,.journey-player[data-greeting=active] .scene-traveler{opacity:0!important}

/* The same office/factory camera is anchored to the performers' floor. */
.journey-backdrops{position:absolute;inset:0;z-index:0;overflow:clip;pointer-events:none}
.agency-backdrop{position:absolute;inset:auto;left:var(--scene-image-left,0);top:var(--scene-image-top,0);width:var(--scene-image-width,100%);height:auto;max-width:none;aspect-ratio:3/1;object-fit:contain;transition:opacity .85s ease;z-index:0;mask-image:linear-gradient(180deg,transparent,#000 7%,#000 96%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 7%,#000 96%,transparent)}
.agency-factory{opacity:0}
[data-phase=work] .agency-factory,[data-phase=support] .agency-factory{opacity:1}
[data-phase=work] .agency-office,[data-phase=support] .agency-office{opacity:0}
.journey-backdrops:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#e9edef 0%,#e9edeff0 calc(var(--scene-image-top,0px) - 16px),#e9edef00 calc(var(--scene-image-top,0px) + 96px),#e9edef00 92%,#e9edef 100%)}
.journey .journey-stops{background:#e9edef80;border-top-color:#d2dce3}
.journey .journey-stops button[aria-current=step]{color:var(--brand-navy);border-bottom-color:var(--brand-blue)}
.journey .journey-mobile-nav{padding-top:18px}
body .section.journey .section-surface .journey-hint{font-size:12px;line-height:1.5;font-weight:400;margin:0}
@media(min-width:1001px){
 /* Pair each heading with its description instead of stacking two half-empty rows. */
 #journey .section-head{display:grid;grid-template-columns:minmax(0,46%) minmax(0,46%);column-gap:8%;align-items:center;width:100%;max-width:none;margin-bottom:20px}
 #journey .section-head .section-subtitle{margin:0;max-width:none}
 #journey .journey-stage-copy{width:100%;min-height:150px;padding:24px 0}
 #journey .journey-caption{display:grid;grid-template-columns:minmax(0,46%) minmax(0,46%);column-gap:8%;align-items:start}
 #journey .journey-caption .scene-title{margin:0;font-size:28px;line-height:1.35}
 #journey .journey-caption .scene-copy{margin:0;max-width:none}
}
@media(max-width:700px){
 .journey .journey-stage-copy{width:100%;min-height:230px;padding:24px 20px 16px;align-self:stretch}
 .journey .scene-title{font-size:23px}
 .journey .scene-copy{font-size:15px;line-height:1.55;margin-top:12px}
 .journey .journey-visual{--floor:18px}
 .journey .journey-cast{width:max(100%,calc(var(--figure-height)*2.6 + 100px))}
 .journey .journey-mobile-nav{padding:10px 20px 12px}
 .journey .journey-progress{margin-bottom:10px}
 .journey .journey-bottomline{padding:0 20px 18px}
 .journey .journey-scroll.scroll-driven{height:var(--journey-scroll-height)!important}
 .journey-scroll.scroll-driven .journey-pin{position:sticky;top:var(--journey-pin-top);overflow:visible}
 .journey-scroll.scroll-driven .journey-player{overflow:clip}
}
@media(prefers-reduced-motion:reduce){.agency-set *,.agency-signing,.journey-backdrops *,.scene-traveler,.traveler-sprite,.traveler-workwear,.traveler-sad-candidate,.traveler-sad-workwear{transition:none!important;will-change:auto}.journey-cast{will-change:auto}}
