/* No‑Code‑Sidebar‑Scrollytelling (Fixed) */
.ncst-wrap { position: relative; }
.ncst-scene {
  position: sticky;
  top: var(--top, 0px);
  min-height: var(--vh, 100vh);
  display: grid;
  place-items: center;
  overflow: clip;
  transition: transform 0.001s var(--ncst-ease, ease), opacity 0.001s var(--ncst-ease, ease), filter 0.001s var(--ncst-ease, ease), clip-path 0.001s var(--ncst-ease, ease);
  clip-path: var(--ncst-clip, inset(0 0 0 0));
}
.ncst-scene + .ncst-scene { margin-top: calc(-1 * var(--overlap, 30vh)); }
.ncst-media { position: absolute; inset: 0; overflow: hidden; z-index: 1; }
.ncst-bg { position: absolute; inset:0; background-size: cover; background-position: center; transform: translate3d(0,0,0); }
.ncst-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ncst-inner { position: relative; z-index: 2; max-width: 980px; padding: clamp(2rem, 4vw, 4rem) 2rem; color: #fff; text-align: center; text-shadow: 0 8px 32px rgba(0,0,0,.35); }
.ncst-title { font-size: clamp(2rem, 4.5vw, 4.25rem); line-height: 1.05; font-weight: 800; letter-spacing: .2px; }
.ncst-text { font-size: clamp(1rem, 2.2vw, 1.25rem); opacity: .95; margin-top: .75rem; }
.ncst-cta { display: inline-block; margin-top: 1.25rem; padding: .8rem 1.1rem; border-radius: 12px; background: rgba(255,255,255,.1); color: #fff; text-decoration: none; backdrop-filter: blur(6px); }

.ncst-char, .ncst-word { display: inline-block; will-change: transform, opacity, clip-path; }

@media (max-width: 767px){
  .ncst-inner{ padding: 2rem 1rem; }
}