/* Persistent chapter nodes reveal in place; scene changes fade in both directions. */
.growth-route{margin-top:27px;border-left:2px solid #b8c9b0;padding-left:22px}.growth-stop{position:relative;padding:0 0 24px;min-height:85px}.growth-stop:before{content:'';position:absolute;left:-30px;top:3px;width:12px;height:12px;border-radius:50%;background:#d4a75c;border:1px solid #173123}.growth-stop span,.profile-fields span,.career-routes span{display:block;font-size:11px;color:#6c7960;margin-bottom:7px}.growth-stop strong{font-size:21px;line-height:1.25;display:block;font-weight:600}.profile-fields{margin-top:24px}.profile-fields>div{padding:13px 0;border-bottom:1px solid #17312320;display:flex;gap:18px;align-items:baseline}.profile-fields strong{font-size:20px;font-weight:600}.profile-fields span{font-size:11px;color:#9a6e2e}.plan-art{margin-top:20px}.plan-art svg{width:100%;height:120px;fill:#b58d43}.plan-grid{fill:none;stroke:#b5c5aa;stroke-width:1}.plan-draw{fill:none;stroke:#3d6750;stroke-width:3;stroke-dasharray:650;animation:plan-drawing 2.5s ease both}.plan-art p{font-size:13px;letter-spacing:.02em}.plan-art p span{color:#9a6e2e;padding:0 10px}.chapter-subtitle{font-size:16px;margin-top:13px;line-height:1.45}.build-sequence{margin-top:25px}.build-part{display:flex;gap:18px;padding:17px 0;border-bottom:1px solid #17312320;align-items:baseline}.build-part span{font-size:11px;color:#a87836}.build-part strong{font-size:24px;font-weight:500}.location-art{margin-top:20px}.location-art svg{width:100%;height:85px;fill:#d8e3ce;stroke:#718e66;stroke-width:2}.location-art p{font-size:17px;line-height:1.5}.location-art p span{color:#915509;font-family:FestivalSerif,Georgia,serif;font-size:22px}.career-routes{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px}.career-routes>div{padding:15px 0;border-top:2px solid #91a684;border-bottom:1px solid #17312325}.career-routes strong{font-size:17px;font-weight:600;line-height:1.4}.career-proof{margin-top:17px;font-size:12px;color:#526954;line-height:1.5}.career-proof span{font-size:11px}.learning-next{margin-top:23px}.learning-next p{font-size:11px;color:#6c7960;margin-bottom:9px}.learning-next strong{font-size:20px;display:block;line-height:1.5;color:#915509;font-weight:600}
#festivalbezoekers,#festival-life .fl-person,#festival-ordering,#festivalDJs .dj-performer,.seated-person,#stageLights,#speakerWaves,.dj-booth,.fl-hatch-light{transition:opacity .8s ease}
.construction-phase #festivalbezoekers,.construction-phase #festival-life .fl-person,.construction-phase #festival-ordering,.construction-phase #festivalDJs .dj-performer,.construction-phase .seated-person,.construction-phase .dj-booth,.construction-phase #stageLights,.construction-phase #speakerWaves,.construction-phase .fl-hatch-light{opacity:0;pointer-events:none}
.construction-phase .speaker-tower,.construction-phase .speaker-driver{animation:none!important;filter:none!important;transform:none!important}
.construction-phase .stage-beam{animation-play-state:paused}
#storyEntranceCords{opacity:0;transition:opacity .8s ease}.construction-phase .fl-closed-cord{opacity:0!important}.construction-phase .fl-lane-content{opacity:0!important}
#storyEntranceCords.is-active{opacity:1}
.story-scene,.story-fade,.story-stage-outline{opacity:0;transition:opacity .8s ease;pointer-events:none}.story-scene.is-active,.story-fade.is-visible,.story-stage-outline.is-active{opacity:1}
#side-stage{transition:opacity .8s ease}.side-structure #side-stage{opacity:0}.story-stage-outline path,.story-stage-outline rect,.story-stage-outline circle,.story-stage-outline use{fill:none!important;stroke:#3f6b50!important;stroke-width:1.3!important;vector-effect:non-scaling-stroke}.story-stage-outline use{opacity:.35}
.side-light-demo #stageLights{opacity:1}.side-light-demo #stageLights .stage-beam[data-stage="main"]{opacity:0!important}.side-light-demo #stageLights .stage-beam[data-stage="side"]{animation-play-state:running;opacity:.3}.side-light-demo #festivalDJs>g[data-stage="side"] .dj-booth{opacity:1}
.story-person-label{font:600 12px Manrope,Arial,sans-serif;fill:#173123;paint-order:stroke;stroke:#d4e6cf;stroke-width:4;stroke-linejoin:round}
.story-volunteer.story-working:not(.story-walking)>.story-person{animation:story-worker 3s ease-in-out infinite}.story-volunteer[data-team="2"]>.story-person{animation-delay:-1s}.story-volunteer[data-team="3"]>.story-person{animation-delay:-2s}
.forklift-idle{animation:forklift-idle .32s ease-in-out infinite}.story-forklift{opacity:1;transition:opacity .8s ease}.story-forklift.forklift-leaving{opacity:0;transition-delay:1.5s}#storyLogistics{transition-duration:1.2s}
.story-walking .story-person{animation:story-walk .55s ease-in-out infinite}
#finaleCaption{position:absolute;left:50%;bottom:30px;transform:translate(-50%,8px);padding:12px 24px;background:#173123ee;color:#eef3eb;text-align:center;font-size:clamp(18px,2vw,29px);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 1.2s,transform 1.2s}.story-final-result #finaleCaption{opacity:1;transform:translate(-50%,0)}
.firework-burst{filter:drop-shadow(0 0 4px var(--fw-color)) drop-shadow(0 0 8px #f8e6b5)}
@keyframes plan-drawing{from{stroke-dashoffset:650;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@keyframes forklift-idle{0%,100%{translate:0 0}50%{translate:.35px -.5px}}
@keyframes story-worker{0%,100%{translate:0 0}50%{translate:0 -1.3px}}
@keyframes story-walk{0%,100%{translate:0 0}50%{translate:0 -1px}}
@media(max-width:700px){.growth-stop{min-height:70px;padding-bottom:16px}.growth-stop strong{font-size:19px}.profile-fields strong{font-size:17px}.profile-fields>div{padding:10px 0}.career-routes{margin-top:15px;gap:10px}.career-routes strong{font-size:15px}.learning-next{margin-top:15px}.learning-next strong{font-size:18px}#finaleCaption{bottom:55px;padding:10px 13px;font-size:16px}.plan-art svg{height:95px}}
@media(prefers-reduced-motion:reduce){.story-person,.forklift-idle,.story-volunteer,.plan-draw{animation:none!important}.story-scene,.story-fade,.story-stage-outline,.story-forklift{transition:none!important}}

.fl-person{transition:opacity .8s ease}.construction-phase .fl-person{opacity:0;pointer-events:none}

.story-walking .story-leg{transform-origin:0px 14px;animation:story-leg .7s ease-in-out infinite}.story-walking .story-leg-right{animation-delay:-.35s}@keyframes story-leg{0%,50%,100%{transform:scaleY(1)}25%{transform:scaleY(.6)}}
.growth-route{margin-left:9px}

/* Logistics load/unload sequence and the final clean overview. */
.forklift-load,.story-dropped-box{pointer-events:none}.delivery-gone{opacity:0!important}
#scene-profile .story-forklift.forklift-leaving{transition-delay:9.5s}
.story-final-result .hotspot,.story-final-result #routeLine,.story-final-result #routeMarker{opacity:0!important;pointer-events:none}
.hotspot,#routeLine{transition:opacity .8s ease}
.step-exit{animation:step-disappear .45s ease both}
@keyframes step-disappear{to{opacity:0;transform:translateY(-5px)}}

.location-art svg{fill:#a6bb93;stroke:#42674c;stroke-width:2.5}

.career-stage{position:relative;min-height:300px;margin-top:24px}.career-route-group,.career-development{position:absolute;left:0;right:0;top:0}.career-stage .career-routes,.career-stage .learning-next{margin-top:0}

.story-final-result #routeNav{opacity:0;pointer-events:none}#routeNav{transition:opacity .8s ease}

/* Readable slide copy at presentation distance, without filling the map with text. */
.growth-stop span,.profile-fields span,.career-routes span,.build-part span{font-size:15px}
.growth-stop strong{font-size:25px}.profile-fields strong{font-size:24px}
.plan-art p{font-size:19px}.chapter-subtitle{font-size:22px}
.build-part strong{font-size:29px}.location-art p{font-size:22px}.location-art p span{font-size:27px}
.career-routes strong{font-size:22px}.career-proof{font-size:19px}.career-proof span{font-size:17px;display:block;margin-top:5px}
.learning-next p{font-size:17px}.learning-next strong{font-size:27px}
.chapter-caption{font-size:16px;line-height:1.5;margin-top:10px}.chapter-top{font-size:13px}
.chapter-facts{font-size:clamp(21px,1.7vw,27px)}.team-diagram text{font-size:14px}
@media(max-width:700px){.growth-stop strong,.profile-fields strong{font-size:21px}.career-routes strong{font-size:19px}.chapter-subtitle,.location-art p{font-size:20px}.chapter-caption{font-size:15px}.learning-next strong{font-size:23px}}
