/* orbit prototype layer: the canvas sits over the poster, under the wordmark and footer */
#stage{position:fixed;inset:0;opacity:0;transition:opacity 1.6s ease .2s;touch-action:none}
#stage canvas{display:block;width:100%;height:100%}
.orbit body.on #stage{opacity:1}
.orbit .hero video{display:none}
.video #stage{display:none}
.orbit body{cursor:grab}
.grabbing body{cursor:grabbing}
.orbit .foot,.orbit .brand{user-select:none;-webkit-user-select:none}
/* v3: overlay ink follows the scene (set per frame from the day/night blend) */
.orbit .foot{color:var(--fc,#fbfaf6);text-shadow:0 1px 14px rgba(8,16,24,var(--fsh,.18))}
.orbit body.on .mark{filter:drop-shadow(0 1px 10px rgba(8,16,24,calc(var(--fsh,.18) * .8)))}
/* v4 swipe hint — thin ivory/ink line arrows + spaced caps, colour follows the day/night overlay */
.ohint{position:fixed;left:50%;top:66%;transform:translate(-50%,8px);display:flex;flex-direction:column;align-items:center;gap:10px;
  color:var(--fc,#fbfaf6);opacity:0;transition:opacity 1.4s ease,transform 1.4s ease;pointer-events:none;z-index:4;
  filter:drop-shadow(0 1px 8px rgba(8,16,24,var(--fsh,.22)))}
.ohint.in{opacity:.9;transform:translate(-50%,0)}
.ohint.gone{opacity:0;transform:translate(-50%,6px)}
.ohint-g{width:88px;height:auto;overflow:visible;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.ohint span{font-family:inherit;font-size:9.5px;letter-spacing:.42em;text-transform:uppercase;padding-left:.42em;white-space:nowrap}
.ohint-lr{animation:ohLR 2.6s ease-in-out infinite}
.ohint-up{animation:ohUP 2.6s ease-in-out 1.3s infinite;opacity:.85}
.ohint-dev{animation:ohLR 2.6s ease-in-out infinite;opacity:.8}
@keyframes ohLR{0%,100%{transform:translateX(0)}30%{transform:translateX(-6px)}65%{transform:translateX(6px)}}
@keyframes ohUP{0%,100%{transform:translateY(0)}45%{transform:translateY(-5px)}}
@media (max-width:600px){.ohint{top:69%}.ohint-g{width:76px}}
@media (prefers-reduced-motion:reduce){.ohint-lr,.ohint-up,.ohint-dev{animation:none}.ohint{transition:opacity .4s}}
/* v6: hint ink follows the logo ink — deep navy by day, crossfading to ivory at dusk / night / top-down (same --ink blend);
   a faint light edge by day only (fades to nothing as the ink turns ivory) */
.ohint{color:var(--ink,#16242c);filter:drop-shadow(0 0 3px rgba(255,252,245,calc((.48 - var(--fsh,.18)) * .9)))}
