.assembly{background:#202a23;color:#eef0e4;position:relative}.assembly-stage{position:relative;display:grid;grid-template-columns:38% 62%;padding:55px 6.6% 105px;min-height:650px;overflow:hidden;background:radial-gradient(ellipse at 73% 40%,#475343 0,#2a352b 35%,#202a23 73%)}.assembly-copy{align-self:center;z-index:2}.assembly-copy .eyebrow{font-size:9px;color:#b8c5a8}.assembly-copy h2{font-size:clamp(42px,4.4vw,70px)}.assembly-copy>p:not(.eyebrow){font-size:14px;color:#c4cdbb;max-width:320px}.assembly-copy small{display:block;color:#aab69f;font-size:10px;line-height:1.7;margin-top:35px;max-width:280px}.assembly-copy .text-link{font-size:12px}.assembly-visual{position:relative;align-self:stretch;min-height:440px}.assembly-visual canvas{display:none;width:100%;height:100%;position:absolute;inset:0}.assembly-fallback{width:100%;height:480px;object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 20%)}.assembly-model-label{position:absolute;right:0;top:10px;font-size:9px;letter-spacing:.18em;color:#a6b399}.assembly-controls{display:none;position:absolute;left:6.6%;right:6.6%;bottom:30px;grid-template-columns:1fr 46px;gap:10px 20px}.assembly-controls label{font-size:10px;color:#abb99f;grid-column:1/-1}.assembly-controls input{width:100%;accent-color:#d0b27a;cursor:ew-resize;height:20px;margin:0}.assembly-percent{font-size:11px;align-self:center;text-align:right}.assembly-steps{display:flex;gap:30px;grid-column:1/-1;font-size:10px;letter-spacing:.07em;margin-bottom:8px}.assembly-steps span{color:#809075;transition:color .3s}.assembly-steps span.active{color:#efe9d3}.assembly.is-ready{height:220vh}.assembly.is-ready .assembly-stage{position:sticky;top:100px;height:calc(100svh - 100px);min-height:550px;max-height:850px}.assembly.is-ready canvas{display:block}.assembly.is-ready .assembly-fallback{display:none}.assembly.is-ready .assembly-controls{display:grid}
@media(max-width:800px){.assembly-stage{grid-template-columns:1fr;padding:32px 7% 115px;min-height:620px}.assembly-copy{align-self:start}.assembly-copy h2{font-size:38px;margin-bottom:15px}.assembly-copy h2 br{display:none}.assembly-copy h2 em{margin-left:8px}.assembly-copy .eyebrow{margin-bottom:15px}.assembly-copy>p:not(.eyebrow){max-width:95%;font-size:12px;margin-bottom:8px}.assembly-copy .text-link{margin-top:5px;font-size:11px}.assembly-copy small{font-size:8px;margin-top:12px;max-width:95%}.assembly-visual{min-height:270px}.assembly.is-ready .assembly-stage{top:85px;height:calc(100svh - 85px);min-height:650px;grid-template-rows:auto 1fr}.assembly-model-label{top:10px;font-size:7px}.assembly-controls{bottom:24px}.assembly-steps{gap:14px;font-size:9px}.assembly-controls label{font-size:9px}.assembly-fallback{height:300px}.assembly.is-ready{height:200vh}}
@media(max-height:700px) and (max-width:800px){.assembly.is-ready{height:auto}.assembly.is-ready .assembly-stage{position:relative;top:0;height:680px}}
@media(prefers-reduced-motion:reduce){.assembly.is-ready{height:auto}.assembly.is-ready .assembly-stage{position:relative;top:0;height:auto}.assembly.is-ready canvas,.assembly.is-ready .assembly-controls{display:none}.assembly.is-ready .assembly-fallback{display:block}}
.assembly.is-ready .assembly-visual{min-height:0}.assembly-copy h2{margin-bottom:22px}.assembly-copy .eyebrow{margin-bottom:22px}.assembly-copy small{margin-top:22px}@media(min-width:801px){.assembly.is-ready .assembly-stage{min-height:500px;padding-top:30px;padding-bottom:135px}.assembly-copy h2{font-size:clamp(38px,4.1vw,62px)}}
@media(min-width:801px){.assembly-controls{right:calc(6.6% + 160px)}}@media(max-width:800px){.assembly-controls{right:85px;grid-template-columns:1fr 30px;column-gap:8px}.assembly-steps{gap:10px;font-size:8px}.assembly-controls label{font-size:8px}}
.assembly-views{display:none;position:absolute;right:6.6%;top:55px;gap:6px;z-index:3}.is-ready .assembly-views{display:flex}.assembly-views button{font-size:9px;padding:9px 12px;color:#bfcbb5;background:#243025;border:1px solid #6b7b62;border-radius:20px}.assembly-views button[aria-pressed=true]{background:#d5dcc9;color:#273425}.assembly-model-label{top:50px}@media(max-width:800px){.assembly-views{top:auto;bottom:125px;left:7%;right:auto}.assembly-views button{font-size:8px;padding:8px 10px}.assembly-model-label{top:8px}}@media(prefers-reduced-motion:reduce){.is-ready .assembly-views{display:none}}
.assembly-model-label{top:auto;bottom:4px}
