/* Catalogue objects sit on the same architectural plane as the typography. */
.product-visual{margin:0;min-width:0;position:relative;color:#666b63}
.product-stage{position:relative;display:flex;align-items:center;justify-content:center;gap:24px;isolation:isolate}
.product-stage:before{content:"";position:absolute;z-index:-1;left:8%;right:8%;bottom:11%;height:40%;background:radial-gradient(ellipse at 50% 100%,#5961540e,transparent 70%);pointer-events:none}
.product-stage:after{content:"";position:absolute;left:0;bottom:0;width:24px;border-bottom:1px solid #9a5247}
.product-object{display:flex;align-items:center;justify-content:center;max-width:var(--object-width);min-width:0;flex:1;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.product-object img{display:block;width:auto;height:auto;max-width:100%;object-fit:contain;object-position:center}
.product-object.opaque-source{mix-blend-mode:multiply}
.product-visual figcaption{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #aeb3aa75;padding:12px 0 0;font-size:10px;letter-spacing:.7px;line-height:1.5}
.product-visual-detail{align-self:center;padding:20px 0 0 5%;max-width:680px;width:100%;justify-self:end}
.product-visual-detail .product-stage{min-height:300px;padding:24px 22px 34px}
.product-visual-detail .product-object img{max-height:290px}
.product-visual-detail.multi-object .product-stage{gap:28px;min-height:320px}
.product-visual-detail.multi-object .product-object:nth-child(even){transform:translateY(27px)}
.product-visual-detail.multi-object .product-object img{max-height:210px}
.product-showcase,.page-model .product-heading.product-showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;align-items:center}
.product-introduction{min-width:0;padding:25px 0}
.page-tool .product-introduction h1{font-size:clamp(48px,6.5vw,102px);line-height:1.05;font-weight:400;letter-spacing:-4px;margin:0 0 22px;overflow-wrap:anywhere}
.product-display-name{font-size:24px;font-weight:400;margin:0 0 24px;line-height:1.45}
.product-introduction .summary{font-size:14px;line-height:1.95;max-width:450px;color:var(--quiet-copy)}
.page-tool .page-rule{margin-top:38px}
.page-model .product-introduction h1{font-size:clamp(52px,6.5vw,102px);margin-top:0}
.page-model .product-introduction h1.long{font-size:clamp(44px,4.8vw,76px)}
.page-model .key-stats{margin-top:36px}
.page-products .product-card h2,.page-products .product-card h2.long{margin:20px 0 8px;min-height:58px}
.product-visual-card{margin:0 0 26px}
.product-visual-card .product-stage{height:205px;padding:14px 10% 28px;justify-content:flex-end}
.product-visual-card .product-object{max-width:min(var(--object-width),260px)}
.product-visual-card .product-object img{max-height:162px}
.product-visual-card figcaption{border:0;padding-top:8px;font-size:9px;color:#6c7168}
.product-visual-card figcaption span:first-child{visibility:hidden}
.product-visual-card .product-stage:after{width:100%;border-color:#aeb3aa55}
.product-visual-card .product-stage:before{left:30%;right:4%;height:45%;bottom:12%}
@media(hover:hover){.product-card:hover .product-object{transform:translateY(-4px)}.product-visual-detail:hover .product-object{transform:translateY(-3px)}.product-visual-detail.multi-object:hover .product-object:nth-child(even){transform:translateY(24px)}}
@media(max-width:1050px){.product-visual-detail .product-stage{padding-left:8px;padding-right:8px;min-height:250px}.product-visual-detail.multi-object .product-stage{gap:15px}.product-visual-detail .product-object img{max-height:235px}.product-display-name{font-size:21px}}
@media(max-width:760px){
 .product-showcase,.page-model .product-heading.product-showcase{grid-template-columns:1fr;gap:0}
 .product-introduction{padding:22px 0 0}.page-tool .product-introduction h1,.page-model .product-introduction h1,.page-model .product-introduction h1.long{font-size:clamp(38px,12vw,60px);letter-spacing:-2px}
 .product-display-name{font-size:21px;margin-bottom:18px}.product-introduction .summary{font-size:13px}
 .product-visual-detail{padding:10px 0 0;max-width:480px;justify-self:center}
 .product-visual-detail .product-stage,.product-visual-detail.multi-object .product-stage{min-height:225px;padding:25px 16px 30px}
 .product-visual-detail .product-object img{max-height:205px}.product-visual-detail.multi-object .product-object img{max-height:160px}
 .product-visual-detail figcaption{font-size:9px}.product-visual-card .product-stage{height:180px}.product-visual-card .product-object img{max-height:145px}
 .page-tool .page-rule{margin-top:30px}.page-model .product-actions{margin-top:23px}
}
@media(prefers-reduced-motion:reduce){.product-object{transition:none}.product-card:hover .product-object,.product-visual-detail:hover .product-object{transform:none}.product-visual-detail.multi-object:hover .product-object:nth-child(even){transform:translateY(27px)}}
/* Four sample clamps need two rows to retain their individual silhouettes. */
.product-visual-detail:has(.product-object:nth-child(4)) .product-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 30px;min-height:320px}
.product-visual-detail:has(.product-object:nth-child(4)) .product-object{justify-self:center;transform:none}
.product-visual-detail:has(.product-object:nth-child(4)) .product-object img{max-height:110px}
/* One representative photograph per machinery family; model lists stay compact. */
.machine-families{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%;margin:12px 0 48px;padding-bottom:30px;border-bottom:1px solid var(--quiet-line)}
.machine-family{min-width:0;border-top:1px solid #aeb3aa80;padding-top:20px}
.machine-family .page-kicker{font-size:9px;color:#71766e}
.machine-family h2{font-size:clamp(22px,2vw,30px);font-weight:400;letter-spacing:-.7px;line-height:1.3;margin:18px 0 14px}
.machine-family h2 a{display:flex;align-items:center;justify-content:space-between;gap:16px}
.machine-family h2 a span{font-size:16px;color:#777e70}
.machine-family p{font-size:11px;color:#62675f;letter-spacing:.25px}
.machine-family .product-visual-card{margin:5px 0 0}
.machine-family .product-stage{height:220px;justify-content:center;padding:20px 14px 25px}
.machine-family .product-stage:after,.machine-family figcaption{display:none}
.machine-families.is-single{grid-template-columns:1fr;margin-bottom:35px}
.machine-families.is-single .machine-family{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;border-top:0;padding-top:0}
.machine-families.is-single .product-stage{height:205px}
@media(max-width:760px){.machine-families{grid-template-columns:1fr;gap:18px;margin-bottom:32px;padding-bottom:18px}.machine-family,.machine-families.is-single .machine-family{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}.machine-family h2{font-size:22px}.machine-family .product-stage,.machine-families.is-single .product-stage{height:155px;padding:12px 0}.machine-family .product-object img{max-height:130px}.machine-family p{font-size:10px}.machine-family .page-kicker{font-size:8px}.machine-families.is-single{margin-bottom:28px}}
/* Larger original photographs; white studio backgrounds blend into the grey plane. */
.source-photo-frame{display:block;width:100%;position:relative;overflow:hidden}
.product-object .source-photo-frame img{position:absolute;left:var(--source-x);top:var(--source-y);width:var(--source-w);height:var(--source-h);max-width:none;max-height:none;object-fit:fill}
.machine-family .product-object{max-width:290px}
.machine-family .product-object img{max-height:205px}
.machine-family .source-photo-frame img{max-height:none}
@media(max-width:760px){.machine-family .product-object img{max-height:140px}.machine-family .source-photo-frame img{max-height:none}}
/* Blend the whole photo plane against the page, outside its internal stacking context. */
.product-visual:has(.opaque-source){mix-blend-mode:multiply}
/* Size the visible silhouette, rather than the transparent source canvas. */
.product-stage{--stage-object-height:250px}
.product-object{width:min(100%,calc(var(--stage-object-height) * var(--object-ratio)));max-width:360px;flex:0 1 auto}
.product-object img{width:100%;height:auto;max-height:none}
.product-visual-card .product-stage{--stage-object-height:174px;height:238px;padding:28px 28px 36px;justify-content:center}
.product-visual-card .product-object{max-width:280px}
.product-visual-card .product-object img{max-height:none}
.product-visual-card .product-stage:before{left:12%;right:12%;bottom:13%;height:35%}
.product-visual-card{margin-bottom:24px}
.product-visual-detail{padding:20px 0 0;max-width:600px}
.product-visual-detail .product-stage,.product-visual-detail.multi-object .product-stage{height:340px;min-height:0;padding:35px 24px 45px}
.product-visual-detail .product-object img,.product-visual-detail.multi-object .product-object img{max-height:none}
.product-visual-detail.multi-object .product-stage{--stage-object-height:190px;gap:30px}
.product-visual-detail.multi-object .product-object:nth-child(even){transform:none}
.product-visual-detail:has(.product-object:nth-child(4)) .product-stage{--stage-object-height:110px;height:340px;min-height:0;gap:24px 30px}
.product-visual-detail:has(.product-object:nth-child(4)) .product-object{width:min(100%,calc(110px * var(--object-ratio)))}
.product-visual-detail:has(.product-object:nth-child(4)) .product-object img{max-height:none}
.machine-family .product-stage,.machine-families.is-single .product-stage{--stage-object-height:174px;height:238px;padding:28px 18px 36px}
.machine-family .product-object{max-width:290px}
.machine-family .product-object img{max-height:none}
@media(hover:hover){.product-visual-detail.multi-object:hover .product-object:nth-child(even){transform:translateY(-3px)}}
@media(max-width:760px){
 .product-visual-card .product-stage{--stage-object-height:162px;height:218px;padding:24px 18px 32px}
 .product-visual-card .product-object{max-width:260px}
 .product-visual-detail .product-stage,.product-visual-detail.multi-object .product-stage{--stage-object-height:220px;height:290px;min-height:0;padding:30px 18px 40px}
 .product-visual-detail.multi-object .product-stage{--stage-object-height:160px;gap:20px}
 .product-visual-detail:has(.product-object:nth-child(4)) .product-stage{--stage-object-height:100px;height:300px;padding:24px 12px;gap:20px}
 .product-visual-detail:has(.product-object:nth-child(4)) .product-object{width:min(100%,calc(100px * var(--object-ratio)))}
 .machine-family .product-stage,.machine-families.is-single .product-stage{--stage-object-height:120px;height:172px;padding:24px 8px 28px}
}
@media(prefers-reduced-motion:reduce){.product-visual-detail.multi-object:hover .product-object:nth-child(even){transform:none}}
