/* ===============================
   SCROLL SCENE CONTAINER
================================ */
.scroll-scene {
  position: relative;
  min-height: 220vh;
  background: #f7f4ef;
}

/* ===============================
   PINNED STAGE (Elementor FREE)
================================ */
.scene-pin {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* ===============================
   VIDEO CAPSULE (ELEMENTOR VIDEO)
================================ */

/* Elementor wraps video like:
   .video-mask > .elementor-widget-container > .elementor-wrapper > video
*/

.video-mask .elementor-wrapper {
  position: relative;
  width: 92%;
  height: 70vh;
  margin: 0 auto;
  border-radius: 9999px;
  overflow: hidden;
  will-change: width, height, border-radius;
}

/* Force media to fill */
.video-mask video,
.video-mask iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Dark overlay */
.video-mask .elementor-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
  z-index: 1;
}

/* ===============================
   TEXT — TRUE VIEWPORT CENTER
================================ */
.scene-text {
  position: fixed;
  top: 50%;
  left: 50%;
  width: min(900px, calc(100% - 48px));
  padding: 0 24px;
  text-align: center;
  pointer-events: none;
  z-index: 999;

  opacity: 0;
  transform: translate(-50%, -50%) translateY(40px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.scene-text.is-active {
  opacity: 1;
  transform: translate(-50%, -50%) translateY(0);
}

/* ===============================
   MOBILE DISABLE
================================ */
@media (max-width: 768px) {
  .scroll-scene,
  .scene-text {
    display: none !important;
  }
}
