/* Independent narrative artwork. The copied text and scroll foundation stays local. */
body:not([data-chapter="00"]) .central-chevron{visibility:hidden}
.story-stage{position:fixed;inset:0;z-index:1;pointer-events:none;visibility:hidden;color:#f5f0e9;overflow:hidden}
.story-canvas{position:absolute;left:64%;top:50%;transform:translate(-50%,-50%);width:min(68vw,1000px);height:min(86svh,800px);overflow:visible}
.story-layer{opacity:0}.light .story-stage{color:#302c29}.hairline{fill:none;stroke:currentColor;stroke-width:1;opacity:.4}
.micro{font:12px 'Helvetica Neue',Arial,sans-serif;letter-spacing:2px;fill:currentColor}.poster-small{font:11px 'Helvetica Neue',Arial,sans-serif;letter-spacing:1.2px}.poster-title{font:800 82px 'Helvetica Neue',Arial,sans-serif;letter-spacing:-5px}.poster-medium{font:800 40px 'Helvetica Neue',Arial,sans-serif;letter-spacing:-2px}.mosaic-signature{font:500 40px 'Helvetica Neue',Arial,sans-serif;letter-spacing:-1px;fill:currentColor}
.format{transform-box:view-box;transform-origin:500px 400px}.identity-mark,.invitation-shapes{transform-origin:500px 400px}.invitation-word{font:800 72px 'Helvetica Neue',Arial,sans-serif;letter-spacing:-4px;fill:#f5f0e9}
.participate{position:fixed;z-index:6;left:64%;bottom:12svh;transform:translateX(-50%);font-size:13px;padding:14px 0;border-bottom:1px solid #e9b88888;color:#e9b888;min-width:165px;text-align:left}.participate span{float:right;margin-left:35px}.participate:hover{color:#fff;border-color:#fff}.participate[hidden]{display:none}.is-interactive .story-canvas{pointer-events:auto;cursor:crosshair;touch-action:pan-y}
.contact-link{display:inline-block;padding:16px 0;border-bottom:1px solid #f37b65;color:#f37b65;font-size:15px;margin-top:28px}.contact-link span{margin-left:24px}.contact-link:hover{color:#f5f0e9}.ending-copy .restart-link{margin-top:16px;opacity:.6}
@media(max-width:1199px) and (min-width:900px){.story-canvas{left:65%;width:65vw}}
@media(max-width:899px){.story-canvas{left:50%;top:53%;width:100vw;height:calc(100svh - 260px)}.participate{left:50%;bottom:19svh;font-size:12px}.micro{font-size:15px;letter-spacing:1.5px}.story-stage:has(.invitation-layer){pointer-events:none}body[data-chapter="07"] .story-canvas{top:64%;height:50svh}header>span{max-width:150px;text-align:right;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.format,.identity-mark,.invitation-shapes{transform:none!important}}

/* Four independent oversized masks replace the opening's fullscreen photo without
   a fade. The light theme is underneath them and appears as their edges retreat. */
.convergence-stage{position:fixed;inset:0;z-index:1;overflow:hidden;pointer-events:none;visibility:hidden;color:#302c29}
.convergence-canvas{display:block;width:100%;height:100%;overflow:hidden}
.connection-copy-content{will-change:opacity}

/* Labels translate with the triangle edge; their type never inherits its zoom. */
.triangle-label{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:750;letter-spacing:-.02em}
.triangle-copy-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* A steady screen for the topic chapters; no independent poster movement. */
.screen-outline{fill:none;stroke:currentColor;stroke-width:1;opacity:.25}
.screen-eyebrow{font:500 11px 'Helvetica Neue',Arial,sans-serif;letter-spacing:1.1px;fill:inherit}
.participation-screen,.digital-screen{fill:#f5f0e9}
.screen-headline{font:750 67px 'Helvetica Neue',Arial,sans-serif;letter-spacing:-2px;fill:#f5f0e9}
.screen-choices{font:600 15px 'Helvetica Neue',Arial,sans-serif;fill:#e9b888}
.screen-poster{font:800 53px 'Helvetica Neue',Arial,sans-serif;letter-spacing:-2px}
.screen-caption{font:650 15px 'Helvetica Neue',Arial,sans-serif;letter-spacing:0}
.closing{height:190svh}.closing-invitation{margin-top:28px;font-weight:650}
.closing .contact-link{color:#a44d3d;border-color:#a44d3d;margin-top:4px}
.closing .contact-link:hover{color:#302c29}
@media(max-width:899px){.closing .held-copy{top:16px}.closing-invitation{margin-top:18px}.closing .contact-link{font-size:14px;padding:10px 0}}
