*{box-sizing:border-box}.tour-page{margin:0}.tour-page .tour-header{padding:22px 4vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d5dacb}.tour-exit{font-size:12px}.tour-page h1:focus{outline:none}.tour-page button:focus-visible,.tour-page a:focus-visible{outline:3px solid #a78136;outline-offset:5px}.tour-welcome{max-width:1200px;margin:auto;min-height:calc(100svh - 100px);padding:7vh 6vw 65px;background:linear-gradient(90deg,#f8f5ec 26%,#f8f5ecc9 61%,#f8f5ec44),url('/assets/girona-training.jpg') right center/auto 85% no-repeat}.tour-welcome h1{font-size:clamp(65px,8vw,110px);font-weight:500;line-height:1;letter-spacing:-4px;margin:32px 0}.tour-welcome p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:520px}.tour-start{margin-top:25px;min-width:210px;font-size:16px!important}.tour-welcome-note{display:block;margin-top:26px;color:#596b52;font-size:12px;line-height:1.7}.tour-step{max-width:1320px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;padding:55px 5vw 130px;align-items:center;min-height:calc(100svh - 100px)}.tour-copy h1,.tour-lab-heading h1{font-size:clamp(38px,4.6vw,65px);font-weight:500;letter-spacing:-2px;line-height:1.06;margin:24px 0}.tour-copy p:not(.eyebrow){font-size:17px;line-height:1.8;color:#53634c;max-width:560px}.tour-copy .tour-whisper{font-family:'Instrument Serif',Georgia,serif;font-size:28px!important;line-height:1.35!important;margin-top:30px;color:#324e37!important}.tour-credit{font-size:11px!important;line-height:1.6!important}.tour-step figure{margin:0}.tour-step figure>img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}.tour-step figure>video{width:100%;display:block;background:#1d2d24;aspect-ratio:16/9}.tour-step figcaption{font-size:11px;line-height:1.6;color:#64715a;margin-top:12px}.tour-teams{display:grid;grid-template-columns:1fr 1fr;gap:26px 18px}.tour-teams figure>img{aspect-ratio:16/10;object-fit:cover}.tour-teams strong{display:block;font-size:16px;font-weight:500;margin-bottom:5px}.tour-copy blockquote{margin:35px 0;font-family:'Instrument Serif',Georgia,serif;font-size:32px;line-height:1.25}.tour-copy cite{display:block;font:11px/1.7 'DM Sans',sans-serif;margin-top:14px;color:#67765c}.tour-controls{position:fixed;bottom:0;left:0;right:0;background:#f8f5ecf5;backdrop-filter:blur(10px);border-top:1px solid #c5cdbb;display:flex;align-items:center;justify-content:space-between;padding:18px max(5vw,20px) calc(18px + env(safe-area-inset-bottom));gap:20px;z-index:100}.tour-controls[hidden]{display:none}.tour-controls button{font:13px 'DM Sans',sans-serif;padding:15px 22px;min-height:48px;border:1px solid #b4bea7;background:transparent;color:#24372b;cursor:pointer}.tour-controls #tour-next{background:#e7cc83;border-color:#e7cc83;min-width:180px}.tour-position{text-align:center}.tour-position span{display:block;font-size:10px;letter-spacing:2px;margin-bottom:7px}.tour-position strong{font-size:13px;font-weight:500}.tour-progress{position:absolute;top:-3px;left:0;right:0;display:flex;gap:3px;height:3px}.tour-progress i{flex:1;background:#d5dacb}.tour-progress i.passed{background:#496741}.tour-lab{display:block;padding-top:35px}.tour-lab-heading{max-width:850px}.tour-lab-heading h1{font-size:43px;margin:16px 0}.tour-lab-heading>p:last-child{font-size:15px;line-height:1.7;max-width:740px;margin-bottom:26px}.tour-frame-wrap iframe{width:100%;height:780px;display:block;border:0;background:#f8f5ec}.frame-fallback{font-size:11px;line-height:1.6;color:#67765b}.tour-finale{text-align:center;max-width:950px;margin:auto}.tour-ending{display:block;background:#233d2c;color:#fbf3dc;max-width:none;padding-top:65px}.is-finale{background:#233d2c}.tour-finale h1{font-size:clamp(48px,6vw,84px);line-height:1.05;font-weight:500;letter-spacing:-2px;margin:35px 0}.tour-finale>p:not(.eyebrow){font-size:18px;line-height:1.9;color:#d8e0ce}.tour-finale .tour-sign{font-family:'Instrument Serif',Georgia,serif;font-size:34px!important;color:#ead39a!important;line-height:1.4!important}.tour-finale a{color:#ead39a}.tour-finale .eyebrow{color:#ead39a}
@media(max-width:700px){.tour-page .tour-header{padding:20px 6vw}.tour-header .brand span{font-size:7px;letter-spacing:1px}.tour-exit{font-size:10px;max-width:90px;text-align:right}.tour-welcome{padding:45px 6vw 70px;background:linear-gradient(#f8f5ecf2,#f8f5ecdd),url('/assets/girona-training.jpg') center/cover}.tour-welcome h1{font-size:67px;letter-spacing:-3px}.tour-welcome p:not(.eyebrow){font-size:16px}.tour-step{grid-template-columns:1fr;padding:32px 6vw 150px;gap:25px;align-content:start}.tour-copy h1{font-size:45px;letter-spacing:-1.7px;margin:18px 0}.tour-copy p:not(.eyebrow){font-size:15px;line-height:1.75}.tour-copy .tour-whisper{font-size:24px!important}.tour-step figure>img{max-height:340px}.tour-teams{gap:20px 13px}.tour-teams strong{font-size:14px}.tour-teams figcaption{font-size:10px}.tour-copy blockquote{font-size:27px;margin:22px 0}.tour-controls{gap:8px;padding:15px 12px calc(15px + env(safe-area-inset-bottom))}.tour-controls button{font-size:11px;padding:12px 10px}.tour-controls #tour-next{min-width:0}.tour-position strong{font-size:10px}.tour-position span{font-size:9px}.tour-lab-heading h1{font-size:34px;letter-spacing:-1px}.tour-lab-heading>p:last-child{font-size:14px}.tour-finale h1{font-size:50px}.tour-finale>p:not(.eyebrow){font-size:15px}.tour-finale .tour-sign{font-size:30px!important}.tour-ending{padding-top:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.tour-welcome{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:none;padding:55px 5vw 70px}.tour-welcome h1{font-size:clamp(60px,6.7vw,95px);letter-spacing:-3px}.welcome-portrait{margin:0}.welcome-portrait img{display:block;width:100%;height:480px;object-fit:cover;object-position:50% center}.welcome-portrait figcaption{font-size:10px;color:#65725c;margin-top:12px}@media(max-width:700px){.tour-welcome{grid-template-columns:1fr;padding:40px 6vw 50px;gap:35px}.tour-welcome h1{font-size:61px}.welcome-portrait img{height:280px}.tour-welcome-note{margin-top:20px}}
.is-finale .tour-header{border-color:#54644c}.is-finale .tour-header a,.is-finale .tour-header .brand span{color:#f7efd9}
.tour-page .tour-controls{top:auto;flex-direction:row;width:100%;margin:0;transform:none;max-height:none}.tour-page .tour-controls:not([hidden]){display:flex}

/* Keep the presentation navigation visible while preserving its layout space. */
.tour-page .tour-header{position:sticky;top:0;z-index:110;background:var(--paper,#f8f5ec)}
.tour-page.is-finale .tour-header{background:#233d2c}
