.story-journey{position:relative;height:300vh;margin:46px -7.2% 0;border-top:1px solid #d5deee;border-bottom:1px solid #d5deee;background:linear-gradient(150deg,#edf3ff 0%,#f7faff 55%,#e8f0ff 100%);isolation:isolate}
.story-sticky{position:sticky;top:0;height:100vh;height:100svh;min-height:560px;max-width:1440px;margin:auto;padding:clamp(28px,5vh,56px) 6.3%;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);grid-template-rows:auto 1fr auto;column-gap:6%;align-items:center;overflow:hidden}
.story-heading{grid-column:1/-1;align-self:start}.story-heading .eyebrow{color:#42629a}.story-heading h2{max-width:740px;margin:13px 0 0;font-size:clamp(35px,4.1vw,58px);line-height:1.06;color:#152b55}
.story-copy{position:relative;min-height:250px;align-self:center}.story-step{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;max-width:570px;pointer-events:none}.story-enhanced .story-step:not(:first-child){opacity:0}.story-step .eyebrow{display:block;margin-bottom:18px;color:#2c5dea}.story-step h3{font-size:clamp(29px,3vw,43px);line-height:1.12;margin-bottom:18px;color:#152b55}.story-step p{font-size:clamp(16px,1.4vw,19px);line-height:1.55;color:#455f86}.story-step .story-aside{display:block;margin-top:19px;font:11px/1.5 var(--mono);letter-spacing:.03em;color:#667d9f}.story-enhanced .story-step{transition:none;will-change:opacity,transform}.story-enhanced .story-word{color:rgba(21,43,85,.24);transition:color .12s linear}.story-enhanced .story-word.is-lit{color:#152b55}
.story-visual{position:relative;align-self:center;width:100%;aspect-ratio:1.14;max-height:420px;border:1px solid #c9d8f2;border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff 0,#e8f0ff 60%,#dbe8ff 100%);box-shadow:inset 0 0 0 1px #fff9,0 26px 72px #2c5dea13;overflow:hidden}.story-visual:before,.story-visual:after{content:'';position:absolute;border:1px solid #9bb9ea55;border-radius:50%;inset:10% 16%;transform:rotate(27deg)}.story-visual:after{inset:19% 6%;transform:rotate(-31deg)}.story-visual svg{position:absolute;inset:5%;width:90%;height:90%;overflow:visible}.story-path-base{fill:none;stroke:#bed0ed;stroke-width:1.5;stroke-dasharray:3 7}.story-path-live{fill:none;stroke:#2c5dea;stroke-width:3;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000}.story-traveller{fill:#2c5dea;stroke:#fff;stroke-width:3;filter:drop-shadow(0 2px 6px #2c5dea80)}.story-point{fill:#fff;stroke:#416bdd;stroke-width:2}.story-point.is-active{fill:#2c5dea}.story-visual-label{position:absolute;font:11px/1.4 var(--mono);letter-spacing:.08em;color:#46679f;z-index:2}.story-label-paris{left:9%;top:24%}.story-label-choice{left:47%;top:12%}.story-label-hongkong{right:7%;bottom:21%}.story-progress{grid-column:1/-1;align-self:end;display:flex;align-items:center;gap:18px;font:11px/1.5 var(--mono);letter-spacing:.08em;color:#526c98}.story-progress-track{height:2px;flex:1;max-width:320px;background:#bfd0ed}.story-progress-track i{display:block;width:100%;height:100%;background:#2c5dea;transform:scaleX(var(--story-progress,0));transform-origin:left}.story-scroll-hint{margin-left:auto}
@media(max-width:760px){.story-journey{margin:30px -6% 0;height:270svh}.story-sticky{min-height:0;padding:22px 6%;grid-template-columns:1fr;grid-template-rows:auto minmax(150px,1fr) minmax(165px,31svh) auto;gap:7px}.story-heading h2{font-size:clamp(31px,8vw,43px);margin-top:7px;max-width:550px}.story-heading .eyebrow{font-size:10px}.story-copy{min-height:165px;align-self:stretch}.story-step{justify-content:center}.story-step .eyebrow{font-size:10px;margin-bottom:8px}.story-step h3{font-size:clamp(25px,6.5vw,34px);margin-bottom:7px}.story-step p{font-size:clamp(14px,3.75vw,16px);line-height:1.42}.story-step .story-aside{font-size:9px;margin-top:8px}.story-visual{grid-row:3;max-height:31svh;aspect-ratio:auto;height:100%;width:min(100%,410px);justify-self:center}.story-visual-label{font-size:8px}.story-progress{gap:9px;font-size:9px}.story-scroll-hint{display:none}}
@media(max-width:390px){.story-sticky{padding-top:14px;padding-bottom:14px;grid-template-rows:auto minmax(170px,1fr) minmax(125px,25svh) auto}.story-heading h2{font-size:29px}.story-step h3{font-size:24px}.story-step p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.story-journey{height:auto}.story-sticky{height:auto;min-height:0;position:static;display:block;padding-block:40px}.story-copy{display:grid;gap:28px;margin:32px 0;min-height:0}.story-step,.story-step:not(:first-child){position:static;opacity:1!important;transform:none!important}.story-word{color:inherit!important}.story-visual{height:300px;max-width:420px}.story-progress{display:none}.story-path-live{stroke-dashoffset:0!important}}
.motion-paused .story-journey{height:auto}.motion-paused .story-sticky{height:auto;min-height:0;position:static;display:block;padding-block:40px}.motion-paused .story-copy{display:grid;gap:28px;margin:32px 0;min-height:0}.motion-paused .story-step,.motion-paused .story-step:not(:first-child){position:static;opacity:1!important;transform:none!important}.motion-paused .story-word{color:inherit!important}.motion-paused .story-visual{height:300px;max-width:420px}.motion-paused .story-progress{display:none}.motion-paused .story-path-live{stroke-dashoffset:0!important}
@media print{.story-journey{height:auto;margin:0}.story-sticky{height:auto;position:static;display:block}.story-copy{display:block}.story-step,.story-step:not(:first-child){position:static;opacity:1;margin:20px 0}.story-visual,.story-progress{display:none}}
.story-journey:not(.story-enhanced){height:auto}
.story-journey:not(.story-enhanced) .story-sticky{height:auto;min-height:0;position:static;display:block;padding-block:40px}
.story-journey:not(.story-enhanced) .story-copy{display:grid;gap:28px;margin:32px 0;min-height:0}
.story-journey:not(.story-enhanced) .story-step{position:static;opacity:1;transform:none;visibility:visible}
.story-journey:not(.story-enhanced) .story-word{color:inherit}
.story-journey:not(.story-enhanced) .story-visual{height:300px;max-width:420px}
.story-journey:not(.story-enhanced) .story-progress{display:none}
.story-journey:not(.story-enhanced) .story-path-live{stroke-dashoffset:0}

@media(max-width:760px){.story-sticky{padding-top:84px;padding-bottom:16px}.story-heading h2{font-size:clamp(30px,7.4vw,39px)}.story-visual{max-height:28svh}}
@media(max-width:390px){.story-sticky{padding-top:82px}}
@media(max-width:760px) and (max-height:720px){.story-sticky{padding-top:76px;grid-template-rows:auto minmax(155px,1fr) minmax(105px,23svh) auto}.story-heading h2{font-size:29px}.story-step h3{font-size:24px}.story-step p{font-size:14px}.story-step .story-aside{display:none}}
/* Different entrances reveal the copy shortly before it reaches the viewport. */
.motion-ready .text-reveal{opacity:0;filter:blur(3px);transition:opacity .72s ease,transform .82s cubic-bezier(.2,.75,.25,1),filter .72s ease;will-change:opacity,transform,filter}
.motion-ready .text-reveal-0{transform:translateY(-27px)}
.motion-ready .text-reveal-1{transform:translateY(29px)}
.motion-ready .text-reveal-2{transform:translateX(-32px)}
.motion-ready .text-reveal-3{transform:translateX(32px)}
.motion-ready .text-reveal-4{transform:scale(.96)}
.motion-ready .text-reveal.is-visible{opacity:1;transform:none;filter:none}
.motion-ready .section-heading > p.text-reveal,.motion-ready .project-description > p.text-reveal{transition-delay:.11s}
.motion-ready .card-reveal-1:not(.is-visible){transform:translateX(-25px)}
.motion-ready .card-reveal-2:not(.is-visible){transform:translateX(25px)}
@media(max-width:650px){.motion-ready .text-reveal-0{transform:translateY(-17px)}.motion-ready .text-reveal-1{transform:translateY(18px)}.motion-ready .text-reveal-2{transform:translateX(-18px)}.motion-ready .text-reveal-3{transform:translateX(18px)}.motion-ready .card-reveal-1:not(.is-visible){transform:translateX(-16px)}.motion-ready .card-reveal-2:not(.is-visible){transform:translateX(16px)}}
@media(prefers-reduced-motion:reduce){.text-reveal,.reveal-item{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}
