/* Independent horizontal media browsing, within the existing factory chapter. */
.journey-factory-media{min-width:0}
.factory-gallery{display:flex;gap:20px;width:100%;height:auto;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;padding:12px 10px 32px;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab;touch-action:pan-x pan-y pinch-zoom}
.factory-gallery::-webkit-scrollbar{display:none}
.factory-gallery:focus-visible{outline:2px solid var(--yellow);outline-offset:2px;border-radius:24px}
#factory-film .factory-gallery-card{flex:0 0 88%;position:relative;margin:0;min-width:0;aspect-ratio:4/5;clip-path:none;border-radius:24px;overflow:hidden;background:#111816;box-shadow:0 24px 40px -25px rgb(17 30 23 / .42),0 7px 14px -9px rgb(17 30 23 / .25);user-select:none}
#factory-film .factory-film-shell{height:auto}
.factory-gallery-card img{pointer-events:none;-webkit-user-drag:none}
.factory-product-card>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center 40%;padding:0 10px 80px;box-sizing:border-box}
.factory-gallery-card .factory-film-caption{left:28px;right:24px;bottom:28px}
.factory-gallery-card .factory-film-caption strong{font-size:clamp(28px,2.7vw,44px)}
.factory-gallery-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 10px}
.journey-factory-media .factory-media-note{font-size:12px;line-height:1.5;margin:0;max-width:26ch}
.factory-gallery-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.factory-gallery-count{font:600 11px/1 var(--font-copy);color:var(--copy-muted);letter-spacing:.06em;margin-right:8px;white-space:nowrap;min-width:46px}
.factory-gallery-controls button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #cbd3ce;border-radius:50%;background:transparent;color:var(--ink);font:500 20px/1 var(--font-copy);cursor:pointer;transition:background .2s,border-color .2s}
.factory-gallery-controls button:hover:not(:disabled){background:var(--yellow);border-color:var(--yellow)}
.factory-gallery-controls button:disabled{opacity:.28;cursor:default}
.factory-gallery-controls button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.factory-gallery.is-dragging{cursor:grabbing}
.journey-motion #factory-film .factory-gallery{height:calc(100% - 54px)}
.journey-motion #factory-film .factory-gallery-card{height:100%;aspect-ratio:auto}
@media(max-width:700px){
 .factory-gallery{gap:14px;padding:8px 6px 24px}
 #factory-film .factory-gallery-card{border-radius:16px;flex-basis:89%;box-shadow:0 16px 28px -18px rgb(17 30 23 / .38)}
 .factory-gallery-footer{padding:0 6px;gap:8px;justify-content:flex-end}
 .journey-factory-media .factory-media-note{max-width:18ch;font-size:10px}
 .factory-gallery-controls{gap:6px}
 .factory-gallery-count{font-size:10px;margin-right:2px}
 .factory-gallery-controls button{width:34px;height:34px}
 .factory-gallery-card .factory-film-caption{left:20px;right:20px;bottom:20px}
 .factory-gallery-card .factory-film-caption strong{font-size:26px}
 .factory-gallery-card .factory-film-caption span{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.factory-gallery-controls button{transition:none}}
.factory-gallery-card video{width:100%;height:100%;object-fit:cover;display:block}
.factory-gallery-card video[hidden]{display:none}
.factory-gallery-card.has-video .factory-film-cover{visibility:hidden;opacity:0;pointer-events:none}
.factory-gallery-card.has-video::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgb(5 12 8 / .72));pointer-events:none;z-index:1}
.factory-gallery-card>.factory-film-caption{pointer-events:none}
.factory-gallery-card.has-video>.factory-film-caption{bottom:62px}
@media(max-width:700px){.factory-gallery-card.has-video>.factory-film-caption{bottom:54px}}
