@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
:root{color-scheme:dark;--cream:#f1eee3;--muted:#c6c9c3}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:#243232;color:var(--cream);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #e9b77a;outline-offset:6px}#world{position:fixed;inset:0;z-index:-3;background:#b4c4c6 url('assets/hero.webp') center/cover no-repeat}#world canvas{width:100%;height:100%;display:block}.shade{position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,#1420218a,transparent 70%),linear-gradient(0deg,#16252680,transparent 45%,#16252635)}header{position:fixed;inset:0 0 auto;z-index:15;padding:23px 30px;display:flex;align-items:center;gap:35px;background:linear-gradient(#14232355,transparent)}.brand{display:flex;gap:9px;align-items:center}.brand>span{font-size:40.25px;line-height:1}.brand b{font-weight:500;letter-spacing:.07em;font-size:12.65px;line-height:1.15}.edition{margin-left:auto;font-size:12.65px;opacity:.85}.study-link{font-size:12.65px;border:1px solid #e4e9dd70;border-radius:30px;padding:12px 20px}nav{position:fixed;left:30px;top:30%;z-index:12;display:flex;flex-direction:column;width:155px;gap:9px}.nav-heading{font-size:9.2px;letter-spacing:.15em;margin-bottom:22px;opacity:.65}nav a{display:flex;justify-content:space-between;font-size:12.65px;opacity:.45;transition:opacity .4s}nav a.active,nav a:hover{opacity:1}nav a.active:before{content:'•';margin-right:7px}nav i{font:9px Georgia,serif;margin-left:auto;opacity:.6}main{position:relative}section{height:220svh;position:relative;pointer-events:none}section:first-child{height:220svh}section:last-child{height:180svh}.copy{position:sticky;top:32vh;margin-left:23%;width:min(620px,65%);padding-top:1px;opacity:0;will-change:opacity,transform;pointer-events:none}.copy a{pointer-events:auto}.copy.right{margin-left:57%;width:37%;max-width:520px}.copy.compact{max-width:420px;top:39vh}.copy.hero-copy{top:42vh;opacity:1}.eyebrow{font-size:10.35px;letter-spacing:.17em;line-height:1.6;margin:0 0 25px;font-weight:500}h1,h2{font-weight:400;letter-spacing:-.055em;line-height:.95;margin:0 0 28px;text-shadow:0 2px 24px #17232624}h1{font-size:clamp(74.75px,8.97vw,155.25px)}h2{font-size:clamp(59.8px,7.245vw,120.75px)}em{font-family:'Italiana',Georgia,serif;font-style:normal;letter-spacing:-.035em}.compact h2{font-size:clamp(51.75px,5.52vw,89.7px)}.body-copy{font-size:16.1px;line-height:1.75;max-width:380px;font-weight:400;text-shadow:0 1px 10px #101e24}.begin{display:inline-flex;align-items:center;gap:42px;font-size:12.65px;margin-top:20px}.begin span{width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff70;border-radius:50%;font-size:20.7px}.end-links{display:flex;gap:28px;flex-wrap:wrap;margin-top:30px;font-size:12.65px}.end-links a{border-bottom:1px solid #ffffff66;padding-bottom:7px}.design-note{font-size:10.35px;line-height:1.6;opacity:.6;margin-top:30px}.tour-controls{position:fixed;bottom:25px;right:30px;z-index:20;display:flex;align-items:center;gap:9px}.tour-controls button{border:1px solid #ffffff55;border-radius:22px;background:#18252655;backdrop-filter:blur(8px);padding:10px 15px;font-size:12.65px}.tour-controls button:hover{background:#f2efe326}.tour-controls button:disabled{opacity:.3;cursor:default}.tour-controls #motion{margin-left:8px}.tour-controls #motion[aria-pressed=true]{background:#eeeade;color:#27342e}#chapter-count{font-size:10.35px;letter-spacing:.1em;padding:0 8px}.scroll-hint{position:fixed;bottom:27px;left:30px;font-size:9.2px;letter-spacing:.13em;z-index:15}.progress{margin-top:10px;display:block;width:155px;height:1px;background:#ffffff45}.progress>span{display:block;height:2px;width:0;background:#eeeade}#loading{position:fixed;z-index:50;inset:0;background:#243b3cf0;backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .7s,visibility .7s}#loading.loaded{opacity:0;visibility:hidden;pointer-events:none}.loading-mark{font-size:92px;font-weight:400}#loading p{font-family:'Italiana',Georgia,serif;font-size:41.4px;margin:20px 0}#load-percent{font-size:11.5px;letter-spacing:.08em;opacity:.65}.load-track{width:220px;height:1px;margin:25px;background:#ffffff40}.load-track span{display:block;width:0;height:1px;background:#fff;transition:width .3s}#loading>a{font-size:12.65px;opacity:.7;margin-top:20px}.skip{position:fixed;top:-100px;z-index:100;background:#fff;color:#111;padding:12px}.skip:focus{top:10px;left:20px}#error,.no-script{position:fixed;inset:20%;z-index:60;padding:40px;background:#243b3c;border:1px solid #ffffff40}#error h2{font-size:46px}#error p,#error a{font-size:16.1px;line-height:1.5}#error a{text-decoration:underline}#error button{display:block;margin-top:20px;background:none;border:1px solid #fff;padding:10px}body.ready #world{background-image:none}@media(max-width:1000px){nav{width:135px;left:22px}.copy{margin-left:24%;width:70%}.copy.right{margin-left:49%;width:46%}h1{font-size:92px}h2{font-size:74.75px}.copy.compact h2{font-size:64.4px}.body-copy{font-size:13.8px;max-width:315px}.eyebrow{font-size:9.2px}header{padding:20px 22px}}@media(max-width:650px){nav{display:none}header{padding:20px;gap:15px}.brand b{font-size:10.35px}.brand>span{font-size:34.5px}.edition{display:none}.study-link{margin-left:auto;padding:10px 13px;font-size:10.35px}.copy,.copy.right,.copy.compact{margin-left:24px;width:calc(100% - 48px);max-width:390px;top:52vh}.copy.hero-copy{top:43vh}h1{font-size:73.6px}h2,.copy.compact h2{font-size:58.65px}.eyebrow{margin-bottom:18px}.body-copy{font-size:13.8px;max-width:300px;line-height:1.6}.shade{background:linear-gradient(0deg,#162526cc,transparent 80%)}.tour-controls{right:15px;bottom:20px;gap:5px}.tour-controls button{font-size:10.35px;padding:9px 11px}.tour-controls #motion{margin-left:1px}#chapter-count{font-size:9.2px;padding:0 3px}.scroll-hint{left:20px;bottom:24px;font-size:8.05px}.progress{width:70px}.design-note{font-size:9.2px;margin-top:22px}.end-links{gap:15px;font-size:11.5px}#loading p{font-size:32.2px}.end-links+.design-note{max-width:250px}#error{inset:15px;top:20%;bottom:auto;padding:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.copy{will-change:auto}}
.copy{position:fixed;left:0;margin-top:0;z-index:2}.copy a{pointer-events:auto}.copy[aria-hidden=true]{pointer-events:none}.copy[aria-hidden=true] a{pointer-events:none}
@media(max-width:650px){#return .copy{top:29vh}#return h2{font-size:49.45px}#return .end-links{margin-top:20px}.scroll-hint{max-width:112px;line-height:1.5}}

/* More scroll distance for the stair climb and full orbit. */
#ascent{height:420svh}#globe{height:540svh}

#door{height:440svh}#ascent{height:220svh}
.edit-text{border:0;background:none;font-size:12.65px;padding:10px;white-space:nowrap}#text-editor{position:fixed;inset:80px 20px auto auto;margin:0;width:440px;max-width:calc(100vw - 30px);max-height:calc(100svh - 100px);overflow:auto;border:1px solid #d1d4c550;border-radius:16px;background:#203331f5;color:#f1eee3;padding:25px;box-shadow:0 20px 90px #0008}#text-editor::backdrop{background:#0002}.editor-heading{display:flex;justify-content:space-between;align-items:start}.editor-heading h2{font-size:35.65px;letter-spacing:-.04em;margin:0}.editor-heading button{background:none;border:0;font-size:29.9px}.editor-note{font-size:12.65px;line-height:1.6;opacity:.8;margin:14px 0 20px}#text-editor label{display:block;font-size:11.5px;margin:13px 0 5px}#text-editor input,#text-editor textarea,#text-editor select{display:block;width:100%;border:1px solid #aab9ae65;background:#122521;color:#fff;border-radius:5px;font:13px 'DM Sans',sans-serif;padding:10px;margin-top:6px}#text-editor textarea{resize:vertical}.editor-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.editor-actions button,.editor-actions .import-text{border:1px solid #aab9ae65;border-radius:20px;background:none;padding:9px 12px;font-size:11.5px;margin:0!important;cursor:pointer}.editor-actions #editor-save{background:#eeeade;color:#203331}.editor-actions .import-text input{max-width:160px;font-size:10.35px!important}#editor-status{font-size:12.65px;line-height:1.5;min-height:2em;color:#ead2a6}@media(max-width:650px){header{gap:7px}.edit-text{font-size:10.35px;padding:8px 3px}.study-link{padding:9px}.editor-heading h2{font-size:32.2px}#text-editor{top:75px;right:15px;padding:20px}}

/* The title and description arrive separately and settle into one composition. */
.copy{--title-x:-120px;--title-y:0px;--body-x:100px;--body-y:35px}
section:nth-child(3n + 2) .copy{--title-x:0px;--title-y:-95px;--body-x:-100px;--body-y:25px}
section:nth-child(3n) .copy{--title-x:120px;--title-y:15px;--body-x:0px;--body-y:90px}
.copy h1,.copy h2{transform:translate(var(--title-x),var(--title-y));transition:transform 1s cubic-bezier(.16,1,.3,1)}
.copy .body-copy{transform:translate(var(--body-x),var(--body-y));transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.copy .eyebrow{transform:translateY(-35px);transition:transform .9s cubic-bezier(.16,1,.3,1)}
.copy .begin,.copy .end-links,.copy .design-note{transform:translateY(45px);transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.copy.is-arrived h1,.copy.is-arrived h2,.copy.is-arrived .body-copy,.copy.is-arrived .eyebrow,.copy.is-arrived .begin,.copy.is-arrived .end-links,.copy.is-arrived .design-note{transform:translate(0,0)}
.copy.hero-copy{top:32vh}.hero-copy h1{margin-bottom:18px}.hero-copy .begin{margin-top:6px}
body.still-views .copy>*{transition:none!important;transform:none!important}
@media(max-width:650px){.copy.hero-copy{top:30vh}.hero-copy h1{font-size:66.7px}.hero-copy .eyebrow{margin-bottom:15px}.hero-copy .begin{margin-top:2px}.copy{--title-x:-65px;--body-x:65px}}
@media(prefers-reduced-motion:reduce){.copy>*{transform:none!important}}

.copy.hero-copy{top:28vh}@media(max-width:650px){.copy.hero-copy{top:26vh}}

.hero-copy h1{font-size:clamp(69px,7.475vw,124.2px)}.copy.hero-copy{top:24vh}@media(max-width:650px){.copy.hero-copy{top:25vh}.hero-copy h1{font-size:62.1px}}

/* Match the studies page typography and accommodate current chapter titles. */
.edition,.study-link{font-size:13.8px}.brand b{font-size:13.8px}
nav{width:185px;gap:10px}nav a{font-size:14.95px;line-height:1.35;gap:10px}nav a span{flex:1}nav a i{flex-shrink:0}
.body-copy{font-size:18.4px;line-height:1.6;max-width:440px}
.hero-copy h1{font-size:clamp(80.5px,9.43vw,172.5px);line-height:.88;font-weight:500}
@media(max-width:1000px){nav{width:160px}.body-copy{font-size:16.1px}}
@media(max-width:650px){.hero-copy h1{font-size:clamp(74.75px,13.8vw,109.25px)}.body-copy{font-size:16.1px}.study-link{font-size:12.65px}.brand b{font-size:11.5px}}

/* Keep closing copy and return buttons comfortably above viewport controls. */
#return .copy{top:23vh}#return .end-links{position:relative;clear:both;margin-top:32px;align-items:flex-start}#return .end-links a{line-height:1.5}
@media(max-width:650px){#return .copy{top:21vh}#return .end-links{margin-top:24px}}

#return .copyright{display:inline-block;margin-top:8px}

.hero-second-line{white-space:nowrap}@media(max-width:650px){.hero-second-line{font-size:min(1em,11vw)}}

/* Restore desktop navigation size; retain enlarged page typography. */
@media(min-width:651px){nav a{font-size:13px}}
