/* A native-scroll, three-act product story. The unenhanced layout stays readable. */
.journey-story{position:relative;background:#e9eddf;color:var(--forest);isolation:isolate;scroll-margin-top:0}
.story-anchor{position:absolute;top:0;scroll-margin-top:0}.story-end{height:1px;scroll-margin-top:0}
.story-sticky{position:relative;padding:35px 5% 24px;overflow:clip;isolation:isolate}
.story-night{position:absolute;inset:0;background:#0c2320;opacity:var(--night,0);z-index:-2}
.story-horizon{position:absolute;inset:12% -20%;border:1px solid currentColor;border-radius:50%;opacity:.075;transform:rotate(-20deg);z-index:-1}
.story-topline{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.13em;gap:20px;position:relative;z-index:5}
.story-skip{letter-spacing:0;min-height:44px;display:flex;align-items:center;font-size:11px;opacity:.8}.story-skip:hover{text-decoration:underline;text-underline-offset:5px}
.story-layout{max-width:1500px;margin:auto;display:grid;grid-template-columns:.95fr 1.15fr;align-items:center;gap:5%;padding:35px 0}
.story-narrative{position:relative;z-index:3}.story-chapter{padding:32px 0}.story-chapter h2{font-size:clamp(40px,4.7vw,74px);line-height:1.08;margin:27px 0 24px;letter-spacing:-.065em}.story-chapter em{color:inherit;opacity:.8}.story-chapter p{max-width:370px;font-size:16px;line-height:1.7;opacity:.76}.story-chapter .eyebrow{font-size:9px;letter-spacing:.14em;gap:15px}.story-index{width:30px;height:30px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:9px;letter-spacing:0;opacity:.75}
.story-visual{position:relative;min-width:0;aspect-ratio:1;perspective:1300px}
.story-world{position:absolute;inset:5% 0 12%;transform-style:preserve-3d;transform:rotateX(30deg) rotateZ(-9deg);transform-origin:50% 55%}
.story-halo{position:absolute;width:85%;aspect-ratio:1;left:10%;top:6%;border:1px solid currentColor;border-radius:50%;opacity:.08;box-shadow:0 0 0 50px #587d4a09,0 0 0 100px #587d4a06}
.story-ground,.story-underground,.story-stratum{position:absolute;inset:0;border-radius:24px;overflow:hidden;backface-visibility:hidden}
.story-ground{background:#f2f0e6;transform:translateZ(45px);box-shadow:0 15px 0 #c1ccb5,0 40px 60px -25px #193d3550}
.story-ground>.city-map{display:block}.story-ground .route-current{display:none}.story-ground .metro-track{opacity:.18}
.story-route-overlay{position:absolute;inset:0;width:100%;height:100%}.story-route-bed{stroke:#fff8ec;stroke-width:15;stroke-linecap:round}.story-route-draw{stroke:#dc805f;stroke-width:6;stroke-linecap:round}
.story-location{position:absolute;background:#fffcf2;color:#234e40;border:1px solid #cbd5bf;border-radius:5px;padding:8px 11px;font-size:10px;box-shadow:0 5px 0 #2447340b;transform:rotate(9deg)}.location-home{left:3%;top:55%}.location-end{right:5%;top:22%}
.story-underground{background:#102c29;transform:translateZ(0);opacity:0;border:1px solid #3b5750;box-shadow:0 15px 0 #132e28,0 40px 60px -25px #03181280}.story-underground>svg{width:100%;height:100%;display:block}
.story-stratum{background:#31594b;border:1px solid #60827355}.stratum-one{transform:translateZ(-28px);opacity:.36}.stratum-two{transform:translateZ(-65px);opacity:.16}
.story-discovery{position:absolute;inset:0;transform:translateZ(85px);opacity:0;pointer-events:none}
.story-place{position:absolute;display:flex;flex-direction:column;align-items:center;gap:7px;transform:rotate(9deg);color:#2a5240}.story-place>svg{width:37px;height:37px;padding:9px;background:#fcfaee;border:1px solid #c4ceba;border-radius:12px;box-shadow:0 5px 0 #446c4120}.story-place>b{font-size:9px;font-weight:550;background:#f9f6e8ed;border-radius:3px;padding:4px 6px}.place-one{left:3%;top:7%}.place-two{right:2%;top:7%}.place-three{right:-2%;bottom:5%}
.story-landmark{position:absolute;width:39%;left:27%;top:20%;transform:rotate(9deg);display:flex;align-items:center;flex-direction:column}.story-landmark>svg{width:100%;filter:drop-shadow(0 9px 9px #163e3315)}.story-landmark>span{font:italic 18px var(--serif);letter-spacing:-.03em;padding:5px 12px;background:#fffaf0;border:1px solid #d4d9c7;border-radius:5px;white-space:nowrap;margin-top:-5px}
.story-ribbon{position:absolute;left:0;right:0;bottom:2%;padding:20px;display:flex;align-items:center;gap:17px;border:1px solid #d3dac8;border-left:4px solid #d47e60;background:#fffcf3;color:#224c3f;border-radius:9px;box-shadow:0 5px 0 #39573a15,0 18px 40px -20px #15352b55;z-index:4;transform-origin:center bottom}
.story-ribbon:not([data-story-ribbon="0"]){opacity:0}.story-ribbon-icon{display:grid;place-items:center;flex:none;border-right:1px solid #b5c2ab;padding-right:15px;font-size:25px;font-weight:600}.story-ribbon-icon svg{width:26px;height:26px}.story-ribbon>div{min-width:0}.story-ribbon small{display:block;font-size:8px;letter-spacing:.1em;opacity:.7;margin-bottom:8px}.story-ribbon strong{display:block;font-size:15px;font-weight:550;line-height:1.4}.story-ribbon strong i{font-style:normal;font-size:12px;opacity:.5;padding:0 5px}.story-ribbon strong span{display:block;font-size:10px;font-weight:400;opacity:.65;margin-top:3px}.story-ribbon>b{margin-left:auto;font-size:23px;font-weight:400}.story-ribbon[data-story-ribbon="1"]{background:#213d36;color:#eff2e3;border-color:#587062;border-left-color:#9aaeea}.story-ribbon[data-story-ribbon="2"]{border-left-color:#719463}
.story-bottom{max-width:1500px;margin:auto;position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:25px}.story-chapters{display:flex;gap:28px;width:min(650px,78%)}.story-chapters a{position:relative;min-height:50px;flex:1;display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:.08em;white-space:nowrap;padding:0 0 15px;opacity:.5;border-bottom:1px solid currentColor}.story-chapters a span{font-size:10px;letter-spacing:0}.story-chapters a i{height:2px;background:currentColor;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(var(--chapter-progress,0));transform-origin:left}.story-chapters a[aria-current]{opacity:1}.story-instruction{font-size:11px;opacity:.6;white-space:nowrap}.story-instruction span{display:inline-block;margin-left:12px}.story-disclaimer{display:block;text-align:right;margin-top:16px;font-size:8px;opacity:.5;position:relative;z-index:5}
.journey-story.motion-ready{height:400svh}.motion-ready .story-sticky{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:space-between}.motion-ready .story-layout{flex:1;width:100%;min-height:0;padding:0}.motion-ready .story-narrative{height:350px}.motion-ready .story-chapter{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0;will-change:transform,opacity}.motion-ready .story-chapter:not(:first-child){opacity:0}.motion-ready .story-visual{width:100%;height:min(66svh,650px);aspect-ratio:auto}.motion-ready .story-world,.motion-ready .story-ground{will-change:transform}.motion-ready .story-bottom{width:100%}
/* Subtle secondary depth, driven by the same native scrolling. */
.community-symbol{transform:translateY(var(--section-drift,0px)) rotate(var(--section-turn,0deg))}.shop-scene{transform:translateY(var(--section-drift,0px))}.shop-label{translate:0 calc(var(--section-drift,0px) * -.45)}.download-orbit{scale:var(--section-scale,1)}
@media(max-width:1100px){.story-layout{gap:4%;grid-template-columns:.9fr 1.1fr}.story-chapter h2{font-size:48px}.story-chapter p{font-size:14px}.story-ribbon{gap:11px;padding:16px}.story-ribbon strong{font-size:12px}.story-ribbon small{font-size:7px}.story-ribbon-icon{font-size:22px;padding-right:11px}.story-ribbon-icon svg{width:22px;height:22px}.story-location{font-size:8px}.story-instruction{font-size:9px}.story-chapters{gap:20px}.story-chapters a{font-size:7px}.story-disclaimer{font-size:7px}}
@media(max-width:760px){.story-sticky{padding:20px 6% 18px}.story-topline{font-size:7px;letter-spacing:.09em}.story-skip{font-size:9px;min-height:40px;white-space:nowrap}.story-layout{display:flex;flex-direction:column;gap:12px;padding:0;align-items:stretch}.story-chapter{padding:28px 0}.story-chapter .eyebrow{font-size:8px;gap:11px}.story-index{width:24px;height:24px;font-size:8px}.story-chapter h2{font-size:clamp(35px,9.2vw,55px);margin:16px 0 15px}.story-chapter p{font-size:13px;line-height:1.55;max-width:380px}.story-visual{width:100%;aspect-ratio:1.05;margin:10px auto 15px;max-width:480px}.story-world{inset:5% 3% 14%}.story-ground,.story-underground,.story-stratum{border-radius:16px}.story-location{font-size:8px;padding:6px 8px}.story-landmark>span{font-size:13px}.story-place>svg{width:30px;height:30px;padding:7px;border-radius:8px}.story-place>b{font-size:7px}.story-place{gap:5px}.story-ribbon{padding:14px;gap:11px;bottom:1%}.story-ribbon small{font-size:6px;letter-spacing:.07em;margin-bottom:6px}.story-ribbon strong{font-size:11px}.story-ribbon strong i{padding:0 3px}.story-ribbon strong span{font-size:9px}.story-ribbon-icon{font-size:20px;padding-right:11px}.story-ribbon-icon svg{width:21px;height:21px}.story-ribbon>b{font-size:19px}.story-bottom{display:block}.story-chapters{width:100%;gap:15px}.story-chapters a{font-size:6px;letter-spacing:.025em;gap:5px;min-height:44px;padding-bottom:10px}.story-chapters a span{font-size:9px}.story-instruction{display:none}.story-disclaimer{font-size:6px;margin-top:12px;text-align:left;letter-spacing:.01em}.journey-story.motion-ready{height:360svh}.motion-ready .story-narrative{height:210px;flex:none}.motion-ready .story-layout{justify-content:center;gap:15px}.motion-ready .story-visual{height:min(43svh,450px);flex:none;margin:0 auto}.motion-ready .story-chapter{justify-content:center}}
@media(max-width:760px) and (max-height:740px){.story-sticky{padding-top:10px;padding-bottom:12px}.motion-ready .story-narrative{height:186px}.story-chapter h2{font-size:35px;margin:12px 0}.story-chapter p{font-size:12px}.motion-ready .story-visual{height:35svh}.motion-ready .story-layout{gap:10px}.story-ribbon{padding:11px}.story-topline{font-size:6px}.story-disclaimer{margin-top:8px}}
@media(max-width:370px){.story-chapter h2{font-size:33px}.story-ribbon strong{font-size:10px}.story-ribbon small{font-size:5.5px}.story-ribbon-icon{padding-right:8px}.story-chapters{gap:10px}.story-chapters a{font-size:5.5px}.story-topline{font-size:6px}}
@media(prefers-reduced-motion:reduce){.story-world{transform:rotateZ(-5deg)!important}.community-symbol,.shop-scene{transform:none!important}.download-orbit{scale:1!important}}

.story-ground .city-transit-route{display:none}

.story-chapters a b{font-weight:500}.story-step-short{display:none}
@media(max-width:760px){.story-step-label{display:none}.story-step-short{display:inline}.story-chapters a{font-size:10px;letter-spacing:.02em;gap:8px}.story-disclaimer{font-size:7px}}
