/* Same approved editorial layout; the skyline now grows in separate stages. */
#audience.audience-storyboard { background:var(--milk); }
#audience.audience-storyboard .audience-tiles {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(10px,1.25vw,20px);
  align-items:end;
}
#audience.audience-storyboard .audience-tile {
  border:1px solid color-mix(in srgb,var(--graphite) 14%,transparent);
  box-sizing:border-box;
  transition:none;
  transform:none;
}
#audience.audience-storyboard .audience-tile:nth-child(2) {
  border-color:color-mix(in srgb,var(--milk) 30%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--milk) 8%,transparent);
}
#audience.audience-storyboard .audience-type-block { position:relative; }
#audience.audience-storyboard .audience-copy-source,
#audience.audience-storyboard .audience-title-source {
  display:block;position:static;width:auto;height:auto;overflow:visible;
  clip-path:none;white-space:normal;
  padding-bottom:.16em;
}
#audience.audience-storyboard .audience-copy-visual,
#audience.audience-storyboard .audience-title-visual {
  display:none;position:absolute;inset:0;
  pointer-events:none;white-space:normal;overflow-wrap:break-word;
}
#audience.audience-storyboard .audience-caret {
  display:inline-block;width:1px;height:.9em;margin-left:.07em;
  vertical-align:-.06em;background:currentColor;
}
#audience.audience-storyboard .audience-caret[hidden] { display:none; }
#audience.audience-storyboard .flow-pending { opacity:0; }
/* Sources reserve every line before typing, including letters with descenders. */
#audience.audience-storyboard .audience-tile h3 { overflow:visible; }

/* An intrinsically tall scene switches to real flow rather than shrinking type
   or masking the text. This also applies to short desktop windows and phones. */
#audience.audience-storyboard.story-flow { padding-block:clamp(32px,5vw,64px); }
#audience.audience-storyboard.story-flow .audience-inner {
  height:auto;display:block;
}
#audience.audience-storyboard.story-flow .audience-heading { margin-bottom:24px; }
#audience.audience-storyboard.story-flow .audience-scene { height:auto;min-height:0; }
#audience.audience-storyboard.story-flow .audience-photo { height:auto; }
#audience.audience-storyboard.story-flow .audience-photo img {
  display:block;width:100%;height:auto;aspect-ratio:auto 1440/660;
  object-fit:contain;transform:none;
}
#audience.audience-storyboard.story-flow .audience-tower-window {
  position:relative;inset:auto;height:auto;margin-top:16px;
  overflow:visible;
}
#audience.audience-storyboard.story-flow .audience-tiles { height:auto; }
#audience.audience-storyboard.story-flow .audience-tile,
#audience.audience-storyboard.story-flow .audience-tile:nth-child(2),
#audience.audience-storyboard.story-flow .audience-tile:nth-child(3) {
  min-height:0;height:auto;padding:24px;gap:16px;
  border-radius:var(--radius-inner);
}
#audience.audience-storyboard.story-flow .source-section-cta { margin-top:24px; }
@media(max-width:900px) {
  #audience.audience-storyboard.story-flow .audience-tiles { grid-template-columns:minmax(0,1fr);gap:16px; }
  #audience.audience-storyboard.story-flow .audience-tower-window { margin-inline:0; }
  #audience.audience-storyboard.story-flow .audience-tile h3 { max-width:none; }
  #audience.audience-storyboard.story-flow .source-section-cta { align-items:flex-start;flex-direction:column;gap:8px; }
}
@media(prefers-reduced-motion:reduce) {
  #audience.audience-storyboard [data-audience-shown] { opacity:1;transform:none;clip-path:none; }
  #audience.audience-storyboard .audience-copy-source,
  #audience.audience-storyboard .audience-title-source { opacity:1; }
  #audience.audience-storyboard .audience-copy-visual,
  #audience.audience-storyboard .audience-title-visual { display:none; }
}
.motion-off #audience.audience-storyboard [data-audience-shown] { opacity:1;transform:none;clip-path:none; }
.motion-off #audience.audience-storyboard .audience-copy-source,
.motion-off #audience.audience-storyboard .audience-title-source { opacity:1; }
.motion-off #audience.audience-storyboard .audience-copy-visual,
.motion-off #audience.audience-storyboard .audience-title-visual { display:none; }
@media print {
  #audience.audience-storyboard [data-audience-shown] { opacity:1;transform:none;clip-path:none; }
  #audience.audience-storyboard .audience-copy-source,
  #audience.audience-storyboard .audience-title-source { opacity:1; }
  #audience.audience-storyboard .audience-copy-visual,
  #audience.audience-storyboard .audience-title-visual { display:none; }
}
