.stockpoint-video-hero {
  --sp-transition-duration: 800ms;
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  overflow: hidden;
  background: #0a0a0a;
}

/* Synchronous first-frame shield. The class is set by inline pre-init before the widget markup. */
html.stockpoint-intro-loading::before,
html.stockpoint-intro-loading::after {
  content: "";
  position: fixed;
  pointer-events: auto;
}
html.stockpoint-intro-loading::before {
  inset: 0;
  z-index: 2147482990;
  background: #0a0a0a;
  opacity: 1;
  transition: opacity 450ms ease;
}
html.stockpoint-intro-loading::after {
  z-index: 2147482991;
  top: 50%;
  left: 50%;
  width: 72px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg,rgba(255,255,255,.16) 0 32%,#e30613 32% 52%,rgba(255,255,255,.16) 52% 100%);
  background-size: 220% 100%;
  transform: translate(-50%,-50%);
  animation: stockpoint-intro-loading-line 1.1s ease-in-out infinite;
  opacity: 1;
  transition: opacity 300ms ease;
}
html.stockpoint-intro-loading.stockpoint-intro-ready::before,
html.stockpoint-intro-loading.stockpoint-intro-ready::after { opacity: 0; pointer-events: none; }
html.stockpoint-intro-loading,
body.stockpoint-intro-loading { overflow: hidden !important; overscroll-behavior: none; }
html.stockpoint-intro-loading body > header,
html.stockpoint-intro-loading body .elementor-location-header,
html.stockpoint-intro-loading body .site-header,
html.stockpoint-intro-loading body [data-stockpoint-header] { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
@keyframes stockpoint-intro-loading-line { 0% { background-position: 100% 0; } 50% { background-position: 0 0; } 100% { background-position: -100% 0; } }

.stockpoint-video-hero *,
.stockpoint-video-hero *::before,
.stockpoint-video-hero *::after,
.stockpoint-video-hero__portal *,
.stockpoint-video-hero__portal *::before,
.stockpoint-video-hero__portal *::after,
.stockpoint-video-hero__floating-portal *,
.stockpoint-video-hero__floating-portal *::before,
.stockpoint-video-hero__floating-portal *::after { box-sizing: border-box; }

html.stockpoint-intro-active,
body.stockpoint-intro-active {
  overflow: hidden !important;
  overscroll-behavior: none;
}

.stockpoint-video-hero__portal {
  position: fixed !important;
  inset: 0 !important;
	z-index: 70 !important;
  width: 100% !important;
  height: 100vh;
  height: 100svh;
  height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  transform: none !important;
  isolation: isolate;
  pointer-events: none;
}

.stockpoint-video-hero__floating-portal {
  position: fixed !important;
  inset: 0 !important;
	z-index: 40 !important;
  width: 100% !important;
  height: 100vh;
  height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  pointer-events: none;
}

html.stockpoint-intro-active .stockpoint-video-hero__floating-portal { z-index: 71 !important; }
body.stockpoint-intro-active .elementor-location-header,
body.stockpoint-intro-active > header,
body.stockpoint-intro-active .site-header,
body.stockpoint-intro-active [data-stockpoint-header] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .8s ease, visibility 0s linear .8s;
}
body.stockpoint-intro-active.stockpoint-intro-exiting .elementor-location-header,
body.stockpoint-intro-active.stockpoint-intro-exiting > header,
body.stockpoint-intro-active.stockpoint-intro-exiting .site-header,
body.stockpoint-intro-active.stockpoint-intro-exiting [data-stockpoint-header] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

