/* SecurityTalent 1.9.17 — responsive hero, autoplay and equal authentication controls. */

.st-journey-label-compact,
.st-spotlight-label-compact {
  display: none;
}

/* The topic tabs remain available for direct selection, while all legacy and
   generated player controls stay out of the layout at every breakpoint. */
.st-securitytalent-spotlight .st-spotlight-controls,
.st-securitytalent-spotlight .owl-nav,
.st-securitytalent-spotlight .owl-dots,
.st-securitytalent-spotlight .owl-controls,
.st-member-journey .st-journey-controls,
.st-member-journey .owl-nav,
.st-member-journey .owl-dots,
.st-member-journey .owl-controls {
  display: none !important;
}

/* Keep the two Joomla authentication modules intact. Each module forms one
   vertical column: Facebook over Google, and Sign In over Register. */
@media (min-width: 992px) {
  .st-header-auth {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(180px, 198px));
    gap: 12px !important;
    align-content: center;
    align-items: center !important;
    justify-content: end !important;
    min-height: 102px;
  }

  .st-header-auth > .sourcecoast {
    grid-column: 1;
    min-width: 0;
    margin: 0 !important;
    align-self: center;
  }

  .st-header-auth > .sourcecoast > .d-flex {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 0;
  }

  .st-header-auth > .sourcecoast .social-login {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
    line-height: 0 !important;
  }

  .st-header-auth > .sourcecoast .social-login > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border: 0 !important;
    border-radius: 8px;
    background: transparent !important;
    box-shadow: none !important;
    line-height: 0 !important;
  }

  .st-header-auth > .sourcecoast .social-login img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    max-height: 44px !important;
    object-fit: fill;
    border-radius: 8px;
  }

  .st-header-auth > .mod-es {
    grid-column: 2;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    margin: 0 !important;
    align-self: center;
  }

  .st-header-auth > .mod-es > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .st-header-auth {
    grid-template-columns: repeat(2, minmax(150px, 168px));
    gap: 10px !important;
  }
}

.st-responsive-auth {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: center !important;
}

.st-responsive-auth > .sourcecoast,
.st-responsive-auth > .mod-es {
  min-width: 0 !important;
  margin: 0 !important;
}

.st-responsive-auth > .sourcecoast > .d-flex,
.st-responsive-auth > .mod-es {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 8px !important;
}

.st-responsive-auth > .sourcecoast > .d-flex {
  align-items: center !important;
}

.st-responsive-auth > .mod-es {
  align-items: stretch !important;
}

.st-responsive-auth > .sourcecoast .social-login {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
  line-height: 0 !important;
}

.st-responsive-auth > .sourcecoast .social-login > a,
.st-responsive-auth > .mod-es > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 8px !important;
}

.st-responsive-auth > .sourcecoast .social-login > a {
  display: inline-flex !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 0 !important;
}

.st-responsive-auth > .mod-es > a {
  padding: 9px 8px !important;
  border: 2px solid #0b6f75 !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  box-shadow: 0 4px 12px rgba(16, 42, 46, .1) !important;
}

.st-responsive-auth > .sourcecoast .social-login img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 48px !important;
  max-height: 48px !important;
  object-fit: fill;
  border-radius: 8px;
}

/* Keep the large module headings comfortably separated from the image track.
   The long SecurityTalent wordmark stays intact, but scales within its column
   instead of running into or underneath the adjacent image. */
