.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tagline-heading{display:grid;font-size:clamp(36px,3.8vw,51px);line-height:1.18;min-height:3.54em}
.tagline-slide{grid-area:1/1;opacity:0;transform:translateY(19px);transition:opacity .45s ease,transform .45s ease;pointer-events:none;position:relative;z-index:1}.tagline-slide.current{opacity:1;transform:translateY(0)}
.hero:has(.journey-story){gap:38px;min-height:650px}.hero .hero-proof{font-size:12px}
.journey-story.hero-art{display:block;min-height:0;margin:0;background:#fff;border:1px solid #dce7e7;border-radius:18px;overflow:hidden;box-shadow:0 18px 60px #0f172a06;align-self:center}
.story-top{display:flex;justify-content:space-between;align-items:center;padding:21px 25px 0;gap:16px}.story-kicker{font-size:12px;font-weight:650;letter-spacing:1px;color:#5b6f78}.story-pause{font-size:12px;background:#f3f7f7;color:#4c616a;border:1px solid #e0e8e8;border-radius:5px;padding:7px 11px;min-height:32px}
.story-stage{position:relative;isolation:isolate;aspect-ratio:1.32;overflow:hidden}.story-halo{position:absolute;z-index:-1;width:72%;aspect-ratio:1;border-radius:50%;background:#edf6f1;left:14%;top:1%}
.sprite{display:block;background-image:url('/assets/journey-sprites.webp');background-size:400% 200%;background-repeat:no-repeat;aspect-ratio:1;pointer-events:none}
.building{position:absolute;width:96%;left:2%;bottom:7%;background-position:0 0;z-index:0}.story-road{position:absolute;left:3%;right:3%;height:12%;bottom:7%;border-top:1px solid #cedcd7;background:#f0f4f3;border-radius:0 0 50% 50%;z-index:1}.story-road:after{content:'';position:absolute;left:0;right:0;top:45%;border-top:2px dashed #d3ded9}
.traveller{position:absolute;width:38%;left:8%;bottom:8%;z-index:3;background-position:0 100%;animation:board-passengers 8s ease both}.banquet-traveller{display:none;width:40%;left:7%;background-position:33.333333% 100%}.office-traveller{display:none;background-position:66.666667% 100%}
.cab-actor{position:absolute;width:62%;aspect-ratio:1;bottom:-8%;left:34%;z-index:4;animation:pickup-cab 8s ease both}.cab-actor .sprite{position:absolute;inset:0}.cab-closed{background-position:100% 0;animation:closed-door 8s linear both}.cab-open{background-position:100% 100%;opacity:0;animation:open-door 8s linear both}
.call-bubble{position:absolute;z-index:5;left:6%;top:38%;font-size:12px;background:white;border:1px solid #d4e3dc;border-radius:7px;padding:7px 11px;color:#416353;box-shadow:0 5px 10px #0f172a05;animation:call-bubble 8s ease both}
.story-bottom{padding:0 25px;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:68px}.story-bottom p{font-size:12px;letter-spacing:1px;color:#547665;margin:0 0 8px;font-weight:600}.story-bottom h2{font-family:Inter,Arial,sans-serif;font-size:19px;font-weight:700;letter-spacing:-.4px;line-height:1.3}
.scene-dots{display:flex;gap:8px}.scene-dots button{border:0;width:25px;height:35px;background:transparent;position:relative;padding:0}.scene-dots button:after{content:'';position:absolute;width:7px;height:7px;background:#cfdbd5;border-radius:50%;top:14px;left:9px;transition:background .2s}.scene-dots button[aria-pressed=true]:after{background:#138745}
.story-reassurance{font-size:12px;color:#667d70;margin:13px 25px 21px;padding-top:15px;border-top:1px solid #edf1ee;line-height:1.7}
.journey-story[data-scene=banquet] .building{background-position:33.333333% 0}.journey-story[data-scene=office] .building{background-position:66.666667% 0}.journey-story[data-scene=banquet] .airport-traveller,.journey-story[data-scene=office] .airport-traveller{display:none}.journey-story[data-scene=banquet] .banquet-traveller,.journey-story[data-scene=office] .office-traveller{display:block}.journey-story[data-paused=true] *{animation-play-state:paused!important}
@keyframes pickup-cab{0%,12%{transform:translateX(-175%)}32%,70%{transform:translateX(0)}97%,100%{transform:translateX(170%)}}
@keyframes board-passengers{0%,38%{transform:translateX(0);opacity:1}52%{transform:translateX(45%);opacity:1}62%,100%{transform:translateX(85%) scale(.85);opacity:0}}
@keyframes open-door{0%,31%{opacity:0}32%,64%{opacity:1}65%,100%{opacity:0}}@keyframes closed-door{0%,31%{opacity:1}32%,64%{opacity:0}65%,100%{opacity:1}}
@keyframes call-bubble{0%{opacity:0;transform:translateY(6px)}7%,23%{opacity:1;transform:translateY(0)}30%,100%{opacity:0;transform:translateY(-4px)}}
@media(max-width:1100px){.hero:has(.journey-story){gap:25px}.tagline-heading{font-size:40px}.story-top{padding:18px 19px 0}.story-bottom{padding-inline:19px}.story-bottom h2{font-size:17px}.story-reassurance{margin-inline:19px}.story-kicker{letter-spacing:.4px}}
@media(max-width:800px){.hero:has(.journey-story){gap:27px;padding-top:35px}.tagline-heading{font-size:clamp(34px,6vw,43px)}.journey-story.hero-art{width:100%;max-width:550px;margin-inline:auto}.hero .hero-proof{font-size:12px}.story-bottom h2{font-size:19px}.hero-copy .lead{margin-top:18px}}
@media(max-width:440px){.tagline-heading{font-size:34px}.hero:has(.journey-story){gap:25px}.story-top{padding-inline:17px}.story-bottom{padding-inline:17px;gap:7px}.story-bottom h2{font-size:17px}.scene-dots{gap:2px}.story-reassurance{margin-inline:17px}.hero .hero-proof{font-size:11px}.call-bubble{top:31%;left:5%}.story-kicker{font-size:11px}}
@media(prefers-reduced-motion:reduce){.tagline-slide{transition:none;transform:none}.story-stage *{animation:none!important}.cab-actor{transform:translateX(0)}.call-bubble{opacity:1}}
@media(max-width:800px){.sprite{background-image:url("/assets/journey-sprites-mobile.webp")}}
.journey-story.scene-reset .story-stage *{animation:none!important}

