/* Fixed-length curves stay circular when frames change aspect ratio. */
:root{--ecs-radius-large:clamp(28px,3.4vw,48px);--ecs-radius-small:clamp(9px,.85vw,12px);--ecs-photo-corners:var(--ecs-radius-large) var(--ecs-radius-small) var(--ecs-radius-large) var(--ecs-radius-small)}
body .hero-photo:not(.selected-frameless-hero),body .product-image,body .project-image,body .story-image,body .feature-image,body .product-hero-image,body .model-photo,body .poster-crop,body .production-flow-image,body .showcase-image,body .category-main-frame,body .expanded-page .photo,body .photo{border-radius:var(--ecs-photo-corners)!important}
body .product-image,body .project-image,body .story-image,body .feature-image,body .product-hero-image,body .model-photo,body .poster-crop,body .production-flow-image,body .showcase-image,body .category-main-frame,body .photo{overflow:hidden}
body .hero-photo:not(.selected-frameless-hero):before{border-radius:inherit!important}
body .hero-photo:not(.selected-frameless-hero)>img,body .product-image>img,body .project-image>img,body .story-image>img,body .feature-image>img,body .photo>img,body .production-flow-image>img,body .showcase-image>img{border-radius:inherit!important}
body .model-photo>.photo,body .product-hero-image>.photo{border-radius:inherit!important}
body .cta{border-radius:var(--ecs-radius-large) var(--ecs-radius-large) 0 0}
/* All eight selected project images are multi-product scenes, explicitly allowed to crop. */
body.expanded-page .project-card{padding-top:0;display:flex;flex-direction:column;min-width:0}
body.expanded-page .project-card .project-image:has(img[src*="/selected/A"]){height:auto;aspect-ratio:4/3;flex:none}
body.expanded-page .project-card .project-image img[src*="/selected/A"]{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 50%;max-height:none}
body.expanded-page .project-card>div{display:flex;flex-direction:column;flex:1}
body.expanded-page .project-card>div>p:not(.eyebrow){flex:1}
body.expanded-page [data-selected-project-gallery] .photo{height:auto;aspect-ratio:4/3}
body.expanded-page [data-selected-project-gallery] .photo img{width:100%;height:100%;object-fit:cover;object-position:center}
/* Homepage dispatch photograph shares the section equally with its copy. */
@media(min-width:901px){body #about.story .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4vw,64px)}body #about.story .story-image{height:auto;aspect-ratio:1/1}body #about.story .story-image img{width:100%;height:100%;object-fit:cover;object-position:center}}
/* Owner requests natural 3:4 proportions for this corporate photograph only. */
body [data-corporate-photo]{background:#c3c3bd;aspect-ratio:3/4;height:auto;width:100%;max-width:420px;justify-self:center;margin-inline:auto;min-height:0}
body [data-corporate-photo]>img{object-fit:contain;object-position:center;width:100%;height:100%}
/* Three complementary production highlights; lower gallery remains unchanged. */
body.expanded-page .project-card .project-image:has(img[src*="/selected/Y"]){height:auto;aspect-ratio:4/3;flex:none;background:#cacace}
body.expanded-page .project-card .project-image img[src*="/selected/Y"]{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;max-height:none}
body.expanded-page .project-card .project-image img[src*="Y13.webp"]{object-fit:cover;object-position:50% 50%}
body.expanded-page .project-card .project-image img[src*="Y19.webp"]{object-position:50% 82%}
body.expanded-page .project-card .project-image img[src*="Y44.webp"]{object-position:50% 45%}
body.expanded-page .project-card .project-image:has(img[src*="brass-production.webp"]){height:auto;aspect-ratio:4/3;flex:none}
body.expanded-page .project-card .project-image img[src*="brass-production.webp"]{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 48%;max-height:none}
/* Projects lower gallery: sixteen examples, four columns; highlighted trio untouched. */
body.expanded-page [data-selected-project-gallery]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
body.expanded-page [data-selected-project-gallery] .photo img[src*="/selected/Y"]{object-fit:contain;background:#e5e9e6}
@media(max-width:900px){body.expanded-page [data-selected-project-gallery]{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:540px){body.expanded-page [data-selected-project-gallery]{grid-template-columns:1fr}}
/* Mould CAD examples: owner requests images and heading without explanatory copy. */
section:has(> .cad-grid) > .section-head > p,
.cad-grid > figure > figcaption{display:none}
/* Three CAD perspectives, equal frames with complete subjects. */
.expanded-page .cad-triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.expanded-page .cad-triptych .photo{height:auto;aspect-ratio:4/3;padding:12px}
.expanded-page .cad-triptych img{width:100%;height:100%;object-fit:contain}
@media(max-width:900px){.expanded-page .cad-triptych{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:540px){.expanded-page .cad-triptych{grid-template-columns:1fr}}
