/* This section owns its scroll distance and keeps every style local. */
#flows-journey{--ink:#14273e;--blue:#1365de;--muted:#576b80;--paper:#f7f9fc;--line:#d6e2ef;position:relative;height:auto;min-height:100svh;margin:0;padding:0;overflow:visible;isolation:isolate;color-scheme:light;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
#flows-journey *,#flows-journey *::before,#flows-journey *::after{box-sizing:border-box}
#flows-journey [hidden]{display:none!important}
#flows-journey button,#flows-journey a{-webkit-tap-highlight-color:transparent}
#flows-journey button{font-family:inherit;cursor:pointer;touch-action:manipulation}
#flows-journey button:focus-visible,#flows-journey a:focus-visible{outline:3px solid #ed9852;outline-offset:5px}
#flows-journey button:disabled{opacity:.35;cursor:default}
#flows-journey.is-enhanced{height:700svh}
#flows-journey .journey-viewport{position:relative;width:100%;min-height:100svh;padding:0;overflow:hidden;overflow:clip}
#flows-journey.is-enhanced .journey-viewport{position:sticky;top:0;height:100svh}
#flows-journey #journey-world{position:absolute;inset:0;overflow:hidden;background:linear-gradient(160deg,#eaf6ff,#fff9ed)}
#flows-journey #journey-world canvas{display:block;width:100%;height:100%}
#flows-journey .world-loading{position:absolute;left:61%;top:48%;display:flex;align-items:center;gap:14px;color:#59748d;font-size:13px}
#flows-journey .world-loading span{width:15px;height:15px;border:2px solid #a4c9f5;border-top-color:var(--blue);border-radius:50%;animation:flows-journey-spin 1.1s linear infinite}
@keyframes flows-journey-spin{to{transform:rotate(360deg)}}
#flows-journey .readability{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(249,251,254,.95) 0%,rgba(249,251,254,.85) 25%,rgba(249,251,254,.13) 52%,transparent 66%)}
#flows-journey .topbar{position:absolute;top:76px;left:0;width:100%;height:44px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 5%;z-index:5;background:linear-gradient(#fafcffed,#fafcff00)}
#flows-journey .journey-exit{margin-left:auto;padding:9px 0 9px 12px;color:#29557d;font-size:12px;font-weight:600;line-height:1.4;text-decoration:underline;text-underline-offset:4px}
#flows-journey .journey-exit:hover{color:var(--blue)}
#flows-journey .motion{border:1px solid #cad9e7;background:#ffffffc4;color:#45617c;border-radius:30px;padding:10px 14px;font-size:11px;line-height:1.2;display:flex;align-items:center;gap:7px}
#flows-journey .motion:hover{background:#fff}
#flows-journey .motion[aria-pressed=true]{background:#e8f1ff;color:#174c91;border-color:#8db5e9}
#flows-journey .story{position:absolute;left:5.8%;top:25%;width:40%;max-width:520px;z-index:2;margin:0;padding:0 20px 0 0}
#flows-journey .chapter{display:flex;align-items:center;gap:13px;font-size:10px;line-height:1.4;letter-spacing:1.8px;font-weight:700;color:#4b779f;margin:0 0 28px}
#flows-journey .chapter-line{height:1px;background:#a8c4dd;width:38px}
#flows-journey #journey-chapter-number{font-size:13px;color:var(--blue);letter-spacing:0}
#flows-journey #journey-story-title{max-width:none;font-family:inherit;color:var(--ink);font-size:clamp(36px,4.3vw,66px);line-height:1.08;letter-spacing:-2.6px;font-weight:700;margin:0 0 25px}
#flows-journey #journey-story-title em{font-style:normal;color:var(--blue)}
#flows-journey .story-description{font-size:16px;line-height:1.7;max-width:330px;margin:0 0 25px;color:#4f657c}
#flows-journey .primary{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--blue);color:#fff;border:0;padding:16px 22px;border-radius:11px;box-shadow:0 8px 22px #1767df24;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none}
#flows-journey .primary:hover{background:#0b51b9}
#flows-journey .primary span{font-size:20px;font-weight:400}
#flows-journey .story-detail{font-size:11px;line-height:1.6;color:#60788f;max-width:300px;margin:16px 0 0}
#flows-journey .story-action{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
#flows-journey .replay{display:inline-flex;align-items:center;gap:6px;border:1px solid #b7cde3;border-radius:9px;background:#ffffffd9;color:#29557d;padding:10px 12px;font-size:11px;line-height:1.3}
#flows-journey .replay span{font-size:18px}
#flows-journey .replay:hover:not(:disabled){background:#eaf3ff}
#flows-journey .journey-booking{display:inline-block;margin-top:12px;color:#174c91;font-size:11px;line-height:1.5;font-weight:600;text-decoration:underline;text-underline-offset:3px}
#flows-journey .journey-booking:hover{color:var(--blue)}
#flows-journey .scene-caption{position:absolute;right:6%;bottom:24%;font-size:11px;line-height:1.4;color:#496985;padding:11px 14px;border:1px solid #cddfeb;box-shadow:0 3px 15px #53759908;border-radius:30px;background:#ffffffdf;display:flex;align-items:center;gap:9px;pointer-events:none}
#flows-journey .signal-dot{flex:0 0 6px;width:6px;height:6px;background:#1a88ee;border-radius:50%;box-shadow:0 0 0 4px #dfedff}
#flows-journey .journey-footer{position:absolute;bottom:0;left:0;width:100%;margin:0;border:0;padding:19px 5.8% 26px;background:linear-gradient(0deg,#fafcfffa,#fafcfff2 75%,#fafcff00);color:var(--ink);z-index:5;display:grid;grid-template-columns:1fr auto;column-gap:28px;align-items:center}
#flows-journey .footer-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;font-size:10px;line-height:1.4;color:#576b80;letter-spacing:.25px}
#flows-journey .footer-top p{margin:0}
#flows-journey .explore-hint{display:flex;align-items:center;gap:8px}
#flows-journey .explore-hint>span{font-size:19px;color:#1778de}
/* Reset the homepage's fixed navigation before laying out the chapter buttons. */
#flows-journey nav.chapters{position:static;inset:auto;width:auto;height:auto;margin:0;padding:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none;z-index:auto;display:flex;align-items:center;justify-content:flex-start;gap:clamp(14px,2.6vw,38px)}
#flows-journey .chapters button{border:0;border-radius:0;background:none;color:#576b80;font-size:12px;line-height:1.3;padding:10px 0;display:flex;gap:9px;align-items:center;text-align:left}
#flows-journey .chapters button>span{font-size:10px;letter-spacing:1px;color:#576b80}
#flows-journey .chapters button[aria-current=step]{color:var(--ink);font-weight:700}
#flows-journey .chapters button[aria-current=step]>span{color:var(--blue)}
#flows-journey .transport{display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:1px;color:#5a7390}
#flows-journey .transport button{border:1px solid #cbdce9;background:#ffffffd9;border-radius:50%;width:38px;height:38px;padding:0;color:#225b96;font-size:20px;line-height:1}
#flows-journey .transport button:hover:not(:disabled){background:#e5f1ff}
#flows-journey .progress-track{margin-top:18px;height:2px;grid-column:1/-1;background:#dce6f0}
#flows-journey .progress-track>div{height:100%;width:100%;background:var(--blue);transform:scaleX(0);transform-origin:0 50%}
#flows-journey .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}
#flows-journey .story.reveal{animation:flows-journey-show .25s cubic-bezier(.22,.68,0,1)}
@keyframes flows-journey-show{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:none}}
#flows-journey.is-calm .story.reveal{animation:none}

