.adventure-story{background:#30223f;color:#eef8fa}
.adventure-story .story-stage{padding-top:38px}
.adventure-story .story-top h2{font-size:clamp(28px,3.3vw,46px);line-height:1.06}
.adventure-story .story-top h2>span{color:#b89ae7}
.adventure-trail{position:absolute;top:50px;right:8%;display:flex;align-items:center;gap:12px;color:#afc9d1;z-index:3;font-size:13px}
.trail-stop{display:flex;align-items:center;gap:8px;transition:color .35s}
.trail-stop b{width:30px;height:30px;border:1px solid #57757f;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:500;transition:background .35s,color .35s,border-color .35s}
.adventure-trail i{height:1px;width:28px;background:#57757f}
.adventure-story .story-counter{position:absolute;right:0;top:65px;font-size:13px}
.adventure-story[data-stage="1"] .trail-stop:nth-of-type(1),.adventure-story[data-stage="2"] .trail-stop:nth-of-type(2),.adventure-story[data-stage="3"] .trail-stop:nth-of-type(3){color:#fff}
.adventure-story[data-stage="1"] .trail-stop:nth-of-type(1) b,.adventure-story[data-stage="2"] .trail-stop:nth-of-type(2) b,.adventure-story[data-stage="3"] .trail-stop:nth-of-type(3) b{color:#30223f;background:#ceb0f2;border-color:#ceb0f2}
.adventure-orbit{position:absolute;left:1%;top:25%;width:57%;aspect-ratio:1.4;border:1px dashed #b89ae748;border-radius:50%;transform:rotate(-20deg);pointer-events:none}
.adventure-orbit::after{content:'';position:absolute;inset:9%;border:1px solid #b89ae716;border-radius:50%}
.adventure-story .story-visual{top:27%;height:60%;left:7%;width:47%}
.adventure-story .story-copy{left:64%;right:6%;top:40%}
.adventure-story .story-step h3{font-size:clamp(32px,3.5vw,53px);letter-spacing:-.045em}
.adventure-story .step-number{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;border:1px solid #ceb0f270;border-radius:12px;margin-bottom:20px;font-size:13px}
.adventure-story .story-step p{color:#bed3da;max-width:350px}
.story-buddy{position:absolute;bottom:13%;left:46%;width:clamp(90px,11vw,150px);z-index:4;transform-origin:50% 90%;pointer-events:none}
.story-buddy img{width:100%;height:auto;display:block;filter:drop-shadow(0 15px 20px #0002)}
.buddy-shadow{position:absolute;left:20%;right:15%;bottom:-7px;height:10px;border-radius:50%;background:#0002;z-index:-1}
.adventure-story .settlement-visual{inset:8% 3% 12%;padding:30px 35px;background:#a9e7f0;color:#30223f;border:1px solid #d8f6fa;border-radius:26px;box-shadow:10px 14px 0 #b89ae71a;justify-content:center}
.receipt-stamp{position:absolute;right:-10px;top:-16px;padding:10px 16px;background:#ceb0f2;color:#30223f;border-radius:9px;transform:rotate(7deg);font-size:13px;font-weight:600}
.adventure-story .settlement-visual .settlement-label{font-size:12px;color:#225466;margin:0 0 12px;letter-spacing:.1em}
.adventure-story .settlement-visual>strong{font-size:clamp(50px,6.5vw,100px);font-weight:580;line-height:1.1;white-space:nowrap}
.adventure-story .settlement-visual>strong span{color:#36788a}
.adventure-story .settlement-caption{font-size:18px;margin-top:14px}
.adventure-story .settlement-line{background:#36788a55;margin:23px 0 15px}
.adventure-story .settlement-visual p{font-size:14px;color:#225466;line-height:1.65}
.adventure-story .story-payment-card .concept-card{border-color:#b89ae7;background:linear-gradient(125deg,#28667a,#30223f 72%);box-shadow:10px 14px 0 #b89ae71a}
.adventure-story .story-progress{height:4px;border-radius:4px;overflow:hidden;background:#4e737e;bottom:35px}
.adventure-story .story-progress i{background:#ceb0f2}
.adventure-story .story-visual .record-slabs{width:90%;max-width:440px}
.motion-reduced .adventure-story .story-visual,.no-motion .adventure-story .story-visual,.short-story .adventure-story .story-visual{position:relative;inset:auto;width:65%;height:380px;margin:60px auto 30px}
.motion-reduced .adventure-story .story-copy,.no-motion .adventure-story .story-copy,.short-story .adventure-story .story-copy{position:relative;inset:auto}
.motion-reduced .story-buddy,.no-motion .story-buddy,.short-story .story-buddy{display:none}
@media(max-width:900px){.adventure-story .story-stage{padding:28px 24px;min-height:650px}.adventure-story .story-top h2{font-size:25px}.adventure-story .story-counter{top:4px}.adventure-trail{left:24px;right:24px;top:101px;justify-content:space-between;gap:7px;font-size:11px}.trail-stop{gap:6px}.trail-stop b{width:25px;height:25px;font-size:10px}.adventure-trail i{width:15px}.adventure-orbit{top:27%;left:1%;width:98%}.adventure-story .story-visual{left:7%;top:23%;width:78%;height:34%}.story-buddy{left:auto;right:3%;top:38%;bottom:auto;width:76px}.adventure-story .story-copy{left:26px;right:26px;top:62%}.adventure-story .story-step h3{font-size:31px}.adventure-story .step-number{display:none}.adventure-story .story-step p{font-size:14px;line-height:1.55;margin-top:14px}.adventure-story .settlement-visual{inset:3% 0;padding:24px;border-radius:20px}.adventure-story .settlement-visual>strong{font-size:clamp(42px,13vw,65px)}.adventure-story .settlement-label{font-size:10px;margin-bottom:7px}.adventure-story .settlement-caption{font-size:15px;margin-top:8px}.adventure-story .settlement-line{margin:13px 0 9px}.adventure-story .settlement-visual p{font-size:11px}.receipt-stamp{font-size:10px;padding:8px 10px;top:-13px;right:-7px}.adventure-story .story-progress{bottom:26px}.motion-reduced .adventure-story .story-visual,.no-motion .adventure-story .story-visual,.short-story .adventure-story .story-visual{height:300px;width:90%;margin-top:75px}.motion-reduced .adventure-story .story-stage,.no-motion .adventure-story .story-stage,.short-story .adventure-story .story-stage{min-height:0;padding-bottom:50px}}
@media(prefers-reduced-motion:reduce){.trail-stop,.trail-stop b{transition:none}}

/* Keep the complete tableau inside its section, including during rapid reverse scrolling. */
.adventure-story.is-scrolling{position:relative;height:var(--story-height);overflow:clip;isolation:isolate}
.adventure-story.is-scrolling>.story-stage{position:sticky;top:var(--story-top);background:#30223f;border-radius:inherit;overflow:hidden;transform:none}


/* The scroll journey uses the whole stage: objects in the middle, copy in its own band. */
.adventure-story.is-scrolling .story-visual{inset:128px 5% 188px;width:auto;height:auto;perspective:1100px}
.adventure-story.is-scrolling .story-slabs{width:100%;height:100%;max-width:none;aspect-ratio:auto;isolation:auto;transform-style:preserve-3d}
.adventure-story.is-scrolling .record-card{left:50%;top:50%;will-change:transform;backface-visibility:hidden}
.adventure-story.is-scrolling .record-pikachu{width:auto;height:min(340px,80%);aspect-ratio:1007/1638}
.adventure-story.is-scrolling .record-mantle{width:auto;height:min(340px,80%);aspect-ratio:1420/2230}
.adventure-story.is-scrolling .record-jordan{width:min(370px,38%);height:auto;aspect-ratio:3000/1779}
.adventure-story.is-scrolling .story-copy{top:auto;bottom:52px;left:50%;right:auto;width:min(700px,88%);transform:translateX(-50%);min-height:118px;text-align:center}
.adventure-story.is-scrolling .story-step h3{font-size:clamp(26px,2.5vw,38px);line-height:1.08}
.adventure-story.is-scrolling .story-step h3 br{display:none}
.adventure-story.is-scrolling .story-step p{max-width:620px;margin:12px auto 0;font-size:15px;line-height:1.45}
.adventure-story.is-scrolling .step-number{display:none}
.adventure-story.is-scrolling .adventure-orbit{left:15%;top:22%;width:70%;aspect-ratio:2.2}
.adventure-story.is-scrolling .story-buddy{left:auto;right:4%;top:auto;bottom:17%;width:clamp(80px,9vw,130px)}
.adventure-story.is-scrolling .settlement-visual{inset:auto;left:50%;top:50%;width:min(440px,85%);height:min(350px,94%);padding:25px 32px}
.adventure-story.is-scrolling .settlement-visual>strong{font-size:clamp(50px,6vw,86px)}
.adventure-story.is-scrolling .spend-visual{left:50%;top:50%;width:min(400px,82%);height:auto;max-width:none;text-align:center}
.adventure-story.is-scrolling .story-payment-card{width:100%;max-width:300px;margin:0 auto 14px;perspective:1000px}
.adventure-story.is-scrolling .spend-visual>strong{font-size:58px}
.adventure-story.is-scrolling .allocation-label{font-size:10px;margin-bottom:9px}
.adventure-story.is-scrolling .allocation-caption{display:none}
.adventure-story.is-scrolling .allocation-bar{display:none}
.adventure-story.is-scrolling .allocation-key{display:flex;justify-content:center;gap:14px;font-size:11px;margin-top:15px}
@media(max-width:900px){
.adventure-story.is-scrolling .story-visual{inset:142px 16px 216px}
.adventure-story.is-scrolling .record-pikachu,.adventure-story.is-scrolling .record-mantle{height:min(225px,64%)}
.adventure-story.is-scrolling .record-jordan{width:min(250px,62%)}
.adventure-story.is-scrolling .story-copy{bottom:47px;left:24px;right:24px;top:auto;width:auto;transform:none;min-height:150px}
.adventure-story.is-scrolling .story-step h3{font-size:27px;line-height:1.08}
.adventure-story.is-scrolling .story-step p{font-size:14px;line-height:1.45}
.adventure-story.is-scrolling .adventure-orbit{left:6%;top:30%;width:88%;aspect-ratio:1.7}
.adventure-story.is-scrolling .story-buddy{right:3%;bottom:27%;width:57px}
.adventure-story.is-scrolling .settlement-visual{width:min(300px,94%);height:min(290px,96%);padding:22px}
.adventure-story.is-scrolling .settlement-visual>strong{font-size:clamp(45px,14vw,62px)}
.adventure-story.is-scrolling .settlement-visual .settlement-caption{font-size:14px}
.adventure-story.is-scrolling .settlement-visual .settlement-label{font-size:10px}
.adventure-story.is-scrolling .settlement-visual p{font-size:11px}
.adventure-story.is-scrolling .story-payment-card{max-width:230px;margin-bottom:10px}
.adventure-story.is-scrolling .spend-visual>strong{font-size:43px}
.adventure-story.is-scrolling .allocation-key{font-size:12px;gap:7px;margin-top:9px}
}
@media(max-width:360px){.adventure-story.is-scrolling .story-step h3{font-size:25px}}
