/* Buddy for Business(TM): the ONE place that names character art. The values below are the manifest's DEFAULT set
   (web/business/characters/manifest.json; tests/business-site.test.ts keeps them equal), so the first paint needs no
   script. /business/biz.js then reads the manifest: it applies sets[default] (in case the default changed) and, for any
   file that fails to load, the same id from sets[fallback] (the approved plain art).
   Resolution: --bz-*-w is the file's native width. The pair is never shown wider than that on 1x screens, and on high-
   density screens it stays at or below ~1.2x upscale (see .bz-duo-stage in biz.css). The pair is shown large, so it
   always uses the full file; the small placements use the half file at 1x.
   Never redrawn, never the rejected 3D model. Ratios match the files, so nothing shifts while they load.
   Elements: <div class="bz-art bz-art--pair|--buddy|--buddy-x|--buddy-solo" role="img" aria-label="..."> */
:root{--bz-pair-w:793px;--bz-pair-ratio:793/377;--bz-buddy-ratio:467/377;--bz-buddy-x-ratio:347/346;--bz-buddy-solo-ratio:615/565}
.bz-art{background-repeat:no-repeat;background-position:center bottom;background-size:contain}
.bz-art--pair{aspect-ratio:var(--bz-pair-ratio);background-image:var(--bz-art-pair,url(/business/characters/pair-transparent.webp))}
.bz-art--buddy{aspect-ratio:var(--bz-buddy-ratio);background-image:var(--bz-art-buddy,image-set(url(/business/characters/buddy-half.webp) 1x,url(/business/characters/buddy.webp) 2x))}
.bz-art--buddy-x{aspect-ratio:var(--bz-buddy-x-ratio);background-image:var(--bz-art-buddy-x,image-set(url(/business/characters/buddy-x-half.webp) 1x,url(/business/characters/buddy-x.webp) 2x))}
.bz-art--buddy-solo{aspect-ratio:var(--bz-buddy-solo-ratio);background-image:var(--bz-art-buddy-solo,image-set(url(/business/characters/buddy-solo-half.webp) 1x,url(/business/characters/buddy-solo.webp) 2x))}
