:root{--ink:#283d49;--muted:#596d77;--paper:#e7ecef;--mint:#75e1d1;--line:rgba(40,61,73,.19);--sans:'IBM Plex Sans',Arial,sans-serif;--mono:'IBM Plex Mono',monospace;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}body{margin:0;overscroll-behavior-y:none}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #287f78;outline-offset:6px}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}.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}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:var(--paper);padding:15px;z-index:100}.skip-link:focus{top:10px}#scene{position:fixed;inset:0;z-index:0;pointer-events:none}#scene canvas{width:100%;height:100%;display:block}.atmosphere{position:fixed;inset:0;background:linear-gradient(90deg,rgba(232,237,240,.78),transparent 53%);z-index:1;pointer-events:none;transition:background .8s}.site-header{position:fixed;z-index:20;left:4.2vw;right:4.2vw;top:32px;display:flex;justify-content:space-between;align-items:center}.wordmark{font-size:42px;letter-spacing:-3px;font-weight:600;line-height:1;display:flex;align-items:center}.brand-dot{color:#288a80;margin-right:24px}.wordmark-small{font:10px var(--mono);letter-spacing:0;line-height:1.2;padding-left:23px;border-left:1px solid var(--line)}.site-header nav{display:flex;align-items:center;gap:30px}.text-button,.contact-button{font-size:12px;font-weight:500;padding:12px 0;display:flex;align-items:center;gap:11px}.contact-button{border-bottom:1px solid var(--ink);gap:24px}.contact-button span{font-size:17px}.menu-glyph{display:flex;flex-direction:column;gap:5px}.menu-glyph i{width:14px;height:1px;background:currentColor}.menu-glyph i:last-child{width:9px}.experience-meta{position:fixed;z-index:10;top:115px;left:4.2vw;font:10px var(--mono);color:var(--muted);display:flex;align-items:center;gap:9px}.status-dot{width:5px;height:5px;background:#358c80;border-radius:50%;box-shadow:0 0 0 4px #75e1d122}.meta-separator{margin:0 5px;color:#8b9ba3}.chapter-copy{position:fixed;left:6.4vw;top:29%;z-index:5;width:min(490px,38vw);transition:opacity .28s,transform .45s}.chapter-copy.switching{opacity:0;transform:translateY(9px)}.chapter-kicker{display:flex;align-items:center;gap:13px;font:10px var(--mono);margin-bottom:24px;color:var(--muted)}.kicker-line{width:24px;height:1px;background:#94a7b0}h1{font-size:clamp(42px,5.7vw,86px);font-weight:400;line-height:1.02;letter-spacing:-.055em;margin:0 0 26px}#chapter-description{max-width:340px;font-size:15px;line-height:1.7;color:var(--muted);margin:0;text-wrap:pretty}.next-action{display:flex;align-items:center;gap:20px;margin-top:30px;font-size:12px;font-weight:500;padding:0}.circle-arrow{display:grid;place-items:center;width:36px;height:36px;border:1px solid #8c9ea7;border-radius:50%;font-size:18px;transition:background .2s,transform .2s}.next-action:hover .circle-arrow{background:#d0dedf;transform:translateY(3px)}.quest-role{display:flex;gap:12px;align-items:flex-start;max-width:330px;margin-top:24px;padding-top:19px;border-top:1px solid var(--line)}.role-symbol{width:24px;height:24px;border:1px solid #70938f;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#36796e;flex-shrink:0}.role-label{font:9px var(--mono);color:var(--muted)}#role-copy{font-size:12px;line-height:1.55;margin:6px 0 0;color:var(--ink)}.object-label{position:fixed;left:70%;top:40%;z-index:3;display:flex;align-items:flex-start;gap:0;pointer-events:none;font:10px var(--mono);transition:opacity .3s}.object-label .target-cross{font-size:16px;line-height:10px;color:#3c887c}.label-stem{width:40px;height:1px;background:#6f918d;transform:rotate(-35deg);transform-origin:left;margin-top:6px}.object-label>div{margin-top:-24px}.object-label small{display:block;color:var(--muted);font-size:8px;margin-top:5px}.request-panel{position:fixed;right:8vw;top:49%;z-index:6;width:340px;padding:21px 23px;background:rgba(237,244,244,.94);border:1px solid rgba(91,126,132,.28);box-shadow:0 18px 55px #263e4b12;transition:opacity .3s,transform .3s;border-radius:3px}.request-top{display:flex;align-items:center;gap:9px;font:9px var(--mono);padding-bottom:15px;border-bottom:1px solid var(--line)}#request-stage{margin-left:auto;color:#3c7f74;font-size:8px}.request-orbit{width:10px;height:10px;border:1px solid #329080;border-radius:50%;box-shadow:0 0 0 4px #75e1d12a}.request-quote{font-size:19px;line-height:1.45;letter-spacing:-.02em;margin:22px 0 15px}.request-byline{font:9px var(--mono);color:var(--muted)}.request-fields{margin:8px 0 0}.request-fields>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #3a556b12;font-size:11px}.request-fields dt{color:var(--muted)}.request-fields dd{margin:0;text-align:right}.request-fields .pending{color:#84602b}.request-message{display:flex;align-items:center;gap:9px;margin:15px 0 0;font:9px/1.5 var(--mono);color:#4b776d}.request-message>span{width:16px;height:16px;border-radius:50%;background:#287c6920;display:grid;place-items:center;flex-shrink:0}.source-item{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}.source-item small{font:8px var(--mono);color:var(--muted)}.source-item em{font-style:normal;color:#87672d;font-size:10px}.timeline-item{display:grid;grid-template-columns:15px 1fr auto;align-items:center;font-size:11px;gap:7px;padding:11px 0}.timeline-item i{display:block;border-radius:50%;width:5px;height:5px;background:#438d7b}.timeline-item small{font:8px var(--mono);color:var(--muted)}.review-item{font-size:12px;padding:14px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.review-item span{font-size:9px;color:var(--muted)}.services{position:fixed;z-index:7;left:6.4vw;top:55%;width:390px}.service-options{display:flex;border-bottom:1px solid var(--line)}.service-options button{padding:15px 19px 14px 0;margin-right:18px;font-size:14px;position:relative;color:var(--muted);white-space:nowrap}.service-options button span{font:8px var(--mono);vertical-align:super;margin-left:7px}.service-options button[aria-selected=true]{color:var(--ink)}.service-options button[aria-selected=true]:after{content:'';height:2px;background:#3a9487;position:absolute;left:0;right:15px;bottom:-1px}#service-description{font-size:13px;color:var(--muted);line-height:1.6;min-height:62px;max-width:350px;margin:18px 0}.service-cta{display:flex;gap:30px;align-items:center;padding:13px 20px;background:var(--ink);color:#e9f0f0;border-radius:2px;font-size:12px}.service-cta span{font-size:18px}.service-cta:hover{background:#365663}.experience-footer{position:fixed;left:4.2vw;right:4.2vw;bottom:28px;z-index:15;display:flex;align-items:center;justify-content:space-between;font:9px var(--mono)}.preferences{display:flex;gap:22px}.preferences button{font:9px var(--mono);padding:9px 0;display:flex;gap:7px;align-items:center;color:var(--muted)}#sound-icon{font-size:14px;display:inline-block;width:15px}.chapter-nav{display:flex;align-items:center;gap:9px}.chapter-nav button{position:relative;width:34px;height:38px;padding:0;font:8px var(--mono);color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.chapter-nav button:before{content:'';height:2px;width:25px;background:#9baeb7;transition:height .2s,background .2s}.chapter-nav button[aria-current=step]{color:var(--ink)}.chapter-nav button[aria-current=step]:before{height:3px;background:#287f73}.chapter-nav button .chapter-tooltip{position:absolute;bottom:45px;white-space:nowrap;font-size:9px;opacity:0;pointer-events:none;padding:7px 10px;background:#e7eef0;border:1px solid var(--line);transition:opacity .2s}.chapter-nav button:hover .chapter-tooltip,.chapter-nav button:focus-visible .chapter-tooltip{opacity:1}.scroll-cue{display:flex;align-items:center;gap:13px;color:var(--muted)}.scroll-mouse{border:1px solid #80969f;width:13px;height:20px;border-radius:9px;display:block;position:relative}.scroll-mouse:after{content:'';position:absolute;left:5px;top:4px;width:1px;height:5px;background:#547780;animation:scrollhint 2s infinite}.progress-line{height:2px;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#788f9914}#progress-fill{height:100%;width:0;background:#5caa9e}.reduced .scroll-mouse:after{animation:none}@keyframes scrollhint{0%{transform:translateY(0);opacity:1}70%,100%{transform:translateY(5px);opacity:0}}
body[data-scene="2"] .request-panel{top:36%;width:370px;right:10vw}body[data-scene="2"] .request-fields>div{padding:14px 0;font-size:13px}body[data-scene="3"]{--ink:#deeaed;--muted:#a9c0c7;--line:rgba(203,225,227,.22)}body[data-scene="3"] .atmosphere{background:linear-gradient(90deg,rgba(26,42,52,.7),transparent 60%)}body[data-scene="3"] .request-panel{background:#253e49ed;border-color:#accdcc33;top:51%;width:310px}body[data-scene="3"] #request-stage{color:#8de3cd}body[data-scene="3"] .source-item em{color:#dec58e}body[data-scene="3"] .role-symbol{color:#8de3cd;border-color:#8de3cd}body[data-scene="3"] .status-dot{background:var(--mint)}body[data-scene="6"] .request-panel{top:51%;right:7vw;width:295px}body[data-scene="7"] .chapter-copy{top:25%}body[data-scene="7"] h1{font-size:clamp(40px,4.8vw,72px)}body[data-scene="7"] #chapter-description{max-width:320px}body[data-scene="7"] .object-label{display:none}
#loader{position:fixed;inset:0;z-index:80;background:#e7ecef;display:flex;align-items:center;justify-content:center;gap:16px;font:11px var(--mono);color:#53727b;transition:opacity .65s,visibility .65s}#loader.loaded{opacity:0;visibility:hidden}.loader-mark{width:20px;height:20px;border:1px solid #4c8b81;border-bottom-color:transparent;border-radius:50%;animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{color:#283d49;background:#edf2f2;border:1px solid #879fa640;box-shadow:0 30px 100px #132b3d33;padding:36px;max-height:85svh;overflow-y:auto;width:min(590px,calc(100% - 32px));border-radius:4px}dialog::backdrop{background:#15313f77;backdrop-filter:blur(8px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.dialog-eyebrow{font:10px var(--mono);color:#5b777f}.close-button{font-size:28px;font-weight:300;width:35px;height:35px;display:grid;place-items:center}.close-button:hover{background:#c7d9db66}dialog h2{font-size:40px;font-weight:400;letter-spacing:-.045em;line-height:1.05;margin:24px 0}#menu-chapters{display:flex;flex-direction:column}#menu-chapters button{display:flex;align-items:center;text-align:left;gap:20px;padding:13px 0;border-bottom:1px solid #47616d26;font-size:15px}#menu-chapters button>span{font:9px var(--mono);color:#70858e}#menu-chapters button>i{margin-left:auto;font-style:normal}#menu-chapters button[aria-current=step]{color:#258477}.text-link{font-size:12px;padding:0 0 5px;border-bottom:1px solid #719396;display:inline-flex;gap:15px}.chapter-menu .text-link{margin-top:25px}.text-dialog{width:min(680px,calc(100% - 32px))}.dialog-intro,dialog p{font-size:14px;line-height:1.7;color:#536d76}.text-dialog section{padding:15px 0;border-top:1px solid #6c858d33}.text-dialog h3{font-size:23px;font-weight:400;letter-spacing:-.03em}.text-dialog section small{font:10px var(--mono);color:#2e7e71}.email-link{display:flex;align-items:center;justify-content:space-between;font-size:24px;letter-spacing:-.03em;padding:25px 0 15px;border-bottom:1px solid #718d95}.contact-note{font-size:11px}.contact-dialog .text-link{margin-top:15px}#copy-status{font-size:11px;margin-left:14px}.noscript{position:fixed;inset:0;z-index:100;background:#e7ecef;padding:15vw 10vw}.fallback-note{position:fixed;right:8%;top:38%;max-width:300px;color:#59737c;z-index:4;font-size:14px;line-height:1.7}
@media(min-width:1600px){.chapter-copy{left:8vw;top:30%}.request-panel{right:12vw}.services{left:8vw}.site-header,.experience-footer{left:5vw;right:5vw}.experience-meta{left:5vw}}
@media(max-height:740px) and (min-width:761px){.site-header{top:23px}.experience-meta{top:92px}.chapter-copy{top:25%}h1{font-size:clamp(38px,5.1vw,69px);margin-bottom:20px}.chapter-kicker{margin-bottom:18px}.quest-role{margin-top:16px;padding-top:13px}.next-action{margin-top:19px}#chapter-description{font-size:13px}.experience-footer{bottom:15px}.services{top:55%}.service-options button{padding-top:10px;padding-bottom:9px}#service-description{font-size:12px;min-height:50px;margin:12px 0}}
@media(max-width:1000px){.chapter-copy{width:42vw;left:5vw}h1{font-size:58px}#chapter-description{font-size:14px;max-width:290px}.request-panel{right:5%;width:300px;top:50%}.wordmark-small{display:none}.preferences{gap:15px}.chapter-nav{gap:3px}.chapter-nav button{width:28px}.chapter-nav button:before{width:19px}.services{left:5vw;width:355px}.scroll-cue{font-size:8px}body[data-scene="2"] .request-panel{right:5vw;width:330px}}
@media(max-width:760px){.site-header{left:22px;right:22px;top:22px}.wordmark{font-size:35px;letter-spacing:-2.6px}.brand-dot{margin-right:0}.site-header nav{gap:19px}.text-button{font-size:0;gap:0}.menu-glyph i{width:19px}.menu-glyph i:last-child{width:13px}.contact-button{font-size:10px;gap:10px;padding:8px 0}.contact-button span{font-size:15px}.experience-meta{left:24px;top:84px;font-size:8px;gap:6px}.experience-meta .meta-separator{margin:0 2px}.chapter-copy{left:26px;right:26px;top:15%;width:auto;max-width:500px}.chapter-kicker{font-size:8px;gap:10px;margin-bottom:14px}.kicker-line{width:18px}h1{font-size:clamp(39px,10.8vw,58px);margin-bottom:14px;line-height:1.02;letter-spacing:-.055em}#chapter-description{max-width:330px;font-size:12px;line-height:1.6}.next-action{margin-top:18px;font-size:10px;gap:14px}.circle-arrow{width:28px;height:28px;font-size:15px}.quest-role{max-width:320px;margin-top:14px;padding-top:10px;gap:9px}.role-label{font-size:8px}#role-copy{font-size:10px;margin-top:4px}.role-symbol{width:21px;height:21px;font-size:10px}.object-label{font-size:8px}.object-label small{font-size:7px}.request-panel{top:auto!important;bottom:103px;right:22px;width:240px;padding:14px 16px}.request-top{font-size:8px;padding-bottom:11px}.request-quote{font-size:15px;margin:13px 0}.request-byline{font-size:8px}.request-fields>div{padding:7px 0;font-size:10px}.request-message{font-size:8px;margin-top:11px}body[data-scene="2"] .request-panel{width:280px;right:22px}body[data-scene="2"] .request-fields>div{font-size:11px;padding:9px 0}body[data-scene="3"] .request-panel{width:250px}.source-item{font-size:10px;padding:10px 0}.source-item small{font-size:7px}.timeline-item{font-size:10px;padding:8px 0}.review-item{font-size:10px;padding:10px 0}body[data-scene="6"] .request-panel{width:240px;right:22px}.experience-footer{left:22px;right:22px;bottom:18px;flex-wrap:wrap;gap:12px}.preferences{order:2;width:100%;justify-content:space-between}.preferences button{font-size:8px;padding:2px 0}.chapter-nav{order:0;gap:4px}.chapter-nav button{width:23px;height:26px;font-size:7px;gap:5px}.chapter-nav button:before{width:17px}.scroll-cue{order:1;gap:8px;font-size:7px}.scroll-mouse{width:11px;height:16px}.scroll-mouse:after{left:4px;height:4px;top:3px}.atmosphere{background:linear-gradient(180deg,rgba(232,237,240,.98),rgba(232,237,240,.8) 31%,transparent 56%)}body[data-scene="3"] .atmosphere{background:linear-gradient(180deg,rgba(26,42,52,.95),rgba(26,42,52,.8) 35%,transparent 70%)}body[data-scene="7"] .chapter-copy{top:16%}body[data-scene="7"] h1{font-size:clamp(37px,10vw,53px)}.services{left:26px;right:26px;top:auto;bottom:114px;width:auto;max-width:370px;padding:18px;background:#e8eeeedb;border:1px solid #8baca62e}.service-options button{font-size:12px;margin-right:13px;padding:8px 12px 11px 0}.service-options button span{font-size:7px}#service-description{font-size:11px;line-height:1.6;min-height:48px;margin:12px 0}.service-cta{font-size:10px;padding:9px 13px}.service-cta span{font-size:15px}dialog{padding:24px;max-height:88svh}dialog h2{font-size:34px}.email-link{font-size:20px}.fallback-note{top:52%;font-size:12px;max-width:220px}.chapter-tooltip{display:none}}
@media(max-width:760px) and (max-height:720px){.chapter-copy,body[data-scene="7"] .chapter-copy{top:108px}.chapter-kicker{margin-bottom:10px}h1,body[data-scene="7"] h1{font-size:34px;margin-bottom:10px}#chapter-description{font-size:11px;line-height:1.5}.quest-role{margin-top:10px;padding-top:8px}#role-copy{font-size:9.5px;line-height:1.4}.next-action{margin-top:12px}.request-panel{padding:12px 14px;bottom:100px}body[data-scene="2"] .request-fields>div{padding:7px 0;font-size:10px}.request-message{font-size:7px;margin-top:8px}.services{bottom:106px;padding:14px}}
body{color:var(--ink)}.chapter-nav button .chapter-tooltip{color:#283d49}
.reduced .chapter-copy,.reduced .atmosphere,.reduced .object-label,.reduced .request-panel,.reduced .circle-arrow{transition:none}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.scroll-mouse:after,.loader-mark{animation:none}}
/* Give the travelling request space between the reading positions. */
.chapter-copy,.request-panel{opacity:var(--reading-opacity,1)}
.chapter-copy.switching{opacity:0}
.object-label{left:0;top:0;will-change:transform}
.signal-label{position:fixed;left:0;top:0;z-index:4;pointer-events:none;will-change:transform;transition:opacity .3s}
.signal-label span{position:absolute;left:15px;top:-24px;white-space:nowrap;font:8px var(--mono);letter-spacing:.07em;color:#236f5e;background:#e8f3efdf;border:1px solid #548c7640;padding:5px 7px;border-radius:2px}
.transit-label{position:fixed;left:50%;bottom:105px;transform:translateX(-50%);z-index:4;font:9px var(--mono);letter-spacing:.04em;color:var(--ink);pointer-events:none;white-space:nowrap}
body[data-scene="3"] .signal-label span{background:#183a37e8;color:#a3f3d5}
.reduced .signal-label{transition:none}
body[data-rendered="fallback"] .signal-label,body[data-rendered="fallback"] .transit-label{display:none}
@media(min-width:761px){h1{font-size:clamp(42px,4.8vw,74px)}.chapter-copy{width:min(550px,43vw);top:26%}#chapter-description{max-width:355px}.request-panel{top:auto!important;bottom:16%;right:6vw}.services{top:auto;bottom:16%}body[data-scene="7"] .chapter-copy{top:22%}body[data-scene="7"] h1{font-size:clamp(40px,4.2vw,64px)}}
@media(min-width:761px) and (max-height:740px){.chapter-copy{top:23%}h1{font-size:clamp(38px,4.3vw,61px)}body[data-scene="7"] .chapter-copy{top:21%}body[data-scene="7"] h1{font-size:48px}.services{bottom:13%}.transit-label{bottom:80px}}
@media(max-width:760px){.transit-label{bottom:87px;font-size:7px}.signal-label span{font-size:7px;left:13px;top:-22px;padding:4px 5px}h1{font-size:clamp(36px,9.5vw,52px)}body[data-scene="7"] h1{font-size:clamp(36px,9.5vw,52px)}.object-label{display:none}.request-panel{background:#edf4f4ed}}
@media(max-width:760px) and (max-height:720px){h1,body[data-scene="7"] h1{font-size:31px}.quest-role{max-width:330px}#chapter-description{line-height:1.45}.request-panel{bottom:98px}.request-message{display:none}.request-fields>div,body[data-scene="2"] .request-fields>div{padding:5px 0}.request-top{padding-bottom:8px}.request-quote{font-size:13px;margin:10px 0}.timeline-item{padding:6px 0}.source-item{padding:8px 0}}

.atmosphere{opacity:var(--atmosphere-opacity,1)}

.travelling .chapter-copy,.travelling .request-panel{pointer-events:none}