@media (min-width: 768px) {
  .st-securitytalent-spotlight .features-intro,
  .st-member-journey .features-intro {
    padding-right: clamp(34px, 4.5vw, 74px) !important;
  }

  .st-securitytalent-spotlight .acm-feature-slide,
  .st-member-journey .acm-feature-slide {
    margin-left: clamp(10px, 1.4vw, 22px) !important;
  }

  .st-securitytalent-spotlight .acm-features-title,
  .st-member-journey .acm-features-title {
    max-width: 100%;
    font-size: clamp(2rem, 2.9vw, 2.65rem) !important;
    letter-spacing: -.022em;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .st-securitytalent-spotlight .features-intro,
  .st-member-journey .features-intro {
    padding-right: 30px !important;
  }

  .st-securitytalent-spotlight .acm-feature-slide,
  .st-member-journey .acm-feature-slide {
    margin-left: 8px !important;
  }

  .st-securitytalent-spotlight .acm-features-title,
  .st-member-journey .acm-features-title {
    font-size: clamp(1.8rem, 3.2vw, 2.35rem) !important;
  }
}

/* The JA ACM markup initially contains data-src-only images. Keep the track
   transparent until the first image has decoded or failed, preventing the
   founding "1,000" card from flashing as a white layer during first paint. */
.st-securitytalent-spotlight .owl-carousel:not([data-st-media-ready="1"]),
.st-member-journey .owl-carousel:not([data-st-media-ready="1"]) {
  visibility: hidden !important;
  opacity: 0 !important;
}

.st-securitytalent-spotlight .owl-carousel[data-st-media-ready="1"],
.st-member-journey .owl-carousel[data-st-media-ready="1"] {
  visibility: visible !important;
  opacity: 1 !important;
  transition: opacity .2s ease-out;
}

/* Spotlight now uses the same synchronized one-card track as the journey
   module at every breakpoint. */
.st-securitytalent-spotlight .owl-carousel {
  grid-auto-columns: 100% !important;
  gap: 0 !important;
}

.st-securitytalent-spotlight .owl-carousel > .features-item {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}

.st-spotlight-tabs {
  display: grid;
  gap: 8px;
  margin-top: 26px;
}

.st-spotlight-tabs button {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 48px;
  padding: 10px 13px;
  border: 1px solid #d8ccba;
  border-radius: 10px;
  background: #fff;
  color: #193b3f;
  font-size: .88rem;
  font-weight: 700;
  text-align: left;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.st-spotlight-tabs button::before {
  width: 8px;
  height: 8px;
  margin-right: 10px;
  border-radius: 50%;
  background: #b5c3d1;
  content: "";
}

.st-spotlight-tabs button:hover,
.st-spotlight-tabs button:focus-visible {
  transform: translateY(-2px);
  border-color: #0b6f75;
  outline: 0;
  box-shadow: 0 8px 20px rgba(16, 42, 46, .1);
}

.st-spotlight-tabs button[aria-selected="true"] {
  border-color: #d86c35;
  background: #fff3ea;
  color: #7c321c;
  box-shadow: 0 5px 14px rgba(216, 108, 53, .14);
}

.st-spotlight-tabs button[aria-selected="true"]::before {
  background: #d86c35;
  box-shadow: 0 0 0 4px rgba(216, 108, 53, .14);
}

/* A dedicated copyright host prevents Helix/Joomla module visibility and
   column-layout settings from hiding the legal line on desktop. */
#sp-footer {
  display: block !important;
  width: 100% !important;
  min-height: 56px;
  visibility: visible !important;
  opacity: 1 !important;
  background: #0a2023 !important;
}

#sp-footer .st-site-copyright-row {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: min(1320px, 100%);
  min-height: 56px;
  margin: 0 auto;
  padding: 16px 22px;
  text-align: center;
}

#sp-footer .st-site-copyright-row .st-copyright-line {
  display: block !important;
  margin: 0 !important;
  color: #d7e9f7 !important;
  font-size: .88rem !important;
  line-height: 1.5 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Keep the hero navigation together. The legacy theme positioned the dot
   container from its old parent and translated half of it off the viewport. */
.slideshow.st-native-hero .st-hero-controls {
  position: absolute;
  z-index: 12;
  right: 22px;
  bottom: 22px;
  display: flex;
  align-items: center;
  gap: 7px;
  width: auto;
  max-width: calc(100% - 28px);
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 999px;
  background: rgba(5, 24, 30, .78);
  box-shadow: 0 10px 28px rgba(5, 24, 30, .28);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.slideshow.st-native-hero .st-hero-controls .swiper-button-prev,
.slideshow.st-native-hero .st-hero-controls .swiper-button-next,
.slideshow.st-native-hero .st-hero-pause {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  place-items: center;
  flex: 0 0 38px;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  cursor: pointer;
  pointer-events: auto;
}

.slideshow.st-native-hero .st-hero-controls .swiper-button-prev:hover,
.slideshow.st-native-hero .st-hero-controls .swiper-button-next:hover,
.slideshow.st-native-hero .st-hero-controls .swiper-button-prev:focus-visible,
.slideshow.st-native-hero .st-hero-controls .swiper-button-next:focus-visible,
.slideshow.st-native-hero .st-hero-pause:hover,
.slideshow.st-native-hero .st-hero-pause:focus-visible {
  background: rgba(255, 255, 255, .15) !important;
  outline: 2px solid #fff;
  outline-offset: 1px;
}

.slideshow.st-native-hero .st-hero-controls .swiper-pagination {
  position: static !important;
  inset: auto !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: auto !important;
  min-width: 70px;
  margin: 0 !important;
  padding: 0 3px !important;
  transform: none !important;
}

.slideshow.st-native-hero .st-hero-controls .swiper-pagination button {
  display: block;
  width: 8px;
  min-width: 8px;
  height: 8px;
  min-height: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .55);
  transition: width .25s ease, background-color .25s ease;
}

