.osve-section{position:relative;height:400vh;background:#050505}.osve-hero{position:sticky;top:0;width:100%;height:100vh;height:100svh;overflow:hidden;background:#050505}.osve-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.osve-shade{position:absolute;inset:0;background:rgba(0,0,0,.3);pointer-events:none}.osve-content{position:absolute;z-index:2;top:50%;left:50%;width:calc(100% - 40px);max-width:920px;text-align:center;color:#fff;transform:translate(-50%,-50%);text-shadow:0 3px 24px rgba(0,0,0,.55)}.osve-eyebrow{margin:0 0 14px;font-size:13px;font-weight:800;letter-spacing:.24em;text-transform:uppercase}.osve-title{margin:0;color:inherit;font-size:clamp(42px,7vw,100px);line-height:.95;letter-spacing:-.045em}.osve-description{max-width:680px;margin:22px auto 30px;color:rgba(255,255,255,.9);font-size:clamp(16px,1.7vw,21px);line-height:1.6}.osve-button{display:inline-flex;min-height:52px;padding:0 28px;align-items:center;justify-content:center;border:1px solid #fff;border-radius:999px;background:#fff;color:#111;font-size:14px;font-weight:800;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;box-shadow:0 10px 35px rgba(0,0,0,.2);transition:transform .3s ease,color .3s ease,background .3s ease}.osve-button:hover{transform:translateY(-3px);background:transparent;color:#fff}.osve-scroll-hint{position:absolute;z-index:2;left:50%;bottom:max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.5);white-space:nowrap;transform:translateX(-50%);transition:opacity .35s ease}.osve-scroll-hint:before{content:"";width:18px;height:28px;border:2px solid currentColor;border-radius:12px}.osve-scroll-hint:after{content:"";position:absolute;left:8px;top:6px;width:4px;height:6px;border-radius:5px;background:currentColor;animation:osve-wheel 1.4s infinite}.osve-hero.is-scrolling .osve-scroll-hint{opacity:0}.osve-empty{padding:35px;border:1px dashed #aaa;text-align:center;background:#f6f6f6;color:#555}@keyframes osve-wheel{0%{transform:translateY(0);opacity:0}25%,75%{opacity:1}100%{transform:translateY(9px);opacity:0}}@media(max-width:767px){.osve-section{height:190vh}.osve-content{width:calc(100% - 28px)}.osve-description{margin:17px auto 24px;line-height:1.5}.osve-button{min-height:48px;padding:0 23px;font-size:12px}.osve-scroll-hint{bottom:max(18px,env(safe-area-inset-bottom));font-size:10px}}@media(prefers-reduced-motion:reduce){.osve-scroll-hint:after{animation:none}}
/* Final-frame protection: keep the decoded video visible while the next section enters. */
.osve-section{min-height:100vh}.osve-video{opacity:0;transition:opacity .15s linear}.osve-video.is-ready{opacity:1}

/* Elementor/theme compatibility: prevent a parent or theme rule from reducing the hero height. */
.elementor-widget-optimum_scroll_video,
.elementor-widget-optimum_scroll_video>.elementor-widget-container{overflow:visible!important}
.elementor-widget-optimum_scroll_video .osve-hero{height:var(--osve-viewport-height,100vh)!important;min-height:var(--osve-viewport-height,100vh)!important;max-height:none!important}
.elementor-widget-optimum_scroll_video .osve-video{width:100%!important;height:100%!important;min-height:100%!important;max-height:none!important;display:block!important;object-fit:cover!important}

/* The scrub distance must remain 400vh. Sticky needs visible overflow on Elementor parents. */
.elementor-widget-optimum_scroll_video .osve-section{height:400vh!important;min-height:400vh!important}
.e-con:has(.elementor-widget-optimum_scroll_video),
.elementor-section:has(.elementor-widget-optimum_scroll_video),
.elementor-container:has(.elementor-widget-optimum_scroll_video),
.elementor-column:has(.elementor-widget-optimum_scroll_video),
.elementor-widget-wrap:has(.elementor-widget-optimum_scroll_video){overflow:visible!important}

@media(max-width:767px){.elementor-widget-optimum_scroll_video .osve-section{height:400vh!important;min-height:400vh!important}}
