.branding-sheet { position:relative; margin:0 auto; }
.branding-page { position:absolute; top:0; left:0; width:1920px; height:1080px; padding:80px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px; background:white; color:#111; box-sizing:border-box; font:26px/1.55 Arial,sans-serif; transform-origin:top left; }
.branding-copy { grid-column:1; }
.branding-copy h2 { font-size:44px; line-height:1.15; margin:0 0 32px; overflow-wrap:anywhere; }
.branding-copy p { margin:0 0 24px; }
.branding-art { grid-column:2 / 5; min-width:0; min-height:0; display:flex; flex-direction:column; justify-content:center; gap:40px; }
.branding-art img { display:block; width:100%; min-height:0; max-height:920px; object-fit:contain; }
.branding-art:has(img:nth-child(2)) img { max-height:440px; }
.branding-stage { background:#ddd; overflow:auto; }
.branding-stage[hidden] { display:none; }
#viewerImage[hidden] { display:none; }
#viewer:has(.branding-stage:not([hidden])) { width:min(1920px,96vw); max-width:96vw; }
#viewer .modal-top { position:sticky; top:0; z-index:4; background:#111; }
body:has(#viewer[open]) { overflow:hidden; }
@media (max-width:600px) { #viewer .modal-top { flex-wrap:wrap; } }