/* A readable summary remains available without JavaScript or a renderer. */
#flows-journey .journey-static,#flows-journey .fallback,#flows-journey .noscript{position:relative;z-index:1;margin:0 auto;max-width:900px;border:0;padding:160px 6% 64px;background:transparent;color:var(--ink)}
#flows-journey .journey-static h2,#flows-journey .fallback h2,#flows-journey .noscript h2{margin:0 0 24px;font-family:inherit;color:var(--ink);font-size:clamp(32px,4vw,46px);line-height:1.1;letter-spacing:-1.8px}
#flows-journey .journey-static p,#flows-journey .fallback p,#flows-journey .noscript p{margin:0 0 20px;font-size:16px;line-height:1.8;color:#526d87}
#flows-journey .journey-static ol,#flows-journey .fallback ol{margin:0 0 28px;padding-left:24px;list-style:decimal}
#flows-journey .journey-static li,#flows-journey .fallback li{padding:10px 0;font-size:15px;line-height:1.7;color:#526d87}
#flows-journey .journey-static strong,#flows-journey .fallback strong{color:#1b4773}
#flows-journey.is-enhanced:not(.scene-failed) .journey-static{display:none}
#flows-journey:not(.is-enhanced) :is(#journey-world,.readability,.story,.journey-footer,.motion,.scene-caption),#flows-journey.scene-failed :is(#journey-world,.readability,.story,.journey-footer,.motion,.scene-caption){display:none}
#flows-journey.scene-failed{height:auto;min-height:100svh}
#flows-journey.scene-failed .journey-viewport{position:relative;height:auto;min-height:100svh}
/* Keep the readable summary present while the renderer imports and prepares. */
#flows-journey.is-enhanced.is-loading .journey-static{display:block;z-index:3;background:#f7f9fcf5}
#flows-journey.is-loading .journey-static ol{display:none}
#flows-journey.is-loading :is(.story,.journey-footer,.scene-caption,.motion){display:none}
#flows-journey.is-loading .world-loading{z-index:4;left:auto;right:5%;top:128px;padding:6px 10px;border-radius:8px;background:#fff}