.stockpoint-video-hero__background,
.stockpoint-video-hero__background-overlay,
.stockpoint-video-hero__media,
.stockpoint-video-hero__intro,
.stockpoint-video-hero__poster,
.stockpoint-video-hero__video,
.stockpoint-video-hero__intro-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.stockpoint-video-hero__background { z-index: 0; background-color: #000; background-position: center; background-size: cover; }
.stockpoint-video-hero__media { z-index: 0; overflow: hidden; background: #000; }
.stockpoint-video-hero__background-overlay { z-index: 1; pointer-events: none; }

.stockpoint-video-hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  width: 100%;
  min-height: inherit;
  padding: 12vh 5vw;
}

.stockpoint-video-hero__content-inner {
  width: 820px;
  max-width: 100%;
  opacity: 1;
  transform: none;
  transition: opacity .95s cubic-bezier(.2,.7,.2,1), transform .95s cubic-bezier(.2,.7,.2,1);
}

.stockpoint-video-hero.is-intro-running .stockpoint-video-hero__content-inner { opacity: 0; transform: translateY(26px); }
.stockpoint-video-hero.is-content-visible .stockpoint-video-hero__content-inner { opacity: 1; transform: translateY(0); }
.stockpoint-video-hero.is-intro-running:not(.is-transitioning) .stockpoint-video-hero__content-inner { opacity: 0; }
.stockpoint-video-hero.is-instant-reveal .stockpoint-video-hero__content-inner { transition: none; }
.stockpoint-video-hero.is-content-revealing .stockpoint-video-hero__content-inner { will-change: transform, opacity; }

.stockpoint-video-hero__eyebrow { margin: 0 0 20px; color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; }
.stockpoint-video-hero__heading { margin: 0 0 24px; color: #fff; font-size: clamp(40px, 7.2vw, 104px); font-weight: 800; line-height: .97; letter-spacing: -.022em; }
.stockpoint-video-hero__description { max-width: 520px; margin: 0 0 30px; color: rgba(255,255,255,.9); font-size: clamp(15px, 1.6vw, 18px); line-height: 1.62; }
.stockpoint-video-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; }

.stockpoint-video-hero__cta,
.stockpoint-video-hero__skip,
.stockpoint-video-hero__scroll {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  cursor: pointer;
  font: inherit;
  text-decoration: none;
  transition-property: color, background-color, border-color, opacity, transform;
  transition-duration: 200ms;
}

.stockpoint-video-hero__cta { padding: 14px 22px; border-radius: 999px; font-weight: 700; }
.stockpoint-video-hero__cta--primary { color: #fff; background: #e30613; }
.stockpoint-video-hero__cta--secondary { color: #fff; border-color: rgba(255,255,255,.45); background: rgba(0,0,0,.12); }
.stockpoint-video-hero__cta:hover { transform: translateY(-2px); }

.stockpoint-video-hero__intro {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  width: 100%;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  overflow: hidden;
  isolation: isolate;
  background: transparent;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .6s ease, visibility 0s linear .6s;
}

html.stockpoint-intro-loading .stockpoint-video-hero.is-intro-active .stockpoint-video-hero__intro {
  opacity: 1;
  visibility: visible;
  background: #0a0a0a;
  pointer-events: auto;
  transition: background-color 450ms ease, opacity .6s ease, visibility 0s linear 0s;
}
html.stockpoint-intro-loading.stockpoint-intro-ready .stockpoint-video-hero__intro { background: transparent; }
html.stockpoint-intro-loading .stockpoint-video-hero.is-intro-active .stockpoint-video-hero__media { opacity: 0; transition: opacity 450ms ease; }
html.stockpoint-intro-loading.stockpoint-intro-ready .stockpoint-video-hero.is-intro-active .stockpoint-video-hero__media { opacity: 1; }

.stockpoint-video-hero__intro.is-initialized { opacity: 1; visibility: visible; pointer-events: none; }

.stockpoint-video-hero__portal .stockpoint-video-hero__intro { z-index: 1; }
.stockpoint-video-hero__portal .stockpoint-video-hero__media { z-index: 0; }

.stockpoint-video-hero__poster,
.stockpoint-video-hero__video,
.stockpoint-video-hero__intro-image,
.stockpoint-video-hero__slide { object-fit: cover; object-position: 50% 50%; }
.stockpoint-video-hero__poster { z-index: 3; opacity: 1; transition: opacity 350ms ease, visibility 0s linear 350ms; }
.stockpoint-video-hero__video { z-index: 1; --sp-brightness: 100%; --sp-contrast: 100%; --sp-saturation: 100%; filter: brightness(var(--sp-brightness)) contrast(var(--sp-contrast)) saturate(var(--sp-saturation)); }
.stockpoint-video-hero__intro-image,
.stockpoint-video-hero__slideshow,
.stockpoint-video-hero__slide { position: absolute; inset: 0; width: 100%; height: 100%; }
.stockpoint-video-hero__intro-image { z-index: 1; }
.stockpoint-video-hero__slideshow { z-index: 1; overflow: hidden; background: #0a0a0a; }
.stockpoint-video-hero__slide { opacity: 0; transform: scale(1.05); transition: opacity var(--sp-slide-transition,1000ms) ease; animation: none; }
.stockpoint-video-hero__slide.is-active { opacity: 1; animation: stockpoint-intro-ken-burns 20s ease-in-out infinite alternate; }
.stockpoint-video-hero__embed { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; }
.stockpoint-video-hero__embed-inner { position: absolute; inset: 0; width: 100%; height: 100%; }
.stockpoint-video-hero__embed iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;
  min-width: 177.78vh;
  min-height: 100vh;
  border: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.stockpoint-video-hero__intro-overlay { z-index: 4; pointer-events: none; }
.stockpoint-video-hero.is-video-playing .stockpoint-video-hero__poster,
.stockpoint-video-hero__media.is-video-playing .stockpoint-video-hero__poster,
.stockpoint-video-hero.is-media-ready .stockpoint-video-hero__poster,
.stockpoint-video-hero__media.is-media-ready .stockpoint-video-hero__poster { opacity: 0; visibility: hidden; }
.stockpoint-video-hero.has-video-error .stockpoint-video-hero__poster,
.stockpoint-video-hero__media.has-video-error .stockpoint-video-hero__poster { opacity: 1; visibility: visible; }

.stockpoint-video-hero__intro-ui { position: fixed; z-index: 5; bottom: 116px; left: 50%; display: flex; flex-direction: column; align-items: center; gap: 13px; width: min(220px, calc(100vw - 32px)); pointer-events: auto; transform: translateX(-50%); transition: opacity var(--sp-transition-duration) ease, transform var(--sp-transition-duration) ease; }
html:not(.stockpoint-intro-active):not(.stockpoint-intro-loading) .stockpoint-video-hero__intro-ui,
.stockpoint-video-hero__intro.is-hidden .stockpoint-video-hero__intro-ui { opacity: 0; visibility: hidden; pointer-events: none; }
.stockpoint-video-hero__intro-ui.is-top-left { top: 24px; right: auto; bottom: auto; left: 24px; transform: none; }
.stockpoint-video-hero__intro-ui.is-top-right { top: 24px; right: 24px; bottom: auto; left: auto; transform: none; }
.stockpoint-video-hero__intro-ui.is-bottom-left { right: auto; bottom: 116px; left: 24px; transform: none; }
.stockpoint-video-hero__intro-ui.is-bottom-right { right: 24px; bottom: 116px; left: auto; transform: none; }
body button.stockpoint-video-hero__skip,
body button.stockpoint-video-hero__skip:hover,
body button.stockpoint-video-hero__skip:focus,
body button.stockpoint-video-hero__skip:focus-visible,
body button.stockpoint-video-hero__skip:active {
  appearance: none !important;
  position: static;
  z-index: 1;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .22em;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 9px 16px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,.72) !important;
  background: rgba(0,0,0,.34) !important;
  box-shadow: none !important;
  font-family: 'Montserrat',system-ui,sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  transform: none !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.stockpoint-video-hero__skip:hover { color: #fff !important; border-color: rgba(255,255,255,.42) !important; background: rgba(0,0,0,.34) !important; }
.stockpoint-video-hero__skip-icon { display: inline-flex; color: currentColor; font-size: 10px; line-height: 1; }
.stockpoint-video-hero__skip:focus:not(:focus-visible) { outline: 0; }
.stockpoint-video-hero__skip:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.stockpoint-video-hero__progress { width: 150px; max-width: 100%; height: 2px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.24); }
.stockpoint-video-hero__progress-bar { display: block; width: 0; height: 100%; border-radius: inherit; background: #e30613; transition: width 120ms linear; }

.stockpoint-video-hero__bottom-ui {
	position: fixed;
	z-index: 3;
	right: 0;
	bottom: clamp(16px, 3vh, 28px) !important;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px !important;
	pointer-events: none;
}
.stockpoint-video-hero__floating-cta {
	--sp-cta-progress: 0;
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px !important;
  width: max-content;
  max-width: calc(100vw - 32px);
  padding: 7px !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: rgba(255,255,255,.14);
  border-radius: 999px !important;
  background: rgba(14,14,14,.6);
  box-shadow: 0 14px 44px rgba(0,0,0,.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
	transform: translateY(0);
	opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .5s ease, transform .5s ease, visibility 0s linear 0s;
}
.stockpoint-video-hero .stockpoint-video-hero__floating-button,
.stockpoint-video-hero__floating-portal .stockpoint-video-hero__floating-button { appearance: none; display: inline-flex; align-items: center; justify-content: center; min-width: 0 !important; min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 13px 20px !important; border-width: 1px !important; border-style: solid !important; border-radius: 999px !important; color: var(--sp-floating-color) !important; font: 700 13.5px/normal 'Montserrat',system-ui,sans-serif !important; letter-spacing: normal !important; text-decoration: none !important; white-space: nowrap; cursor: pointer; transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease, transform 200ms ease; }
.stockpoint-video-hero .stockpoint-video-hero__floating-primary,
.stockpoint-video-hero__floating-portal .stockpoint-video-hero__floating-primary { gap: 9px !important; padding-right: 22px !important; padding-left: 22px !important; border-width: 0 !important; }
.stockpoint-video-hero .stockpoint-video-hero__floating-secondary,
.stockpoint-video-hero__floating-portal .stockpoint-video-hero__floating-secondary { gap: 8px !important; padding-right: 20px !important; padding-left: 20px !important; border-width: 1px !important; }
.stockpoint-video-hero__floating-icon { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 1em; height: 1em; color: inherit; line-height: 1; }
.stockpoint-video-hero__floating-icon :is(svg, i) { display: block; width: 1em; height: 1em; color: currentColor; font-size: inherit; }
.stockpoint-video-hero__floating-primary .stockpoint-video-hero__floating-icon { width: 18px; height: 18px; font-size: 18px; }
.stockpoint-video-hero__floating-secondary .stockpoint-video-hero__floating-icon { width: 16px; height: 16px; font-size: 16px; }
.stockpoint-video-hero__floating-icon svg:not([fill="none"]) { fill: currentColor; }
.stockpoint-video-hero__floating-icon svg[fill="none"] { fill: none; }
.stockpoint-video-hero__floating-icon svg [stroke]:not([stroke="none"]) { stroke: currentColor; }
.stockpoint-video-hero__floating-label { color: inherit; }
.stockpoint-video-hero__floating-primary { background: #25d366; }
.stockpoint-video-hero .stockpoint-video-hero__floating-secondary,
.stockpoint-video-hero__floating-portal .stockpoint-video-hero__floating-secondary { border-color:rgba(255,255,255,.32)!important;background-color:rgba(10,10,10,.76)!important;box-shadow:0 6px 20px rgba(0,0,0,.24);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px) }
.stockpoint-video-hero .stockpoint-video-hero__floating-secondary:hover,
.stockpoint-video-hero .stockpoint-video-hero__floating-secondary:focus-visible,
.stockpoint-video-hero__floating-portal .stockpoint-video-hero__floating-secondary:hover,
.stockpoint-video-hero__floating-portal .stockpoint-video-hero__floating-secondary:focus-visible { border-color:rgba(255,255,255,.5)!important;background-color:rgba(10,10,10,.9)!important }
.stockpoint-video-hero__floating-button:visited { color: var(--sp-floating-color) !important; }
.stockpoint-video-hero__floating-button:hover,
.stockpoint-video-hero__floating-button:focus,
.stockpoint-video-hero__floating-button:focus-visible,
.stockpoint-video-hero__floating-button:active { color: var(--sp-floating-hover-color, var(--sp-floating-color)) !important; }
.stockpoint-video-hero__floating-button:hover { transform: translateY(-2px); }
.stockpoint-video-hero__floating-cta.is-floating-cta-hidden { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(20px); transition-delay: 0s, 0s, .5s; }
.stockpoint-video-hero__floating-cta.is-initial-reveal { animation: stockpoint-hero-reveal .7s .85s ease both; }

.stockpoint-video-hero__scroll { position: static; z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0; padding: 0; border: 0; border-radius: 0; color: rgba(255,255,255,.72); background: transparent; box-shadow: none; cursor: default; font-family: 'Montserrat',system-ui,sans-serif; font-size: 10px; font-weight: 600; line-height: 1; letter-spacing: .22em; text-transform: uppercase; opacity: 0; pointer-events: none; transform: none; transition: opacity .5s; }
.stockpoint-video-hero__scroll.is-scroll-visible { opacity: 1; }
.stockpoint-video-hero__scroll-icon { display: inline-flex; width: 14px; height: 14px; color: currentColor; font-size: 14px; }
.stockpoint-video-hero__scroll-icon :is(svg,i) { width: 1em; height: 1em; color: currentColor; }
.stockpoint-video-hero__scroll-icon svg:not([fill="none"]) { fill: currentColor; }
.stockpoint-video-hero__scroll-icon svg [stroke]:not([stroke="none"]) { stroke: currentColor; }
.stockpoint-video-hero__scroll.has-animation .stockpoint-video-hero__scroll-icon { animation: stockpoint-hero-bounce 1.4s ease-in-out infinite; }

.stockpoint-video-hero.is-transitioning .stockpoint-video-hero__intro,
.stockpoint-video-hero.is-intro-skipped .stockpoint-video-hero__intro,
.stockpoint-video-hero__intro.is-exiting {
  opacity: 0;
  pointer-events: none;
}
.stockpoint-video-hero__intro.is-exiting .stockpoint-video-hero__intro-ui { opacity: 0; transform: translateX(-50%) translateY(12px); pointer-events: none; }

.stockpoint-video-hero.is-intro-skipped .stockpoint-video-hero__intro,
.stockpoint-video-hero__intro.is-hidden { visibility: hidden; pointer-events: none; }

.stockpoint-video-hero :is(a, button):not(.stockpoint-video-hero__skip):focus-visible,
.stockpoint-video-hero__intro :is(a, button):not(.stockpoint-video-hero__skip):focus-visible,
.stockpoint-video-hero__floating-button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

@keyframes stockpoint-hero-bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
@keyframes stockpoint-hero-reveal { 0% { opacity: 0; transform: translateY(26px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes stockpoint-intro-ken-burns { 0% { transform: scale(1.05); } 100% { transform: scale(1.13) translate(-1.4%,-1%); } }

.stockpoint-video-hero.is-editor-preview .stockpoint-video-hero__intro {
  position: absolute;
  min-height: inherit;
  height: 100%;
}

.stockpoint-video-hero.is-editor-preview .stockpoint-video-hero__media { position: absolute; }

@media (max-width: 767px) {
  .stockpoint-video-hero__content { padding: 90px 20px 110px; }
  .stockpoint-video-hero__heading { font-size: clamp(38px, 12vw, 64px); }
  .stockpoint-video-hero__intro-ui { bottom: 170px; }
  .stockpoint-video-hero__bottom-ui { bottom: 16px !important; gap: 18px !important; padding: 0 16px; }
  .stockpoint-video-hero__floating-cta { flex-direction: column; gap:6px!important; width:auto; max-width:calc(100vw - 32px); padding:0!important; border:0!important; border-radius:0!important; background:transparent; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
  .stockpoint-video-hero .stockpoint-video-hero__floating-button,
  .stockpoint-video-hero__floating-portal .stockpoint-video-hero__floating-button { width:min(280px,calc(100vw - 32px)); padding:10px 15px!important; font-size:12px!important; font-weight:700!important; line-height:1.15!important; }
  .stockpoint-video-hero .stockpoint-video-hero__floating-primary,
  .stockpoint-video-hero__floating-portal .stockpoint-video-hero__floating-primary,
  .stockpoint-video-hero .stockpoint-video-hero__floating-secondary,
  .stockpoint-video-hero__floating-portal .stockpoint-video-hero__floating-secondary { gap:6px!important; padding-right:15px!important; padding-left:15px!important; }
  .stockpoint-video-hero__floating-primary .stockpoint-video-hero__floating-icon { width:15px;height:15px;font-size:15px }
  .stockpoint-video-hero__floating-secondary .stockpoint-video-hero__floating-icon { width:14px;height:14px;font-size:14px }
  .stockpoint-video-hero__ctas { flex-direction: column; align-items: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  .stockpoint-video-hero *, .stockpoint-video-hero *::before, .stockpoint-video-hero *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.stockpoint-video-hero__slide { transform: none; }
}
