.process-scene{padding:30px 34px 20px;margin:0 auto 48px;max-width:1050px;border:1px solid var(--line);border-radius:6px;background:#f0e9de;overflow:hidden}
.process-scene-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;font-size:12px;color:var(--walnut);font-weight:600;text-align:center}
.process-scene-labels span:first-child{text-align:left}.process-scene-labels span:last-child{text-align:right}
.process-scene-art{display:block;width:100%;height:auto;margin-top:8px}
.process-route-draw{stroke-dasharray:1;stroke-dashoffset:0}
.process-parcel{transform:translate(815px,98px)}.process-arrival{opacity:1}
.process-scene-note{font-size:12px;text-align:center;color:var(--muted);margin:0}
.v2-timeline[data-process-motion]{position:relative;--process-progress:0}
.v2-timeline[data-process-motion]:before,.v2-timeline[data-process-motion]:after{content:'';position:absolute;left:calc(var(--gutter) + 28px);top:52px;bottom:52px;width:1px;background:var(--line);pointer-events:none}
.v2-timeline[data-process-motion]:after{background:var(--walnut);transform:scaleY(var(--process-progress));transform-origin:top}
.v2-timeline[data-process-motion] article{position:relative;grid-template-columns:70px minmax(0,1fr) 190px;align-items:center;gap:32px;padding-block:38px}
.v2-timeline[data-process-motion] article>span{display:grid;place-items:center;position:relative;z-index:1;width:56px;height:56px;font-size:22px;border:1px solid var(--line);border-radius:50%;background:var(--ivory);transition:background .4s,color .4s,border-color .4s}
.v2-timeline[data-process-motion] article.process-active>span{background:var(--walnut);color:var(--ivory);border-color:var(--walnut)}
.process-step-art{display:block;width:190px;height:142px;object-fit:contain;border-radius:4px;mix-blend-mode:multiply}
.v2-process[data-process-motion] article{transition:border-color .5s}.v2-process[data-process-motion] article.process-active{border-color:var(--linen)}
.v2-process[data-process-motion] article>span{display:inline-block}
@media(max-width:760px){.process-scene{padding:24px 16px 16px;margin-bottom:24px}.process-scene-labels{gap:12px;font-size:10px}.process-scene-art{margin-top:16px}.process-scene-note{font-size:11px;line-height:1.5}.v2-timeline[data-process-motion] article{grid-template-columns:44px minmax(0,1fr);gap:16px;padding-block:28px}.v2-timeline[data-process-motion] article>span{width:38px;height:38px;font-size:16px;align-self:start}.v2-timeline[data-process-motion]:before,.v2-timeline[data-process-motion]:after{left:calc(var(--gutter) + 19px);top:47px;bottom:47px}.process-step-art{grid-column:2;width:155px;height:116px}.v2-timeline[data-process-motion] h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.v2-timeline[data-process-motion] article>span,.v2-process[data-process-motion] article{transition:none}}