.slideshow.st-native-hero .st-hero-controls .swiper-pagination button.is-active {
  width: 24px;
  background: #69d5df;
}

/* The desktop JA ACM copy remains authoritative on large screens. Phones and
   tablets receive a dedicated copy layer so old hidden-xs and animation rules
   can no longer make the words disappear while leaving an empty panel. */
.slideshow.st-native-hero .st-responsive-hero-copy {
  display: none;
}

@media (max-width: 1199.98px) {
  #sp-homepage-hero .slideshow.st-native-hero .slideshow-top > .swiper-wrapper {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
    transition: none !important;
  }

  #sp-homepage-hero .slideshow.st-native-hero .slideshow-top > .swiper-wrapper > .swiper-slide {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: none !important;
    transition: opacity .42s ease !important;
    pointer-events: none;
  }

  #sp-homepage-hero .slideshow.st-native-hero .slideshow-top > .swiper-wrapper > .swiper-slide.is-active,
  #sp-homepage-hero .slideshow.st-native-hero .slideshow-top > .swiper-wrapper > .swiper-slide[aria-hidden="false"] {
    z-index: 2;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
  }

  #sp-homepage-hero .slideshow.st-native-hero .slider-content {
    display: none !important;
  }

  #sp-homepage-hero .slideshow.st-native-hero .st-responsive-hero-copy {
    position: absolute;
    z-index: 7;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    min-height: 58%;
    padding: clamp(100px, 18vh, 190px) clamp(24px, 6vw, 72px) 96px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    color: #fff;
    background: linear-gradient(180deg, rgba(2, 18, 25, 0) 0%, rgba(2, 18, 25, .42) 24%, rgba(3, 26, 32, .92) 72%, rgba(3, 26, 32, .98) 100%);
    text-align: left;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .38);
    pointer-events: none;
  }

  #sp-homepage-hero .st-responsive-hero-eyebrow {
    margin: 0 0 9px;
    color: #8be4e8;
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .1em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #sp-homepage-hero .st-responsive-hero-title {
    max-width: 760px;
    margin: 0 0 11px;
    color: #fff;
    font-family: Manrope, Inter, sans-serif;
    font-size: clamp(1.8rem, 5.1vw, 3.2rem);
    font-weight: 800;
    letter-spacing: -.025em;
    line-height: 1.06;
  }

  #sp-homepage-hero .st-responsive-hero-description {
    display: -webkit-box;
    max-width: 680px;
    margin: 0 0 15px;
    overflow: hidden;
    color: #e1eef0;
    font-size: clamp(.9rem, 2vw, 1.05rem);
    line-height: 1.48;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  #sp-homepage-hero .st-responsive-hero-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 17px;
    border: 1px solid #f2c862;
    border-radius: 10px;
    background: #f2c862;
    color: #102a2e !important;
    font-size: .88rem;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none !important;
    text-shadow: none;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .22);
    pointer-events: auto;
  }

  #sp-homepage-hero .st-responsive-hero-action:hover,
  #sp-homepage-hero .st-responsive-hero-action:focus-visible {
    border-color: #fff;
    background: #fff;
    outline: 2px solid #fff;
    outline-offset: 2px;
  }
}

