/* ○Ṛ● WORKS Workstation journey v0.8 — progressive enhancement, loaded by / and /workstation/.
   Departure: the homepage artwork itself pushes in toward the desk (no second copy of the picture, so
   nothing can mismatch what the visitor was looking at), then darkens.
   Arrival: /workstation/ opens on the identical zoomed, darkened frame and dissolves into the page.
   Remove the <link>/<script> tags and the site is exactly v0.7 (legacy overlay in hybrid-v06.css takes over). */

:root{
  --jv-ms:1100ms;
  --jv-ease:cubic-bezier(.34,.02,.16,1);
  /* one scrim, used by both pages, so the last departure frame equals the first arrival frame */
  --jv-scrim:linear-gradient(rgba(5,7,11,.46),rgba(5,7,11,.46)),
    radial-gradient(circle at var(--jv-ox,84%) var(--jv-oy,72%),rgba(5,7,11,0) 0,rgba(5,7,11,0) 12%,rgba(5,7,11,.22) 30%,rgba(5,7,11,.82) 76%);
}

/* Touch hygiene: no browser tap rectangle over the invisible doors; keyboard focus ring is kept. */
.art-hotspot,.explore-toggle,.explore-panel a{-webkit-tap-highlight-color:transparent}
.art-hotspot{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.art-hotspot:focus:not(:focus-visible){outline:none;background:transparent;box-shadow:none}

/* ---------- Departure (homepage) ---------- */
body.jv-go .founder-home{
  transform-origin:var(--jv-ox) var(--jv-oy);
  animation:jvZoom var(--jv-ms) var(--jv-ease) both;
}
@keyframes jvZoom{0%{transform:scale(1)}100%{transform:scale(2.4)}}
body.jv-go .journey{background:transparent}
body.jv-go .journey::after{display:none}
body.jv-go .journey-art{background:var(--jv-scrim);transform:none;animation:jvScrim var(--jv-ms) ease-in both}
@keyframes jvScrim{0%,12%{opacity:0}100%{opacity:1}}
body.jv-go .journey-note{animation:jvNote var(--jv-ms) ease both}
@keyframes jvNote{0%,24%{opacity:0}40%,72%{opacity:.85}100%{opacity:0}}
body.home-only.hybrid-home.jv-go .explore-wrap{animation:jvGone 240ms ease-out both}
@keyframes jvGone{0%{opacity:1}100%{opacity:0}}

/* ---------- Arrival (/workstation/) ---------- */
html.oro-arrive::before,html.oro-arrive::after{content:"";position:fixed;inset:0;pointer-events:none}
html.oro-arrive::before{
  z-index:2147483000;
  background:#454d5a url(/assets/images/1000079538.webp) center/cover no-repeat;
  transform-origin:0 0;transform:var(--jv-end-matrix,none);
  animation:jvArrive 950ms cubic-bezier(.33,0,.2,1) 90ms both;
}
html.oro-arrive::after{z-index:2147483001;background:var(--jv-scrim);animation:jvArrive 950ms cubic-bezier(.33,0,.2,1) 90ms both}
@media(max-width:767px){html.oro-arrive::before{background-image:url(/assets/images/1000079539.webp)}}
@keyframes jvArrive{0%{opacity:1;visibility:visible}99%{visibility:visible}100%{opacity:0;visibility:hidden}}
html.oro-arrive main{animation:jvRise 900ms cubic-bezier(.2,.7,.2,1) 260ms both}
@keyframes jvRise{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  body.jv-go .founder-home,body.jv-go .journey-art,body.jv-go .journey-note{animation:none!important}
  html.oro-arrive::before,html.oro-arrive::after{display:none!important}
  html.oro-arrive main{animation:none!important}
}
