/* An open editorial collection, with touch-first controls. */
.portfolio{max-width:1380px;margin:140px auto 0;padding:0 7vw;scroll-margin-top:32px}.portfolio-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:75px}.portfolio-heading .kicker{color:var(--gold);font-size:10px;margin-bottom:22px}.portfolio-heading h2{font-size:clamp(48px,6vw,90px);line-height:1;letter-spacing:-.045em;font-weight:300}.portfolio-heading h2 em{color:var(--blue)}.portfolio-heading>p{font-size:15px;color:#a9b6c6;line-height:1.8;max-width:330px;padding-bottom:6px}.portfolio-project{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;padding:60px 0 80px;border-top:1px solid #a3c1de22}.portfolio-project.reverse .project-visual{order:2}.portfolio-project.reverse .project-story{order:1}.project-visual{position:relative;height:410px;display:grid;place-items:center;isolation:isolate}.project-visual::before{content:'';position:absolute;inset:5%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#315b8e35,transparent 68%)}.visual-label{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.17em;color:#a8bfd5}.visual-index{position:absolute;top:0;left:0;font-size:9px;letter-spacing:.2em;color:#72869e}.project-story .kicker{font-size:9px;color:#a4b7cc;letter-spacing:.13em;display:flex;gap:20px;flex-wrap:wrap}.project-story .kicker span{color:var(--gold);font-size:8px}.project-story h3{font-weight:300;font-size:clamp(52px,5.5vw,82px);letter-spacing:-.05em;line-height:1.1;margin:15px 0 20px}.project-story h3 em{color:var(--gold)}.project-tagline{font-size:23px;line-height:1.35;letter-spacing:-.02em}.project-description{font-size:14px;line-height:1.8;color:#a3b0c1;margin-top:18px;max-width:430px}.project-scope{list-style:none;padding:0;display:flex;gap:12px 20px;flex-wrap:wrap;margin:22px 0 0;color:#a8bdd2;font-size:10px}.project-scope li::before{content:'·';color:var(--gold);margin-right:8px}.project-story .line-action{font-size:13px;min-height:48px;min-width:160px}.portfolio-disclosure{max-width:680px;color:#91a1b5;font-size:12px;line-height:1.8;margin:0 auto;text-align:center}
.signal-orbit,.atlas-globe,.current-orbits{position:relative;width:280px;height:280px;display:grid;place-items:center}.signal-orbit>span{font-size:72px;font-weight:300;color:#e3c694;text-shadow:0 0 40px #bc975755}.signal-orbit i{position:absolute;border-radius:50%;inset:0;border:1px solid #9ec5ec77;box-shadow:inset 0 0 22px #7db8e511;animation:orbit 20s linear infinite}.signal-orbit i:nth-child(2){inset:28px;border-color:#ddc39488;animation-duration:15s;animation-direction:reverse}.signal-orbit i:nth-child(3){inset:-24px;border-color:#a0bfe433;transform:rotateX(60deg)}.signal-orbit i::after{content:'';position:absolute;top:12%;left:12%;width:6px;height:6px;background:#e6d4ac;border-radius:50%;box-shadow:0 0 20px #e1c082}.atlas-globe{border-radius:50%;border:1px solid #9fcfff88;box-shadow:0 0 50px #6bade322,inset 0 0 70px #6bade318;transform:rotate(-22deg)}.atlas-globe i{position:absolute;inset:0;border:1px solid #9fcfff55;border-radius:50%;animation:latitude 12s ease-in-out infinite alternate}.atlas-globe i:nth-child(2){inset:0 27%;animation-delay:-3s;border-color:#d8be8e77}.atlas-globe i:nth-child(3){inset:28% 0;animation:none}.atlas-globe i:nth-child(4){inset:12% 0;animation:none}.atlas-globe>span{font-size:60px;color:#ebce9d;text-shadow:0 0 45px #a9c7ff66;transform:rotate(22deg)}.current-orbits{width:290px;height:290px}.current-orbits i{position:absolute;inset:10px;border:1px solid #d8c09599;border-radius:50%;transform:rotateX(58deg) rotate(-30deg);animation:current 16s ease-in-out infinite alternate;box-shadow:0 0 22px #8ab9ea11}.current-orbits i:nth-child(2){transform:rotateY(58deg) rotate(30deg);animation-delay:-6s;border-color:#96c6efbb}.current-orbits i:nth-child(3){transform:rotateX(50deg) rotateY(45deg);animation-delay:-11s;border-color:#9bbbe555}.current-orbits>span{font-family:'Bodoni Moda',serif;font-size:100px;color:#bdd5e9;text-shadow:0 0 40px #82b4db55}.line-action,.email,.demo-contact,.return-link{min-height:44px;align-content:center}.close-dialog{flex:0 0 44px}.enter-link{min-height:48px}.scene-footer button{min-height:44px;min-width:100px;justify-content:end}.masthead nav a{min-height:44px;display:inline-flex;align-items:center}.brand{flex-shrink:0}.dialog-head{position:sticky;top:0;background:#08121ded;backdrop-filter:blur(12px);z-index:2;padding:8px 0}.demo-disclaimer{font-size:12px}.demo-step{opacity:.7}body:has(dialog[open]){overflow:hidden}dialog{overscroll-behavior:contain}button{touch-action:manipulation}.dimensions{touch-action:pan-y}
@keyframes orbit{to{rotate:360deg}}@keyframes latitude{from{transform:rotateY(15deg)}to{transform:rotateY(75deg)}}@keyframes current{to{transform:rotateX(68deg) rotateY(25deg) rotate(150deg)}}
@media(max-width:900px){.portfolio{padding:0 6vw;margin-top:100px}.portfolio-heading{gap:30px}.portfolio-project{gap:5%;grid-template-columns:1fr 1fr}.project-visual{height:340px}.signal-orbit,.atlas-globe,.current-orbits{width:230px;height:230px}.project-tagline{font-size:21px}.masthead{gap:25px}}
@media(max-width:600px){.masthead{padding:16px 20px;gap:12px}.brand{width:125px;height:44px}.masthead nav{gap:18px}.masthead nav a{font-size:12px}.masthead nav span{display:none}.masthead nav a:first-child{display:none}.portal-copy>.kicker{font-size:9px}.enter-link{font-size:10px}.enter-circle{width:46px;height:46px}.scene-footer{bottom:max(14px,env(safe-area-inset-bottom));left:20px;right:20px}.scene-footer p,.scene-footer button{font-size:9px}.world-intro>p:last-child{font-size:15px}.world-intro .kicker{font-size:10px}.exhibit>.kicker{font-size:9px}.exhibit-detail{font-size:15px}.exhibit-panels{min-height:225px}.concept-note{font-size:11px}.orbit-caption{font-size:9px}.portfolio{padding:0 24px;margin-top:80px;scroll-margin-top:20px}.portfolio-heading{display:block;margin-bottom:38px}.portfolio-heading .kicker{font-size:9px;letter-spacing:.15em}.portfolio-heading h2{font-size:54px}.portfolio-heading>p{font-size:14px;margin-top:24px}.portfolio-project{display:flex;flex-direction:column;gap:20px;padding:28px 0 48px;align-items:stretch}.portfolio-project.reverse .project-visual,.portfolio-project.reverse .project-story{order:initial}.project-visual{height:285px;margin-bottom:10px}.signal-orbit,.atlas-globe,.current-orbits{width:215px;height:215px}.visual-label{font-size:8px;letter-spacing:.12em;bottom:0}.visual-index{font-size:8px}.project-story .kicker{font-size:9px;gap:12px;letter-spacing:.08em}.project-story h3{font-size:62px;margin:12px 0 18px}.project-tagline{font-size:23px}.project-description{font-size:15px;margin-top:18px}.project-scope{font-size:12px;gap:10px 14px;line-height:1.6}.project-story .line-action{font-size:15px;margin-top:20px}.portfolio-disclosure{font-size:12px;text-align:left}.contact .kicker{font-size:9px;max-width:280px;margin-left:auto;margin-right:auto}.contact-orbit{font-size:10px}.email{font-size:14px}.return-link{font-size:9px}footer{font-size:10px;gap:14px}dialog{padding:18px 24px max(24px,env(safe-area-inset-bottom))}.dialog-head .kicker{font-size:8px;max-width:200px}.dialog-head{margin-bottom:20px}#demo-description{font-size:15px}dialog select{font-size:16px;min-height:48px;padding:12px 8px}.demo-step h3{font-size:16px}.demo-step p{font-size:14px}.demo-disclaimer,.demo-contact{font-size:12px}#demo-status{font-size:13px}.demo-bottom .line-action{font-size:16px}.enter-link,.contact-orbit{touch-action:manipulation}}
@media(max-width:360px){.masthead{padding-left:16px;padding-right:16px}.brand{width:112px}.masthead nav{gap:14px}.masthead nav a{font-size:11px}.portfolio{padding:0 20px}.world-intro h2{font-size:30px}.observatory{padding:0 20px}.dimensions button{font-size:37px}.contact h2{font-size:39px}.portfolio-heading h2{font-size:49px}}
@media(max-width:600px) and (max-height:700px){.portal-stage{min-height:600px}.eight-holder{height:260px;min-height:0;top:34%;width:78vw}.portal-copy{bottom:12%}.portal-copy h1{font-size:39px}.portal-copy>.kicker{margin-bottom:10px;font-size:8px}.enter-link{margin-top:15px}.environment{inset:0 -30%}.scene-footer{bottom:5px}}
@media(max-height:500px) and (min-width:601px){.portal-stage{height:100svh;min-height:390px}.threshold{height:150svh;min-height:560px}.masthead{padding:12px 24px}.brand{width:145px;height:40px}.studio-label{display:none}.eight-holder{top:41%;height:220px;width:240px}.portal-copy{bottom:12%;text-align:left;padding-left:5vw;width:50%}.portal-copy h1{font-size:36px}.portal-copy h1 em{display:block}.portal-copy>.kicker{font-size:7px;letter-spacing:.1em}.enter-link{margin-top:12px;font-size:8px}.eight-holder{left:69%}.environment{transform-origin:65% 42%}.scene-footer{bottom:4px}.scene-footer p,.scroll-invitation{display:none}.scene-footer{justify-content:end}.portal-copy>.kicker{margin-bottom:8px}}
@media(max-width:600px) and (max-height:700px){.portal-stage{min-height:560px}.eight-holder{height:240px;top:33%}}
@media(max-height:500px) and (min-width:601px){.eight-holder{left:50%}}
@media(prefers-reduced-motion:reduce){.signal-orbit i,.atlas-globe i,.current-orbits i{animation:none}.threshold{height:100svh;min-height:560px}}

.booking-details{color:#aebacc;font-size:13px;line-height:1.8;margin:20px auto 0}.contact .email{margin-top:14px}
