.process-film{position:relative;margin:0;min-width:0;background:#171a13;color:#fff;isolation:isolate;overflow:hidden}
.process-film-screen{position:relative;background:#171a13}
.process-film video{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;pointer-events:none}
.process-film-screen:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#0005 0%,transparent 24%,transparent 58%,#000a 100%)}
.process-film-heading{position:absolute;z-index:1;top:32px;left:var(--gutter,40px);right:var(--gutter,40px);display:flex;justify-content:space-between;gap:20px;color:#fff;font-size:14px;line-height:1.5}
.process-film-heading>span:first-child{font-weight:600;letter-spacing:.04em}
.process-film-caption{position:absolute;z-index:1;inset:auto var(--gutter,40px) 36px;color:#fff}
.process-film-titles{display:grid;margin-bottom:24px}
.process-film-titles>span{grid-area:1/1;display:flex;align-items:baseline;gap:20px;font-size:clamp(30px,4.4vw,64px);font-weight:500;line-height:1.15;letter-spacing:-.035em;opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.process-film-titles>span.is-current{opacity:1;transform:translateY(0)}
.process-film-titles small{font-size:15px;line-height:1.5;letter-spacing:0;color:#b9ed36}
.process-film-track{display:flex;gap:8px}
.process-film-track>span{height:2px;flex:1;background:#ffffff50;transition:background .4s ease}
.process-film-track>span.is-current{background:#b9ed36}
.process>.process-film{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));margin-bottom:60px}
.page-block.block-video{padding-left:0;padding-right:0}
.page-block.block-video>h2{padding:0 var(--gutter);margin-bottom:32px}
.page-block.block-video .process-film{width:100%}
@media(max-width:800px){
 .process-film video{aspect-ratio:9/16}
 .process-film-heading{top:24px;font-size:12px}
 .process-film-caption{bottom:30px}
 .process-film-titles{margin-bottom:20px}
 .process-film-titles>span{font-size:clamp(30px,7vw,48px);gap:14px}
 .process-film-titles small{font-size:13px}
 .process>.process-film{margin-bottom:32px}
}
@media(prefers-reduced-motion:reduce){.process-film-titles>span,.process-film-track>span{transition:none;transform:none}}

/* Supplied workshop film: keep the complete portrait frame. */
.photo-grid .process-film-single{background:transparent;color:inherit;align-self:start}
.process-film-single .process-film-screen{background:#171a13}
.process-film-single video{width:100%;height:480px;aspect-ratio:auto;object-fit:contain}
.process-film-single .process-film-screen:after{display:none}
.photo-grid .process-film-single figcaption{position:static;padding:14px 0;background:transparent;color:inherit}
.factory-details figure.factory-centrifuge img{width:100%;height:auto;aspect-ratio:auto 4/3;object-fit:contain}
.factory-photo-enlarge{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;overflow:hidden;cursor:zoom-in;color:var(--ink,#171a13)}
.factory-photo-enlarge:focus-visible{outline:3px solid var(--green,#97cc02);outline-offset:4px}
.factory-photo-hint{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:9px;padding:10px 12px;background:#fff;font-size:12px;font-weight:500;line-height:1.4}
.factory-photo-hint svg{flex:none}
@media(max-width:540px){
 .factory-details figure.factory-centrifuge .factory-photo-enlarge img{aspect-ratio:1;object-fit:cover;object-position:center}
}
@media(max-width:600px){.process-film-single video{height:auto;aspect-ratio:9/16}}

/* Documentary workshop photographs: preserve the whole frame and meter display. */
.photo-grid.full-frame{align-items:start}
.photo-grid.full-frame img{height:auto;max-height:640px;aspect-ratio:auto;object-fit:contain}
.photo-grid.full-frame.single{width:100%;max-width:1000px;margin-inline:auto}
.photo-grid.full-frame.single img{max-height:700px}
@media(max-width:600px){.photo-grid.full-frame img,.photo-grid.full-frame.single img{max-height:none;height:auto}}
.factory-details>figure:last-child img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}

/* Paired portrait media: preserve complete machines at equal displayed heights. */
.photo-grid.textile-grid{grid-template-columns:4fr 3fr;max-width:900px;margin-inline:auto;gap:24px}
.photo-grid.textile-grid img{width:100%;height:auto;max-height:none;aspect-ratio:auto 3/4;object-fit:contain}
.photo-grid.textile-grid video{width:100%;height:auto;aspect-ratio:9/16;object-fit:contain}
@media(max-width:600px){.photo-grid.textile-grid{grid-template-columns:1fr;gap:28px;margin-inline:-20px;width:calc(100% + 40px)}}

.page-hero img[src="/assets/workshop-exterior-gray-door-v1.webp"]{object-fit:contain;background:#fff}

body:not(.panchist) .photo-grid .textile-washer figcaption{font-size:clamp(26px,2.5vw,36px);font-weight:500;line-height:1.2;letter-spacing:-.02em;color:var(--ink,#171b16);padding-top:20px}
