.assembly-chapter{height:112svh;min-height:800px;max-height:1150px;background:#080d1b;color:#f0f4ff;position:relative;isolation:isolate;border-block:1px solid #7197ef25}
.assembly-chapter:before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 73% 40%,#17438750,transparent 60%),linear-gradient(115deg,#050915 20%,transparent);pointer-events:none}
.assembly-sticky{position:sticky;top:80px;min-height:630px;height:calc(100svh - 110px);max-height:860px;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:30px;isolation:isolate}
.assembly-copy{position:relative;z-index:3;padding-block:45px;max-width:480px}.assembly-copy .section-label{color:var(--accent);font-size:10px;letter-spacing:.15em;margin-bottom:30px}.assembly-copy h2{font-size:clamp(45px,5.2vw,78px);line-height:1.02;letter-spacing:-.055em}.assembly-copy>p:not(.section-label){font-size:15px;line-height:1.7;max-width:340px;margin-top:25px;color:#adbbd2}.assembly-stage{height:100%;min-height:560px;position:relative;z-index:2;width:115%;margin-left:-8%;translate:0 var(--assembly-shift,0px)}
.assembly-stage canvas{width:100%;height:100%;position:absolute;inset:0;pointer-events:none}.assembly-fallback{position:absolute;inset:10%;width:80%;height:80%;object-fit:contain;mask-image:radial-gradient(ellipse,#000 40%,transparent 72%)}.assembly-ready .assembly-fallback{display:none}
.assembly-number{position:absolute;left:0;bottom:3%;font-size:clamp(220px,30vw,450px);font-weight:700;line-height:.75;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:1px #6686c82a;z-index:0;pointer-events:none;translate:0 var(--assembly-counter,0px)}
.assembly-rail{position:absolute;inset:12% -10% 15% 53%;border:1px solid #6c8dce25;transform:perspective(800px) rotateY(-28deg) rotateX(12deg);z-index:0;translate:0 var(--assembly-counter,0px);pointer-events:none;background:linear-gradient(90deg,transparent 49.8%,#6387c922 50%,transparent 50.2%),linear-gradient(transparent 49.8%,#6387c922 50%,transparent 50.2%);background-size:90px 90px}
.assembly-rail:before,.assembly-rail:after{content:'';position:absolute;inset:-35px;border:1px solid #6c8dce12}.assembly-rail:after{inset:35px;border-color:#ff9f5420}
.assembly-meter{display:flex;justify-content:space-between;gap:14px;position:relative;margin-top:45px;padding-bottom:18px;border-bottom:1px solid #94ace63b;font-size:10px;color:#d6e1f5;letter-spacing:.04em}.assembly-meter span+span{color:#7991ba;font-size:8px;letter-spacing:.09em}.assembly-meter i{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--accent);transform-origin:left;box-shadow:0 0 15px #ff9f5450}
#assembly-articulation{background:#0d1426}#assembly-articulation:before{background:radial-gradient(ellipse at 28% 50%,#1d48844d,transparent 65%)}#assembly-articulation .assembly-copy{grid-column:2;grid-row:1;padding-left:25px}#assembly-articulation .assembly-stage{grid-column:1;grid-row:1;width:140%;margin-left:-20%}#assembly-articulation .assembly-number{left:auto;right:0}#assembly-articulation .assembly-rail{inset:12% 48% 15% -10%}
#assembly-activation:before{background:radial-gradient(ellipse at 75% 70%,#1f539650,transparent 55%),radial-gradient(ellipse at 40% 100%,#b45c181a,transparent 50%)}
/* The surrounding sections share the assembly's larger, opposing scroll planes. */
.depth-assembly{width:650px;height:650px;opacity:.23;right:-170px}.depth-1{left:-250px;right:auto;opacity:.24}.depth-2{opacity:.23}.depth-trace{border-width:2px;width:65vw}.flow-deep:before{opacity:.21}.flow-deep:after{opacity:.14}.finder .flow-layer{opacity:1}.method-wheel{scale:1.04}.assembly-chapter .depth-assembly{opacity:.15;top:24%}.assembly-chapter .flow-layer{opacity:.55}
.motion-paused .assembly-stage,.motion-paused .assembly-number,.motion-paused .assembly-rail{translate:none}
@media(max-width:1100px){.assembly-copy h2{font-size:53px}.assembly-copy{max-width:360px}.assembly-stage{width:128%;margin-left:-14%}.assembly-meter{flex-wrap:wrap}.assembly-sticky{gap:15px}.assembly-chapter{min-height:750px}}
@media(max-width:760px){.assembly-chapter{height:970px;min-height:0;max-height:none}.assembly-sticky{top:68px;min-height:0;height:850px;max-height:none;grid-template-columns:1fr;grid-template-rows:auto 430px;gap:0;align-content:center}.assembly-copy{padding:28px 0 0;max-width:none}.assembly-copy .section-label{margin-bottom:20px;font-size:9px}.assembly-copy h2{font-size:46px}.assembly-copy>p:not(.section-label){font-size:13px;max-width:320px;margin-top:18px}.assembly-meter{margin-top:24px;font-size:9px}.assembly-stage{min-height:0;height:430px;width:calc(100% + 44px);margin-left:-22px}.assembly-number{font-size:260px;bottom:5%;left:-15px}.assembly-rail{inset:50% -20% 9% 20%}#assembly-articulation .assembly-copy{grid-column:1;grid-row:1;padding-left:0}#assembly-articulation .assembly-stage{grid-column:1;grid-row:2;width:calc(100% + 44px);margin-left:-22px}#assembly-articulation .assembly-rail{inset:50% 20% 9% -20%}.depth-assembly{width:420px;height:420px;right:-255px;opacity:.16}.depth-1{left:-280px;right:auto}.method-wheel{scale:1}}
@media(prefers-reduced-motion:reduce){.assembly-stage,.assembly-number,.assembly-rail{translate:none!important}.assembly-chapter{height:auto;min-height:0}.assembly-sticky{position:relative;top:auto}}

.finder-heading{grid-template-columns:1fr;margin-top:0}.finder-heading h2{max-width:1000px}.ooli-closing .ooli-companion{width:180px;flex-shrink:0}.ooli-closing .ooli-stage{height:190px}.ooli-closing .ooli-caption{display:none}
@media(max-width:760px){.finder-form h3{padding-right:0;min-height:65px}.finder-form .step-counter{padding-right:0}.ooli-closing .ooli-companion{width:95px}.ooli-closing .ooli-stage{height:120px;width:95px}.finder-form{padding-top:28px}}

#assembly-articulation .assembly-sticky{grid-template-columns:1.15fr .85fr}#assembly-articulation .assembly-stage{width:100%;margin-left:0}#assembly-articulation .assembly-copy{padding-left:20px}
@media(max-width:760px){#assembly-articulation .assembly-sticky{grid-template-columns:1fr}#assembly-articulation .assembly-stage{width:calc(100% + 44px);margin-left:-22px}#assembly-articulation .assembly-copy{padding-left:0}}

@media(max-width:760px){.assembly-stage{translate:0 calc(var(--assembly-shift,0px) + 24px)}}

/* Generated motion uses the same scene composition, with soft edges into the page. */
.assembly-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:0;transition:opacity .3s;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}.assembly-video-ready .assembly-motion{opacity:1}.assembly-video-ready .assembly-fallback{visibility:hidden}.assembly-still .assembly-motion{opacity:0}.assembly-still .assembly-fallback{visibility:visible}.assembly-fallback{inset:0;width:100%;height:100%;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}
.assembly-replay{border:0;border-bottom:1px solid #91a4c44f;background:none;color:#c1cde3;padding:10px 0;margin-top:10px;font-size:10px;letter-spacing:.03em;cursor:pointer;min-height:36px}.assembly-replay:before{content:'↻';font-size:15px;margin-right:8px;color:var(--accent)}.assembly-replay:hover{color:white;border-color:var(--accent)}.assembly-replay:disabled{opacity:.35;cursor:default}.assembly-replay:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.assembly-stage{container-type:size}
.assembly-motion,.assembly-fallback{inset:50% auto auto 50%;width:min(100cqw,100cqh);height:min(100cqw,100cqh);transform:translate(-50%,-50%);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent),linear-gradient(transparent,#000 12%,#000 88%,transparent)}
