/* Two short field recordings; the artwork shares each opening frame's composition. */
.factory-section { --factory-gutter:max(40px,calc((100vw - 1280px)/2)); }
.factory-film { position:relative; height:245svh; margin-inline:calc(-1 * var(--factory-gutter)); margin-bottom:70px; --walk-open:0; --walk-reveal:0; }
.walk-stage { position:sticky; top:0; height:100svh; min-height:420px; }
.walk-frame { position:relative; height:100%; width:calc(100% - var(--factory-gutter) * 2 * (1 - var(--walk-open))); margin:auto; overflow:hidden; border-radius:calc(22px * (1 - var(--walk-open))); background:#14232d; isolation:isolate; }
.walk-shot { position:absolute; inset:0; margin:0; opacity:0; visibility:hidden; transition:opacity .5s ease,visibility .5s; }
.walk-shot.is-active { opacity:1; visibility:visible; }
.walk-shot > :is(img,video) { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.walk-art { opacity:calc(1 - var(--walk-reveal)); }
.walk-video { opacity:0; }
.walk-shot.has-played .walk-video { opacity:1; }
.walk-shot::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,#071b288f); pointer-events:none; }
.walk-shot figcaption { position:absolute; left:clamp(24px,5.4vw,90px); right:180px; bottom:clamp(28px,5vw,72px); z-index:2; color:white; }
.walk-credit { display:block; font-size:12px; line-height:1.5; letter-spacing:.02em; margin-bottom:12px; }
.walk-shot h3 { font:550 clamp(32px,4.8vw,72px)/1.04 Inter,sans-serif; letter-spacing:-.048em; color:inherit; margin:0; }
.walk-kind { position:absolute; z-index:3; top:26px; left:clamp(24px,5.4vw,90px); padding:7px 11px; border-radius:7px; color:white; background:#14232d9e; backdrop-filter:blur(8px); font-size:11px; letter-spacing:.02em; }
.walk-controls { position:absolute; z-index:3; right:clamp(24px,5.4vw,90px); bottom:clamp(28px,5vw,72px); display:flex; align-items:center; gap:12px; }
.walk-chapters { display:flex; gap:3px; padding:4px; border-radius:30px; background:#17242c75; backdrop-filter:blur(14px); }
.walk-controls button { display:grid; place-items:center; width:40px; height:40px; color:#ffffffa6; font:500 11px Inter,sans-serif; background:transparent; border:0; border-radius:50%; cursor:pointer; }
.walk-controls button:focus-visible { outline:2px solid white; outline-offset:4px; }
.walk-chapters button[aria-pressed="true"] { background:#f7f4eb; color:#14232d; }
.walk-controls .walk-toggle { width:48px; height:48px; color:white; background:#17242c75; backdrop-filter:blur(14px); }
.walk-pause,.is-playing .walk-play { display:none; }.is-playing .walk-pause { display:block; }
.walk-error { position:absolute; left:24px; right:24px; top:72px; margin:0; font-size:12px; color:white; z-index:3; }
.walk-error[hidden] { display:none; }
.factory-film.is-still { height:auto; --walk-open:0!important; --walk-reveal:1!important; }
.factory-film.is-still .walk-stage { position:relative; top:auto; height:min(70vw,650px); }
.factory-film.is-still .walk-shot { transition:none; }
@media(max-width:900px){.factory-section{--factory-gutter:28px;}.walk-stage{top:0;height:100svh;}.walk-shot figcaption{right:160px;}}
@media(max-width:600px){
 .factory-section{--factory-gutter:22px;}.factory-film{height:210svh;margin-bottom:40px;}
 .walk-stage{top:0;height:100svh;min-height:420px;}
 .walk-shot > :is(img,video){object-position:58% center;}
 .walk-shot[data-shot="1"] > :is(img,video){object-position:40% center;}
 .walk-shot figcaption{left:24px;right:24px;bottom:98px;}.walk-credit{font-size:10px;margin-bottom:9px;}.walk-shot h3{font-size:42px;}
 .walk-kind{left:20px;top:20px;}.walk-controls{left:20px;right:20px;bottom:24px;justify-content:space-between;}
 .factory-film.is-still .walk-stage{height:125vw;min-height:420px;}
}
@media(prefers-reduced-motion:reduce){.factory-film{height:auto;--walk-reveal:1!important;--walk-open:0!important;}.walk-stage{position:relative;top:auto;height:70vw;}.walk-shot{transition:none;}}
