/* Scoped to pages with an editorial 3D opening. */
body.has-project-scene .site-header{position:absolute;inset:0 0 auto;z-index:30;background:linear-gradient(#090909e8,transparent)}
body.has-project-scene .site-header__inner{border:0}
.project-cinematic{position:relative;height:calc(100svh + 1000px);background:#090909}
.project-cinematic__stage{height:100svh;position:sticky;top:0;overflow:hidden;isolation:isolate;background:#090909}
.project-cinematic__stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:0;touch-action:pan-y}
.project-cinematic__copy{position:absolute;left:max(34px,calc((100% - 1440px)/2));top:27%;z-index:2;pointer-events:none;max-width:55%;will-change:opacity,transform}
.project-cinematic__copy small{display:block;font:12px/1.5 'Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase;color:#b9a78e;margin-bottom:22px}
.editorial-theme .project-cinematic__copy h1{font:400 clamp(54px,6.6vw,105px)/.98 Georgia,serif;letter-spacing:-.05em;margin:0;color:#e9e4db;max-width:10ch}
.project-cinematic__caption{position:absolute;bottom:39px;left:max(34px,calc((100% - 1440px)/2));right:max(34px,calc((100% - 1440px)/2));display:flex;justify-content:space-between;align-items:end;gap:24px;z-index:3}
.project-cinematic__caption p{font-size:15px;line-height:1.6;color:#b8afa3;max-width:300px;margin:0}
.project-cinematic__caption a{font:13px/1.5 Arial,sans-serif;border-bottom:1px solid #7c6b54;padding:13px 0;min-height:44px;white-space:nowrap;color:#e9e4db}
.project-cinematic__progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#29241c;z-index:3}
.project-cinematic__progress span{display:block;height:100%;width:100%;background:#b59b75;transform-origin:left;transform:scaleX(0)}
.project-cinematic__status{position:absolute;right:12%;top:54%;color:#aaa093;font:12px monospace;z-index:2;max-width:230px;text-align:center}
.project-cinematic__status[hidden]{display:none}
.project-cinematic.is-fallback{height:100svh}
.scene-chapter{position:absolute;right:34px;top:110px;color:#a89a89;font:11px monospace;letter-spacing:2px;writing-mode:vertical-rl;z-index:2}
@media(min-width:1650px){.project-cinematic__copy{max-width:45%}}
@media(max-width:650px){.project-cinematic{height:calc(100svh + 700px)}.project-cinematic__copy{left:20px;top:110px;max-width:85%}.editorial-theme .project-cinematic__copy h1{font-size:clamp(46px,11.5vw,66px);max-width:12ch}.project-cinematic__copy small{font-size:11px;margin-bottom:14px}.project-cinematic__caption{left:20px;right:20px;bottom:22px;gap:15px;align-items:start;flex-direction:column}.project-cinematic__caption p{font-size:14px;max-width:270px}.scene-chapter{right:17px;top:110px;font-size:10px}.project-cinematic__status{top:60%;right:25%}}
@media(max-height:550px) and (min-width:651px){.project-cinematic__copy{top:23%}.editorial-theme .project-cinematic__copy h1{font-size:56px}.project-cinematic__caption{bottom:20px}.project-cinematic__caption p{font-size:13px}.scene-chapter{top:90px}}
@media(prefers-reduced-motion:reduce){.project-cinematic{height:100svh}.project-cinematic__stage{position:relative}.project-cinematic__copy{will-change:auto}}

/* Full-page studio scenes, isolated from the homepage and Gesture Orchestra. */
body.scene-journey{background:#090b0e;isolation:isolate}
.scene-journey .project-cinematic{height:125svh;background:transparent}
.scene-journey .project-cinematic__stage{position:fixed;inset:0;height:100svh;z-index:-1;background:radial-gradient(ellipse at 25% 40%,#252a31,#090b0e 66%);pointer-events:none}
.scene-journey .project-cinematic__stage::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 30%,#090b0e60 46%,#090b0eeb 60%,#090b0e)}
.scene-journey .project-cinematic__copy{left:54%;right:4%;max-width:none}
.scene-journey .project-cinematic__caption{left:54%;right:4%;flex-direction:column;align-items:start}
.scene-journey .project-cinematic__caption a{pointer-events:auto}
.scene-journey main>.section,.scene-journey main>.container,.scene-journey main.links-page{position:relative;margin-left:50%;width:50%;padding:9vh 4vw;background:transparent}
.scene-journey main>.section>.container,.scene-journey main>.container .container{width:100%;max-width:none;margin:0;padding:0}
.scene-journey .detail-hero-grid,.scene-journey .projects-grid,.scene-journey .contact-grid,.scene-journey .contact-shell{grid-template-columns:minmax(0,1fr)}
.scene-journey .project-card{grid-column:auto}
.scene-journey .detail-title{font-size:clamp(40px,4.2vw,72px)}
.scene-journey .section-title{font-size:clamp(32px,3.5vw,56px)}
.scene-journey .detail-intro-card,.scene-journey .detail-meta-card,.scene-journey .project-card,.scene-journey .detail-cta-card,.scene-journey .contact-card{background:#111419e8}
.scene-journey .site-footer{position:relative;background:#090b0ede}
.scene-journey .scene-chapter{font-size:12px}
@media(max-width:650px){
 .scene-journey .project-cinematic__copy{left:20px;right:20px;top:100px;max-width:90%}
 .scene-journey .project-cinematic__caption{left:20px;right:20px;bottom:24px}
 .scene-journey .project-cinematic__stage{background:radial-gradient(ellipse at 50% 35%,#252a31,#090b0e 75%)}
 .scene-journey .project-cinematic__stage::after{background:linear-gradient(transparent 40%,#090b0e88 70%,#090b0e)}
 .scene-journey main>.section,.scene-journey main>.container,.scene-journey main.links-page{margin-left:0;width:100%;padding:35vh 20px 6vh}
 .scene-journey .detail-intro-card,.scene-journey .detail-meta-card,.scene-journey .project-card,.scene-journey .detail-cta-card,.scene-journey .contact-card{background:#111419f5}
}
@media(prefers-reduced-motion:reduce){
 .scene-journey .project-cinematic{height:100svh}
 .scene-journey .project-cinematic__stage{position:absolute}
 .scene-journey main>.section,.scene-journey main>.container,.scene-journey main.links-page{margin-left:0;width:100%;padding:6vh 5vw;background:#090b0e}
}

.scene-journey .project-body{display:block}
.scene-journey .links-page__shell{grid-template-columns:minmax(0,1fr);gap:36px}
.scene-journey .links-profile-card,.scene-journey .links-link-card{background:#111419ee}
.scene-journey .links-title{font-size:clamp(40px,4vw,65px)}
.scene-journey .section-head{display:block}
