/* Consistent image frames by semantic role. Do not crop certificates or logos. */
html body main .pg-grid{align-items:stretch!important}
html body main .pg-card{min-width:0;display:flex;flex-direction:column}
html body main .pg-card img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;box-sizing:border-box!important;object-fit:contain!important;object-position:center!important;padding:16px!important;background:#fff!important;max-width:100%!important}
html body main .pg-card figcaption{flex:1}
/* Legacy four-image rows were not covered by product-gallery styles. */
html body main .grid-4>img{display:block!important;box-sizing:border-box!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:contain!important;object-position:center!important;padding:12px!important;background:#fff!important;align-self:start!important;max-width:100%!important}
html body main .app-fig{min-width:0;margin:0;display:flex;flex-direction:column}
html body main .app-fig>img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important}
/* Uniform 3 x 2 process cards; replaces uneven featured-photo mosaics. */
html body main .factory-tour .ft-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;align-items:stretch!important}
html body main .factory-tour .ft-grid>.ft-card:nth-child(n){grid-column:auto!important;min-width:0;display:flex;flex-direction:column}
html body main .factory-tour .ft-card:nth-child(n) .ft-media{width:100%!important;aspect-ratio:4/3!important;height:auto!important;flex:none!important;margin:0!important;padding:0!important}
html body main .factory-tour .ft-card .ft-media img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important}
html body main .factory-tour .ft-copy{flex:1}
/* Photo captions live below the image; a dark text overlay is unnecessary. */
html body main .factory-tour .ft-media::after{display:none!important}
html body main .factory-tour .ft-media:hover img{filter:none!important;transform:none!important}
html body main .manufacturing-photo-card>img,html body main .ft-hl-media>img,html body main .ffs-media>img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important}
html body main .manufacturing-photo-card>img{height:auto!important}
html body main .ft-hl-media,html body main .ffs-media{width:100%!important;height:auto!important;aspect-ratio:4/3!important;overflow:hidden!important}
@media(max-width:920px){html body main .factory-tour .ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}}
@media(max-width:600px){html body main .factory-tour .ft-grid{grid-template-columns:1fr!important}html body main .pg-card img{padding:12px!important}}
/* Short selection notes fit the screen; the complete multi-property tables retain horizontal scrolling. */
html body main .grade-selection-context{margin:0 0 30px}
html body main .grade-selection-context table{width:100%!important;min-width:0!important;table-layout:fixed!important}
html body main .grade-selection-context th,html body main .grade-selection-context td{white-space:normal!important;overflow-wrap:break-word;padding:12px!important}
html body main .grade-selection-context .technical-note{font-size:14px!important;line-height:1.6!important;margin:14px 0 0}
html body main .section-anchor{display:block;scroll-margin-top:110px}
