.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:#172c43}
.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:#245a91}.story-step h3{font-size:clamp(29px,3vw,43px);line-height:1.12;margin-bottom:18px;color:#172c43}.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:#172c43}
.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 #245a9113;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:#245a91;stroke-width:3;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000}.story-traveller{fill:#245a91;stroke:#fff;stroke-width:3;filter:drop-shadow(0 2px 6px #245a9180)}.story-point{fill:#fff;stroke:#416bdd;stroke-width:2}.story-point.is-active{fill:#245a91}.story-visual-label{position:absolute;font:11px/1.4 var(--mono);letter-spacing:.08em;color:#46679f;z-index:2}.story-label-paris{left:13%;top:66%}.story-label-choice{left:39%;top:27%}.story-label-hongkong{right:12%;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:#245a91;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}.story-label-paris{left:22%;top:62%}.story-label-choice{left:39%;top:27%}}
@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}}

/* The long-form choice follows the animated route so the story can breathe on small screens. */
.decision-story{padding:clamp(72px,10vw,132px) 0 85px;border-top:1px solid #d5deee;border-bottom:1px solid #d5deee;scroll-margin-top:92px}
.decision-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:clamp(24px,5vw,70px);align-items:end}
.decision-head .eyebrow{color:#42629a}
.decision-head h2{max-width:900px;margin:16px 0 0;font:clamp(42px,6vw,77px)/1.06 var(--serif);letter-spacing:-.045em;color:#172c43}
.decision-head h2 em{color:#245a91;font-weight:400}
.decision-intro{max-width:320px;margin:0 0 8px;padding-left:19px;border-left:2px solid #245a91;font-size:18px;line-height:1.55;color:#455f86}
.decision-body{display:grid;grid-template-columns:minmax(230px,.67fr) minmax(0,1.33fr);gap:clamp(32px,7vw,100px);align-items:start;margin-top:clamp(48px,7vw,90px)}
.decision-route{position:sticky;top:110px;min-width:0;padding:clamp(20px,2.7vw,34px);border:1px solid #c9d8f2;background:linear-gradient(145deg,#f8fbff,#e8f0ff);box-shadow:0 18px 50px #245a910e}
.decision-stop .eyebrow{display:block;margin-bottom:12px;font-size:10px;color:#59749d}
.decision-stop strong{display:block;font:clamp(23px,2.1vw,31px)/1.13 var(--serif);color:#172c43}
.decision-stop small{display:block;margin-top:8px;font-size:13px;line-height:1.45;color:#607699}
.decision-stop-chosen strong{color:#2456d9}
.decision-divider{display:block;width:54px;height:2px;margin:26px 0 24px;background:#8aaaf0}
.decision-prose p{max-width:720px;margin:0 0 27px;font-size:clamp(17px,1.65vw,20px);line-height:1.66;color:#344f79}
.decision-prose p:first-child{color:#172c43}
.decision-quote{margin:46px 0 0;padding:28px clamp(25px,4vw,52px);background:linear-gradient(115deg,#cfdefb,#e0edff);color:#294a7a;border:1px solid #b5caed;border-radius:20px;font:clamp(25px,3.3vw,42px)/1.2 var(--serif);letter-spacing:-.02em}
.experience-list article{padding-top:34px;padding-bottom:34px}
.experience-list article p{max-width:72ch;line-height:1.7}
@media(max-width:760px){.decision-story{padding:72px 0 62px}.decision-head,.decision-body{grid-template-columns:1fr}.decision-head{gap:23px}.decision-head h2{font-size:clamp(38px,9vw,55px)}.decision-intro{max-width:560px;font-size:16px}.decision-body{gap:34px;margin-top:43px}.decision-route{position:static;max-width:570px}.decision-prose p{font-size:17px;line-height:1.62;margin-bottom:22px}.decision-quote{margin-top:23px;font-size:clamp(26px,7vw,38px)}}
@media(max-width:390px){.decision-head h2{font-size:36px}.decision-route{padding:20px}.decision-stop strong{font-size:25px}}

.decision-source{margin:17px 0 0;font:12px/1.55 var(--mono);color:#607699}.decision-source a{text-decoration:underline;text-underline-offset:3px}.decision-source a:hover{color:#2456d9}

.site-language{display:flex;align-items:center;gap:3px;padding-left:12px;border-left:1px solid var(--line);white-space:nowrap}
.site-language a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:32px;padding:6px 8px;border-radius:18px;font:12px/1 var(--mono);color:#526c98;letter-spacing:.04em}
.site-language a[aria-current="page"]{background:#dfe9ff;color:#1946a7;font-weight:700}
.site-language a:hover{background:#edf3ff;color:#1946a7}
@media(max-width:1200px){header nav{gap:18px}}
@media(max-width:900px){nav .site-language{grid-column:1/-1;justify-content:flex-start;gap:8px;padding:10px 12px 4px;border-left:0;border-top:1px solid var(--line)}nav .site-language a{min-width:60px;min-height:40px;padding:10px 14px;font-size:14px;justify-content:center}}

/* Keep the route caption in its own visible row, below the bounded ellipse. */
#my-route.story-enhanced .story-sticky{grid-template-rows:auto minmax(0,1fr) auto;row-gap:20px;}
#my-route.story-enhanced .story-visual{min-height:0;height:100%;max-height:420px;aspect-ratio:auto;}
#my-route.story-enhanced .story-progress{position:relative;z-index:3;min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr) minmax(0,.9fr);gap:18px;align-items:center;}
#my-route.story-enhanced .story-progress-track{width:100%;min-width:0;}
#my-route.story-enhanced .story-scroll-hint{display:block;margin:0;text-align:center;white-space:normal;overflow-wrap:break-word;line-height:1.6;}
@media(max-width:760px){
 #my-route.story-enhanced .story-sticky{grid-template-rows:auto minmax(150px,1fr) minmax(105px,25svh) auto;row-gap:10px;}
 #my-route.story-enhanced .story-visual{max-height:100%;}
 #my-route.story-enhanced .story-progress{grid-template-columns:max-content minmax(0,1fr);gap:5px 12px;font-size:9px;}
 #my-route.story-enhanced .story-scroll-hint{grid-column:1/-1;font-size:9px;letter-spacing:.04em;}
}
@media(max-width:760px) and (max-height:720px){
 #my-route.story-enhanced .story-sticky{grid-template-rows:auto minmax(155px,1fr) minmax(85px,20svh) auto;row-gap:8px;}
}
