/* One project, from the digital facade to installation. */
.process-spread{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(32px,4vw,76px);align-items:start;margin-top:65px}
.process-visual{position:sticky;top:35px;min-width:0}
.process-photo{position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;background:#101726}
.process-photo .process-scene{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .7s ease;pointer-events:none}
.process-photo .process-scene.is-active{opacity:1}
.process-photo figcaption{position:absolute;z-index:1;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:8px;padding:60px 28px 23px;background:linear-gradient(transparent,#060b16dd);color:#edf4ff;pointer-events:none}
.process-photo figcaption>span{font-size:16px;line-height:1.5}
.process-photo figcaption small{font-size:12px;color:#b7c6dd}
.process-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;border-bottom:1px solid #29344b;color:#9eafc9}
.process-controls>span{font-size:13px;line-height:1.6}
.process-controls b{color:#e9f5ff;font-weight:500;font-variant-numeric:tabular-nums}
.process-controls i{font-style:normal;margin:0 12px;color:#53617a}
#process-play{flex-shrink:0;display:flex;gap:13px;align-items:center;min-height:42px;padding:9px 17px;border:1px solid #45536c;background:transparent;border-radius:24px;color:#d6e5f7;font-size:14px;cursor:pointer}
#process-play:hover{color:#fff;border-color:#a4dafc}
.process-notes{min-width:0}
.process-notes .continuity-lead{font-size:clamp(24px,2vw,32px);margin-bottom:27px}
.process-tabs{border-bottom:1px solid #2c374d}
.process-tabs button{position:relative;display:grid;grid-template-columns:24px 1fr;gap:17px;width:100%;padding:25px 0 27px;border:0;border-top:1px solid #2c374d;background:transparent;color:#a6b2c8;text-align:left;cursor:pointer;transition:color .3s,background .3s}
.process-number{font-size:12px;line-height:1.6;padding-top:4px;color:#7e9aba;font-variant-numeric:tabular-nums}
.process-tab-copy{display:block}
.process-tab-copy strong{display:block;font-size:20px;line-height:1.4;letter-spacing:-.025em;font-weight:500}
.process-tab-copy>span{display:block;font-size:16px;line-height:1.75;color:#909db5;margin-top:10px;transition:color .3s}
.process-tabs button[aria-selected="true"]{color:#c8eeff;background:linear-gradient(90deg,transparent,#80bdf409)}
.process-tabs button[aria-selected="true"] .process-number{color:#a9dffa}
.process-tabs button[aria-selected="true"] .process-tab-copy>span{color:#c4cfe0}
.process-tabs button:hover{color:#eff7ff}
.process-meter{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#91dbfb,#9364e6);transform:scaleX(0);transform-origin:left;opacity:0}
.process-tabs button[aria-selected="true"] .process-meter{transform:scaleX(var(--process-progress,0));opacity:1}
.process-notes .continuity-link{margin-top:19px}
.process-tabs button:focus-visible,#process-play:focus-visible,.process-photo:focus-visible{outline:2px solid #a4dffd;outline-offset:5px}
@media(max-width:1100px){.process-spread{grid-template-columns:1.1fr .9fr;gap:30px}.process-tab-copy strong{font-size:18px}.process-tabs button{gap:12px;padding:20px 0}.process-controls{gap:10px}.process-controls i{margin:0 5px}.process-controls>span{max-width:185px}}
@media(max-width:760px){.process-spread{display:flex;flex-direction:column;gap:32px;margin-top:35px}.process-visual{position:relative;top:auto;width:100%}.process-photo figcaption{padding:45px 18px 18px;gap:5px}.process-photo figcaption>span{font-size:14px}.process-controls{padding:17px 0}.process-controls>span{max-width:none;font-size:12px}.process-controls i{margin:0 6px}#process-play{font-size:13px;padding:8px 12px}.process-notes{width:100%}.process-notes .continuity-lead{font-size:25px}.process-tab-copy strong{font-size:20px}.process-tabs button{padding:23px 0;gap:15px}.process-tab-copy>span{font-size:16px}.process-notes .continuity-link{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.process-photo .process-scene,.process-tabs button,.process-tab-copy>span{transition:none}}
