.lab-stage{position:relative;isolation:isolate;overflow:hidden;background:#e9f0ec;border-block:1px solid #b5c3c0;padding:0 0 35px;scroll-margin-top:80px}
.lab-toolbar{position:relative;z-index:4;background:#fffaf3f5;padding:18px var(--gutter);border-bottom:1px solid #b5c3c0}.lab-toolbar h3{font:500 25px Fredoka;margin:0 0 7px}.lab-toolbar p{font-size:12px;margin:5px 0}.lab-toolbar .gallery-controls{position:static;display:flex;margin-top:14px}.lab-toolbar button{min-height:44px}.lab-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.lab-metrics output{font:600 11px/1.5 'Nunito Sans';border:1px solid #cbbacb;border-radius:4px;padding:7px 10px;background:#fffaf3}.lab-motion{font-size:11px;margin-left:auto;border:1px solid #bda9bd;border-radius:5px;background:#fffaf3;padding:7px 12px}
.lab-background{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.lab-background-world{position:absolute;left:0;top:0;height:100%;width:16000px;will-change:transform}.lab-landmark{position:absolute;top:0;height:100%;width:240px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;color:#63397f;font-size:12px;font-weight:800}.lab-landmark:before{content:'';position:absolute;top:250px;left:10px;width:145px;height:145px;border:7px solid #ac5694;border-radius:50%;background:#e1bad480}.lab-landmark:nth-child(3n+2):before{border-radius:4px;transform:rotate(17deg);border-color:#208e8a;background:#8bd3c780;top:305px}.lab-landmark:nth-child(3n):before{width:0;height:0;border-radius:0;border:80px solid transparent;border-bottom:140px solid #eda65c;transform:translateY(-90px);background:none}.lab-band-label{position:relative;z-index:2;font-size:11px;font-weight:800;margin:20px var(--gutter) 36px;color:#63397f}
.lab-stage .gallery-track{z-index:2;background:none;scroll-snap-type:none!important;padding-top:8px;scrollbar-color:#63397f #d8e3de;animation:none!important}.lab-stage .photo-wrap{position:relative;height:clamp(300px,52svh,500px);overflow:hidden;background:#fffaf3;border:2px solid #63397f;box-shadow:none}.lab-stage .photo-wrap:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,#63397f09 0 1px,transparent 1px 24px);pointer-events:none}.lab-stage .photo-wrap:after{content:'';position:absolute;top:0;bottom:0;left:50%;border-left:1px dashed #63397f80;pointer-events:none}
.lab-stage .photo-wrap img{position:absolute;top:28px;left:var(--photo-safe,70px);width:calc(100% - 2*var(--photo-safe,70px));height:calc(100% - 56px);aspect-ratio:auto;object-fit:contain;transform:translateX(var(--photo-offset,0px));transition:none!important;animation:none!important;user-select:none;will-change:transform}
.lab-frame-label{position:absolute;left:9px;top:5px;font-size:10px;font-weight:800;z-index:2;color:#63397f}.lab-content-marker{position:absolute;left:50%;bottom:7px;transform:translateX(calc(-50% + var(--photo-offset,0px)));white-space:nowrap;color:#a32457;background:#fffaf3f2;border:1px solid #a32457;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:800}.lab-content-marker:before{content:'';position:absolute;left:50%;bottom:100%;height:12px;border-left:2px solid #a32457}.lab-stage .photo-panel figcaption{background:#fffaf3e8;padding:12px 8px;margin-top:0;transform:none!important}.lab-stage .gallery-invitation{background:#fffaf3e8;padding:25px}
.lab-stage.is-static .photo-wrap img,.lab-stage.is-static .lab-background-world{will-change:auto}.lab-stage.is-static .lab-background-world{transform:none!important}.lab-stage.is-static .photo-wrap img{transform:none!important}.lab-stage.is-static .lab-content-marker{transform:translateX(-50%)}
@media(max-width:650px){.lab-stage{scroll-margin-top:64px}.lab-toolbar{padding:16px 22px}.lab-toolbar h3{font-size:22px}.lab-metrics output{font-size:10px}.lab-band-label{margin-bottom:28px}.lab-stage .photo-wrap{height:330px}.lab-landmark:before{top:300px}.lab-landmark:nth-child(3n+2):before{top:330px}.lab-stage .gallery-invitation{padding:20px}}
@media(prefers-reduced-motion:reduce){.lab-background-world,.lab-stage .photo-wrap img{transform:none!important;will-change:auto}.lab-content-marker{transform:translateX(-50%)!important}}

/* Keep the proof, controls and complete images visible together. */
.lab-stage{scroll-margin-top:0}
.lab-toolbar{padding-block:12px}
.lab-toolbar h3{line-height:1.15;margin-bottom:5px}
.lab-toolbar p{font-size:11px;line-height:1.4;margin:4px 0}
.lab-metrics{margin-top:8px}
.lab-metrics output{padding:4px 8px;font-size:10px}
.lab-toolbar .gallery-controls{display:inline-flex;vertical-align:middle;margin-top:10px}
.lab-motion{margin-left:20px;vertical-align:middle}
.lab-band-label{margin-top:14px;margin-bottom:20px}
.lab-stage .photo-wrap{height:clamp(260px,40svh,400px)}
@media(max-width:650px){.lab-stage .photo-wrap{height:300px}.lab-toolbar h3{font-size:20px}.lab-toolbar p{font-size:10px}.lab-band-label{font-size:9px}}
