.tour-page{background:#09172b;color:white}.tour-page:has(.tour-scroll) main{overflow:visible}.tour-header{position:absolute;inset:0 0 auto;z-index:20;height:86px;padding:0 4vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff20}.tour-header>a:last-child{font-size:14px}.tour-edition{font:12px 'IBM Plex Mono',monospace;letter-spacing:.15em;color:#b0c3db}.tour-scroll{height:1400svh;position:relative}.tour-viewport{height:100svh;position:sticky;top:0;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#254369,#09172b 78%);isolation:isolate}#tour-canvas{display:block;width:100%;height:100%;touch-action:pan-y}.tour-viewport:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,#061124dd,transparent 26%,transparent 86%,#06112455)}.tour-loading{position:absolute;z-index:10;inset:0;display:grid;place-content:center;text-align:center;background:#09172b;transition:opacity .5s}.tour-loading[hidden]{display:none}.tour-loading span{font-size:50px;color:#ff5a1f}.tour-intro{position:absolute;z-index:3;left:5vw;top:20%;max-width:590px;pointer-events:none;transition:opacity .35s}.tour-intro>span,.tour-result-cover>div>span{font:12px 'IBM Plex Mono',monospace;letter-spacing:.1em;color:#ff8759}.tour-intro h1{font-size:clamp(58px,6.8vw,110px);line-height:.9;margin:25px 0;letter-spacing:-.055em}.tour-intro p{font-size:16px;color:#b6c9e1}.tour-intro a{display:inline-block;pointer-events:auto;padding:10px 0;font-size:14px;border-bottom:1px solid #ff5a1f}.tour-intro[hidden]{display:none}.tour-caption{position:absolute;z-index:3;left:4vw;bottom:110px;max-width:430px;pointer-events:none;text-shadow:0 2px 20px #041021}.tour-caption>span{font:12px 'IBM Plex Mono',monospace;color:#ff8759;letter-spacing:.08em}.tour-caption h2{font-size:clamp(26px,2.5vw,40px);line-height:1.05;margin:12px 0}.tour-caption p{font-size:15px;color:#c0cfe1;line-height:1.5;margin:0}.tour-bottom{position:absolute;z-index:5;left:4vw;right:4vw;bottom:35px;display:flex;align-items:center;gap:18px}.tour-bottom button{min-height:44px;min-width:44px;border:1px solid #ffffff36;cursor:pointer;background:#081a30c9;backdrop-filter:blur(8px)}.tour-bottom button:hover{background:#0057ff}.tour-bottom #tour-pause{padding:0 16px;font-size:13px}.tour-track{height:2px;background:#ffffff30;flex:1}.tour-track>div{height:100%;width:100%;background:linear-gradient(90deg,#0057ff,#ff5a1f);transform-origin:left;transform:scaleX(0)}#tour-count{font:12px 'IBM Plex Mono',monospace;white-space:nowrap}.tour-hint{position:absolute;right:4vw;bottom:123px;z-index:3;font:12px 'IBM Plex Mono',monospace;letter-spacing:.1em;color:#b6c9e1}.tour-hint span{font-size:22px;color:#ff8759;margin-left:15px}.tour-note{position:absolute;right:4vw;top:24px;font:12px 'IBM Plex Mono',monospace;color:#91a4bc;pointer-events:none;z-index:2;opacity:0}.tour-scroll.engaged .tour-note{opacity:1}.tour-annotations{position:absolute;inset:0;z-index:4;pointer-events:none}.tour-label{position:absolute;left:0;top:0;width:230px;padding:13px 15px;text-align:left;background:#07182fed;border:1px solid #5e83ad88;border-left:2px solid #ff5a1f;color:white;box-shadow:0 12px 28px #020b1930;backdrop-filter:blur(10px);cursor:pointer;pointer-events:auto;will-change:transform}.tour-label>span{display:block;font:12px 'IBM Plex Mono',monospace;color:#ff956f;margin-bottom:7px}.tour-label>strong{font-size:20px;line-height:1.15;letter-spacing:-.035em;display:block}.tour-label>small{display:block;font-size:12px;color:#a8bbd3;margin-top:7px}.tour-label:hover{border-color:#ff8759;background:#0b2850}.tour-annotations svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.tour-annotations path{fill:none;stroke:#ff8759;stroke-width:1;stroke-dasharray:3 5}.tour-annotations circle{fill:#ff5a1f;stroke:#ffd4bd;stroke-width:2}.tour-detail{position:absolute;right:4vw;top:90px;z-index:8;background:#07182ff5;padding:26px;width:min(420px,90vw);border:1px solid #6685a0;box-shadow:0 20px 80px #02091688;backdrop-filter:blur(16px)}.tour-detail[hidden]{display:none}.tour-detail>button{float:right;cursor:pointer;font-size:24px;width:36px;height:36px}.tour-detail>span{font:12px 'IBM Plex Mono',monospace;color:#ff8759}.tour-detail h2{font-size:26px;line-height:1.1}.tour-detail p{font-size:16px;line-height:1.6;color:#d2ddeb}.tour-detail small{display:block;border-top:1px solid #ffffff22;margin-top:20px;padding-top:14px;font-size:12px;color:#95a9c0}.tour-result{position:relative;background:#f5f7fb;color:#07152e}.tour-result-cover{min-height:90svh;display:grid;grid-template-columns:1fr 1fr;background:#08182e;color:white}.tour-result-cover>img{width:100%;height:90svh;object-fit:cover;object-position:center 52%}.tour-result-cover>div{display:flex;flex-direction:column;justify-content:center;padding:7vw}.tour-result-cover h2{font-size:clamp(46px,5.8vw,92px);line-height:.95;margin:28px 0}.tour-result-cover p{color:#adbed3;font-size:14px}.tour-result-cover a{font-size:14px;padding:20px 0;color:#ff8759}.tour-result-intro{padding-block:100px}.tour-result-intro>span{font:12px 'IBM Plex Mono',monospace;color:#0057ff}.tour-result-intro h2{font-size:clamp(38px,5vw,70px);line-height:.95}.tour-result-intro p{max-width:800px;font-size:17px;line-height:1.75;color:#5d6b82}.tour-result .plans-section,.tour-result .quantities,.tour-result .scope-section{padding-block:90px}.tour-footer{padding:36px 4vw;display:flex;gap:24px;justify-content:space-between;align-items:center;background:#061227;font-size:14px}.tour-footer span{font:12px 'IBM Plex Mono',monospace;color:#91a4bc}.tour-error{position:absolute;z-index:12;inset:0;display:grid;place-content:center;padding:30px;background:#09172b;font-size:18px;text-align:center}.tour-error a{display:block;margin-top:20px;color:#ff8759}.tour-page button:focus-visible,.tour-page a:focus-visible{outline:2px solid #ff8759;outline-offset:4px}
@media(max-width:760px){.tour-header{height:70px;padding:0 18px}.tour-edition{display:none}.tour-header>a:last-child{font-size:12px}.tour-scroll{height:1150svh}.tour-intro{left:22px;right:22px;top:16%}.tour-intro h1{font-size:clamp(48px,12vw,78px)}.tour-intro p{max-width:260px}.tour-intro>span{font-size:11px}.tour-caption{left:20px;right:20px;bottom:110px;max-width:90vw}.tour-caption h2{font-size:24px;margin:9px 0}.tour-caption p{font-size:14px;max-width:350px}.tour-caption>span{font-size:11px}.tour-label{width:190px;padding:10px 12px}.tour-label>strong{font-size:17px}.tour-label>span,.tour-label>small{font-size:12px}.tour-bottom{left:16px;right:16px;bottom:24px;gap:9px}.tour-bottom #tour-pause{padding:0 10px;font-size:12px}.tour-hint{right:20px;top:80px;bottom:auto;font-size:10px}.tour-note{display:none}.tour-detail{top:110px;right:5vw}.tour-result-cover{grid-template-columns:1fr}.tour-result-cover>img{height:70svh}.tour-result-cover>div{padding:45px 25px}.tour-result-cover h2{font-size:48px}.tour-result-intro{padding-block:65px}.tour-footer{flex-direction:column;align-items:flex-start}.tour-result .plans-section,.tour-result .quantities,.tour-result .scope-section{padding-block:65px}}
.tour-joint-controls{position:absolute;z-index:6;top:64px;left:50%;transform:translateX(-50%);display:flex;gap:6px;padding:6px;background:#08182edb;border:1px solid #69839955;backdrop-filter:blur(12px)}.tour-joint-controls[hidden]{display:none}.tour-joint-controls button{padding:12px 16px;min-height:44px;color:#d8e3ee;border:1px solid #69839955;font-size:14px;cursor:pointer;white-space:nowrap}.tour-joint-controls button[aria-pressed=true]{background:#ae5b2b;color:white;border-color:#ff976b}.tour-detail small a{display:block;margin-top:10px;color:#ff976b}.tour-label[hidden]{display:none}
@media(max-width:760px){.tour-joint-controls{top:auto;bottom:255px;width:max-content;max-width:calc(100% - 24px)}.tour-joint-controls button{padding:10px 8px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.tour-page *{scroll-behavior:auto!important}.tour-intro{transition:none}}
