/* Hero slide. Standalone it is a 70vh block; inside SgHeroSlider the slider
   pins it to the stage (absolute, inset 0) and animates it. */
.cc_b3eorip4_CnSENvRqGr .sg-hsl {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100%;
  min-height: var(--st-min, 70vh);
  overflow: hidden;
  display: grid;
  color: var(--hsl-fg, #fff);
  background: #0e1116;
}

/* ---------- background media ---------- */
.cc_b3eorip4_CnSENvRqGr .sg-hsl__bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.cc_b3eorip4_CnSENvRqGr .sg-hsl__bg .sg-hsl__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
  /* empty state: a calm cool gradient instead of a grey box */
  background:
    radial-gradient(120% 90% at 78% 18%, rgba(90, 110, 160, 0.38) 0%, rgba(90, 110, 160, 0) 55%),
    radial-gradient(90% 80% at 10% 100%, rgba(31, 63, 216, 0.28) 0%, rgba(31, 63, 216, 0) 60%),
    linear-gradient(135deg, #1a2029 0%, #0e1116 100%);
}
.cc_b3eorip4_CnSENvRqGr .sg-hsl__bg .sg-media__empty { color: rgba(255, 255, 255, 0.18); }
.cc_b3eorip4_CnSENvRqGr .sg-hsl__bg .sg-mf__img, .cc_b3eorip4_CnSENvRqGr .sg-hsl__bg .sg-mf__video { will-change: transform; transform-origin: var(--sg-focus-pos, 50% 50%); }

.cc_b3eorip4_CnSENvRqGr .sg-hsl__shade { position: absolute; inset: 0; pointer-events: none; background: var(--hsl-shade, transparent); }

/* whole-slide link sits under the content; text lets clicks fall through to it */
.cc_b3eorip4_CnSENvRqGr .sg-hsl__link { position: absolute; inset: 0; z-index: 1; }

/* hotspot layer (children position against --sg-img-* written by index.tsx) */
.cc_b3eorip4_CnSENvRqGr .sg-hsl__hot { position: absolute; inset: 0; z-index: 3; pointer-events: none; }

/* ---------- content ---------- */
.cc_b3eorip4_CnSENvRqGr .sg-hsl__inner {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: var(--pos-x, start);
  align-items: var(--pos-y, end);
  width: 100%;
  max-width: calc(var(--sg-container) + var(--sg-gutter) * 2);
  margin-inline: auto;
  /* a transparent header overlapping the hero publishes --sg-header-offset */
  padding: calc(var(--hsl-pad-t, clamp(40px, 7vw, 96px)) + var(--sg-header-offset, 0px)) calc(var(--sg-gutter) + var(--hsl-pad-x, 0px)) var(--hsl-pad-b, clamp(48px, 7vw, 104px));
  pointer-events: none;
}
.cc_b3eorip4_CnSENvRqGr .sg-hsl__content {
  display: grid;
  justify-items: var(--pos-x, start);
  gap: 18px;
  width: 100%;
  max-width: var(--hsl-maxw, 640px);
  text-align: var(--pos-ta, left);
}
.cc_b3eorip4_CnSENvRqGr .sg-hsl__content a, .cc_b3eorip4_CnSENvRqGr .sg-hsl__content button, .cc_b3eorip4_CnSENvRqGr .sg-hsl__content .sg-cta__btn { pointer-events: auto; }

.cc_b3eorip4_CnSENvRqGr .sg-hsl--card .sg-hsl__content {
  padding: clamp(24px, 3vw, 44px);
  border-radius: var(--sg-r-card);
  background: var(--hsl-card, rgba(17, 19, 21, 0.36));
  pointer-events: auto;
}
.cc_b3eorip4_CnSENvRqGr .sg-hsl--glass .sg-hsl__content {
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  backdrop-filter: blur(18px) saturate(1.3);
  border: 1px solid rgba(255, 255, 255, 0.16);
}

.cc_b3eorip4_CnSENvRqGr .sg-hsl__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: var(--sg-fs-xs);
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--hsl-fg, #fff) 86%, transparent);
}
.cc_b3eorip4_CnSENvRqGr .sg-hsl__eyebrow-line { display: inline-block; width: 28px; height: 1.5px; background: currentColor; transform-origin: left center; }

.cc_b3eorip4_CnSENvRqGr .sg-hsl__title { color: inherit; text-shadow: 0 2px 30px rgba(0, 0, 0, 0.12); }
.cc_b3eorip4_CnSENvRqGr .sg-hsl__line { display: block; overflow: hidden; padding-bottom: 0.1em; margin-bottom: -0.1em; }
.cc_b3eorip4_CnSENvRqGr .sg-hsl__lin { display: block; }
.cc_b3eorip4_CnSENvRqGr .sg-hsl__w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.1em; margin-bottom: -0.1em; }
.cc_b3eorip4_CnSENvRqGr .sg-hsl__w > span { display: inline-block; }

.cc_b3eorip4_CnSENvRqGr .sg-hsl__text {
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.6;
  max-width: 52ch;
  color: color-mix(in srgb, var(--hsl-fg, #fff) 84%, transparent);
  text-wrap: pretty;
}
.cc_b3eorip4_CnSENvRqGr .sg-hsl__cta { margin-top: 10px; justify-content: var(--pos-x, start); }

@media (max-width: 767px) {
  .cc_b3eorip4_CnSENvRqGr .sg-hsl__shade { background: var(--hsl-shade-m, var(--hsl-shade, transparent)); }
  .cc_b3eorip4_CnSENvRqGr .sg-hsl__inner {
    justify-content: var(--pos-x-m, var(--pos-x, start));
    align-items: var(--pos-y-m, var(--pos-y, end));
    /* --hsl-pad-x: room the slider reserves for its side arrows */
    padding: calc(var(--hsl-pad-t-m, 32px) + var(--sg-header-offset, 0px)) calc(var(--sg-gutter) + var(--hsl-pad-x, 0px)) var(--hsl-pad-b-m, 44px);
  }
  .cc_b3eorip4_CnSENvRqGr .sg-hsl__content {
    justify-items: var(--pos-x-m, var(--pos-x, start));
    text-align: var(--pos-ta-m, var(--pos-ta, left));
    gap: 14px;
  }
  .cc_b3eorip4_CnSENvRqGr .sg-hsl__cta { justify-content: var(--pos-x-m, var(--pos-x, start)); }
  .cc_b3eorip4_CnSENvRqGr .sg-hsl__cta .sg-btn--lg { min-height: 52px; padding: 0 24px; }
}
