/* Spatial portfolio. Original implementation, using only local project assets. */
.spatial-home{--paper:#e8e6e0;--ink:#17191a;background:#080f18;color:#f4f6fb;font-size:16px}
.spatial-home::after{opacity:.009;animation:none;inset:0}
.spatial-home button,.spatial-home a{-webkit-tap-highlight-color:transparent}
.spatial-home :focus-visible{outline:2px solid #c4b08d;outline-offset:7px}
.sp-header{height:88px;background:linear-gradient(#121415b0,transparent);border-bottom:1px solid #ffffff16;z-index:60}
.sp-header.hide{transform:none}
.sp-header.scrolled{background:#121415eb}
.sp-monogram{font:800 37px/.85 var(--f-display);letter-spacing:-.16em;padding-right:12px;position:relative}
.sp-monogram span{font:9px var(--f-mono);position:absolute;right:0;top:-4px;letter-spacing:0}
.sp-brand-name{font-size:13px;letter-spacing:.16em;line-height:1.5}
.sp-brand-name small{display:block;font:9px var(--f-mono);letter-spacing:.12em;color:#a9aaa7;margin-top:4px}
.sp-header .nav a{color:#dddcd7;font-size:12px;letter-spacing:.06em}
.sp-header sup{font:9px var(--f-mono);color:#969895;margin-left:6px}
.sp-header .lang-toggle{border-radius:0;border:0;border-left:1px solid #ffffff30;padding-left:25px}
.sp-skip{position:fixed;top:-100px;left:20px;padding:14px 20px;background:#fff;color:#111;z-index:100}
.sp-skip:focus{top:10px}
.sp-journey{height:100svh;min-height:660px;position:relative;background:#080b10}
.sp-stage{height:100%;min-height:660px;position:relative;overflow:clip;isolation:isolate}
.sp-scenes,.sp-scene,.sp-shade{position:absolute;inset:0;width:100%;height:100%}
.sp-scenes{z-index:1;pointer-events:none;overflow:hidden}
.sp-scene{opacity:0;visibility:hidden;transition:opacity .65s ease,visibility 0s .65s}
.sp-scene.is-active{opacity:1;visibility:visible;transition:opacity .65s ease,visibility 0s}
.sp-scene img{position:absolute;display:block;width:100%;height:100%;object-fit:cover;object-position:var(--scene-focus,60%) 50%;max-width:none}
.sp-scene-ambient{inset:-5%;width:110%!important;height:110%!important;filter:blur(36px) brightness(.6);opacity:.8}
.sp-scene-art{inset:0;transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0) scale(1.035);transition:transform .8s cubic-bezier(.2,.7,.1,1);mask-image:linear-gradient(90deg,transparent 0%,#000 38%,#000 100%)}
.sp-shade{z-index:2;pointer-events:none;background:linear-gradient(90deg,#05080ee8 0%,#05080ec7 23%,#05080e5c 47%,transparent 72%),linear-gradient(0deg,#05080ef5 0%,#05080eaa 12%,transparent 42%,transparent 78%,#05080e99 100%)}
.sp-art-link{position:absolute;z-index:3;top:20%;left:48%;right:var(--gutter);bottom:25%;display:flex;align-items:flex-end;justify-content:flex-end}
.sp-art-caption{display:flex;align-items:center;gap:16px;font-size:12px;letter-spacing:.08em;text-shadow:0 2px 16px #000;opacity:0;transition:opacity .25s}
.sp-art-caption b{font:15px var(--f-mono);color:var(--sp-accent,#8fb4ff)}
.sp-art-caption>span:last-child{font-size:22px;margin-left:10px}
.sp-show-intro .sp-art-caption{opacity:1}
.sp-show-intro .sp-side-number{opacity:0}
.sp-topline{position:absolute;z-index:3;top:120px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:20px;color:#a4a8a6;font:10px/1.6 var(--f-mono);letter-spacing:.13em;pointer-events:none}
.sp-intro{position:absolute;z-index:4;left:var(--gutter);top:26%;max-width:48%;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s}
.sp-show-intro .sp-intro{opacity:1;visibility:visible}
.sp-label{font:10px/1.6 var(--f-mono);letter-spacing:.11em;color:#b3b6b2;display:flex;gap:10px;align-items:center;margin:0 0 27px}
.sp-dot{width:5px;height:5px;background:#bfddff;box-shadow:0 0 14px #8fb4ff;border-radius:50%;display:inline-block}
.sp-intro h1{font-size:clamp(46px,5.6vw,95px);font-weight:600;line-height:1.2;letter-spacing:-.055em;margin-left:-.03em}
.sp-intro h1 span span{color:var(--sp-accent,#8fb4ff);text-shadow:0 0 45px #8fb4ff32}
html[data-lang="en"] .sp-intro h1{font-family:var(--f-display);font-size:clamp(48px,5.9vw,105px);line-height:1.02;font-weight:600;letter-spacing:-.025em}
.sp-intro-note{font-size:13px;letter-spacing:.08em;color:#afb2ae;margin:24px 0 27px}
.sp-text-link{display:inline-flex;gap:42px;border-bottom:1px solid currentColor;padding:0 0 8px;font-size:12px;align-items:center;pointer-events:auto;transition:gap .3s}
.sp-text-link:hover{gap:54px}
.sp-project{position:absolute;z-index:4;left:var(--gutter);top:30%;max-width:38%;opacity:1;visibility:visible;pointer-events:none;transition:opacity .25s,visibility .25s}
.sp-show-intro .sp-project{opacity:0;visibility:hidden}
.sp-project-overline{font:10px/1.7 var(--f-mono);color:#babdb8;letter-spacing:.08em;display:flex;gap:20px;align-items:center}
.sp-active-num{color:var(--sp-accent);font-size:19px;font-weight:400}
.sp-project h2{font-size:clamp(31px,3.65vw,66px);font-weight:600;line-height:1.22;margin:24px 0;letter-spacing:-.05em;text-wrap:balance}
.sp-active-desc{max-width:29em;font-size:13px;line-height:1.9;color:#b0b4b1;min-height:4em}
.sp-enter{margin-top:24px;padding:14px 23px;display:inline-flex;gap:45px;align-items:center;font-size:12px;background:#e8e6df;color:#1d2020;pointer-events:auto;transition:background .2s,gap .3s}
.sp-enter:hover{background:white;gap:58px}
.sp-side-number{position:absolute;z-index:3;right:var(--gutter);bottom:25%;display:flex;align-items:baseline;gap:10px;color:#d1d4cd;font:48px/.9 var(--f-display);pointer-events:none}
.sp-side-number small{font:11px var(--f-mono);color:#858b88}
.sp-bottom{position:absolute;z-index:5;bottom:24px;left:var(--gutter);right:var(--gutter)}
.sp-bottom-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;color:#a6aaa5;font:10px var(--f-mono);letter-spacing:.05em}
.sp-scroll-hint{display:flex;align-items:center;gap:10px}
.sp-scroll-hint i{font:18px var(--f-mono);font-style:normal}
.sp-motion{font:10px var(--f-sans);background:none;border:0;color:#a7aca8;padding:7px;cursor:pointer}
.sp-motion:hover{color:white}
.sp-motion[aria-pressed="true"]{color:#e6d5b4}
.sp-stops{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}
.sp-stop{position:relative;text-align:left;display:flex;gap:17px;align-items:flex-start;border:0;border-top:1px solid #ffffff2b;background:transparent;color:#909793;padding:18px 0 12px;cursor:pointer;transition:color .3s;min-width:0}
.sp-stop i{position:absolute;top:-1px;left:0;height:1px;width:0;background:#dedfd8;transition:width .6s}
.sp-stop[aria-current="true"],.sp-stop:hover{color:#e9ece5}
.sp-stop[aria-current="true"] i,.sp-stop:hover i{width:100%}
.sp-stop-number{font:23px/1 var(--f-display);font-weight:400}
.sp-stop-title{font:12px/1.55 var(--f-sans);letter-spacing:.04em;padding-top:2px}
.sp-progress{position:absolute;z-index:5;top:0;left:0;height:2px;width:100%;pointer-events:none}
.sp-progress i{display:block;width:100%;height:100%;background:#c4baa7;transform:scaleX(var(--travel,0));transform-origin:left}
.sp-index,.sp-about,.sp-contact{padding:64px var(--gutter) 95px;scroll-margin-top:85px}
.sp-index{background:radial-gradient(ellipse at 90% 0%,#18324e 0%,transparent 55%),#080f18;color:#e8f1ff}
.sp-index .sp-section-top{color:#99aeca;border-color:#c6dcff30}
.sp-section-top{display:flex;justify-content:space-between;gap:15px;font:10px/1.6 var(--f-mono);letter-spacing:.11em;padding-bottom:23px;border-bottom:1px solid #181c1b35}
.sp-index-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin:72px 0 64px}
.sp-index-heading h2{font-size:clamp(38px,5.6vw,82px);letter-spacing:-.045em;font-weight:500;line-height:1.15}
.sp-index-heading p{color:#a2b1c4;font-size:13px;line-height:1.95;margin:0 0 4px;max-width:350px}
.sp-index-row{display:grid;grid-template-columns:85px 1fr auto;border-top:1px solid #c6dcff30;align-items:center;gap:18px;position:relative;isolation:isolate;overflow:hidden;transition:padding .4s,background .4s;padding:0}
.sp-index-row::before{content:'';position:absolute;inset:0 0 0 42%;z-index:-1;background-image:linear-gradient(90deg,#080f18 0%,#080f181a 55%,#080f18b8 100%),var(--project-image);background-size:cover;background-position:center;opacity:.35;transition:opacity .4s,transform .7s;pointer-events:none}
.sp-index-row:last-child{border-bottom:1px solid #c6dcff30}
.sp-index-row:hover,.sp-index-row:focus-within{padding-left:16px;background:#17233655}
.sp-index-row:hover::before,.sp-index-row:focus-within::before{opacity:.7;transform:scale(1.04)}
.sp-index-num{font:36px var(--f-display);font-weight:300;color:var(--project-color)}
.sp-index-link{padding:32px 60px 30px 0;position:relative}
.sp-index-link h3{font-size:clamp(22px,2.4vw,38px);font-weight:500;letter-spacing:-.03em;margin-bottom:13px}
.sp-index-link p{font:10px/1.6 var(--f-mono);letter-spacing:.06em;color:#a2b1c4;margin:0}
.sp-index-arrow{position:absolute;right:26px;top:35px;font:30px/1 var(--f-sans);transition:transform .3s}
.sp-index-link:hover .sp-index-arrow{transform:translate(4px,-4px)}
.sp-locate{color:#bac9dc;font:11px var(--f-sans);border:0;background:none;cursor:pointer;padding:20px 0 20px 30px;white-space:nowrap}
.sp-locate:hover{color:white}
.sp-locate span:last-child{margin-left:12px;font-size:17px}
.sp-about{background:radial-gradient(ellipse at 10% 40%,#c3d7e7,transparent 60%),#e2e1db;color:var(--ink);padding-top:48px;padding-bottom:100px}
.sp-about-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:10vw;padding-top:70px;align-items:center}
.sp-identity-wrap{perspective:1000px;max-width:420px;width:100%;margin:auto}
.sp-identity{position:relative;min-height:490px;padding:26px 30px;background:radial-gradient(ellipse at 80% 10%,#496285,transparent 48%),linear-gradient(145deg,#202d44,#090f1b 65%);border:1px solid #b8d9ff66;box-shadow:12px 30px 50px #142d5a38,inset 0 0 45px #8fb4ff16;transform:rotateY(var(--tilt-x,-7deg)) rotateX(var(--tilt-y,3deg));transition:transform .35s ease;transform-style:preserve-3d;overflow:hidden;color:#e5eeff}
.sp-identity::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--shine-x,20%) var(--shine-y,10%),#fff9,transparent 50%);mix-blend-mode:soft-light}
.sp-identity-top{display:flex;justify-content:space-between;font:9px var(--f-mono);letter-spacing:.07em;border-bottom:1px solid #b8d9ff45;padding-bottom:20px}
.sp-identity-art{height:235px;position:relative;margin:20px 0 4px;display:flex;justify-content:center;align-items:center}
.sp-identity-art>span{position:absolute;font:800 140px var(--f-display);letter-spacing:-.18em;padding-right:25px;color:#e5eeff;text-shadow:0 0 40px #8fb4ff55}
.sp-identity-art i{position:absolute;width:170px;height:190px;transform:skewY(-12deg) translateX(-65px);border:1px solid #91bdff99;border-radius:50%;background:linear-gradient(135deg,#8fb4ff30,transparent);box-shadow:0 0 26px #8fb4ff18}
.sp-identity-art i:nth-child(2){transform:skewY(-12deg) translateX(0px);border-color:#faf9f5}
.sp-identity-art i:nth-child(3){transform:skewY(-12deg) translateX(65px)}
.sp-identity h2{font-size:39px;letter-spacing:.04em;font-weight:500}
.sp-identity-name{font:11px var(--f-mono);letter-spacing:.15em;margin:10px 0 28px}
.sp-identity-bottom{display:flex;justify-content:space-between;border-top:1px solid #b8d9ff45;padding-top:15px;font-size:10px}
.sp-about-copy{max-width:570px}
.sp-belief{font-size:clamp(26px,3.15vw,50px);letter-spacing:-.04em;line-height:1.35;margin:0 0 32px;font-weight:500}
.sp-about-copy>p:not(.sp-belief){font-size:13px;line-height:2;color:#62695f}
.sp-skills{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:28px 0;font:10px/1.8 var(--f-mono);color:#535e52}
.sp-skills span{padding:13px 8px 13px 0;border-bottom:1px solid #35423225}
.sp-about-copy .sp-about-direction{font-size:11px!important}
.sp-about-copy .sp-text-link{margin-top:15px}
.sp-contact{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 85% 55%,#253f64,transparent 65%),#080f18;padding-top:50px;padding-bottom:100px}
.sp-contact::after{content:'';position:absolute;right:-9%;top:8%;width:52vw;height:52vw;z-index:-1;border:1px solid #afd3ff70;border-radius:50%;box-shadow:0 0 60px #8fb4ff28,inset 0 0 60px #8fb4ff20,0 0 0 38px #8fb4ff07,0 0 0 39px #8fb4ff28,0 0 0 100px #8fb4ff03,0 0 0 101px #8fb4ff18;transform:rotate(-25deg) scaleX(.65);pointer-events:none}
.sp-contact .sp-section-top{border-color:#ffffff25;color:#9ba59b}
.sp-contact h2{font-size:clamp(48px,7.5vw,118px);font-weight:500;letter-spacing:-.06em;line-height:1.16;margin:75px 0 40px}
.sp-contact h2 span span{color:#9fc6ff}
.sp-mail{display:inline-flex;gap:70px;border-bottom:1px solid #c9d1c071;padding:0 0 13px;font-size:clamp(20px,3vw,42px);letter-spacing:-.03em}
.sp-contact>p{font-size:12px;color:#889482;margin-top:25px}
.sp-contact-wave{position:absolute;z-index:-1;right:-22%;bottom:-100%;width:100%;height:170%;border-radius:42%;background:radial-gradient(ellipse at 50% 25%,#8fb4ff55,transparent 63%);filter:blur(20px);animation:sp-wave 20s ease-in-out infinite alternate;pointer-events:none}
@keyframes sp-wave{to{transform:translate(-8%,-8%) rotate(-18deg)}}
.sp-footer{display:flex;justify-content:space-between;gap:20px;background:#101310;border-top:1px solid #ffffff12;padding:27px var(--gutter);color:#858f82;font:9px/1.8 var(--f-mono);letter-spacing:.06em}
.sp-static .sp-scene,.sp-static .sp-scene-art{transition:none}
.sp-static .sp-scene-art{transform:scale(1.035)}
.sp-static .sp-contact-wave{animation:none}
html:not(.js) .sp-journey{height:100svh;min-height:690px}
html:not(.js) .sp-bottom,html:not(.js) .sp-locate{display:none}
@media(min-width:1800px){.sp-intro{top:29%}.sp-project{top:32%}.sp-bottom{bottom:40px}.sp-stops{gap:40px}.sp-stop{padding-top:25px}}
@media(max-width:1000px){.sp-header{height:74px}.sp-topline{top:100px}.sp-intro{top:27%}.sp-project{max-width:38%}.sp-stop-title{font-size:10px}.sp-stops{gap:17px}.sp-index-row{grid-template-columns:60px 1fr auto}.sp-about-layout{gap:6vw}.sp-identity{min-height:460px}.sp-identity-art{height:215px}.sp-about-copy>p:not(.sp-belief){font-size:12px}}
@media(max-width:700px){
 .sp-header{height:68px}.sp-header .brand{gap:12px}.sp-monogram{font-size:32px}.sp-brand-name{font-size:11px}.sp-brand-name small{font-size:8px}.sp-header .nav{gap:16px}.sp-header .nav .nav-link:first-child{display:block;font-size:11px}.sp-header .lang-toggle{padding:8px 0 8px 13px;font-size:10px}.sp-header .nav sup{display:none}
 .sp-journey{height:100svh;min-height:690px}.sp-stage{min-height:690px}.sp-topline{top:90px;font-size:8px}.sp-discipline{display:none!important}
 .sp-scene-art{top:30%;left:-6%;width:112%!important;height:48%!important;object-position:var(--scene-focus,60%) 50%;mask-image:linear-gradient(0deg,transparent,#000 18%,#000 84%,transparent)}
 .sp-scene-ambient{filter:blur(26px) brightness(.65);opacity:1}
 .sp-shade{background:linear-gradient(180deg,#05080ec9 0%,#05080eb0 26%,#05080e25 40%,transparent 50%,transparent 64%,#05080ec0 83%,#05080e 100%)}
 .sp-art-link{top:38%;left:var(--gutter);right:var(--gutter);bottom:23%}.sp-art-caption{font-size:10px;gap:10px}.sp-art-caption b{font-size:11px}.sp-art-caption>span:last-child{font-size:18px}
 .sp-intro{top:142px;max-width:95%;left:var(--gutter)}.sp-label{font-size:8px;letter-spacing:.07em;margin-bottom:18px}.sp-intro h1{font-size:44px;line-height:1.15;letter-spacing:-.065em}.sp-intro h1 br{display:none}.sp-intro h1 span span{display:block}.sp-intro-note{font-size:11px;margin:15px 0 13px}.sp-intro .sp-text-link{font-size:10px;padding-bottom:4px;gap:25px}
 html[data-lang="en"] .sp-intro h1{font-size:47px}.sp-project{top:137px;max-width:calc(100% - 32px)}.sp-project h2{font-size:32px;margin:13px 0}.sp-active-desc{display:none}.sp-project-overline{font-size:8px;gap:12px}.sp-active-num{font-size:17px}.sp-enter{font-size:11px;padding:10px 16px;margin-top:6px;gap:32px}
 .sp-side-number{bottom:25%;font-size:32px;gap:6px}.sp-side-number small{font-size:9px}.sp-bottom{bottom:18px}.sp-bottom-top{font-size:8px;margin-bottom:18px}.sp-motion{font-size:9px;padding-right:0}.sp-stops{gap:12px}.sp-stop{display:block;padding-top:13px}.sp-stop-number{font-size:24px;display:block;margin-bottom:10px}.sp-stop-title{font-size:11px;line-height:1.5;display:block;letter-spacing:0}
 .sp-index,.sp-about,.sp-contact{padding:38px var(--gutter) 60px;scroll-margin-top:67px}.sp-section-top{font-size:8px;letter-spacing:.04em;padding-bottom:18px}.sp-section-top span:last-child{max-width:48%;text-align:right}.sp-index-heading{display:block;margin:40px 0 34px}.sp-index-heading h2{font-size:40px}.sp-index-heading p{margin-top:24px;font-size:11px}.sp-index-row{grid-template-columns:38px 1fr;gap:10px}.sp-index-num{font-size:24px;align-self:start;padding-top:31px}.sp-index-link{padding:28px 28px 38px 0}.sp-index-link h3{font-size:21px;line-height:1.3;margin-bottom:9px}.sp-index-link p{font-size:9px}.sp-index-arrow{font-size:21px;right:0;top:28px}.sp-locate{position:absolute;bottom:8px;left:48px;font-size:9px;padding:0}.sp-locate span:last-child{font-size:14px}.sp-index-row:hover{padding-left:0}
 .sp-about-layout{grid-template-columns:1fr;gap:50px;padding-top:40px}.sp-identity-wrap{max-width:310px}.sp-identity{min-height:395px;padding:23px}.sp-identity-art{height:175px}.sp-identity-art i{height:140px;width:110px}.sp-identity-art>span{font-size:110px}.sp-identity h2{font-size:34px}.sp-identity-name{font-size:10px;margin-bottom:24px}.sp-belief{font-size:32px}.sp-skills{font-size:9px}.sp-contact h2{font-size:48px;margin:46px 0 30px}.sp-mail{font-size:23px;gap:35px}.sp-contact>p{font-size:10px}.sp-footer{font-size:8px;flex-wrap:wrap;gap:14px;padding-top:20px;padding-bottom:20px}.sp-footer>span:nth-child(2){display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spatial-home *,.spatial-home *::before,.spatial-home *::after{animation:none!important;transition-duration:0s!important}.sp-identity{transform:none!important}}

/* Real facility exhibition. */
.sp-world{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity 1.2s ease;cursor:crosshair}
.sp-world canvas{display:block;width:100%;height:100%}
.facility-ready .sp-world{opacity:1}
.facility-ready .sp-scenes{opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.facility-ready .sp-shade{background:linear-gradient(0deg,#080b10e8 0%,#080b108a 12%,transparent 32%,transparent 80%,#080b1070 100%)}
.facility-ready:not(.sp-show-intro) .sp-shade{background:linear-gradient(90deg,#080b10c9,transparent 65%),linear-gradient(0deg,#080b10ed,transparent 35%,transparent 85%,#080b1055)}
.sp-hall{pointer-events:auto;border:0;padding:4px 0;background:transparent;font:inherit;letter-spacing:inherit;color:#d6cbbd;cursor:pointer}
.sp-hall:hover{color:#fff}
.sp-show-intro .sp-hall{color:#c8bcaa}
.sp-load{display:none;position:absolute;z-index:4;right:var(--gutter);top:164px;font:10px var(--f-mono);color:#cbbca9;letter-spacing:.08em}
.js .sp-load:not([hidden]){display:flex;gap:12px;align-items:center}
.sp-load i{width:5px;height:5px;background:#cbbca9;border-radius:50%;animation:facility-load 1s ease-in-out infinite alternate}
@keyframes facility-load{to{opacity:.2}}
.sp-show-intro .sp-intro{top:154px;max-width:37%;text-shadow:0 2px 24px #0009}
.sp-intro h1{font-size:clamp(30px,3.15vw,53px);line-height:1.2}
html[data-lang="en"] .sp-intro h1{font-size:clamp(30px,3.1vw,53px);line-height:1.08}
.sp-intro .sp-label{font-size:8px;margin-bottom:15px;color:#d0c5b8}
.sp-intro-note{font-size:11px;margin:18px 0 18px;color:#c5bdb1}
.sp-intro .sp-text-link{font-size:10px}
.sp-intro h1 span span{color:#dcc2a2;text-shadow:none}
.sp-project{top:auto;bottom:28%;max-width:35%;text-shadow:0 2px 30px #0008;transition:opacity .4s,transform .5s}
.sp-project h2{font-size:clamp(28px,3.1vw,52px)}
.sp-flying .sp-project{opacity:.12;transform:translateY(8px);pointer-events:none}
.sp-flying .sp-project a{pointer-events:none}
.sp-side-number{font-size:36px;bottom:27%;opacity:.6}
.sp-entering .sp-enter{opacity:.6}
.sp-stops{gap:24px}
.sp-stop{background:linear-gradient(180deg,#11151b50,transparent)}
.sp-bottom-top{color:#c6bbaa}
.sp-progress i{transition:transform .8s ease}
@media(max-width:700px){
 .sp-journey,.sp-stage{min-height:720px}
 .sp-show-intro .sp-intro{top:126px;max-width:90%}
 .sp-intro h1,html[data-lang="en"] .sp-intro h1{font-size:33px}
 .sp-intro h1 br{display:none}.sp-intro h1 span span{display:inline}
 .sp-intro .sp-label{font-size:7px;margin-bottom:13px}
 .sp-intro-note{font-size:10px;margin:12px 0}.sp-intro .sp-text-link{font-size:9px}
 .sp-project{top:140px;bottom:auto;max-width:90%}.sp-project h2{font-size:29px;margin:13px 0}
 .sp-load{top:106px;font-size:8px}.sp-topline{font-size:8px}
 .sp-bottom-top{font-size:8px}.sp-stops{gap:12px}
 .facility-ready .sp-shade{background:linear-gradient(0deg,#080b10f2,transparent 37%,transparent 63%,#080b10a8)}
 .facility-ready:not(.sp-show-intro) .sp-shade{background:linear-gradient(0deg,#080b10f2,transparent 33%,transparent 63%,#080b10b8)}
}
@media(prefers-reduced-motion:reduce){.sp-world,.facility-ready .sp-scenes,.sp-project,.sp-progress i{transition:none}.sp-load i{animation:none}}

/* Each destination displays its actual project cover after the camera arrives. */
.sp-exhibit{position:absolute;z-index:4;inset:160px var(--gutter) 158px;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.55fr);gap:clamp(24px,4vw,76px);align-items:center;opacity:1;visibility:visible;transform:translateY(0);transition:opacity .45s ease,transform .65s cubic-bezier(.2,.7,.2,1),visibility .45s}
.sp-show-intro .sp-exhibit,.sp-flying .sp-exhibit{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(18px);transition:opacity .18s ease,transform .3s ease,visibility .18s}
.sp-exhibit .sp-project{position:relative;inset:auto;max-width:none;width:100%;text-shadow:0 2px 22px #000;pointer-events:none}
.sp-exhibit .sp-project h2{font-size:clamp(28px,3.1vw,52px);margin:20px 0;line-height:1.24}
.sp-exhibit .sp-active-desc{color:#d0cec6;line-height:1.85;min-height:0}
.sp-exhibit .sp-art-link{position:relative;inset:auto;display:block;min-width:0;width:88%;justify-self:center;background:#0d0e0de8;border:1px solid #cbbfa352;padding:7px;box-shadow:0 22px 65px #0009;transform:perspective(1500px) rotateY(-3deg);transform-origin:center;animation:sp-cover-float 6s ease-in-out infinite;transition:transform .4s ease,border-color .35s ease,box-shadow .4s ease}
.sp-exhibit .sp-art-link:hover,.sp-exhibit .sp-art-link:focus-visible{transform:perspective(1500px) rotateY(0) translateY(-4px) scale(1.012);animation-play-state:paused;border-color:#e5d7b7;box-shadow:0 30px 75px #000b}
@keyframes sp-cover-float{0%,100%{translate:0 0}50%{translate:0 var(--cover-float-rise,-9px)}}
.sp-show-intro .sp-art-link,.sp-flying .sp-art-link,.sp-entering .sp-art-link{animation-play-state:paused}
.sp-static .sp-exhibit .sp-art-link{animation-play-state:paused;transform:none;transition:none}
.sp-art-image{display:block;background:#080909;overflow:hidden}
.sp-active-cover{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:calc(max(660px,100svh) - 384px);object-fit:contain;object-position:center}
.sp-exhibit .sp-art-caption{opacity:1;display:flex;justify-content:flex-start;padding:13px 12px 7px;gap:15px;font-size:11px;color:#e6e1d6;letter-spacing:.05em;text-shadow:none}
.sp-exhibit .sp-art-caption b{font-size:12px;color:#cabc9f}
.sp-exhibit .sp-art-caption>span:last-child{margin-left:auto;font-size:19px}
.sp-stage:not(.sp-show-intro) .sp-side-number{display:none}
.sp-stage:not(.sp-show-intro) .sp-topline{z-index:5}
.sp-entering .sp-exhibit{opacity:.65;pointer-events:none}
@media(max-width:1000px) and (min-width:701px){.sp-exhibit{top:145px;gap:25px;grid-template-columns:minmax(205px,.76fr) minmax(0,1.5fr)}.sp-exhibit .sp-project h2{font-size:29px}.sp-exhibit .sp-active-desc{font-size:11px}.sp-exhibit .sp-enter{gap:25px}}
@media(max-width:700px){
 .sp-exhibit{inset:126px var(--gutter) 171px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:22px}
 .sp-exhibit .sp-project{flex:0 0 auto}.sp-exhibit .sp-project h2{font-size:29px;margin:11px 0;line-height:1.2}
 .sp-exhibit .sp-project-overline{font-size:8px}.sp-exhibit .sp-active-desc{display:none}.sp-exhibit .sp-enter{display:none}
 .sp-exhibit .sp-art-link{flex:0 1 auto;transform:none;padding:5px;width:92%;align-self:center;--cover-float-rise:-6px}
 .sp-active-cover{max-height:calc(max(720px,100svh) - 455px)}
 .sp-exhibit .sp-art-caption{font-size:10px;padding:10px 7px 5px;gap:12px}
 html[data-lang="en"] .sp-exhibit .sp-project h2{font-size:27px}
}
@media(prefers-reduced-motion:reduce){.sp-exhibit,.sp-exhibit .sp-art-link,.sp-exhibit .sp-art-link:hover,.sp-exhibit .sp-art-link:focus-visible{animation:none;translate:none;transition:none;transform:none}}
