/* GIST V5 / Scroll-to-Architecture: only scene presentation changes. */
.experience{height:460svh}
.experience-sticky{position:sticky;top:0;overflow:hidden}
.stage{--v50-sep:0;--v50-drop:0;--v50-reunion:0;--story-p:0;--fallback-in:0;--word-opacity:0}
.hero-story-chapters{position:absolute;z-index:8;left:4%;top:9%;width:min(335px,38%);height:40%;pointer-events:none}
.hero-story-card{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:12px;opacity:0;transform:translateY(18px);transition:opacity .35s ease,transform .35s ease}
.hero-story-card small,.reunion-kicker{font-size:10px;letter-spacing:.2em;color:#d8b38d}
.hero-story-card strong,.hero-reunion strong{font-family:Georgia,serif;font-weight:400;line-height:1.04;letter-spacing:-.065em;color:#f3eae0;font-size:clamp(26px,3.1vw,55px)}
.hero-story-card em,.hero-reunion em{color:#d8a87e;font-weight:normal}
.hero-story-card span,.hero-reunion p{font-size:13px;color:#beb3a4;line-height:1.7}
.stage[data-story-chapter="1"] .story-split,.stage[data-story-chapter="2"] .story-flow{opacity:1;transform:translateY(0)}
.hero-reunion{position:absolute;left:5%;top:11%;z-index:9;max-width:410px;display:flex;flex-direction:column;gap:16px;opacity:0;transform:translateY(30px);pointer-events:none;transition:opacity .45s ease,transform .6s ease}
.stage.story-finale .hero-reunion{opacity:var(--v50-reunion);transform:translateY(calc((1 - var(--v50-reunion))*30px));pointer-events:auto}
.hero-reunion strong{font-size:clamp(35px,3.7vw,62px)}
.hero-reunion a{display:inline-flex;align-items:center;gap:18px;color:#161616;background:#e7d3b5;padding:13px 20px;font-size:12px;text-decoration:none;width:max-content}
.hero-story-status{position:absolute;z-index:8;bottom:3%;left:10%;right:10%;display:flex;align-items:center;gap:12px;color:#c2a98f;font-size:9px;letter-spacing:.11em;pointer-events:none}
.story-status-line{width:65px;background:#bd916d54;height:1px;display:block}.story-status-line i{background:#d4a87c;height:2px;width:0;display:block}
.stage.story-finale .hero-story-chapters{opacity:0}
.stage.story-finale .floating-words{opacity:calc(var(--word-opacity)*.3)}
.stage.scene-active .stage-cinematic{opacity:0!important;pointer-events:none}
.stage.no-webgl:not(.story-fragments) .stage-cinematic{opacity:1!important}
/* Fallback uses crops from the same cinematic study; not mismatched low-detail images. */
.stage-fallback-pieces{position:absolute;inset:4% 0 2%;z-index:2;pointer-events:none;opacity:0;transition:opacity .35s}
.stage.story-fragments.no-webgl .stage-fallback-pieces{opacity:1}
.stage.story-fragments.no-webgl .stage-cinematic{opacity:0!important}
.fallback-fragment{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:contrast(1.07) brightness(.91) saturate(.60);transform-origin:center;will-change:transform}
.fragment-shell{clip-path:polygon(1% 22%,64% 12%,100% 35%,100% 100%,3% 100%);transform:translate3d(calc(var(--v50-sep)*-11%),calc(var(--v50-drop)*85%),0)}
.fragment-roof{clip-path:polygon(3% 0%,100% 0%,100% 30%,40% 30%);transform:translate3d(0,calc(var(--v50-sep)*-35% + var(--v50-drop)*25%),0)}
.fragment-shelf{clip-path:polygon(0% 32%,38% 30%,40% 82%,0% 83%);transform:translate3d(calc(var(--v50-sep)*-18%),calc(var(--v50-drop)*104%),0)}
.fragment-lounge{clip-path:polygon(28% 55%,61% 45%,69% 96%,26% 96%);transform:translate3d(calc(var(--v50-sep)*-4%),calc(var(--v50-drop)*135%),0)}
.fragment-work{clip-path:polygon(61% 40%,100% 36%,100% 95%,66% 95%);transform:translate3d(calc(var(--v50-sep)*15%),calc(var(--v50-drop)*112%),0)}
.fragment-detail{clip-path:polygon(0% 82%,100% 80%,100% 100%,0% 100%);transform:translate3d(0,calc(var(--v50-drop)*145%),0)}
.stage.no-webgl .stage-fallback,.stage.no-webgl .stage-fallback-whole,.stage.no-webgl .stage-fallback-exploded{display:none!important}
.stage:not(.scene-active) .model-controls{opacity:.7}
.stage.story-motion .model-hint{opacity:.3}
@media(max-width:760px){.experience{height:290svh}.hero-story-chapters{top:10%;left:3%;width:70%;height:35%}.hero-story-card strong{font-size:27px}.hero-story-card span{font-size:10px}.hero-story-status{bottom:0;left:6%;right:6%;font-size:7px}.hero-reunion{top:10%;left:4%;max-width:65%;gap:7px}.hero-reunion strong{font-size:28px}.hero-reunion p{font-size:10px}.hero-reunion a{font-size:9px;padding:9px 10px}.fallback-fragment{object-fit:contain}.stage{top:45%;height:38%}}
@media(prefers-reduced-motion:reduce){.experience{height:105svh}.stage-fallback-pieces,.floating-words,.hero-story-chapters,.hero-story-status{display:none!important}.stage .stage-cinematic{opacity:1!important}.stage canvas{opacity:0!important}.hero-reunion{display:none!important}}
