/* The original JPEG is immutable; labels occupy its existing blank margins.
   Narrative remains in document flow above the sheet, never over the artwork. */
.cg-sheet{--cg-pink:rgb(225 132 159);--cg-heading:clamp(22px,2vw,30px);--cg-drawing:clamp(14px,1.3vw,20px);--cg-caption:var(--cg-drawing);--cg-description:clamp(13px,1.1vw,17px);position:relative;z-index:2;width:100%;max-width:1536px;margin:80px auto;background:#fff;color:#111;display:flow-root;padding-top:24px}
.cg-sheet.cg-portrait{max-width:1086px}
.cg-heading{display:flex;align-items:center;gap:14px;margin:0 3.2% 24px;min-height:48px}
.cg-heading h2{font:inherit;font-size:var(--cg-heading);font-weight:600;line-height:1.4;letter-spacing:.04em;margin:0}
.cg-artwork{position:relative;margin:0;width:100%}
.cg-artwork>img{display:block;width:100%;height:auto}
.cg-label{position:absolute;left:var(--x);top:var(--y);width:var(--w);font-weight:400;line-height:1.2;letter-spacing:.015em}
.cg-caption{font-size:var(--cg-caption)}
.cg-drawing{font-size:var(--cg-drawing)}
.cg-toggle{position:relative;display:grid;place-items:center;width:44px;height:44px;flex:none;background:transparent;border:0;border-radius:0;color:var(--cg-pink);cursor:pointer;padding:0;touch-action:manipulation}
.cg-toggle canvas{position:absolute;inset:7px;width:30px;height:30px;pointer-events:none}
.cg-star{font-size:38px;line-height:1}.cg-toggle.ready .cg-star{visibility:hidden}
.cg-toggle:focus-visible{outline:1px solid var(--cg-pink);outline-offset:3px}
.cg-reveal{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-7px);transition:grid-template-rows .65s ease,opacity .5s ease,transform .65s ease;margin:0 3.2%;max-width:65ch}
.cg-reveal.open{grid-template-rows:1fr;opacity:1;transform:none}
.cg-reveal-inner{min-height:0;overflow:hidden}
.cg-reveal p{font-size:var(--cg-description);line-height:1.7;margin:0;padding:0 0 28px}
@media(max-width:650px){.cg-sheet{margin:42px auto;padding-top:20px;--cg-heading:22px;--cg-drawing:16px;--cg-caption:var(--cg-drawing);--cg-description:14px}.cg-heading{margin-bottom:16px}.cg-artwork figcaption{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding:20px 4% 28px}.cg-label{position:static;width:auto}.cg-artwork figcaption:empty{display:none}.cg-reveal{max-width:none;margin:0 4%}}
@media(prefers-reduced-motion:reduce){.cg-reveal{transition:none;transform:none}}
@media print{.cg-sheet{break-before:page;margin:0;--cg-heading:20pt;--cg-drawing:13pt;--cg-caption:var(--cg-drawing);--cg-description:11pt}.cg-toggle{display:none}.cg-reveal{grid-template-rows:1fr;opacity:1;transform:none}}


/* Matching titles remain anchored in original white margins. All narrative
   panels expand in flow below the whole immutable collage, never over it. */
.cg-caption-line{display:flex;align-items:center;gap:8px;min-height:44px}
.cg-caption-line h3{font:inherit;font-size:var(--cg-drawing);font-weight:400;line-height:1.25;margin:0}
.cg-caption-line .cg-toggle{margin-top:-4px;margin-bottom:-4px}
.cg-stories{display:grid;grid-template-columns:25fr 27.2fr 36.1fr;column-gap:3%;padding:0 3.2%}
.cg-story{margin:0;max-width:none;align-self:start}
.cg-story p{padding:20px 0 24px}
.cg-story-4{grid-column:1 / 3;max-width:48ch}.cg-story-5{grid-column:3}
.cg-sheet:has(#cg-title-5){padding-bottom:36px}
@media(max-width:1000px){
.cg-sheet:not(:has(#cg-title-4)) .cg-artwork figcaption{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;padding:20px 4% 28px}
.cg-sheet:not(:has(#cg-title-4)) .cg-label{position:static;width:auto}
.cg-sheet:not(:has(#cg-title-4)) .cg-artwork figcaption:empty{display:none}
.cg-stories{display:block;padding:0 4%}
.cg-story{max-width:none}
.cg-caption-line{justify-content:space-between;align-items:flex-start}
}
@media(max-width:600px){.cg-context-sheet .cg-artwork figcaption{grid-template-columns:1fr}.cg-caption-line{justify-content:flex-start}}
@media print{.cg-stories{display:block}.cg-story{max-width:none}}
/* Keep the larger render titles within the narrow original inter-image gaps. */
.cg-sheet:has(#cg-title-5) .cg-label{line-height:1.1}

.cg-heading .cg-toggle{align-self:center}
.cg-heading h2{min-width:0}
