:root{--midnight:#0D1A3E;--indigo:#242A6A;--violet:#6B4697;--coral:#FE785F;--gold:#FEB958;--cream:#FDF9F1;--ground:#060B1C;--soft:#c8d0e7;--line:rgba(255,233,204,.24);--serif:"Big Caslon","Iowan Old Style","Baskerville","Didot",Georgia,serif;--sans:ui-sans-serif,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
*{box-sizing:border-box}
html{background:var(--ground)}
body{margin:0;background:var(--ground);color:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.sr-only,.hp{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:12px;top:-80px;z-index:200;padding:12px 18px;background:var(--cream);color:var(--ground)}
.skip-link:focus{top:12px}
.universe,.experience,.camera{position:relative;width:100%;height:100svh;min-height:420px;overflow:hidden}
@supports(height:100dvh){.universe,.experience,.camera{height:100dvh}}
.camera{isolation:isolate;background:#071020;overflow:clip}
.site-header{position:absolute;z-index:40;top:0;left:0;right:0;display:flex;align-items:center;gap:24px;padding:19px clamp(22px,3vw,48px);pointer-events:none}
.site-header>*{pointer-events:auto}
.brand{display:block;width:clamp(204px,25vw,310px);flex:none;filter:drop-shadow(0 2px 18px rgba(0,0,0,.6))}
.brand img{display:block;width:100%;height:auto}
.primary-nav{display:flex;align-items:center;gap:4px;margin-left:auto;padding:5px;border:1px solid rgba(255,233,204,.2);border-radius:100px;background:rgba(4,9,25,.62);box-shadow:0 8px 25px rgba(0,0,0,.16);backdrop-filter:blur(16px)}
.primary-nav a,.primary-nav button{border:0;background:transparent;color:var(--cream);border-radius:100px;padding:9px 15px;font-family:var(--mono);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s}
.primary-nav a:hover,.primary-nav button:hover{background:rgba(254,185,88,.16);color:var(--gold)}
.simple-link{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:#d7dded;white-space:nowrap;border-bottom:1px solid rgba(254,185,88,.5);padding:4px 0;text-shadow:0 1px 8px #000}
.simple-link:hover{color:var(--gold)}
.loading-route{position:absolute;z-index:35;top:50%;left:50%;display:flex;align-items:center;gap:11px;transform:translate(-50%,-50%);padding:12px 18px;border:1px solid rgba(254,185,88,.5);border-radius:100px;background:rgba(5,10,29,.87);box-shadow:0 12px 38px #0008;backdrop-filter:blur(15px);font-family:var(--mono);font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s}
.universe.is-loading .loading-route{opacity:1;visibility:visible;transition:opacity .2s ease,visibility 0s}
.loading-orbit{display:block;width:17px;height:17px;border:2px solid rgba(254,185,88,.35);border-top-color:var(--gold);border-radius:50%;animation:orbit 1s linear infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
.scene{--offset-x:0%;--offset-y:8%;position:absolute;inset:0;z-index:1;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(var(--offset-x),var(--offset-y),0) scale(1.115);transition:clip-path 1.05s cubic-bezier(.18,.72,.12,1),transform 1.12s cubic-bezier(.18,.72,.12,1),visibility 0s linear 1.12s;will-change:clip-path,transform}
.scene--basecamp{clip-path:circle(0% at 50% 72%)}
.scene--sky{--offset-y:-13%;clip-path:circle(0% at 74% 44%)}
.scene--districts{--offset-y:15%;clip-path:inset(100% 0 0 0)}
.scene--contact{--offset-x:13%;--offset-y:0%;clip-path:inset(0 0 0 100%)}
.scene--basecamp:is(.is-active,.is-exiting){clip-path:circle(150% at 50% 72%)}
.scene--sky:is(.is-active,.is-exiting){clip-path:circle(150% at 74% 44%)}
.scene--districts:is(.is-active,.is-exiting),.scene--contact:is(.is-active,.is-exiting){clip-path:inset(0 0 0 0)}
.scene.is-exiting{z-index:2;opacity:1;visibility:visible;pointer-events:none;transform:translate3d(0,0,0) scale(1.035)}
.scene.is-active{z-index:3;opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,0,0) scale(1);transition:clip-path 1.05s cubic-bezier(.18,.72,.12,1),transform 1.12s cubic-bezier(.18,.72,.12,1),visibility 0s}
.scene:focus{outline:none}
.scene-art{display:block;position:absolute;inset:-2.5%;overflow:hidden;transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0) scale(1.035);transition:transform .6s ease-out;will-change:transform}
.scene.is-focused .scene-art{transform:translate3d(var(--focus-x,0%),-2%,0) scale(1.2);transition:transform 1.1s cubic-bezier(.18,.72,.12,1)}
.scene-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.scene--basecamp .scene-art img{object-position:center 56%}
.scene--contact .scene-art img{object-position:center 52%}
.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,7,21,.46) 0%,rgba(3,7,21,.10) 28%,rgba(3,7,21,.04) 48%,rgba(3,7,21,.28) 76%,rgba(3,7,21,.88) 100%)}
.scene--basecamp .scene-shade{background:linear-gradient(180deg,rgba(3,7,21,.53) 0%,rgba(3,7,21,.05) 38%,rgba(3,7,21,.04) 66%,rgba(3,7,21,.78) 100%)}
.scene--sky .scene-shade{background:linear-gradient(180deg,rgba(3,7,21,.52),transparent 37%,rgba(3,7,21,.21) 70%,rgba(3,7,21,.86))}
.scene--contact .scene-shade{background:linear-gradient(90deg,rgba(3,7,21,.86),rgba(3,7,21,.40) 33%,transparent 68%),linear-gradient(180deg,rgba(3,7,21,.31),transparent 42%,rgba(3,7,21,.6))}
.scene-heading{position:absolute;z-index:4;top:clamp(122px,16vh,166px);left:clamp(28px,5vw,88px);max-width:min(570px,47vw);text-shadow:0 3px 22px rgba(0,0,0,.8)}
.scene-heading--basecamp{left:50%;top:clamp(138px,19vh,195px);transform:translateX(-50%);max-width:720px;width:calc(100% - 48px);text-align:center}
.eyebrow{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.27em;text-transform:uppercase;color:var(--gold);font-weight:600}
.scene-heading h1,.scene-heading h2,.contact-card h2{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.025em;text-wrap:balance;margin:11px 0 12px}
.scene-heading h1{font-size:clamp(2.7rem,5.8vw,5.9rem)}
.scene-heading h2{font-size:clamp(2.55rem,5.1vw,5.2rem)}
.scene-heading p{font-family:var(--serif);font-size:clamp(1.03rem,1.5vw,1.36rem);color:#f1e9df;margin:0;line-height:1.35;text-wrap:balance}
.campfire-glow{position:absolute;z-index:3;left:30%;top:61%;width:24%;height:29%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,171,64,.19),rgba(255,110,41,.08) 36%,transparent 68%);mix-blend-mode:screen;pointer-events:none;animation:firelight 2.7s ease-in-out infinite alternate}
@keyframes firelight{0%{opacity:.72;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}100%{opacity:.76;transform:scale(.95)}}
.atmosphere{position:absolute;inset:0;z-index:5;width:100%;height:100%;pointer-events:none;opacity:.72}
.travel-light{position:absolute;inset:-30%;z-index:8;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 50%,rgba(255,211,155,.42),rgba(254,120,95,.16) 31%,transparent 57%);mix-blend-mode:screen}
.universe.is-traveling .travel-light{animation:travel .95s ease-in-out both}
@keyframes travel{0%{opacity:0;transform:translateY(18%) scale(.75)}45%{opacity:.42;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-18%) scale(1.3)}}
.hotspots{position:absolute;inset:0;z-index:6;pointer-events:none}
.hotspot{position:absolute;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:52px;min-height:52px;padding:4px;border:0;background:transparent;color:var(--cream);text-shadow:0 2px 10px #000;pointer-events:auto;transform:translate(-50%,-27px)}
.hotspot[hidden]{display:none}
.hotspot .beacon{position:relative;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,229,196,.78);border-radius:50%;font-family:var(--mono);font-size:.85rem;line-height:1;background:radial-gradient(circle at 50% 42%,rgba(254,185,88,.43),rgba(10,18,44,.8) 70%);box-shadow:0 0 0 5px rgba(254,185,88,.12),0 0 22px rgba(254,185,88,.58),0 8px 16px #0008;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;animation:beacon 3.4s ease-in-out infinite}
.hotspot:nth-child(2) .beacon{animation-delay:.7s}.hotspot:nth-child(3) .beacon{animation-delay:1.3s}.hotspot:nth-child(4) .beacon{animation-delay:1.8s}
@keyframes beacon{50%{box-shadow:0 0 0 8px rgba(254,185,88,.05),0 0 29px rgba(254,185,88,.78),0 8px 16px #0008}}
.hotspot:hover .beacon,.hotspot:focus-visible .beacon{transform:scale(1.17);background:radial-gradient(circle at 50% 42%,rgba(254,185,88,.85),rgba(10,18,44,.93) 75%);box-shadow:0 0 0 8px rgba(254,185,88,.13),0 0 36px rgba(254,185,88,.9),0 8px 16px #0008}
.hotspot-label{display:block;max-width:200px;padding:7px 10px;border:1px solid rgba(255,234,209,.34);border-radius:7px;background:rgba(5,10,28,.82);backdrop-filter:blur(12px);font-family:var(--mono);font-size:.58rem;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translateY(-5px);transition:opacity .2s,transform .2s}
.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label,.scene--sky .hotspot-label,.scene--districts .hotspot-label{opacity:1;transform:translateY(0)}
.scene--sky .hotspot-label,.scene--districts .hotspot-label{font-size:.62rem}
.hotspot--rv{left:16%;top:62%}.hotspot--notes{left:32%;top:80%}.hotspot--chairs{left:61%;top:77%}.hotspot--telescope{left:74%;top:44%}.hotspot--edge{left:88%;top:68%}
.hotspot--film{left:17%;top:57%}.hotspot--writing{left:50%;top:64%}.hotspot--experiments{left:82%;top:58%}
.hotspot--systems{left:13%;top:52%}.hotspot--consulting{left:38%;top:56%}.hotspot--sites{left:63%;top:66%}.hotspot--products{left:86%;top:51%}
.scene--sky .hotspot--film .beacon{border-color:#d6b8fd;box-shadow:0 0 24px #ab83ff99}.scene--sky .hotspot--writing .beacon{border-color:#fcd4a5;box-shadow:0 0 24px #feb95899}.scene--sky .hotspot--experiments .beacon{border-color:#b8caff;box-shadow:0 0 24px #88a5ff99}
.scene--districts .hotspot--systems .beacon{border-color:#b6e7ff;box-shadow:0 0 26px #5bbcff99}.scene--districts .hotspot--consulting .beacon{border-color:#ffdfa4;box-shadow:0 0 26px #ffc06699}.scene--districts .hotspot--sites .beacon{border-color:#b3ffe5;box-shadow:0 0 26px #67e4bd99}.scene--districts .hotspot--products .beacon{border-color:#ffd0db;box-shadow:0 0 26px #fc79ad99}
.scene-cue{position:absolute;z-index:6;bottom:106px;right:clamp(24px,4vw,70px);display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:#f2e7df;text-shadow:0 2px 10px #000}
.scene-cue--basecamp{left:50%;right:auto;transform:translateX(-50%);white-space:nowrap}
.cue-line{display:block;width:32px;height:1px;background:var(--gold)}
.scene-cue button{border:0;border-bottom:1px solid var(--gold);padding:3px;background:transparent;color:var(--gold);font:inherit;letter-spacing:inherit;text-transform:inherit}
.journey-nav{position:absolute;z-index:45;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));display:flex;gap:3px;transform:translateX(-50%);padding:6px;border:1px solid rgba(255,233,204,.3);border-radius:100px;background:rgba(5,10,29,.79);box-shadow:0 10px 38px rgba(0,0,0,.42);backdrop-filter:blur(18px)}
.journey-nav button{display:flex;align-items:center;gap:7px;min-height:46px;border:0;border-radius:100px;padding:9px 16px;background:transparent;color:#d6dbee;font-family:var(--mono);font-size:.63rem;letter-spacing:.08em;white-space:nowrap;transition:background .2s,color .2s,transform .15s}
.journey-nav button:hover,.journey-nav button[aria-current]{background:rgba(254,185,88,.17);color:var(--gold)}
.journey-nav button:active{transform:scale(.96)}
.journey-symbol{font-size:1rem;line-height:1}
.site-footnote{position:absolute;z-index:42;left:28px;bottom:35px;display:flex;align-items:center;gap:15px;color:#e8e4deaa;font-family:var(--mono);font-size:.55rem;letter-spacing:.09em;text-shadow:0 2px 8px #000}
.site-footnote a{color:var(--gold);font-size:.8rem}
.contact-card{position:absolute;z-index:7;top:clamp(122px,15vh,160px);bottom:88px;left:clamp(24px,5vw,86px);width:min(435px,40vw);padding:25px 28px;overflow:auto;border:1px solid rgba(255,228,186,.4);border-radius:14px;background:linear-gradient(145deg,rgba(10,18,43,.87),rgba(6,11,28,.76));box-shadow:0 25px 80px #0008;backdrop-filter:blur(22px);scrollbar-color:#ab86a0 transparent}
.contact-card h2{font-size:clamp(2.5rem,3.6vw,4rem);margin:6px 0 3px}
.contact-lead{font-family:var(--serif);font-size:1.13rem;line-height:1.25;margin:0 0 16px;color:#f4e8dc}
.contact-form{display:grid;gap:9px}
.form-row{display:grid;gap:4px}
.form-row label{font-family:var(--mono);font-size:.57rem;letter-spacing:.18em;text-transform:uppercase;color:#d6daf1}
.form-row input,.form-row select,.form-row textarea{width:100%;min-height:36px;padding:7px 9px;border:1px solid rgba(255,235,209,.38);border-radius:5px;background:rgba(2,7,22,.6);color:var(--cream);font-family:var(--sans);font-size:.86rem;outline:none}
.form-row textarea{resize:vertical;min-height:60px;line-height:1.4}
.form-row :is(input,select,textarea):focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(254,185,88,.2)}
.form-row option{background:#101b38;color:var(--cream)}
.optional{font-size:.55rem;letter-spacing:0;text-transform:none;color:#aab3d0}
.send{justify-self:start;min-height:42px;margin-top:3px;padding:10px 18px;border:1px solid var(--gold);border-radius:100px;background:var(--gold);color:#11162b;font-family:var(--mono);font-weight:700;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;transition:transform .15s,background .2s}
.send:hover{background:#ffd394}.send:active{transform:scale(.96)}.send[disabled]{opacity:.68;cursor:progress}
.formnote{min-height:1.2em;margin:0;font-size:.78rem;color:#ffe1af}.formnote.warn{color:#ffc0b6}
.contact-form.done .form-row,.contact-form.done .send{display:none}
.direct{margin:6px 0 0;color:#d4d9eb;font-size:.76rem;line-height:1.35}.direct a{color:var(--gold);border-bottom:1px solid var(--gold)}
.lucas-handwriting{display:block;width:min(255px,100%);height:auto;margin:15px 0 0;opacity:.9}
.discovery{position:fixed;z-index:100;top:90px;right:clamp(22px,3vw,52px);bottom:92px;left:auto;margin:0;width:min(460px,calc(100vw - 44px));max-width:none;max-height:none;padding:0;overflow:hidden;border:1px solid rgba(255,228,193,.52);border-radius:15px;background:linear-gradient(155deg,rgba(24,35,76,.98),rgba(6,11,28,.98) 55%);color:var(--cream);box-shadow:0 30px 90px rgba(0,0,0,.75);backdrop-filter:blur(24px)}
.discovery::backdrop{background:rgba(1,4,15,.44);backdrop-filter:blur(2px)}
.discovery-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 24px 14px;border-bottom:1px solid var(--line)}
.close-discovery{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:rgba(0,0,0,.15);color:var(--cream);font-size:1.7rem;line-height:1}
.close-discovery:hover{color:var(--gold);border-color:var(--gold)}
.discovery-content{height:calc(100% - 75px);overflow:auto;padding:25px 28px 35px;scrollbar-color:#8d7393 transparent}
.discovery-content h2{font-family:var(--serif);font-size:clamp(2.2rem,3vw,3.2rem);font-weight:400;line-height:1.08;letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance}
.discovery-content p{margin:0 0 20px;color:#cbd1e5;font-size:.96rem;line-height:1.55}
.discovery-content .detail-label{display:inline-block;margin-bottom:18px;padding:7px 10px;border:1px solid var(--line);border-radius:100px;color:var(--gold);font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}
.discovery-content .realm-label{display:block;margin:24px 0 8px;color:var(--gold);font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase}
.discovery-content .realm-label:first-of-type{margin-top:0}
.discovery-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.discovery-list li{border-bottom:1px solid var(--line)}
.discovery-list button,.discovery-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:58px;padding:13px 2px;border:0;background:transparent;color:var(--cream);text-align:left;font-family:var(--serif);font-size:1.22rem;line-height:1.25}
.discovery-list button:hover,.discovery-list a:hover{color:var(--gold)}
.discovery-list small{display:block;margin-top:4px;color:#aab4d1;font-family:var(--mono);font-size:.56rem;letter-spacing:.05em;text-transform:uppercase}
.discovery-list .arrow{flex:none;color:var(--gold);font-family:var(--sans);font-size:1rem}
.discovery-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 20px;padding:5px 0;border:0;border-bottom:1px solid rgba(254,185,88,.5);background:transparent;color:var(--gold);font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.discovery-action{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:4px;padding:11px 18px;border:1px solid var(--gold);border-radius:100px;background:var(--gold);color:#11162b;font-family:var(--mono);font-weight:700;font-size:.63rem;letter-spacing:.1em;text-transform:uppercase}
.discovery-action:hover{background:#ffd394}
.discovery-action--quiet{background:transparent;color:var(--gold)}
.discovery-people{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:18px 0 20px}.discovery-people figure{margin:0}.discovery-people img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.discovery-people figcaption{margin-top:6px;font-family:var(--mono);font-size:.59rem;letter-spacing:.08em;color:var(--gold)}
.noscript-fallback{max-width:500px;margin:15vh auto;padding:24px;text-align:center}.noscript-fallback h1{font:2.5rem var(--serif)}.noscript-fallback a{color:var(--gold);border-bottom:1px solid}
@media(max-width:1150px){.site-footnote{display:none}.simple-link{display:none}}
@media(max-width:700px) and (orientation:portrait){
 .site-header{display:block;padding:0}.brand{position:absolute;top:15px;left:17px;width:190px}.simple-link{display:block;position:absolute;top:20px;right:17px;font-size:.56rem}
 .primary-nav{position:absolute;top:66px;left:16px;right:16px;justify-content:space-around;margin:0;padding:4px;background:rgba(4,9,25,.68)}
 .primary-nav a,.primary-nav button{padding:8px 7px;font-size:.58rem;letter-spacing:.08em}
 .scene-art{inset:-1%}.scene-art img{object-position:center}
 .scene-shade{background:linear-gradient(180deg,rgba(3,7,21,.40),rgba(3,7,21,.08) 39%,rgba(3,7,21,.07) 61%,rgba(3,7,21,.85))}
 .scene--basecamp .scene-shade{background:linear-gradient(180deg,rgba(3,7,21,.30),rgba(3,7,21,.05) 45%,rgba(3,7,21,.08) 66%,rgba(3,7,21,.86))}
 .scene--contact .scene-shade{background:linear-gradient(180deg,rgba(3,7,21,.2),rgba(3,7,21,.07) 40%,rgba(3,7,21,.85) 84%)}
 .scene-heading,.scene-heading--basecamp{top:126px;left:20px;transform:none;width:calc(100% - 40px);max-width:430px;text-align:left}
 .scene-heading h1{font-size:clamp(2.25rem,8.7vw,3.7rem);max-width:11ch}.scene-heading h2{font-size:clamp(2.2rem,8.6vw,3.4rem);max-width:12ch}
 .scene-heading p{font-size:.99rem;max-width:23ch}
 .eyebrow{font-size:.55rem;letter-spacing:.19em}
 .hotspot .beacon{width:40px;height:40px;font-size:.7rem}.hotspot{min-width:46px;min-height:46px;gap:3px}
 .hotspot-label{font-size:.46rem;padding:5px 6px;white-space:normal;text-align:center;max-width:104px;opacity:1;transform:none}
 .scene--basecamp .hotspot-label{display:none}.scene--basecamp .hotspot:hover .hotspot-label,.scene--basecamp .hotspot:focus-visible .hotspot-label{display:block}
 .hotspot--rv{left:17%;top:59%}.hotspot--notes{left:34%;top:70%}.hotspot--chairs{left:76%;top:77%}.hotspot--telescope{left:75%;top:51%}.hotspot--edge{left:78%;top:40%}
 .hotspot--film{left:23%;top:42%}.hotspot--writing{left:70%;top:59%}.hotspot--experiments{left:35%;top:76%}
 .hotspot--systems{left:25%;top:34%}.hotspot--consulting{left:74%;top:47%}.hotspot--sites{left:28%;top:65%}.hotspot--products{left:77%;top:76%}
 .campfire-glow{left:37%;top:60%;width:28%;height:23%}
 .scene-cue{bottom:96px;right:20px;max-width:calc(100% - 40px);font-size:.49rem;letter-spacing:.08em;text-align:right}.scene-cue--basecamp{left:50%;right:auto}
 .journey-nav{left:0;right:0;bottom:0;transform:none;justify-content:space-around;width:100%;padding:6px 6px calc(7px + env(safe-area-inset-bottom));border-radius:17px 17px 0 0;border-left:0;border-right:0;border-bottom:0}
 .journey-nav button{flex-direction:column;gap:1px;justify-content:center;min-width:0;min-height:48px;padding:4px 6px;font-size:.48rem;letter-spacing:0}.journey-symbol{font-size:1.2rem}
 .contact-card{top:43%;bottom:calc(65px + env(safe-area-inset-bottom));left:12px;right:12px;width:auto;padding:17px 18px;border-radius:15px;background:rgba(6,11,28,.89)}
 .contact-card h2{font-size:2.45rem;margin:4px 0 2px}.contact-lead{font-size:.98rem;margin-bottom:11px}.contact-form{gap:8px}.form-row input,.form-row select,.form-row textarea{min-height:39px}
 .discovery{top:auto;right:0;bottom:calc(59px + env(safe-area-inset-bottom));left:0;width:100%;height:min(71dvh,680px);border-radius:20px 20px 0 0;border-left:0;border-right:0;border-bottom:0}
 .discovery-content{padding:22px 23px 30px}
}
@media(max-height:580px) and (min-width:701px){
 .site-header{padding:10px 22px}.brand{width:190px}.scene-heading{top:75px}.scene-heading--basecamp{top:75px}.scene-heading h1{font-size:clamp(2.3rem,5vw,3.8rem)}.scene-heading h2{font-size:clamp(2.2rem,4.6vw,3.5rem)}.scene-heading p{font-size:.95rem}.hotspot .beacon{width:38px;height:38px}.hotspot-label{font-size:.49rem;padding:5px 7px}.scene-cue{bottom:82px}.journey-nav{bottom:8px}.journey-nav button{min-height:38px;padding:6px 10px}.contact-card{top:68px;bottom:60px;padding:14px 18px;width:355px}.contact-card h2{font-size:2.1rem}.contact-lead{font-size:.95rem}.form-row input,.form-row select{min-height:31px}.form-row textarea{min-height:42px}.discovery{top:60px;bottom:58px}
}
@media(max-height:580px) and (orientation:landscape) and (max-width:1000px){
 .site-header{padding:8px 14px}.brand{width:150px}.primary-nav a,.primary-nav button{padding:7px 9px;font-size:.53rem}.scene-heading,.scene-heading--basecamp{top:65px;left:20px;transform:none;text-align:left;max-width:38vw}.scene-heading h1,.scene-heading h2{font-size:1.95rem}.scene-heading p{font-size:.78rem}.hotspot .beacon{width:34px;height:34px}.hotspot-label{font-size:.45rem;padding:4px 6px}.scene-cue{display:none}.journey-nav{bottom:5px;padding:3px}.journey-nav button{min-height:36px;padding:5px 8px;font-size:.52rem}.contact-card{top:56px;bottom:54px;left:20px;width:340px;padding:13px 16px}.contact-card h2{font-size:2rem}.form-row input,.form-row select{min-height:30px}.form-row textarea{min-height:42px}.discovery{top:45px;bottom:50px}
 .scene-heading--basecamp{width:360px;max-width:42vw}.scene-heading--basecamp .eyebrow{white-space:nowrap;font-size:.52rem;letter-spacing:.12em}.scene-heading h1,.scene-heading h2{font-size:1.85rem}.scene-heading p{font-size:.78rem;max-width:31ch}
 .simple-link{display:block;position:absolute;top:19px;left:180px;font-size:.53rem}
 .contact-card{width:min(490px,59vw);padding:12px 16px}.contact-card h2{font-size:1.92rem;margin:3px 0 2px}.contact-lead{margin-bottom:7px;font-size:.85rem}
 .contact-form{grid-template-columns:1fr 1fr;gap:5px 8px}.form-row:nth-child(3),.form-row:nth-child(4){grid-column:1/-1}.form-row textarea{min-height:30px;height:32px}.send{grid-column:1;min-height:33px;margin-top:1px;padding:7px 12px}.formnote{grid-column:2;font-size:.68rem;align-self:center}.direct{font-size:.68rem;margin-top:4px}.lucas-handwriting{display:none}
}
@media(max-width:700px) and (orientation:portrait){
 .hotspot--systems{top:40%}
 .contact-card{top:35%;padding:15px 17px}.contact-card h2{font-size:2.25rem}.contact-lead{margin-bottom:9px}.contact-form{gap:6px}.form-row input,.form-row select{min-height:35px}.form-row textarea{min-height:53px}.lucas-handwriting{margin-top:10px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.scene-art{transform:none!important}}
@media(prefers-contrast:more){.scene-shade{background:rgba(2,5,16,.52)!important}.hotspot-label,.primary-nav,.journey-nav,.contact-card,.discovery{background:#070d22!important;border-color:var(--cream)!important}}

/* The camp is the center of a navigable place. RV, people, sky, and districts
   are views into its immediate surroundings, with wheel/touch travel. */
.scene--rv{--offset-x:-13%;--offset-y:0%;clip-path:circle(0% at 17% 63%)}
.scene--people{--offset-x:8%;--offset-y:8%;clip-path:circle(0% at 61% 77%)}
.scene--rv:is(.is-active,.is-exiting){clip-path:circle(150% at 17% 63%)}
.scene--people:is(.is-active,.is-exiting){clip-path:circle(150% at 61% 77%)}
.scene--rv .scene-shade{background:linear-gradient(180deg,rgba(3,7,21,.62),transparent 32%,rgba(3,7,21,.10) 65%,rgba(3,7,21,.76))}
.scene--people .scene-shade{background:linear-gradient(90deg,rgba(3,7,21,.90),rgba(3,7,21,.72) 48%,rgba(3,7,21,.82)),linear-gradient(180deg,rgba(3,7,21,.50),transparent 45%,rgba(3,7,21,.72))}
.scene--basecamp .scene-art{inset:-7%;transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0) scale(1.08);transition:transform .65s ease-out}
.scene--basecamp.is-looking-up .scene-art{transform:translate3d(var(--parallax-x,0px),calc(var(--parallax-y,0px) + 28px),0) scale(1.10)}
.scene--basecamp.is-looking-down .scene-art{transform:translate3d(var(--parallax-x,0px),calc(var(--parallax-y,0px) - 28px),0) scale(1.12)}
.sky-glimpse{position:absolute;inset:-7%;z-index:2;display:block;overflow:hidden;opacity:0;pointer-events:none;mask-image:linear-gradient(to bottom,#000 0%,#000 16%,transparent 68%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 16%,transparent 68%);transform:translate3d(0,4%,0) scale(1.07);transition:opacity .9s ease,transform 1s ease}
.sky-glimpse img{display:block;width:100%;height:100%;object-fit:cover}
.scene--basecamp.is-looking-up .sky-glimpse{opacity:.72;transform:translate3d(0,0,0) scale(1.07)}
.scene--basecamp.is-looking-down::after{content:"";position:absolute;inset:52% 0 0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 72% 77%,rgba(254,185,88,.22),transparent 55%)}
.scene-heading--basecamp{top:clamp(134px,18vh,188px)}
.scene-heading--basecamp h1{margin:0 0 19px}
.basecamp-handwriting{display:block;width:min(540px,78vw);height:auto;margin:0 auto;filter:drop-shadow(0 2px 13px #000)}
.scene-heading--rv{left:clamp(30px,5vw,90px);top:clamp(120px,15vh,165px)}
.hotspot--rv{left:16%;top:61%}.hotspot--chairs{left:61%;top:77%}.hotspot--telescope{left:74%;top:43%}.hotspot--edge{left:88%;top:68%}
.hotspot--rv-journal{left:16%;top:77%}.hotspot--rv-laptop{left:48%;top:54%}.hotspot--rv-door{left:7%;top:48%}
.hotspot--camp-return{left:7%;top:75%}.hotspot--ridge-return{left:7%;top:79%}
.hotspot--camp-return .hotspot-label,.hotspot--ridge-return .hotspot-label{opacity:1;transform:none}
.people-stage{position:absolute;z-index:7;top:clamp(120px,14vh,156px);bottom:34px;left:clamp(26px,5vw,86px);right:clamp(26px,5vw,86px);max-width:1200px;margin:auto;overflow:auto;scrollbar-color:#8d7393 transparent}
.people-stage h2{font-family:var(--serif);font-size:clamp(2.8rem,5vw,5rem);font-weight:400;letter-spacing:-.025em;line-height:1.05;margin:9px 0 28px}
.people-profiles{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px)}
.person-profile{display:grid;grid-template-columns:clamp(88px,10vw,150px) 1fr;gap:20px;align-items:start;max-width:550px}
.person-profile img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border:1px solid rgba(255,233,204,.28);border-radius:9px}
.person-role{font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.person-profile h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.65rem,2.4vw,2.4rem);line-height:1.05;margin:0 0 13px}
.person-profile div>p:last-child{font-size:clamp(.85rem,1vw,.98rem);line-height:1.58;color:#ebe7eb;margin:0}
.scene-return{border:0;border-bottom:1px solid rgba(254,185,88,.6);padding:5px 0;background:transparent;color:var(--gold);font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}
.scene-return--contact{margin-top:16px}
.site-footnote{bottom:22px}
.contact-card{bottom:30px}
.discovery{bottom:30px}
@media(max-width:700px) and (orientation:portrait){
 .scene-heading--basecamp{top:138px;left:20px;max-width:calc(100% - 40px)}
 .scene-heading--basecamp h1{font-size:clamp(2.4rem,9vw,3.8rem);margin-bottom:15px}
 .basecamp-handwriting{width:min(350px,88vw);margin:0}
 .scene--basecamp .scene-art{inset:-5%}
 .hotspot--rv{left:17%;top:59%}.hotspot--chairs{left:76%;top:77%}.hotspot--telescope{left:75%;top:51%}.hotspot--edge{left:78%;top:40%}
 .hotspot--rv-journal{left:25%;top:78%}.hotspot--rv-laptop{left:61%;top:59%}.hotspot--rv-door{left:13%;top:47%}
 .hotspot--camp-return{left:14%;top:82%}.hotspot--ridge-return{left:15%;top:82%}
 .scene--rv .scene-heading{top:125px}
 .people-stage{top:122px;bottom:20px;left:20px;right:20px}
 .people-stage h2{font-size:2.7rem;margin:10px 0 20px}
 .people-profiles{grid-template-columns:1fr;gap:22px}
 .person-profile{grid-template-columns:78px 1fr;gap:13px}
 .person-profile h3{font-size:1.63rem;margin-bottom:7px}
 .person-profile div>p:last-child{font-size:.86rem;line-height:1.48}
 .person-role{font-size:.5rem;margin-bottom:5px}
 .contact-card{bottom:12px}
 .discovery{bottom:0;height:min(74dvh,680px)}
}
@media(max-height:580px) and (min-width:701px){
 .scene-heading--basecamp{top:74px}.scene-heading--basecamp h1{font-size:clamp(2.2rem,4.4vw,3.5rem);margin-bottom:7px}.basecamp-handwriting{width:min(390px,50vw)}
 .scene-heading--rv{top:72px}.people-stage{top:66px;bottom:9px}.people-stage h2{font-size:2.4rem;margin:4px 0 13px}.person-profile{grid-template-columns:80px 1fr;gap:12px}.person-profile h3{font-size:1.45rem;margin-bottom:6px}.person-profile div>p:last-child{font-size:.82rem;line-height:1.4}
 .contact-card{bottom:10px}.discovery{bottom:10px}
}
@media(prefers-reduced-motion:reduce){.sky-glimpse,.scene--basecamp .scene-art{transition:none!important;transform:none!important}}

/* The second voice review makes the camp's objects the navigation. The table is
   a close view of the same place; the sky is reached by traveling upward. */
.scene--sky{--offset-y:-18%;clip-path:inset(0 0 100% 0)}
.scene--sky:is(.is-active,.is-exiting){clip-path:inset(0 0 0 0)}
.scene--worktable{--offset-x:-9%;--offset-y:5%;clip-path:circle(0% at 34% 72%)}
.scene--worktable:is(.is-active,.is-exiting){clip-path:circle(150% at 34% 72%)}
.scene--worktable .scene-shade{background:linear-gradient(180deg,rgba(3,7,21,.52),transparent 27%,rgba(3,7,21,.04) 60%,rgba(3,7,21,.55))}
.scene--basecamp .scene-art{inset:0;transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0) scale(1.04)}
.scene--basecamp .scene-art img{object-position:left center}
.scene--sky .scene-art img{object-position:center center}
.scene--worktable .scene-art img{object-position:center center}
.hotspots{transform:none}
.scene.is-focused .hotspots{opacity:0}
.scene-heading--basecamp{top:clamp(125px,17vh,178px)}
.scene-heading--basecamp h1{margin-bottom:10px}
.basecamp-handwriting{width:min(455px,70vw)}
.studio-offer{margin:13px 0 0!important;font-family:var(--mono)!important;font-size:clamp(.66rem,.93vw,.84rem)!important;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#fff0d9!important;text-shadow:0 2px 15px #000}
.scene--basecamp .hotspot-label,.scene--worktable .hotspot-label{opacity:1;transform:none}
.hotspot--worktable{left:32%;top:70%}
.hotspot--chairs{left:68%;top:74%}
.hotspot--sky{left:78%;top:39%}
.hotspot--edge{left:92%;top:67%}
.hotspot--journal{left:16%;top:75%}
.hotspot--camera{left:36%;top:72%}
.hotspot--radio{left:47%;top:59%}
.hotspot--firstaid{left:61%;top:70%}
.hotspot--laptop{left:83%;top:74%}
.hotspot--experiments{left:78%;top:36%}
.hotspot--camp-return{left:36%;top:82%}
.hotspot--ridge-return{left:7%;top:79%}
.scene-return--worktable{position:absolute;z-index:7;top:clamp(124px,15vh,160px);left:clamp(25px,5vw,86px);padding:9px 13px;border:1px solid rgba(254,185,88,.62);border-radius:100px;background:rgba(4,9,25,.82);box-shadow:0 6px 20px #0006;text-shadow:0 2px 10px #000;backdrop-filter:blur(12px)}
.scene--people .scene-art{filter:brightness(.78)}
.people-profiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.5vw,38px)}
.person-profile{grid-template-columns:clamp(74px,7vw,105px) 1fr;gap:14px}
.person-profile img{aspect-ratio:4/5}
.person-profile--belvedere img{object-position:51% 43%}
.contact-card{bottom:72px}
.contact-card h2{font-size:clamp(2.1rem,3vw,3.25rem);line-height:.98;margin-bottom:10px}
.site-footnote{bottom:20px}
@media(max-width:1100px) and (min-width:701px){
 .people-profiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .person-profile--belvedere{grid-column:1/-1;max-width:520px}
}
@media(max-width:700px) and (orientation:portrait){
 .scene--basecamp .scene-art{inset:0;transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0) scale(1.025)}
 .scene--basecamp .scene-art img{object-position:center center}
 .scene-heading--basecamp{top:124px}
 .scene-heading--basecamp h1{font-size:clamp(2.16rem,8.1vw,3.25rem);margin-bottom:8px}
 .basecamp-handwriting{width:min(300px,76vw)}
 .studio-offer{margin-top:10px!important;font-size:.55rem!important;letter-spacing:.1em}
 .scene--basecamp .hotspot-label{display:block}
 .scene--basecamp .hotspot{max-width:112px}
 .hotspot--worktable{left:25%;top:69%}
 .hotspot--chairs{left:77%;top:79%}
 .hotspot--sky{left:80%;top:43%}
 .hotspot--edge{left:80%;top:60%}
 .hotspot--journal{left:20%;top:60%}
 .hotspot--camera{left:78%;top:59%}
 .hotspot--radio{left:52%;top:70%}
 .hotspot--firstaid{left:23%;top:83%}
 .hotspot--laptop{left:78%;top:84%}
 .hotspot--experiments{left:66%;top:57%}
 .hotspot--camp-return{left:55%;top:87%}
 .hotspot--ridge-return{left:14%;top:82%}
 .scene-return--worktable{top:118px;left:20px}
 .people-profiles{grid-template-columns:1fr;gap:22px}
 .person-profile{grid-template-columns:78px 1fr;gap:13px}
 .contact-card{top:34%;bottom:12px}
 .contact-card h2{font-size:clamp(2rem,7.8vw,2.5rem)}
}
@media(max-height:580px) and (min-width:701px){
 .scene-heading--basecamp{top:66px}
 .scene-heading--basecamp h1{font-size:clamp(2rem,4vw,3.25rem);margin-bottom:5px}
 .basecamp-handwriting{width:min(310px,43vw)}
 .studio-offer{margin-top:5px!important;font-size:.53rem!important}
 .scene-return--worktable{top:70px}
 .contact-card{bottom:50px}
}
@media(prefers-reduced-motion:reduce){.hotspots{transition:none!important;transform:none!important}}

/* Hotspot coordinates are projected from points on each artwork plate in JS.
   The beacon, rather than its label, is centered on the mapped point. */
.hotspot{--beacon-size:46px;transform:translate(-50%,calc(-4px - var(--beacon-size)/2))}
.hotspot-label{translate:var(--label-shift,0px) 0}
.scene-heading--basecamp{top:clamp(102px,12vh,170px);width:calc(100% - 80px);max-width:1400px;text-shadow:0 4px 18px #030818,0 1px 4px #030818}
.basecamp-handwriting{filter:drop-shadow(0 2px 3px #030818) drop-shadow(0 0 13px #030818)}

/* On taller screens, keep the entire camp plate in view so its table, people,
   and horizon are all available to the same coordinate system. */
@media (min-aspect-ratio:1001/1000) and (max-aspect-ratio:16/9){
 .scene:is(.scene--basecamp,.scene--worktable,.scene--sky,.scene--districts) .scene-art{inset:0;transform:none!important;transition:none;background:linear-gradient(180deg,#101f4b 0%,#1c4385 63%,#2458a2 100%)}
 .scene.scene--sky .scene-art{background:linear-gradient(180deg,#050921,#131337 68%,#281c58 100%)}
 .scene.scene--districts .scene-art{background:linear-gradient(180deg,#253051,#62537b 68%,#845c84 100%)}
 .scene.scene--worktable .scene-art{background:linear-gradient(180deg,#172750,#43446d 68%,#784b65 100%)}
 .scene:is(.scene--basecamp,.scene--worktable,.scene--sky,.scene--districts) .scene-art img{position:absolute;left:0;bottom:0;width:100%;height:auto;object-fit:fill;mask-image:linear-gradient(to bottom,transparent,#000 11%)}
}
@media (min-aspect-ratio:1001/1000) and (max-aspect-ratio:13/10){
 .scene:is(.scene--basecamp,.scene--worktable,.scene--sky,.scene--districts) .scene-art img{left:-10%;width:120%}
}
@media (max-aspect-ratio:1/1){
 .scene-heading--basecamp{top:116px;left:20px;transform:none;width:calc(100% - 40px);max-width:430px;text-align:left}
}
@media (max-width:700px) and (orientation:portrait){.hotspot{--beacon-size:40px}}
@media (max-height:580px) and (min-width:701px){.hotspot{--beacon-size:38px}.scene-heading--basecamp{top:66px}}
@media (max-height:580px) and (orientation:landscape) and (max-width:1000px){.hotspot{--beacon-size:34px}.scene-heading--basecamp{top:65px;left:20px;transform:none;width:360px;max-width:42vw;padding:9px 12px;text-align:left;border-radius:10px;background:linear-gradient(90deg,rgba(3,8,27,.82),rgba(3,8,27,.48) 86%,transparent)}}

/* The foundations are revealed through the valley at the edge of camp. */
.scene--districts{--offset-y:0%;clip-path:circle(0% at 90% 70%)}
.scene--districts:is(.is-active,.is-exiting){clip-path:circle(150% at 90% 70%)}
.universe.is-foundation-travel .scene--basecamp{clip-path:circle(0% at 90% 70%)}
.universe.is-foundation-travel .scene--basecamp:is(.is-active,.is-exiting){clip-path:circle(150% at 90% 70%)}
.universe.is-foundation-travel .scene--basecamp.is-exiting{transform-origin:90% 70%;transform:translate3d(0,0,0) scale(1.15)}

/* The creative-sky control reads as a star in the open sky. */
.scene--basecamp .hotspot--sky .beacon{border:0;background:transparent;box-shadow:none;color:#ffe7b9;font-family:var(--sans);font-size:2.7rem;text-shadow:0 0 7px #fff1cf,0 0 19px #feb958,0 0 35px #fe785f;animation:starshine 3.4s ease-in-out infinite}
.scene--basecamp .hotspot--sky:hover .beacon,.scene--basecamp .hotspot--sky:focus-visible .beacon{background:transparent;box-shadow:none;transform:scale(1.2)}
@keyframes starshine{50%{color:#fff9e9;text-shadow:0 0 10px #fff8e6,0 0 27px #feb958,0 0 45px #fe785f}}
.scene--districts .hotspot--systems .hotspot-label{max-width:184px;white-space:normal;text-align:center}
