/* Cultivera global navigation · directional scroll reveal.
   Behaviour is owned by cultivera-shell.js. This file only handles motion and
   keeps shared secondary navigation attached to the viewport when the main nav leaves. */

html.cv-nav-scroll-reveal .cv-global-nav {
  transform: translate3d(0, 0, 0);
  will-change: transform;
  transition:
    transform .32s var(--cv-shell-ease, cubic-bezier(.16,1,.3,1)),
    background .28s var(--cv-shell-ease, cubic-bezier(.16,1,.3,1)),
    color .28s var(--cv-shell-ease, cubic-bezier(.16,1,.3,1)),
    border-color .28s var(--cv-shell-ease, cubic-bezier(.16,1,.3,1)),
    backdrop-filter .28s var(--cv-shell-ease, cubic-bezier(.16,1,.3,1));
}

html.cv-nav-scroll-reveal.cv-global-nav-hidden .cv-global-nav {
  transform: translate3d(0, calc(-100% - 2px), 0);
  pointer-events: none;
}

/* Project pages keep their project rail useful while the global shell recedes. */
html.cv-nav-scroll-reveal .r42-project-nav {
  transition: top .32s var(--cv-shell-ease, cubic-bezier(.16,1,.3,1));
}

html.cv-nav-scroll-reveal.cv-global-nav-hidden .r42-project-nav {
  top: 0;
}

/* Insights keeps its local navigation attached to the viewport too. All local
   rails dock flush to the top while the global shell recedes. */
html.cv-nav-scroll-reveal .page-insights-r2 .ir-insights-nav,
html.cv-nav-scroll-reveal .paper-subnav,
html.cv-nav-scroll-reveal .story-subnav {
  transition: top .32s var(--cv-shell-ease, cubic-bezier(.16,1,.3,1));
}

html.cv-nav-scroll-reveal.cv-global-nav-hidden .page-insights-r2 .ir-insights-nav,
html.cv-nav-scroll-reveal.cv-global-nav-hidden .paper-subnav,
html.cv-nav-scroll-reveal.cv-global-nav-hidden .story-subnav {
  top: 0;
}

@media (prefers-reduced-motion: reduce) {
  html.cv-nav-scroll-reveal .cv-global-nav,
  html.cv-nav-scroll-reveal .r42-project-nav,
  html.cv-nav-scroll-reveal .page-insights-r2 .ir-insights-nav,
  html.cv-nav-scroll-reveal .paper-subnav,
  html.cv-nav-scroll-reveal .story-subnav {
    transition: none !important;
  }
}

/* Convergence: sticky secondary rails move through `top` only. Older project and
   Insights styles used transform as a second offset and could produce a visible jump
   when the global shell hid or returned. */
html.cv-nav-scroll-reveal .r42-project-nav,
html.cv-nav-scroll-reveal .page-insights-r2 .ir-insights-nav,
html.cv-nav-scroll-reveal.cv-global-nav-hidden .r42-project-nav,
html.cv-nav-scroll-reveal.cv-global-nav-hidden .page-insights-r2 .ir-insights-nav {
  transform:none !important;
}
