/* Shared image sizing and narrow-screen safeguards. */
html,body{max-width:100%;min-width:0}body{overflow-x:clip}main,main>*{min-width:0}img,video,svg,iframe{max-width:100%}main img{object-position:center center}main figure{max-width:100%;margin-left:auto;margin-right:auto}main .content img{display:block;max-width:100%;width:auto;height:auto;margin-left:auto;margin-right:auto;object-fit:contain;object-position:center}main .content video,main .content iframe{max-width:100%;height:auto}main .content figcaption{text-align:center;overflow-wrap:anywhere}main .article-hero{max-width:100%;text-align:center}main .article-hero img{display:block;max-width:100%;height:auto;margin-inline:auto;object-fit:contain}main .archive-thumb,main .archive-feature-image,main .career-thumb{width:100%;min-width:0;overflow:hidden;background:#f0f0f2}main .archive-thumb img,main .archive-feature-image img,main .career-thumb img{display:block;width:100%;object-fit:contain!important;object-position:center center!important;background:#f0f0f2}main .hp-visual,main .visual,main .stage,main .thumb,main .preview{place-items:center}main .hp-visual img,main .visual img,main .stage img,main .thumb img{object-fit:contain;object-position:center center}main .preview img{object-fit:contain!important;object-position:center center!important;background:#f0f0f2}main .stage{margin-inline:auto}main .layout>*{min-width:0}main .chart-scroll,main .content table{max-width:100%}main h1,main h2,main h3,main p{overflow-wrap:break-word}
@media(max-width:850px){main .layout{grid-template-columns:minmax(0,1fr);gap:25px}main .stage{max-width:600px}main .intro{min-width:0}main .preview{height:auto;min-height:240px;aspect-ratio:16 / 10}}
@media(max-width:650px){main .archive-feature-image img{height:210px}main .archive-thumb img,main .career-thumb img{height:185px}main .article-hero img{max-height:min(56vh,430px)}main .stage{width:100%;padding:20px;aspect-ratio:1 / 1}main .thumbs{max-width:100%}main .hp-visual{height:180px}main .hp-visual img{width:100%;height:100%}main .preview{min-height:180px}main .content figure{margin:22px auto}main .content table{display:block;overflow-x:auto;white-space:normal}main .chart-scroll table{display:table}}
@media(max-width:390px){main .hp-visual{height:155px}main .hp-info{padding:10px}main .hp-info strong{font-size:14px}main .hp-grid{gap:8px}main .stage{padding:12px}main .thumb{width:63px;height:63px}}
@media(max-width:345px){main .hp-grid{grid-template-columns:1fr}main .hp-visual{height:220px}main .hp-info strong{font-size:16px}}

/* Product artwork remains centered in fixed-ratio containers at every width. */
main .hp-visual img,main .visual img,main .stage img,main .thumb img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain!important;object-position:50% 50%!important;margin:auto}main .hp-visual,main .visual,main .stage,main .thumb{overflow:hidden}main .tile.product img{right:0!important;bottom:0!important;left:auto!important;width:50%;height:100%;object-fit:contain!important;object-position:50% 50%!important;opacity:1} @media(max-width:600px){main .tile.product img{right:0!important;bottom:0!important;width:48%;height:100%;opacity:.9}}
/* Bound product images to their frames instead of their intrinsic grid height. */
main .hp-visual,main .visual,main .stage,main .thumb{position:relative;overflow:hidden}
main .hp-visual img,main .visual img,main .stage img,main .thumb img{position:absolute;inset:0;display:block;box-sizing:border-box;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:50% 50%!important;margin:0!important}
main .hp-visual img{padding:17px}
main .visual img{padding:20px}
main .stage img{padding:32px}
main .thumb img{padding:7px}
@media(max-width:650px){main .hp-visual img,main .visual img{padding:10px}main .stage img{padding:17px}}
@media(max-width:390px){main .stage img{padding:10px}}
/* Consistent square frames for all product cards, including phone layouts. */
main .hp-visual,main .visual{width:100%;aspect-ratio:1 / 1;height:auto!important;padding:0!important}
