/* A photographic assembly sequence. Motion is progressively enhanced. */
.assembly{background:#090909;color:#f7f7f7;margin:0 8px 100px;border-radius:8px;position:relative;scroll-margin-top:0}
.assembly-sticky{padding:50px 0 25px}
.assembly-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}
.assembly-head .eyebrow{color:#999999;font-size:10px;letter-spacing:.07em;margin-bottom:18px}
.assembly h2{font-size:clamp(32px,4vw,64px);font-weight:430;letter-spacing:-.055em;line-height:1.1}
.assembly-skip{display:flex;align-items:center;gap:18px;font-size:11px;color:#bdbdbd;min-height:44px;white-space:nowrap}
.assembly-skip:hover{color:#fff}.assembly-skip svg{width:17px}
.assembly-scene{position:relative;min-height:460px;height:48vw;max-height:700px;display:flex;align-items:center}
.assembly-copy{position:relative;z-index:3;width:25%;max-width:265px;pointer-events:none;align-self:flex-start;padding-top:100px}
.assembly-chapter{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:#909090;display:block;margin-bottom:22px}
.assembly-copy h3{font-size:clamp(26px,2.5vw,42px);font-weight:440;line-height:1.12;letter-spacing:-.045em;white-space:pre-line}
.assembly-copy p{font-size:13px;line-height:1.85;margin-top:22px;color:#a7a7a7;max-width:240px}
.assembly-visual{position:absolute;width:84%;right:-4%;height:100%;overflow:hidden;isolation:isolate;mix-blend-mode:lighten;filter:grayscale(1);transform:scale(var(--build-scale,1));transform-origin:60% 55%}
.assembly-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.assembly-frame.is-next{z-index:1;mask-image:linear-gradient(90deg,#000 calc(var(--build-reveal,0)*1% - 6%),transparent calc(var(--build-reveal,0)*1% + 6%))}
.assembly-scan{position:absolute;z-index:2;top:18%;bottom:16%;left:calc(var(--build-reveal,0)*1%);width:1px;opacity:var(--scan-opacity,0);background:linear-gradient(transparent,#ffffff55,transparent);pointer-events:none}
.assembly-status{position:absolute;right:0;bottom:0;font:10px var(--mono);background:#191919;color:#ddd;padding:10px 14px;z-index:4;max-width:80%;line-height:1.7}
.assembly-toolbar{display:flex;align-items:center;gap:28px;min-height:48px}
.assembly-play{display:flex;gap:11px;align-items:center;min-height:44px;font-size:12px;background:transparent;border:1px solid #454545;padding:10px 17px;border-radius:30px;white-space:nowrap}
.assembly-play:hover{border-color:#eee;background:#191919}.assembly-play-icon{font-size:15px;width:14px}
.assembly-toolbar label{font-family:var(--mono);font-size:9px;color:#999999;letter-spacing:.025em}
.assembly-progress-label{font-family:var(--mono);font-size:11px;margin-left:auto;color:#bbb}
.assembly-progress{display:block;appearance:none;-webkit-appearance:none;background:transparent;width:100%;height:32px;margin:8px 0 0;cursor:ew-resize;touch-action:pan-y;accent-color:#fff}
.assembly-progress::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,#eee calc(var(--progress,0)*1%),#383838 0)}
.assembly-progress::-moz-range-track{height:2px;background:#383838}.assembly-progress::-moz-range-progress{height:2px;background:#eee}
.assembly-progress::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:10px;border:0;background:#fff;border-radius:50%;margin-top:-4px;box-shadow:0 0 0 6px #ffffff0a}
.assembly-progress::-moz-range-thumb{width:10px;height:10px;border:0;background:#fff;border-radius:50%}
.assembly-chapters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.assembly-chapters button{border:0;background:none;text-align:left;min-height:48px;padding:12px 0;color:#808080;display:flex;align-items:center;gap:14px;font-size:12px;transition:color .2s}
.assembly-chapters button>span:first-child{font:9px var(--mono)}
.assembly-chapters button[aria-pressed=true],.assembly-chapters button:hover{color:#fff}
.assembly-disclosure{font:8px/1.7 var(--mono);color:#888888;text-align:right;margin-top:14px}
@media(min-width:951px) and (min-height:700px){
  .motion-enabled .assembly{height:420svh}
  .motion-enabled .assembly-sticky{position:sticky;top:90px;height:calc(100svh - 90px);min-height:610px;display:flex;flex-direction:column;padding-top:34px;padding-bottom:20px}
  .motion-enabled .assembly-scene{flex:1;min-height:0;max-height:none;height:auto}
  .motion-enabled .assembly-copy{padding-top:55px}
  .motion-enabled .assembly-visual{right:-2%;width:80%}
}
@media(max-width:1100px){.assembly-copy{width:27%}.assembly-copy p{font-size:12px}.assembly-chapters button{gap:9px;font-size:11px}.assembly-head .eyebrow{font-size:9px}}
@media(max-width:950px){
  .assembly{margin-bottom:75px;scroll-margin-top:0}.assembly-sticky{padding-top:36px}
  .assembly-scene{height:63vw;min-height:400px}.assembly-copy{padding-top:38px;width:28%}.assembly-copy h3{font-size:27px}.assembly-copy p{font-size:11px}
  .assembly-visual{width:86%;right:-6%;top:4%}.assembly-toolbar label{max-width:210px;line-height:1.6}
  .assembly-chapters{gap:8px}.assembly-chapters button{flex-direction:column;align-items:flex-start;gap:8px;font-size:11px}
}
@media(max-width:700px){
  .assembly{margin-inline:8px;margin-bottom:65px;border-radius:8px;scroll-margin-top:0}
  .assembly-sticky{padding:30px 0 22px}.assembly .wrap{width:calc(100% - 36px)}
  .assembly-head{display:flex;gap:12px}.assembly-head .eyebrow{font-size:8px;margin-bottom:15px}.assembly h2{font-size:30px;max-width:280px;line-height:1.1}
  .assembly-skip{font-size:10px;min-height:44px;min-width:32px;margin-top:22px;gap:0;justify-content:flex-end}.assembly-skip>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .assembly-scene{min-height:0;height:auto;display:flex;flex-direction:column;margin-top:0}
  .assembly-visual{order:0;position:relative;right:auto;top:auto;width:calc(100% + 36px);height:auto;aspect-ratio:1.5;margin-inline:-18px;transform:none!important}
  .assembly-copy{order:1;position:relative;width:100%;max-width:none;padding-top:8px;display:grid;grid-template-columns:54px 1fr;column-gap:14px;row-gap:10px;min-height:112px;align-self:auto}
  .assembly-chapter{font-size:9px;margin:8px 0 0;grid-row:1 / 3}.assembly-copy h3{font-size:25px}.assembly-copy p{font-size:12px;line-height:1.75;margin:0;max-width:none}
  .assembly-status{bottom:auto;top:0;right:0;max-width:100%;font-size:8px}
  .assembly-toolbar{flex-wrap:wrap;gap:10px 12px;margin-top:16px}.assembly-play{font-size:11px;min-height:44px;padding-inline:15px}
  .assembly-toolbar label{font-size:8px;max-width:none;order:3;flex-basis:100%;line-height:1.7}
  .assembly-progress{height:44px;margin:0}.assembly-chapters{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}
  .assembly-chapters button{flex-direction:row;gap:8px;font-size:11px;min-height:44px;padding:10px 0;border-bottom:1px solid #292929;line-height:1.45}
  .assembly-chapters button>span:first-child{font-size:8px}.assembly-disclosure{text-align:left;font-size:7px;line-height:1.8;margin-top:12px}
}
@media(max-width:379px){.assembly h2{font-size:29px}.assembly-copy{grid-template-columns:44px 1fr;gap:10px}.assembly-copy h3{font-size:23px}.assembly-copy p{font-size:11px}.assembly-chapters button{font-size:9px;gap:7px}.assembly .wrap{width:calc(100% - 30px)}}
@media(prefers-reduced-motion:reduce){.assembly{height:auto!important}.assembly-sticky{position:relative!important;height:auto!important;min-height:0!important}.assembly-scene{min-height:460px!important}.assembly-visual{transform:none!important}.assembly-frame.is-next,.assembly-scan{display:none!important}}
@media(prefers-reduced-motion:reduce) and (max-width:700px){.assembly-scene{min-height:0!important}}
