/* Reference-led interaction study: stacked chapters + a scroll-driven systems reel. */
body.interaction-lab{--lab-ease:cubic-bezier(.16,1,.3,1);background:#070b12}
.interaction-lab .lab-cosmic-bg,.interaction-lab .lab-next-chapter,.interaction-lab .lab-nebula-reveal,.interaction-lab .lab-sky-guide{display:none!important}
.interaction-lab .scroll-chapter[data-lab-stack]{isolation:isolate;overflow:visible;background:#070b12;margin-top:-5svh}
.interaction-lab .scroll-chapter[data-lab-stack]>.scene{top:16px;height:calc(100svh - 32px);width:calc(100% - 36px);margin-inline:18px;border:1px solid #d8c9a42e;border-radius:32px;overflow:hidden;transform-origin:50% 8%;scale:var(--lab-card-scale,1);filter:brightness(var(--lab-card-light,1));box-shadow:0 -12px 50px #0005,0 35px 100px #0009;transition:border-color .35s,box-shadow .35s;will-change:scale,filter}
.interaction-lab .scroll-chapter[data-lab-stack].lab-card-current>.scene{border-color:#d8c9a45c;box-shadow:0 -12px 55px #0007,0 42px 110px #000c,0 0 45px #c2aa7812}
.interaction-lab #atlas>.scene{background:radial-gradient(ellipse at 78% 28%,#33435740,transparent 40%),#101824}
.interaction-lab #orbit>.scene{background:radial-gradient(ellipse at 65% 50%,#49344c35,transparent 45%),#0d1522}
.interaction-lab #screening>.scene{background:radial-gradient(ellipse at 78% 38%,#24344a42,transparent 44%),#0b121d}
.interaction-lab #products>.scene{background:radial-gradient(ellipse at 25% 45%,#29433d2c,transparent 43%),#101824}
.interaction-lab #paper>.scene{background:radial-gradient(ellipse at 75% 45%,#4a37402f,transparent 45%),#131621}
.interaction-lab #theatre>.scene{background:#080b10}
.lab-card-index{position:absolute;right:28px;top:25px;z-index:12;display:flex;align-items:center;gap:11px;color:#c8b994;font:11px/1 var(--roman);letter-spacing:.14em;opacity:.72}
.lab-card-index:before{content:"";width:32px;height:1px;background:#c8b99488}
.interaction-lab .chapter-nav{padding:10px 6px;border-radius:30px;background:#070b12d1;backdrop-filter:blur(12px);box-shadow:0 0 0 1px #e5d4b01b,0 18px 45px #01050d66}
.interaction-lab .chapter-nav a{transition:color .2s,transform .24s var(--lab-ease),text-shadow .2s}
.interaction-lab .chapter-nav a:hover{transform:translateX(-5px);color:#fff}
.interaction-lab .chapter-nav a[aria-current]{text-shadow:0 0 16px #f0cf8ebd}
.interaction-lab .chapter-nav a[aria-current]:before{box-shadow:0 0 10px #e1c183}
.interaction-lab .entry-folder{transition:transform .24s var(--lab-ease),background .18s,border-color .18s;transform:perspective(420px) rotateX(var(--lab-rx,0deg)) rotateY(var(--lab-ry,0deg)) translateY(var(--lab-fy,0))}
.interaction-lab .entry-folder:hover{--lab-fy:-4px}
.interaction-lab :is(.entry-primary,.entry-about,.line-link,.sky-expand,.inspiration-tag,.arcade-game-btn){position:relative;overflow:hidden;isolation:isolate}
.interaction-lab :is(.entry-primary,.entry-about,.line-link,.sky-expand,.inspiration-tag,.arcade-game-btn):after{content:"";position:absolute;z-index:2;pointer-events:none;top:-60%;left:-45%;width:22%;height:220%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:translateX(-160%) rotate(16deg);opacity:0}
.interaction-lab :is(.entry-primary,.entry-about,.line-link,.sky-expand,.inspiration-tag,.arcade-game-btn):hover:after{opacity:.3;transform:translateX(760%) rotate(16deg);transition:transform .72s ease,opacity .15s}
.lab-cursor{position:fixed;left:0;top:0;z-index:140;pointer-events:none;display:grid;place-items:center;min-width:48px;height:48px;padding:0 11px;border-radius:50%;color:#15251f;background:#eee3cfe9;border:1px solid #fff9;box-shadow:0 8px 24px #02091266,0 0 0 5px #e7dbc314;font:11px/1 var(--serif);letter-spacing:.06em;opacity:0;transform:translate3d(-80px,-80px,0) scale(.72);transition:opacity .16s,transform .18s var(--lab-ease);backdrop-filter:blur(7px)}
.lab-cursor.is-visible{opacity:.96}
/* The five system works become one horizontal reel controlled by vertical scroll. */
.interaction-lab .system-collection{position:relative;height:430svh;margin-top:55px;padding-top:0}
.interaction-lab .system-heading{position:sticky;top:52px;z-index:7;margin:0;padding:20px 0 18px;background:linear-gradient(180deg,#101824 68%,transparent);border-top:1px solid var(--rule)}
.interaction-lab .lab-system-viewport{position:sticky;top:190px;height:calc(100svh - 220px);min-height:430px;overflow:hidden;margin-left:calc((100vw - 80vw)/-2);margin-right:calc((100vw - 80vw)/-2);padding:8px 10vw 28px}
.interaction-lab .system-studies{display:flex;grid-template-columns:none;gap:30px;width:max-content;height:100%;transform:translate3d(var(--lab-track-x,0),0,0);will-change:transform}
.interaction-lab .system-studies>.system-study,.interaction-lab .system-studies>.exhibit-study{position:relative;flex:0 0 min(68vw,900px);width:min(68vw,900px);height:100%;min-width:0;padding:24px 26px 22px;border:1px solid #d8c9a438;border-radius:24px;background:linear-gradient(145deg,#172331f2,#0b121de8);box-shadow:0 28px 70px #01050c99;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(240px,.72fr);grid-template-rows:auto 1fr auto;gap:14px 28px}
.interaction-lab .system-studies>.system-study .system-label{grid-column:1/-1;margin:0}
.interaction-lab .system-studies>.system-study .system-art{grid-column:1;grid-row:2/4;width:100%;height:100%;aspect-ratio:auto;min-height:0;border-radius:12px;background:#0a111a}
.interaction-lab .system-studies>.system-study h4{grid-column:2;grid-row:2;align-self:end;margin:0 0 8px;font-size:clamp(23px,2.25vw,34px)}
.interaction-lab .system-studies>.system-study>p{grid-column:2;grid-row:3;align-self:start;margin:0;font-size:14px}
.interaction-lab .system-studies>.system-study>.line-link{position:absolute;right:26px;bottom:22px}
.interaction-lab .system-studies>.system-study .system-steps{position:absolute;left:26px;bottom:17px;z-index:2;padding:5px 9px;border-radius:20px;background:#07101acc;backdrop-filter:blur(7px)}
.interaction-lab .system-studies>.exhibit-study{grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);align-items:center}
.interaction-lab .system-studies>.exhibit-study .exhibit-image{height:100%;min-height:0;border-radius:12px;overflow:hidden;background:#0a111a}
.interaction-lab .system-studies>.exhibit-study .exhibit-image img{height:100%;object-fit:contain}
.lab-belt-number{position:absolute;right:25px;top:20px;z-index:5;color:#cbb78d;font:12px/1 var(--roman);letter-spacing:.12em}
.lab-system-progress{position:absolute;left:10vw;right:10vw;bottom:8px;height:1px;background:#d9cbb329}
.lab-system-progress>span{display:block;width:100%;height:100%;background:#cbb78d;transform:scaleX(var(--lab-track-progress,0));transform-origin:left;box-shadow:0 0 10px #cbb78d88}
.lab-system-caption{position:absolute;right:10vw;bottom:18px;color:#a9acaf;font:11px/1.5 var(--roman);letter-spacing:.1em}
@media(min-width:801px){
 .interaction-lab .theatre-chapter{height:170svh}
 .interaction-lab .theatre-scene .arcade-label{left:3.5%;top:10%;width:21%}
 .interaction-lab .theatre-scene .light-switch-wrap{left:7%;top:43%}
 .interaction-lab .theatre-scene .arcade-reveal{left:26%;right:3%;top:7%}
 .interaction-lab .arcade-mount{height:78svh;min-height:560px;border:1px solid #d8c9a438;border-radius:3px;overflow:hidden;box-shadow:0 32px 100px #01040cb3}
 .interaction-lab .theatre-caption{left:4%;bottom:5%}
}
@media(max-width:1100px) and (min-width:801px){
 .interaction-lab .system-studies>.system-study,.interaction-lab .system-studies>.exhibit-study{flex-basis:76vw;width:76vw}
 .interaction-lab .lab-system-viewport{padding-left:8vw;padding-right:8vw}
}
@media(max-width:800px){
 .interaction-lab .scroll-chapter[data-lab-stack]{margin-top:-2svh}
 .interaction-lab .scroll-chapter[data-lab-stack]>.scene{top:8px;width:calc(100% - 12px);height:auto;min-height:calc(100svh - 16px);margin-inline:6px;border-radius:20px;scale:1!important;filter:none!important}
 .lab-card-index{right:16px;top:18px;font-size:9px}.lab-card-index:before{width:18px}
 .interaction-lab .system-collection{height:auto;margin-top:30px}
 .interaction-lab .system-heading{position:relative;top:auto;background:none}
 .interaction-lab .lab-system-viewport{position:relative;top:auto;height:auto;min-height:0;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -9vw;padding:10px 9vw 35px}
 .interaction-lab .system-studies{transform:none!important;height:auto;gap:16px}
 .interaction-lab .system-studies>.system-study,.interaction-lab .system-studies>.exhibit-study{flex-basis:86vw;width:86vw;min-height:560px;scroll-snap-align:center;display:block}
 .interaction-lab .system-studies>.system-study .system-art{height:310px;margin:15px 0}
 .interaction-lab .system-studies>.system-study h4{margin:18px 0 9px}
 .interaction-lab .system-studies>.system-study>.line-link{position:relative;right:auto;bottom:auto;margin-top:12px}
 .interaction-lab .system-studies>.exhibit-study .exhibit-image{height:330px;margin-bottom:22px}
 .lab-system-progress,.lab-system-caption{display:none}
 .lab-cursor{display:none}
}
@media(hover:none),(pointer:coarse){.lab-cursor{display:none}.interaction-lab .entry-folder{transform:none!important}}
body.reduce-motion .lab-cursor{display:none!important}
body.reduce-motion .scroll-chapter[data-lab-stack]>.scene{scale:1!important;filter:none!important}
body.reduce-motion .system-studies{transform:none!important}
@media(prefers-reduced-motion:reduce){.lab-cursor{display:none!important}.interaction-lab .scroll-chapter[data-lab-stack]>.scene{scale:1!important;filter:none!important}}
/* Reel composition correction after browser inspection. */
@media(min-width:801px){
 .interaction-lab .system-studies>.system-study{grid-template-rows:auto auto 1fr auto}
 .interaction-lab .system-studies>.system-study .system-art{grid-row:2/5}
 .interaction-lab .system-studies>.system-study .system-art img{object-fit:cover;object-position:top}
 .interaction-lab .system-studies>.system-study h4{grid-row:2;align-self:start;margin:6px 0 8px}
 .interaction-lab .system-studies>.system-study>p{grid-row:3;align-self:start}
 .interaction-lab .system-studies>.exhibit-study .exhibit-image img{object-fit:cover;object-position:center}
}

/* stack-reel-g: visible handoffs and an unclipped product chapter */
@media(min-width:801px){
 .interaction-lab .scroll-chapter[data-lab-stack]{margin-top:-18svh}
 .interaction-lab .scroll-chapter[data-lab-stack]>.scene{top:18px;height:calc(100svh - 36px);translate:0 var(--lab-card-y,0px);scale:var(--lab-card-scale,1);filter:brightness(var(--lab-card-light,1)) saturate(var(--lab-card-sat,1));box-shadow:0 -18px 70px #0008,0 40px 110px #000c}
 .interaction-lab .scroll-chapter[data-lab-stack].lab-card-entering>.scene{border-color:#dbcba466;box-shadow:0 -22px 85px #02050de6,0 50px 130px #000d,0 0 54px #c9ad7714}
 .interaction-lab #products{height:auto;margin-top:-18svh;padding-bottom:18svh;background:#070b12}
 .interaction-lab #products>.products-scene{position:relative;top:auto;width:calc(100% - 36px);height:auto;min-height:100svh;margin-inline:18px;padding-bottom:80px;overflow:visible;translate:none;scale:1;filter:none;border-radius:32px;background:radial-gradient(ellipse at 25% 15%,#29433d38,transparent 31%),linear-gradient(180deg,#101824 0,#0b111a 100%);box-shadow:0 -18px 70px #0008,0 40px 110px #000c}
 .interaction-lab #products>.products-scene:before{content:"";position:absolute;inset:0;z-index:-1;border:1px solid #d8c9a438;border-radius:inherit;pointer-events:none}
 .interaction-lab #products .product-studies{align-items:start}
 .interaction-lab #products .product-study{align-self:start;min-height:620px;padding:18px;border:1px solid #d8c9a42b;border-radius:22px;background:linear-gradient(145deg,#172331b8,#0b121d8f);box-shadow:0 22px 55px #01050c66}
 .interaction-lab #products .interface-art{min-height:390px}
 .interaction-lab .system-collection{height:var(--lab-reel-height,560svh);margin-top:72px;border-top:1px solid var(--rule)}
 .interaction-lab .system-heading{top:34px;padding-top:25px;background:linear-gradient(180deg,#0d151f 72%,transparent)}
 .interaction-lab .lab-system-viewport{top:168px;height:calc(100svh - 198px);min-height:500px;padding-top:10px}
 .interaction-lab .system-studies>.system-study,.interaction-lab .system-studies>.exhibit-study{flex-basis:min(72vw,980px);width:min(72vw,980px)}
 .interaction-lab .lab-system-viewport:before,.interaction-lab .lab-system-viewport:after{content:"";position:absolute;top:0;bottom:0;z-index:6;width:7vw;pointer-events:none}
 .interaction-lab .lab-system-viewport:before{left:0;background:linear-gradient(90deg,#0b111a,transparent)}
 .interaction-lab .lab-system-viewport:after{right:0;background:linear-gradient(-90deg,#0b111a,transparent)}
}
.lab-system-status{position:absolute;left:10vw;bottom:18px;z-index:8;color:#e5d6b5;font:12px/1 var(--roman);letter-spacing:.15em}
.lab-system-caption{z-index:8}
@media(max-width:800px){.lab-system-status{display:none}}

/* image-integrity-i: portfolio images keep their full native composition */
@media(min-width:801px){
 .interaction-lab .system-studies>.system-study{grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr)}
 .interaction-lab .system-studies>.exhibit-study{grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr)}
 .interaction-lab .system-studies>.system-study .system-art,
 .interaction-lab .system-studies>.exhibit-study .exhibit-image{display:grid;place-items:center;padding:16px;background:#070c13;border-color:#d8c9a42e}
 .interaction-lab .system-studies>.system-study .system-art img,
 .interaction-lab .system-studies>.exhibit-study .exhibit-image img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
 .interaction-lab .system-studies>.system-study .system-steps{position:static;grid-column:2;grid-row:4;align-self:end;margin:0 0 38px;padding:0;background:none;backdrop-filter:none;flex-wrap:wrap}
}
@media(max-width:800px){
 .interaction-lab .system-studies>.system-study .system-art,
 .interaction-lab .system-studies>.exhibit-study .exhibit-image{padding:10px;background:#070c13}
 .interaction-lab .system-studies>.system-study .system-art img,
 .interaction-lab .system-studies>.exhibit-study .exhibit-image img{width:100%;height:100%;object-fit:contain;object-position:center}
}

/* balanced-reel-k: compact landscape cards with one shared image stage */
@media(min-width:801px){
 .interaction-lab .lab-system-viewport{height:min(72svh,780px);min-height:600px}
 .interaction-lab .system-studies>.system-study,
 .interaction-lab .system-studies>.exhibit-study{flex-basis:min(70vw,940px);width:min(70vw,940px);padding:22px 24px}
 .interaction-lab .system-studies>.system-study{grid-template-columns:minmax(0,1.4fr) minmax(245px,.6fr)}
 .interaction-lab .system-studies>.system-study h4{font-size:clamp(22px,1.8vw,30px);line-height:1.45}
 .interaction-lab .system-studies>.system-study>p{font-size:13px;line-height:1.75}
 .interaction-lab .system-studies>.exhibit-study{grid-template-columns:minmax(0,1.4fr) minmax(245px,.6fr);grid-template-rows:minmax(0,1fr);align-items:stretch}
 .interaction-lab .system-studies>.exhibit-study .exhibit-image{grid-column:1;grid-row:1;height:100%;min-height:0;align-self:stretch;background:#05080d}
 .interaction-lab .system-studies>.exhibit-study>div{grid-column:2;grid-row:1;align-self:center}
 .interaction-lab .system-studies>.exhibit-study h3{font-size:clamp(22px,1.8vw,30px);line-height:1.45}
 .interaction-lab .system-studies>.exhibit-study p:not(.kicker){font-size:13px;line-height:1.75}
}

/* stage-first-m: 90% game stage, 5% light controls */
@media(min-width:801px){
 .interaction-lab .theatre-scene .arcade-label{left:1%;top:6%;width:6.5%}
 .interaction-lab .theatre-scene .arcade-label .kicker{font-size:10px;line-height:1.4}
 .interaction-lab .theatre-scene .arcade-label h2{font-size:clamp(22px,2vw,34px);line-height:1.08}
 .interaction-lab .theatre-scene .arcade-label>p:last-child{display:none}
 .interaction-lab .theatre-scene .light-switch-wrap{left:1%;top:46%;width:5.5%;align-items:center}
 .interaction-lab .light-switch-wrap small{width:82px;font-size:11px;line-height:1.4;text-align:center}
 .interaction-lab .theatre-scene .arcade-reveal{left:8.5%;right:1.5%;top:3%}
 .interaction-lab .arcade-heading{min-height:58px;height:auto;margin-bottom:10px;gap:10px;align-items:center}
 .interaction-lab .arcade-heading h3{font-size:clamp(19px,1.5vw,27px)}
 .interaction-lab .arcade-switch{flex-wrap:wrap;gap:6px}
 .interaction-lab .arcade-game-btn{padding:8px 11px}
 .interaction-lab .arcade-mount{height:82svh;min-height:620px}
 .interaction-lab .theatre-caption{left:1.25%;bottom:3%;width:6.25%;font-size:10px}
}

.arcade-fullscreen{flex:0 0 auto;min-height:38px;padding:8px 13px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.1);color:inherit;font:inherit;font-size:12px;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.arcade-fullscreen:hover,.arcade-fullscreen:focus-visible{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.62);transform:translateY(-1px)}
.arcade-fullscreen[hidden]{display:none}

#arcade-reveal:fullscreen{inset:0;width:100vw;height:100vh;box-sizing:border-box;padding:14px;overflow:hidden;background:#080b10}
#arcade-reveal:fullscreen .arcade-heading{min-height:54px;margin:0 0 10px}
#arcade-reveal:fullscreen .arcade-mount{width:100%;height:calc(100vh - 82px)!important;min-height:0;border-radius:8px}
#arcade-reveal:fullscreen .arcade-mount iframe{width:100%;height:100%!important}
#arcade-reveal:fullscreen #arcade-hint{display:none}

@media(max-width:800px){
 .arcade-fullscreen{min-height:36px;padding:8px 12px;font-size:11px}
 #arcade-reveal:fullscreen{padding:8px}
 #arcade-reveal:fullscreen .arcade-mount{height:calc(100vh - 76px)!important}
}

/* vertical-light-label: one calm title column followed by the switch */
@media(min-width:801px){
 .interaction-lab .theatre-scene .arcade-label{left:1%;top:7%;width:5.5%;display:flex;justify-content:center;align-items:flex-start}
 .interaction-lab .theatre-scene .arcade-label .kicker{display:none}
 .interaction-lab .theatre-scene .arcade-label h2{margin:0;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;font-size:clamp(25px,2.25vw,38px);line-height:1;letter-spacing:.16em}
 .interaction-lab .theatre-scene .arcade-label h2 br{display:none}
 .interaction-lab .theatre-scene .light-switch-wrap{left:1%;top:38%;width:5.5%;align-items:center}
}
