/* Keep small reference crops within their useful pixel size. New hero assets
   are independent high-resolution illustrations, never enlarged page captures. */
body.otr-mirror main.rm-page{max-width:1280px!important;margin-inline:auto!important}
body.otr-mirror .cm-shell{max-width:1280px}
.sharp-hero .sharp-native-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;margin:0!important}
.rm-hero .sharp-hero{height:100%!important;max-height:none!important;top:0!important;bottom:auto!important;aspect-ratio:3/2}
@media(max-width:600px){.rm-hero .sharp-hero{height:255px!important}}
[data-source-crop]{max-width:calc(var(--art-native-w)*1.25);max-height:calc(var(--art-native-h)*1.25)}
/* A sprite's display box must retain the crop ratio, otherwise adjacent baked
   text can enter the box as a wide desktop container changes its dimensions. */
[data-source-crop].rm-hero-art,[data-source-crop].um-hero-art{min-height:0!important;height:auto!important;max-height:calc(var(--art-native-h)*1.25)!important;align-self:center}
@media(min-width:801px){[data-source-crop].rm-hero-art{top:auto!important;bottom:0!important;width:min(64%,calc(var(--art-native-w)*1.25))!important}}
@media(max-width:600px){[data-source-crop].rm-hero-art{width:min(100%,calc(var(--art-native-w)*1.25))!important;left:auto!important;right:0!important}}

