/* Autonomous MJF sequence: the same proportions and typography as CNC / casting. */
.mjf-process{--mjf-pad:clamp(16px,3svh,28px);padding-block:var(--mjf-pad);scroll-margin-top:calc(var(--nav) + 8px)}
.mjf-process>.wrap{height:min(780px,calc(100svh - var(--nav) - 2*var(--mjf-pad) - 16px));display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(16px,3svh,28px)}
.mjf-process .head-2{margin-bottom:0;gap:clamp(20px,3.4vw,48px)}
.mjf-process .head-2 .eyebrow{margin-bottom:8px}
.mjf-process h2{font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.06}
.mjf-process .lede{font-size:clamp(.95rem,1.3vw,1.1rem);line-height:1.5}
.mjf-view{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,3.4vw,56px);align-items:center;margin:0}
.mjf-stage{position:relative;min-width:0;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:#e7eae5;box-shadow:inset 0 0 0 1px var(--line),0 40px 80px -50px rgba(30,32,35,.35);isolation:isolate}
.mjf-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:pan-y}
.mjf-process .mjf-view{min-height:0;align-items:stretch}
.mjf-process .mjf-stage{height:100%;min-height:0;aspect-ratio:auto}
.mjf-process .mjf-caption{justify-content:center}
.mjf-fade{position:absolute;inset:0;background:#e7eae5;opacity:0;pointer-events:none}
.mjf-caption{display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-width:0;color:var(--ink)}
.mjf-number{font:500 .7rem var(--mono);letter-spacing:.1em;color:var(--orange-deep)}
.mjf-number::after{content:' / 05'}
.mjf-caption strong{display:block;font-family:var(--display);font-variation-settings:'wdth' 112;font-weight:600;font-size:clamp(1.5rem,2.4vw,2.2rem);letter-spacing:-.03em;line-height:1.15;margin-bottom:14px}
.mjf-caption p{font-size:1.02rem;line-height:1.6;max-width:44ch;min-height:6.4em;margin:0;color:var(--ink-2)}
.mjf-unavailable{position:absolute;inset:0;display:grid;place-content:center;background:#e7eae5;text-align:center;padding:20px;color:var(--ink-2)}
.mjf-unavailable[hidden]{display:none}
.mjf-unavailable img{display:block;width:100%;max-height:280px;object-fit:contain;margin:auto}
.mjf-unavailable p{font-size:.9rem;margin-top:12px}
@media(max-width:900px){.mjf-view{grid-template-columns:1fr;gap:24px}.mjf-caption{gap:12px}.mjf-caption strong{margin-bottom:12px}.mjf-caption p{max-width:60ch;min-height:6.4em}}
@media(max-width:900px){
 .mjf-process{--mjf-pad:16px}
 .mjf-process>.wrap{gap:16px}
 .mjf-process .head-2{gap:12px}
 .mjf-process h2{font-size:clamp(1.6rem,5.5vw,2rem)}
 .mjf-process .lede{font-size:.92rem;line-height:1.45}
 .mjf-process .mjf-view{grid-template-rows:minmax(0,1fr) auto;gap:16px}
 .mjf-process .mjf-caption{gap:8px}
 .mjf-process .mjf-caption strong{font-size:clamp(1.25rem,4.8vw,1.6rem);margin-bottom:8px}
 .mjf-process .mjf-caption p{font-size:.92rem;line-height:1.45;min-height:5.8em}
}
/* A short landscape viewport uses columns to preserve room for the scene. */
@media(min-width:600px) and (max-width:900px) and (max-height:600px){
 .mjf-process{--mjf-pad:10px}
 .mjf-process>.wrap{gap:12px}
 .mjf-process .head-2,.mjf-process .mjf-view{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px}
 .mjf-process .mjf-view{grid-template-rows:minmax(0,1fr)}
 .mjf-process h2{font-size:1.5rem}
 .mjf-process .lede,.mjf-process .mjf-caption p{font-size:.85rem}
 .mjf-process .mjf-caption strong{font-size:1.2rem}
}