/* A winding dotted journey, filled by the moving point as the visitor scrolls. */
[data-process-motion]{position:relative;--process-progress:0}
.process-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.process-connections path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.process-track{stroke:var(--line);stroke-width:2.5;stroke-dasharray:2 10}
.process-fill,.process-glow{stroke:var(--kraft);stroke-width:3.5;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--process-progress))}
.process-glow{stroke-width:12;opacity:.15}
.process-head{position:absolute;width:16px;height:16px;box-sizing:border-box;border-radius:50%;background:var(--kraft);border:3px solid var(--ivory);box-shadow:0 0 0 4px #b18b6238,0 6px 14px #6b493540;transform:translate(-50%,-50%);z-index:3;pointer-events:none;opacity:0}
.process-head:after{content:'';position:absolute;inset:-9px;border-radius:50%;border:2px solid #b18b6280;animation:process-point-pulse 1.7s ease-out infinite}
@keyframes process-point-pulse{from{transform:scale(.55);opacity:.8}to{transform:scale(1.5);opacity:0}}
.v2-timeline[data-process-motion]:before,.v2-timeline[data-process-motion]:after{display:none}
.v2-timeline[data-process-motion]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:120px;row-gap:56px;padding-top:20px;padding-bottom:180px}
.v2-timeline[data-process-motion] article{display:flex;flex-direction:column;text-align:center;border:0;gap:16px;padding:0;min-width:0;z-index:1}
.v2-timeline[data-process-motion] article:nth-of-type(even){transform:translateY(150px)}
.v2-timeline[data-process-motion] article>span{width:42px;height:42px;font-size:16px;flex-shrink:0;align-self:center;background:var(--ivory)}
.v2-timeline[data-process-motion] article>div{order:2}
.v2-timeline[data-process-motion] .process-step-art{order:1;width:230px;height:172px;max-width:100%;transition:transform .3s ease}
.v2-timeline[data-process-motion] .process-step-art:hover{transform:scale(1.06)}
.v2-timeline[data-process-motion] article.process-active>span,.v2-process[data-process-motion] article.process-active>span{background:var(--kraft);color:var(--ivory);border-color:var(--kraft);box-shadow:0 0 0 6px #b18b622e,0 6px 16px #6b493533;transform:scale(1.1)}
.v2-timeline[data-process-motion] article>span{transition:background .35s,border-color .35s,color .35s,box-shadow .35s,transform .35s}
.v2-timeline[data-process-motion] h2{font-size:27px}
.v2-timeline[data-process-motion] p{font-size:15px}
.v2-process[data-process-motion] article{position:relative;border:0;z-index:1}
.v2-process[data-process-motion] article>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid #665b4c;border-radius:50%;background:var(--walnut);transition:background .35s,box-shadow .35s,transform .35s}
.v2-process[data-process-motion] .process-track{stroke:#665b4c}
@media(max-width:980px){.v2-timeline[data-process-motion]{column-gap:70px}.v2-process[data-process-motion]{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.v2-timeline[data-process-motion]{display:block;padding-top:0;padding-bottom:0}.v2-timeline[data-process-motion] article{display:grid;grid-template-columns:44px minmax(0,1fr);text-align:left;gap:16px;padding:28px 0}.v2-timeline[data-process-motion] article:nth-of-type(even){transform:none}.v2-timeline[data-process-motion] article>span{align-self:start;width:38px;height:38px}.v2-timeline[data-process-motion] article>div{order:0}.v2-timeline[data-process-motion] .process-step-art{grid-column:2;order:0;width:155px;height:116px}.v2-timeline[data-process-motion] h2{font-size:25px}.v2-process[data-process-motion]{grid-template-columns:1fr;gap:0}.v2-process[data-process-motion] article{padding:24px 0 24px 60px}.v2-process[data-process-motion] article>span{position:absolute;left:0;top:24px}.v2-process[data-process-motion] h3{margin-top:0}.process-head{width:12px;height:12px}}
@media(prefers-reduced-motion:reduce){.process-head{display:none}.process-head:after{animation:none}.process-fill,.process-glow{stroke-dashoffset:0}.v2-timeline[data-process-motion] article>span,.v2-process[data-process-motion] article>span,.v2-timeline[data-process-motion] .process-step-art{transition:none}.v2-timeline[data-process-motion] .process-step-art:hover{transform:none}}

/* Original illustration colours, with soft shadows. */
.v2-timeline[data-process-motion] .process-reference-art{width:300px;height:225px;max-width:100%;object-fit:contain;mix-blend-mode:normal;filter:drop-shadow(0 10px 14px #6b49351a);transition:transform .3s ease,filter .3s ease}
.v2-timeline[data-process-motion] .process-reference-art:hover{transform:scale(1.05);filter:drop-shadow(0 14px 20px #6b49352b)}
@media(max-width:760px){.v2-timeline[data-process-motion] .process-reference-art{width:230px;height:172px;max-width:100%}}
@media(prefers-reduced-motion:reduce){.v2-timeline[data-process-motion] .process-reference-art{transition:none}.v2-timeline[data-process-motion] .process-reference-art:hover{transform:none}}

.process-passage-banner{max-width:1050px;margin:0 auto 48px;padding:28px 32px 20px;border:1px solid var(--line);border-radius:10px;background:#f0e9de;overflow:hidden}
.process-passages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;position:relative}
.process-passage{position:relative;min-width:0;text-align:center}
.process-passage>span{display:block;font-size:12px;font-weight:600;color:var(--walnut);margin-bottom:18px}
.process-passage>img{display:block;width:100%;height:175px;object-fit:contain;filter:drop-shadow(0 8px 12px #6b49351a)}
.process-passage:nth-of-type(-n+2):after{content:'\2192';position:absolute;right:-30px;top:105px;color:var(--kraft);font-size:26px;font-weight:400}
.process-passage-banner figcaption{margin-top:22px}
@media(max-width:760px){.process-passage-banner{padding:20px 12px 16px;margin-bottom:28px}.process-passages{gap:18px}.process-passage>span{font-size:10px;line-height:1.5;min-height:30px;margin-bottom:8px}.process-passage>img{height:100px}.process-passage:nth-of-type(-n+2):after{right:-15px;top:77px;font-size:18px}.process-passage-banner figcaption{font-size:11px;line-height:1.5;margin-top:16px}}
.process-passages{padding-bottom:24px}
.process-passage-rail{position:absolute;left:calc((100% - 80px)/6);right:calc((100% - 80px)/6);bottom:0;height:4px;background:#D4C4AE;border-radius:4px;pointer-events:none}
.process-passage-progress{display:block;width:100%;height:100%;background:var(--walnut);border-radius:4px;transform-origin:left;box-shadow:0 1px 4px #6b493526}
.process-passage-parcel{position:absolute;left:100%;top:50%;width:62px;height:66px;transform:translate(-50%,-50%);filter:drop-shadow(0 5px 7px #6b493526)}
.process-passage-parcel svg{display:block;width:100%;height:100%}
@media(max-width:760px){.process-passage-rail{left:calc((100% - 36px)/6);right:calc((100% - 36px)/6)}.process-passage-parcel{width:46px;height:49px}}
@media(prefers-reduced-motion:reduce){.passage-playing .process-passage-progress{animation:none}}

/* Protect text from the connecting route and its animated head. */
.v2-timeline[data-process-motion] article{z-index:auto}
.v2-timeline[data-process-motion] .process-step-art{position:relative;z-index:1}
.v2-timeline[data-process-motion] article>div{position:relative;z-index:4;isolation:isolate;background:var(--ivory);border-radius:6px;box-shadow:0 0 0 12px var(--ivory)}
