.jm-factory-teaser{padding:85px 0 70px;background:#f2f5f4;color:#153643}.jm-factory-teaser .factory-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:22px}.jm-factory-teaser .factory-eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#68818d;margin-bottom:13px}.jm-factory-teaser h2{font-size:clamp(28px,3vw,44px);line-height:1.15;letter-spacing:-1.2px;font-weight:500;margin:0 0 12px}.jm-factory-teaser p{max-width:580px;color:#5b7581;font-size:16px;line-height:1.7}.jm-factory-teaser .factory-enter{display:inline-flex;white-space:nowrap;align-items:center;gap:35px;padding:15px 23px;color:#fff;background:#173f52;border-radius:5px;text-decoration:none;font-size:14px}.factory-preview-wrap{position:relative;overflow:hidden;border-radius:12px;background:#eaf0ef;aspect-ratio:16/7.5}.factory-preview-wrap video{width:100%;height:100%;object-fit:cover}.factory-preview-wrap .factory-preview-toggle{position:absolute;right:18px;bottom:18px;border:1px solid #c5d3d8;background:#fffffff0;padding:9px 13px;border-radius:5px;color:#173f52;font:12px Arial,sans-serif;cursor:pointer}.factory-footnote{font-size:11px!important;color:#718992!important;margin-top:13px!important}.factory-preview-wrap a{position:absolute;inset:0}.factory-preview-wrap a:focus-visible{outline:4px solid #e56828;outline-offset:-6px}.factory-preview-toggle:focus-visible,.factory-enter:focus-visible{outline:3px solid #e56828;outline-offset:4px}@media(max-width:700px){.jm-factory-teaser{padding:50px 0}.jm-factory-teaser .factory-heading{display:block}.jm-factory-teaser p{font-size:14px}.factory-preview-wrap{aspect-ratio:4/3;margin-top:22px}.jm-factory-teaser .factory-enter{padding:12px 20px}.factory-preview-wrap video{object-fit:contain}}
#factory #factory-title{color:#153643!important}

/* Live factory section, matching the approved black cutaway scene. */
#factory.jm-factory-teaser{background:#080b0e;color:#eef3f5}#factory #factory-title{color:#eef3f5!important}#factory .factory-eyebrow{color:#e8a377}#factory p{color:#a6b4be}#factory .factory-enter{background:#e87937;color:#10171c}#factory .factory-preview-wrap{background:#080b0e;border:1px solid #28343d;border-radius:12px;aspect-ratio:auto;height:700px}#factory .factory-preview-wrap iframe{display:block;width:100%;height:100%;border:0}#factory .factory-footnote{color:#8f9faa!important}@media(max-width:700px){#factory .factory-preview-wrap{height:680px}}

#factory{scroll-margin-top:160px}
#factory .factory-preview-wrap{aspect-ratio:21/10;height:auto;min-height:260px}#factory .factory-preview-wrap video{display:block;width:100%;height:100%;object-fit:contain;transition:transform .2s ease}.factory-launch-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.factory-enter{border:0;cursor:pointer}.factory-secondary{display:inline-flex;align-items:center;padding:14px 20px;border:1px solid #425461;border-radius:5px;background:#14212b;color:#eef3f5;text-decoration:none;font:14px Arial;cursor:pointer}.factory-preview-markers{position:absolute;inset:54% 18% auto;display:flex;justify-content:space-between;gap:10px}.factory-preview-markers button{border:1px solid #49c3da;border-radius:20px;background:#0c2029dc;color:#d7f6ff;padding:9px 12px;font:11px Arial;cursor:pointer;animation:factory-pulse 3s infinite}.factory-preview-toggle{z-index:2}.factory-active{overflow:hidden}.factory-active:before{content:'';position:fixed;inset:0;background:#0007;z-index:10000}.factory-preview-wrap.is-active{position:fixed!important;inset:16px;z-index:10001;width:auto;height:auto!important;aspect-ratio:auto!important;border-radius:12px}.factory-preview-wrap.is-active iframe{width:100%;height:100%;border:0}.factory-launch-close{position:absolute;z-index:12;left:12px;top:12px;background:#182a35;color:#edf6fa;border:1px solid #476272;padding:10px 13px;border-radius:5px;cursor:pointer}.factory-loading{position:absolute;inset:0;z-index:11;background:#080b0e;display:grid;place-content:center;text-align:center;color:white;font:15px Arial}.factory-loading strong{font-size:38px}.factory-loading strong span{color:#ff751f}@keyframes factory-pulse{50%{box-shadow:0 0 0 7px #49c3da18}}@media(prefers-reduced-motion:reduce){.factory-preview-markers button{animation:none}}@media(max-width:700px){#factory .factory-preview-wrap{aspect-ratio:16/10;min-height:210px}.factory-preview-markers{inset:58% 7% auto}.factory-preview-markers button{padding:9px 7px;font-size:9px}.factory-preview-wrap.is-active{inset:4px}.factory-launch-actions>*{flex:1;justify-content:center;text-align:center}}

.factory-preview-wrap.is-active{background:#080b0e;margin:0;min-height:0;box-shadow:0 0 0 1px #28343d}.factory-preview-wrap.is-active iframe{display:block}.factory-active:before{pointer-events:none}

.factory-active > :not(#factory-stage){pointer-events:none!important}.factory-preview-wrap.is-active{z-index:2147483646!important}.factory-active:before{z-index:2147483645}

.factory-preview-wrap [hidden]{display:none!important}

/* Give the factory the page width and keep the introduction concise. */
#factory.jm-factory-teaser{padding:42px 0 38px}
#factory>.jm-container{width:calc(100% - 40px);max-width:1600px;margin-inline:auto}
#factory .factory-heading{margin-bottom:18px}
#factory #factory-title{margin:0;font-size:clamp(25px,2.6vw,38px)}
#factory .factory-preview-wrap{aspect-ratio:16/9;min-height:0}
#factory .factory-preview-wrap video{height:100%;object-fit:cover}
#factory .factory-launch-actions{margin-top:16px}
@media(max-width:700px){#factory.jm-factory-teaser{padding:28px 0}#factory>.jm-container{width:calc(100% - 20px)}#factory .factory-preview-wrap{aspect-ratio:4/3}#factory .factory-preview-wrap video{object-fit:contain}#factory .factory-preview-markers{inset:auto 4% 17%;gap:5px}}

/* Crop empty rendered sky/floor margins, retaining the full factory width. */
#factory .factory-preview-wrap{aspect-ratio:3.35/1}
#factory .factory-preview-wrap video{object-fit:cover;object-position:50% 49%}
#factory .factory-heading{margin-bottom:10px}
#factory .factory-launch-actions{margin-top:10px}
#factory .factory-preview-markers{inset:62% 18% auto}
@media(max-width:700px){#factory .factory-preview-wrap{aspect-ratio:3.1/1}#factory .factory-preview-wrap video{object-fit:cover}#factory .factory-preview-markers{inset:auto 3% 12%}.factory-preview-markers button{font-size:8px;padding:6px}}

/* Taller floor-only factory presentation. */
#factory .factory-preview-wrap{aspect-ratio:16/9}
#factory .factory-preview-wrap video{object-fit:cover;object-position:center}
@media(max-width:700px){#factory .factory-preview-wrap{aspect-ratio:16/10}#factory .factory-preview-wrap video{object-fit:contain}}

/* Live inline canvas, rendered at viewport resolution. */
#factory .factory-preview-wrap{aspect-ratio:auto;height:clamp(440px,70vh,850px);position:relative}
#factory-preview-poster{display:block;width:100%;height:100%;object-fit:contain}
#factory .factory-preview-wrap iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;opacity:0;transition:opacity .25s}
#factory .factory-preview-wrap.is-ready iframe{opacity:1}
#factory .factory-preview-wrap.is-ready #factory-preview-poster{visibility:hidden}
@media(max-width:700px){#factory .factory-preview-wrap{height:560px;max-height:78vh;min-height:400px}}

/* Keep the factory continuous with the selected website palette. */
#factory.jm-factory-teaser{background:var(--factory-page-bg,#080b0e);color:var(--factory-page-ink,#eef3f5)}
#factory #factory-title{color:var(--factory-page-ink,#eef3f5)!important}
#factory .factory-preview-wrap{background:var(--factory-page-bg,#080b0e);height:clamp(560px,85vh,1050px)}
#factory .factory-loading{background:var(--factory-page-bg,#080b0e);color:var(--factory-page-ink,#eef3f5)}
@media(max-width:700px){#factory .factory-preview-wrap{height:650px;max-height:85vh;min-height:460px}}

/* One invitation on the film; the interactive view opens in the same page. */
#factory .factory-film-caption{position:absolute;z-index:3;top:24px;right:28px;margin:0;padding:12px 16px;border-radius:8px;background:#071117bf;color:#fff;font-size:clamp(15px,1.4vw,21px);line-height:1.45;text-align:right;pointer-events:none}
#factory .factory-film-enter{position:absolute;z-index:3;left:50%;bottom:28px;transform:translateX(-50%);min-height:48px;padding:15px 28px;border-radius:8px;box-shadow:0 4px 24px #0005;font-weight:600}
.factory-preview-wrap.is-active{inset:12px!important;width:calc(100vw - 24px)!important;height:calc(100dvh - 24px)!important;max-height:none!important;margin:0!important;padding:0!important;pointer-events:auto!important;border:1px solid #354953}
.factory-preview-wrap.is-active::backdrop{background:#000b}
.factory-preview-wrap.is-active .factory-film-caption,.factory-preview-wrap.is-active .factory-film-enter,.factory-preview-wrap.is-active #factory-preview-poster{display:none!important}
.factory-preview-wrap.is-active iframe{position:absolute;inset:0;opacity:1;width:100%;height:100%;border:0}
.factory-preview-wrap.is-active .factory-launch-close{z-index:20;left:14px;top:14px;min-height:42px}
@media(max-width:700px){#factory .factory-film-caption{top:12px;right:12px;font-size:14px;padding:9px 12px}#factory .factory-film-enter{bottom:18px}.factory-preview-wrap.is-active{inset:0!important;width:100vw!important;height:100dvh!important;border-radius:0!important}}

/* Fill the preview with the film; invite visitors directly over its top edge. */
#factory #factory-landing-film{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
#factory .factory-preview-wrap:not(.is-active) iframe{visibility:hidden;pointer-events:none}
#factory .factory-preview-wrap.is-active #factory-landing-film{display:none}
#factory .factory-preview-wrap:not(.is-active){aspect-ratio:16/9;height:auto;min-height:0;max-height:none}
#factory .factory-film-caption{top:18px;right:18px;text-align:right;max-width:60%;font-size:clamp(12px,1.3vw,19px)}
#factory .factory-film-enter{top:auto;left:18px;bottom:18px;transform:none;padding:12px 20px;min-height:44px}
@media(max-width:700px){#factory .factory-film-caption{top:10px;right:10px;padding:8px;font-size:11px;max-width:54%}#factory .factory-film-enter{top:auto;left:10px;bottom:10px;padding:9px 12px;font-size:12px;min-height:38px}}

#factory .factory-film-play{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 20px;border:1px solid #ffffff80;border-radius:8px;background:#10232eee;color:white;cursor:pointer}#factory .factory-film-play[hidden],#factory .is-active .factory-film-play{display:none}
