/* A compact process atlas, followed by real tools and workshop scenes. */
.factory-opening{padding:32px 0 44px}
.factory-opening .breadcrumbs{margin-bottom:27px}
.factory-opening-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,76px);align-items:center}
.factory-opening h1{font-size:clamp(2.7rem,4.2vw,4.4rem);max-width:13ch}
.factory-opening .lede{margin-top:24px;font-size:1rem;max-width:46ch}
.factory-opening .actions{margin-top:22px}
.factory-photo{margin:0;min-width:0}
.factory-photo-link{display:block;position:relative;border-radius:12px;overflow:hidden}
.factory-photo-link img{display:block;width:100%;height:auto;object-fit:contain;background:var(--green-soft)}
.factory-photo figcaption{font-size:.69rem;line-height:1.55;color:var(--muted);margin-top:11px}
.photo-expand{position:absolute;right:9px;bottom:9px;display:grid;place-items:center;width:28px;height:28px;color:var(--paper);background:#123f32cc;border-radius:50%;font-size:.9rem;transition:background .2s}
.factory-photo-link:hover .photo-expand{background:var(--green)}
.factory-mold-hero .factory-photo-link{max-width:500px;margin-inline:auto}
.factory-mold-hero img{max-height:330px;object-fit:contain}
.factory-process{padding:46px 0 48px;background:var(--green);color:var(--paper);scroll-margin-top:25px}
.compact-factory-heading{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:end;margin-bottom:30px}
.compact-factory-heading h2{font-size:clamp(2rem,3vw,3.1rem);max-width:20ch}
.compact-factory-heading>p{font-size:.93rem;line-height:1.75;max-width:51ch;color:var(--muted)}
.factory-process .compact-factory-heading>p{color:#d0ded1}
.factory-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 23px}
.factory-step{min-width:0;border-top:1px solid #a6c3a954;padding-top:12px;scroll-margin-top:125px}
.factory-step-label{display:flex;align-items:baseline;gap:13px;margin-bottom:11px;min-height:32px}
.factory-step-number{font-size:1.55rem;line-height:1;font-weight:400;color:var(--lime);letter-spacing:-.06em;flex-shrink:0}
.factory-step h3{font-size:.88rem;letter-spacing:-.01em;line-height:1.35;font-weight:500}
.factory-step .factory-photo-link{aspect-ratio:3/2;background:#e6ebe2;border-radius:8px}
.factory-step img{width:100%;height:100%;object-fit:contain}
.factory-step .photo-expand{width:22px;height:22px;right:6px;bottom:6px;font-size:.7rem}
.factory-live{padding:58px 0 54px;scroll-margin-top:25px}
.factory-tooling-gallery{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:24px;align-items:end}
.factory-tooling-gallery .factory-photo-link{height:300px;display:grid;place-items:center;background:var(--green-soft)}
.factory-tooling-gallery img{width:100%;height:100%;max-height:300px;object-fit:contain}
.factory-floor-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:baseline;margin:42px 0 22px;padding-top:28px;border-top:1px solid var(--line)}
.factory-floor-heading h3{font-size:1.5rem;line-height:1.25}
.factory-floor-heading p{font-size:.86rem;color:var(--muted);max-width:70ch}
.factory-photo-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}
.factory-photo-strip .factory-photo-link{height:210px;background:var(--green-soft)}
.factory-photo-strip img{height:100%;width:100%;object-fit:contain}
.factory-photo-strip figcaption{font-size:.64rem}
.factory-opening-grid>*,.compact-factory-heading>*,.factory-floor-heading>*{min-width:0}
:lang(zh-CN) .factory-opening h1,:lang(ja) .factory-opening h1,:lang(ko) .factory-opening h1{max-width:14ch}
@media(max-width:980px){
 .factory-opening-grid{gap:30px}
 .factory-opening h1{font-size:clamp(2.6rem,4.5vw,3.8rem)}
 .factory-steps{gap:20px 16px}
 .factory-step-label{gap:9px;min-height:43px}
 .factory-step h3{font-size:.78rem}
 .factory-tooling-gallery{gap:17px}
 .factory-tooling-gallery .factory-photo-link,.factory-tooling-gallery img{height:240px;max-height:240px}
 .factory-photo-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px}
 .factory-photo-strip .factory-photo-link{height:220px}
}
@media(max-width:720px){
 .factory-opening{padding:24px 0 35px}
 .factory-opening-grid,.compact-factory-heading,.factory-floor-heading{grid-template-columns:1fr;gap:22px}
 .factory-opening h1{font-size:clamp(2.6rem,10vw,3.7rem);max-width:16ch}
 .factory-opening .lede{margin-top:21px}
 .factory-mold-hero{margin-top:5px}
 .factory-mold-hero img{max-height:270px}
 .factory-process{padding-block:34px}
 .compact-factory-heading{margin-bottom:24px}
 .compact-factory-heading h2{font-size:clamp(2rem,8.4vw,3rem);max-width:none}
 .factory-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 15px}
 .factory-step-label{gap:9px;min-height:35px}
 .factory-step-number{font-size:1.3rem}
 .factory-step h3{font-size:.76rem}
 .factory-live{padding:40px 0}
 .factory-tooling-gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 0 10px}
 .factory-tooling-gallery .factory-photo{flex:0 0 72%;scroll-snap-align:start}
 .factory-tooling-gallery .factory-photo-link,.factory-tooling-gallery img{height:265px;max-height:265px}
 .factory-floor-heading{margin-top:25px;padding-top:23px;gap:12px}
 .factory-photo-strip{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x proximity;padding:2px 0 10px}
 .factory-photo-strip .factory-photo{flex:0 0 62%;scroll-snap-align:start}
 .factory-photo-strip .factory-photo-link{height:250px}
 .factory-photo-strip figcaption{font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){.photo-expand{transition:none}}
