/* One graphite field. Only the content changes between software and science. */
body{background:var(--bg)}
.software-stage,.scroll-study>.stage{background:var(--bg)}
.software-stage>.software-copy,.software-stage>.software-visual,.software-stage>.software-footer,.software-stage>.software-header,.software-stage>.anime-festival{opacity:var(--software-presence,1)}
.scroll-study>.stage>.frame,.scroll-study>.stage>#geometry,.scroll-study>.stage>.vignette,.scroll-study>.stage>.anime-festival{opacity:var(--research-presence,1)}
.bridge-in-progress .software-stage,.bridge-in-progress .scroll-study>.stage{position:fixed;top:0;left:0;right:0;width:100%;height:100svh}
.bridge-in-progress .software-stage{z-index:1}
.bridge-in-progress .scroll-study>.stage{z-index:2;background:transparent}
.software-research-bridge{position:fixed;inset:0;z-index:7;pointer-events:none;opacity:var(--bridge-presence,0)}
.software-research-bridge[hidden]{display:none}
.software-research-bridge canvas{position:absolute;inset:0;width:100%;height:100%}
.bridge-copy{position:absolute;top:72%;left:5vw;right:5vw;text-align:center;opacity:var(--bridge-message,0)}
.bridge-copy>p{font:9px var(--mono);letter-spacing:1.7px;color:#8aa5b1;margin:0 0 16px}
.bridge-copy h2{font-size:32px;line-height:1.15;font-weight:450;letter-spacing:-.04em;margin:0;color:#dce8e9}
.bridge-copy h2 span{color:#a7dce0;text-shadow:0 0 21px #a7dce02a}
.bridge-route{position:absolute;top:9%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:22px;font:10px var(--mono);color:#9dafb7}
.bridge-route i{width:85px;height:1px;background:linear-gradient(90deg,#a7dce030,#a7dce0,#a7dce030);box-shadow:0 0 10px #a7dce035}
@media(max-height:800px){.bridge-copy{top:73%}.bridge-copy h2{font-size:27px}.bridge-copy>p{font-size:8px;margin-bottom:13px}}