@media (max-width: 767.98px) {
  /* Stack the phone slides and switch the authoritative active slide in place.
     This avoids a legacy Swiper transform competing with the native controls. */
  #sp-homepage-hero .slideshow.st-native-hero .slideshow-top > .swiper-wrapper {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    transform: none !important;
    transition: none !important;
  }

  #sp-homepage-hero .slideshow.st-native-hero .slideshow-top > .swiper-wrapper > .swiper-slide {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: none !important;
    transition: none !important;
    pointer-events: none;
  }

  #sp-homepage-hero .slideshow.st-native-hero .slideshow-top > .swiper-wrapper > .swiper-slide.is-active,
  #sp-homepage-hero .slideshow.st-native-hero .slideshow-top > .swiper-wrapper > .swiper-slide[aria-hidden="false"] {
    z-index: 2;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
  }

  /* The legacy animation classes can leave the copy transparent even while
     its background card is visible. Force every part of the active message
     above the image and clear those stale animation transforms. */
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide.is-active .slider-content,
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide.is-active .slider-content-inner,
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide.is-active .ja-animation,
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide.is-active .item-group,
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide.is-active .item-title,
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide.is-active .item-desc,
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide.is-active .group-action,
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide[aria-hidden="false"] .slider-content,
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide[aria-hidden="false"] .slider-content-inner,
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide[aria-hidden="false"] .ja-animation,
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide[aria-hidden="false"] .item-group,
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide[aria-hidden="false"] .item-title,
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide[aria-hidden="false"] .item-desc,
  #sp-homepage-hero .slideshow.st-native-hero .swiper-slide[aria-hidden="false"] .group-action {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
  }

  #sp-homepage-hero .slideshow.st-native-hero .slider-content {
    position: relative !important;
    z-index: 4 !important;
  }

  #sp-homepage-hero .slideshow.st-native-hero .slider-content-inner {
    position: absolute !important;
    top: auto !important;
    right: 14px !important;
    bottom: 14px !important;
    left: 14px !important;
    z-index: 5 !important;
    max-height: calc(100% - 28px) !important;
    padding: 18px 18px 76px !important;
    overflow: auto !important;
    border-color: rgba(255, 255, 255, .24) !important;
    border-radius: 22px !important;
    background: linear-gradient(145deg, rgba(7, 43, 48, .94), rgba(5, 31, 38, .86)) !important;
    box-shadow: 0 18px 44px rgba(2, 15, 21, .38) !important;
    -webkit-backdrop-filter: blur(9px);
    backdrop-filter: blur(9px);
  }

  #sp-homepage-hero .slideshow.st-native-hero .st-hero-controls {
    right: 32px;
    bottom: 24px;
    left: 32px;
    justify-content: center;
    width: auto;
    max-width: none;
    padding: 10px 0 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .2);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transform: none;
  }

  #sp-homepage-hero .slideshow.st-native-hero .item-title {
    font-size: clamp(1.55rem, 7.6vw, 2rem) !important;
  }

  #sp-homepage-hero .slideshow.st-native-hero .item-desc {
    display: block !important;
    margin-bottom: 14px !important;
    overflow: visible !important;
    font-size: .9rem !important;
    line-height: 1.42 !important;
    -webkit-line-clamp: unset !important;
  }

  #sp-homepage-hero .slideshow.st-native-hero .st-hero-controls .swiper-button-prev,
  #sp-homepage-hero .slideshow.st-native-hero .st-hero-controls .swiper-button-next,
  #sp-homepage-hero .slideshow.st-native-hero .st-hero-pause {
    flex-basis: 36px;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
  }

  #sp-homepage-hero .slideshow.st-native-hero .st-responsive-hero-copy {
    min-height: 62%;
    padding: 90px 20px 88px;
  }

  #sp-homepage-hero .st-responsive-hero-title {
    font-size: clamp(1.65rem, 7.4vw, 2.25rem);
  }

  #sp-homepage-hero .st-responsive-hero-description {
    font-size: .88rem;
    -webkit-line-clamp: 2;
  }

  /* Participant module: one cohesive surface, clearer audience controls and
     a real badge below the image instead of text touching the image edge. */
  .st-profile-tabs-shell {
    padding: 34px 14px 38px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #f4f8f6 0%, #fffaf2 100%) !important;
  }

  .st-profile-tabs-heading {
    max-width: 34rem;
    margin: 0 auto 22px !important;
  }

  .st-profile-tabs-heading .st-eyebrow {
    display: inline-flex;
    margin: 0 0 10px !important;
    padding: 6px 10px;
    border-radius: 999px;
    background: #dff1ee;
    color: #0b6f75;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
  }

  .st-profile-tabs-heading h2 {
    margin: 0 0 10px !important;
    font-size: clamp(1.9rem, 9.2vw, 2.45rem) !important;
  }

  .st-profile-tabs-heading p:last-child {
    margin: 0 !important;
    color: #52666a !important;
    font-size: .95rem;
    line-height: 1.55;
  }

  .st-profile-tabs-list {
    gap: 9px !important;
  }

  .st-profile-tabs-list [role="tab"] {
    min-height: 54px !important;
    padding: 10px 8px !important;
    border-color: #c9dcd8 !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 3px 10px rgba(16, 42, 46, .045);
  }

  .st-profile-tabs-list [role="tab"][aria-selected="true"] {
    border-color: #0b6f75 !important;
    background: linear-gradient(135deg, #0b6f75, #168f95) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(11, 111, 117, .22) !important;
  }

  .st-profile-tabs-panels {
    margin-top: 18px !important;
  }

  .st-profile-tabs-panels > .st-profile-benefit-tab > .sp-module-title {
    display: none !important;
  }

  .st-profile-benefit-tab .features-content {
    border-color: #c5d9d4 !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 38px rgba(16, 42, 46, .12) !important;
  }

  .st-profile-benefit-tab .features-image,
  .st-profile-benefit-tab .features-image img {
    height: 218px !important;
    min-height: 218px !important;
    max-height: 218px !important;
  }

  .st-profile-benefit-tab .features-image {
    position: relative;
    overflow: hidden;
  }

  .st-profile-benefit-tab .features-image::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 42%;
    background: linear-gradient(180deg, transparent, rgba(5, 24, 30, .18));
    pointer-events: none;
  }

  .st-profile-benefit-tab .features-item {
    padding: 24px 20px 26px !important;
  }

  .st-profile-benefit-tab .features-item .label-small {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100%;
    margin: 0 0 12px !important;
    padding: 7px 10px !important;
    border: 1px solid #c5e2dd;
    border-radius: 999px;
    background: #edf8f5;
    color: #0b6f75 !important;
    font-size: .67rem !important;
    font-weight: 850 !important;
    letter-spacing: .075em;
    line-height: 1.25 !important;
    text-transform: uppercase;
  }

  .st-profile-benefit-tab .features-item h2 {
    color: #102a2e !important;
  }

  .st-profile-benefit-tab .st-profile-benefits-copy {
    color: #435b60 !important;
  }

  .st-profile-benefit-tab .st-profile-founding-note {
    padding: 12px 13px;
    border-left: 3px solid #e67f35;
    border-radius: 0 10px 10px 0;
    background: #fff5e9;
    color: #664124 !important;
  }

  /* Spotlight: exactly one complete card per phone viewport. */
  .st-securitytalent-spotlight .acm-features {
    padding: 48px 14px 54px !important;
    background: linear-gradient(180deg, #f2f7f6 0%, #f8f4ec 100%) !important;
  }

  .st-securitytalent-spotlight .acm-features > .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .st-securitytalent-spotlight .acm-features > .container > .row {
    display: block !important;
    margin: 0 !important;
  }

  .st-securitytalent-spotlight .acm-features > .container > .row > * {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .st-securitytalent-spotlight .features-intro {
    padding: 0 2px 25px !important;
  }

  .st-securitytalent-spotlight .acm-features-title {
    margin-bottom: 14px !important;
    font-size: clamp(2rem, 9.2vw, 2.55rem) !important;
  }

  .st-securitytalent-spotlight .acm-features-intro {
    font-size: .96rem !important;
    line-height: 1.58 !important;
  }

  .st-securitytalent-spotlight .acm-feature-slide {
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 22px;
  }

  .st-securitytalent-spotlight .owl-carousel {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 100% !important;
    gap: 0 !important;
    width: 100% !important;
    padding: 3px 3px 18px !important;
    scroll-padding-inline: 3px;
  }

  .st-securitytalent-spotlight .owl-carousel > * {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  .st-securitytalent-spotlight .features-item-inner {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    border-color: #ceddd9 !important;
    border-radius: 20px !important;
    box-shadow: 0 12px 28px rgba(16, 42, 46, .09) !important;
  }

  .st-securitytalent-spotlight .features-item.is-current .features-item-inner {
    border-color: #9fc7bf !important;
    box-shadow: 0 18px 38px rgba(16, 42, 46, .14) !important;
  }

  .st-securitytalent-spotlight .features-img {
    aspect-ratio: 16 / 9 !important;
    background: #d6e2df;
  }

  .st-securitytalent-spotlight .features-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .st-securitytalent-spotlight .features-item-inner h3 {
    margin: 20px 19px 10px !important;
    color: #102a2e !important;
    font-size: 1.25rem !important;
  }

  .st-securitytalent-spotlight .features-item-inner > p {
    flex: 1;
    margin: 0 19px 16px !important;
    color: #52666a !important;
    font-size: .94rem !important;
    line-height: 1.55;
  }

  .st-securitytalent-spotlight .feature-action {
    padding: 0 19px 22px !important;
  }

  .st-securitytalent-spotlight .feature-action a {
    justify-content: center;
    width: 100%;
    min-height: 46px !important;
    border-radius: 11px;
    background: #0b6f75;
    color: #fff !important;
  }

  .st-securitytalent-spotlight .st-spotlight-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    width: 100% !important;
    margin-top: 22px !important;
  }

  .st-securitytalent-spotlight .st-spotlight-tabs [role="tab"] {
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 52px !important;
    padding: 9px 7px !important;
    border-radius: 13px !important;
    font-size: .8rem !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  .st-securitytalent-spotlight .st-spotlight-tabs [role="tab"]::before {
    display: none !important;
  }

  .st-securitytalent-spotlight .st-spotlight-label-full {
    display: none !important;
  }

  .st-securitytalent-spotlight .st-spotlight-label-compact {
    display: block !important;
  }

  /* Mirror the desktop synchronized slider on phones: three compact tabs
     select and track one horizontally sliding, full-width content card. */
  .st-member-journey .st-journey-tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
    width: 100% !important;
    margin-top: 22px !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  .st-member-journey .st-journey-tabs [role="tab"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 58px !important;
    padding: 9px 6px !important;
    border: 1px solid #c7d8d4 !important;
    border-radius: 13px !important;
    background: rgba(255, 255, 255, .9) !important;
    color: #193b3f !important;
    font-size: .78rem !important;
    font-weight: 760 !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    text-align: center !important;
    box-shadow: 0 3px 10px rgba(16, 42, 46, .05);
  }

  .st-member-journey .st-journey-tabs [role="tab"][aria-selected="true"] {
    border-color: #d86c35 !important;
    background: linear-gradient(135deg, #fff3ea, #fffaf5) !important;
    color: #7c321c !important;
    box-shadow: 0 7px 18px rgba(216, 108, 53, .14) !important;
  }

  .st-member-journey .st-journey-tabs [role="tab"]::before {
    display: none !important;
  }

  .st-member-journey .st-journey-label-full {
    display: none !important;
  }

  .st-member-journey .st-journey-label-compact {
    display: block !important;
  }

  .st-member-journey .acm-feature-slide {
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 20px !important;
  }

  .st-member-journey .owl-carousel {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 100% !important;
    gap: 0 !important;
    width: 100% !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none;
  }

  .st-member-journey .owl-carousel::-webkit-scrollbar {
    display: none;
  }

  .st-member-journey .owl-carousel > .features-item {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    scroll-snap-align: start !important;
  }

  .st-member-journey .features-item-inner {
    height: 100%;
    border-radius: 20px !important;
    box-shadow: 0 14px 32px rgba(16, 42, 46, .1) !important;
  }

  .st-member-journey .features-item-inner h3 {
    color: #173f61 !important;
    font-size: clamp(1.45rem, 7.2vw, 1.9rem) !important;
    line-height: 1.12 !important;
  }

}

@media (prefers-reduced-motion: reduce) {
  .slideshow.st-native-hero .swiper-slide,
  .st-securitytalent-spotlight .owl-carousel,
  .st-securitytalent-spotlight .features-item-inner {
    scroll-behavior: auto !important;
    transition: none !important;
  }

}
