/* One native scroll scene, with readable natural flow when its content is taller. */
.story-runway,.hero-runway { overflow-anchor:none; }
.story-runway-held { height:calc(var(--story-screens,2.8) * 100svh - var(--story-header,72px)); }
.story-runway-held > .story-scene.story-held { position:sticky;top:var(--story-header,72px);height:var(--story-height,calc(100svh - var(--story-header,72px)));min-height:0; }
.story-scene.story-flow { height:auto!important;min-height:0; }
.story-mobile-beat { position:relative;min-width:0;align-self:start;overflow:visible; }
.story-mobile-frame { position:sticky;display:flow-root;min-width:0; }
#results.story-flow .story-mobile-frame .deck-copy { margin-top:24px; }
@media print{.story-mobile-beat{height:auto!important}.story-mobile-frame{position:static!important}}
.story-flow > .container { height:auto; }
.story-flow .flow-pending { opacity:0;pointer-events:none; }
.story-scene .story-type-layer { position:absolute;inset:0;pointer-events:none; }
.story-scene .story-type-source { display:block;padding-bottom:.15em; }
.story-scene .story-type-caret { display:inline-block;width:1px;height:.85em;background:currentColor;vertical-align:baseline; }
@media(prefers-reduced-motion:reduce){.story-runway-held{height:auto}.story-runway-held > .story-scene.story-held{position:static;height:auto}.story-flow .flow-pending{opacity:1!important}}
@media print{.story-runway{height:auto!important}.story-scene{height:auto!important;position:static!important}.story-flow .flow-pending{opacity:1!important}}

.story-measuring,.story-measuring * { transform:none!important;clip-path:none!important; }
/* Static final state remains complete if the animation module is unavailable. */
#result:not(.manifesto-storyboard) .manifesto-outcome { background:var(--burgundy);color:var(--milk);padding:var(--space-6);border-radius:var(--radius-lg); }
#result:not(.manifesto-storyboard) .manifesto-outcome h3,
#result:not(.manifesto-storyboard) .manifesto-outcome p,
#result:not(.manifesto-storyboard) .manifesto-outcome a { color:var(--milk); }
#audience:not(.audience-storyboard) .audience-tile { border:1px solid color-mix(in srgb,var(--graphite) 14%,transparent); }
#process:not(.process-storyboard),#result:not(.manifesto-storyboard):has(details[open]) { height:auto;min-height:0; }
#process:not(.process-storyboard) > .container,#process:not(.process-storyboard) .week-body,#process:not(.process-storyboard) .week-phases,#result:not(.manifesto-storyboard) .manifesto-spread { height:auto; }
#process:not(.process-storyboard) .week-phases article:first-child { background:var(--sunken);padding:var(--space-5);border-radius:var(--radius-lg); }

#audience.story-flow.story-mobile-active .audience-photo { position:sticky;top:calc(var(--story-header,64px) + 12px);z-index:2;background:var(--milk); }

#process.story-flow .story-mobile-frame .week-strip,#result.story-flow .story-mobile-frame .source-route { margin-top:24px; }