@media(min-width:1600px){
  #flows-journey .story{top:28%}
  #flows-journey #journey-story-title{font-size:70px}
}
@media(max-width:1050px){
  #flows-journey .story{top:23%;width:45%;left:5%}
  #flows-journey #journey-story-title{font-size:45px;letter-spacing:-1.9px}
  #flows-journey .story-description{font-size:14px;max-width:280px}
  #flows-journey nav.chapters{gap:25px}
  #flows-journey .scene-caption{right:4%;font-size:10px}
  #flows-journey .readability{background:linear-gradient(90deg,#f9fbfef0,rgba(249,251,254,.8) 30%,transparent 70%)}
}
@media(max-height:650px) and (min-width:651px){
  #flows-journey .story{top:max(20%,132px)}
  #flows-journey #journey-story-title{font-size:40px;margin-bottom:16px}
  #flows-journey .chapter{margin-bottom:15px}
  #flows-journey .story-description{font-size:13px;line-height:1.5;margin-bottom:15px}
  #flows-journey .story-detail{display:none}
  #flows-journey .primary{padding:11px 18px}
  #flows-journey .journey-footer{padding-bottom:15px}
  #flows-journey .footer-top{margin-bottom:8px}
  #flows-journey .scene-caption{bottom:28%}
}
@media(max-width:650px){
  #flows-journey.is-enhanced{height:750svh}
  #flows-journey .topbar{padding:0 6%;gap:7px}
  #flows-journey .motion{font-size:10px;padding:8px 9px;max-width:112px}
  #flows-journey .motion>span:first-child{display:none}
  #flows-journey .journey-exit{font-size:11px}
  #flows-journey .story{top:max(14%,132px);left:7%;width:86%;max-width:370px;padding:0;pointer-events:none}
  #flows-journey .story button,#flows-journey .story a{pointer-events:auto}
  #flows-journey .chapter{font-size:10px;letter-spacing:1.5px;gap:9px;margin-bottom:15px}
  #flows-journey .chapter-line{width:23px}
  #flows-journey #journey-story-title{font-size:35px;line-height:1.06;letter-spacing:-1.8px;max-width:340px;margin-bottom:14px}
  #flows-journey .story-description{font-size:13px;line-height:1.6;max-width:320px;margin-bottom:14px}
  #flows-journey .story-detail{display:none}
  #flows-journey .primary{padding:10px 15px;font-size:11px;gap:20px;border-radius:9px}
  #flows-journey .primary span{font-size:16px}
  #flows-journey .story-action{gap:8px}
  #flows-journey .replay{padding:8px 10px;font-size:10px}
  #flows-journey .replay span{font-size:14px}
  #flows-journey .journey-booking{font-size:10px}
  #flows-journey .readability{background:linear-gradient(180deg,#f9fbfeee 0%,#f9fbfedb 25%,#f9fbfe36 47%,transparent 59%,#f9fbfe77 82%)}
  #flows-journey .scene-caption{display:none}
  #flows-journey .journey-footer{padding:10px 7% 19px;gap:4px;grid-template-columns:1fr}
  #flows-journey .footer-top{margin-bottom:6px;flex-direction:column;align-items:flex-start;gap:3px}
  #flows-journey .fiction,#flows-journey .explore-hint{font-size:10px}
  #flows-journey nav.chapters{justify-content:space-between;gap:5px}
  #flows-journey .chapters button{font-size:10px;gap:4px;flex-direction:column;align-items:flex-start;padding:6px 0}
  #flows-journey .chapters button>span{font-size:9px}
  #flows-journey .transport{position:absolute;right:7%;top:-32px;gap:10px;font-size:9px}
  #flows-journey .transport button{width:31px;height:31px;font-size:16px}
  #flows-journey .progress-track{margin-top:9px}
  #flows-journey .journey-static,#flows-journey .fallback,#flows-journey .noscript{padding:148px 7% 48px}
  #flows-journey.scene-failed{height:auto}
}
@media(max-width:650px) and (max-height:720px){
  #flows-journey .story-description{font-size:12px;line-height:1.5;margin-bottom:12px}
  #flows-journey #journey-story-title{font-size:32px;margin-bottom:13px}
  #flows-journey .chapter{margin-bottom:10px}
  #flows-journey .journey-footer{padding-bottom:12px}
  #flows-journey .footer-top .explore-hint{display:none}
}
@media(prefers-reduced-motion:reduce){
  #flows-journey *,#flows-journey *::before,#flows-journey *::after{animation:none!important;scroll-behavior:auto!important}
}

/* Booking stays in the toolbar so the final scene remains unobstructed. */
#flows-journey .topbar .journey-booking{margin:0 0 0 auto;font-size:12px;padding:9px 0 9px 12px}
#flows-journey[data-stage="6"] .journey-exit{display:none}
@media(max-width:650px){
 #flows-journey .topbar{top:64px;height:36px}
 #flows-journey .story{top:max(14%,112px)}
 #flows-journey .topbar .journey-booking{font-size:10px;max-width:210px;text-align:right}
 #flows-journey .replay{width:32px;height:34px;padding:6px;gap:0;font-size:0;justify-content:center}
 #flows-journey .replay span{font-size:18px}
}
