/* Stella assembly hero (scene-assembly.js). Loaded last; overrides the older hero layers. */
.assembly{height:600svh;min-height:3600px}
.assembly .sticky{background:#fff}
.assembly .hero-grid,.assembly .engineering-line,.assembly .scene-note,.assembly .scene-index,.assembly .object-tag{display:none}
.assembly-sky{position:absolute;inset:-4% 0 0;background:url(assets/stella/sky.webp) center top/cover no-repeat;
  transform:scale(1.06);will-change:transform;pointer-events:none;z-index:0}
.assembly-sky::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fffffff2 0,#ffffffb8 34%,#fff0 60%),linear-gradient(#fff0 70%,#fff 100%)}
.assembly #scene{left:auto;right:1%;top:64px;bottom:92px;width:58%;z-index:2}
.assembly-render{position:absolute;inset:0;width:100%;height:100%;display:block}
.assembly .studio-render{display:none}

.assembly .hero-copy{top:22%;left:5%;width:40%;z-index:4;transition:opacity .45s,transform .45s}
.assembly.is-building .hero-copy{opacity:0;transform:translateY(-24px);pointer-events:none}
.assembly.is-building .hero-copy *{pointer-events:none}

.stage-panel{position:absolute;left:5%;top:50%;width:min(34%,520px);z-index:4;transform:translateY(-40%);
  opacity:0;transition:opacity .45s,transform .45s;color:#0f2147;pointer-events:none}
.assembly.is-building .stage-panel{opacity:1;transform:translateY(-50%)}
.stage-num{display:block;font-size:15px;letter-spacing:2px;color:#088745;font-weight:700;margin-bottom:14px}
.stage-name{margin:0 0 18px;font-size:clamp(34px,4vw,64px);line-height:1.02;font-weight:700;color:#234892}
.stage-text{margin:0;font-size:clamp(17px,1.35vw,21px);line-height:1.55;color:#1d2a40;max-width:30em}

.assembly .stage-caption{bottom:0;left:0;right:0;padding:18px 5% 22px;background:#fff;border-top:1px solid #23489220;z-index:5}
.assembly .scene-controls{left:5%;right:auto;bottom:112px;z-index:6;flex-direction:row;justify-content:flex-start}
.assembly #loading{left:50%;top:50%;transform:translate(-50%,-50%);font-size:14px;color:#234892}

@media(max-width:1050px){
  .assembly #scene{width:56%}
  .assembly .hero-copy{width:46%}
  .stage-panel{width:40%}
}
@media(max-width:700px){
  .assembly{height:600svh;min-height:3800px}
  .assembly-sky{background-position:30% top}
  .assembly-sky::after{background:linear-gradient(#ffffffe6 0,#ffffffa0 30%,#fff0 50%),linear-gradient(#fff0 75%,#fff 100%)}
  .assembly .hero-copy{top:88px;left:6%;width:88%}
  .assembly .hero-copy .intro,.assembly .hero-copy .scroll-note{display:none}
  .assembly #scene{left:0;right:0;width:100%;top:300px;bottom:76px}
  .stage-panel{top:88px;left:6%;width:88%;transform:translateY(-12px)}
  .assembly.is-building .stage-panel{transform:none}
  .stage-name{font-size:34px;margin-bottom:10px}
  .stage-text{font-size:16px}
  .assembly .scene-controls{display:none}
  .assembly .stage-caption{padding:14px 6% 16px}
}
@media(prefers-reduced-motion:reduce){.assembly-sky{transform:none}}
