/* SecurityTalent 1.9.59 shell bundle. Source order is preserved. */

/* --- securitytalent-responsive-1.9.17.css --- */
/* 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;
  }

}


/* --- securitytalent-navigation-1.9.14.css --- */
/* SecurityTalent 1.9.14 — stable desktop sticky header and menu layers. */

@media (min-width: 992px) {
  /* Authentication uses two 44px rows plus its internal gap. The header must
     participate at the same height so Helix measures the correct sticky
     placeholder and the EasyBlog toolbar never slides underneath it. */
  #sp-header,
  #sp-header.header-sticky {
    height: 102px !important;
    min-height: 102px !important;
  }

  #sp-header > .container,
  #sp-header .container-inner,
  #sp-header .row,
  #sp-header #sp-menu,
  #sp-header #sp-menu > .sp-column,
  #sp-header .st-header-auth {
    min-height: 102px !important;
  }

  #sp-header .sp-megamenu-parent > li > a,
  #sp-header .sp-megamenu-parent > li > span {
    height: 102px !important;
    line-height: 102px !important;
  }

  #sp-header.header-sticky {
    background: rgba(18, 63, 67, .985) !important;
    box-shadow: 0 12px 30px rgba(16, 42, 46, .24) !important;
  }

  #sp-header .sp-dropdown {
    max-height: calc(100vh - 112px);
  }

  #sp-header .sp-dropdown > .sp-dropdown-inner {
    max-height: inherit;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  /* Scrolling can move a sticky item under a stationary pointer. Keep hover
     menus closed until the visitor intentionally moves or focuses inside the
     navigation again. */
  body.st-nav-scroll-lock #sp-header .sp-megamenu-parent .sp-has-child:hover > .sp-dropdown {
    display: none !important;
  }

  /* Only one navigation layer should occupy the viewport. EasyBlog renders
     its More menu in a top-level Tippy portal, so suppress that portal while
     the primary site navigation is active. */
  body.st-primary-nav-active [data-tippy-root]:has([data-fd-toolbar-dropdown-menus]) {
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (max-width: 991.98px) {
  body.st-nav-scroll-lock,
  body.st-primary-nav-active {
    overflow: inherit;
  }
}


/* --- securitytalent-navigation-1.9.55.css --- */
/* SecurityTalent 1.9.55 — explicit desktop and off-canvas dropdown state. */
@media (min-width: 992px) {
  #sp-header .sp-megamenu-parent > li.sp-has-child.st-menu-open > .sp-dropdown,
  #sp-header .sp-megamenu-parent > li.sp-has-child:focus-within > .sp-dropdown,
  #sp-header .sp-megamenu-parent > li.sp-has-child:hover > .sp-dropdown {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
  }

  #sp-header .sp-megamenu-parent > li.sp-has-child > a,
  #sp-header .sp-megamenu-parent > li.sp-has-child > span {
    cursor: pointer;
  }

  /* The intentional scroll lock still wins until the pointer moves inside
     the header again, preventing accidental menus under a stationary mouse. */
  body.st-nav-scroll-lock #sp-header .sp-megamenu-parent > li.sp-has-child > .sp-dropdown {
    display: none !important;
  }
}

.offcanvas-menu li.menu-parent.st-offcanvas-menu-open > ul.menu-child,
.offcanvas-menu li.menu-parent.st-offcanvas-menu-open > ul.nav-child,
.offcanvas-menu li.menu-parent.st-offcanvas-menu-open > ul.mod-menu__sub,
.offcanvas-menu li.menu-deeper.st-offcanvas-menu-open > ul,
.offcanvas-menu li.deeper.st-offcanvas-menu-open > ul {
  display: flex !important;
  flex-direction: column !important;
  position: static !important;
  width: 100% !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.offcanvas-menu li.menu-parent > a,
.offcanvas-menu li.menu-parent > .menu-separator,
.offcanvas-menu li.menu-parent > .nav-header {
  cursor: pointer;
}

html[dir="rtl"] .offcanvas-menu li.menu-parent > ul {
  margin-left: 0 !important;
  margin-right: 12px !important;
}


/* --- securitytalent-navigation-1.9.56.css --- */
/* SecurityTalent 1.9.56 — fit all localized desktop navigation labels. */
@media (min-width: 1200px) {
  html:not([lang^="ar"]) #sp-header .sp-megamenu-parent > li > a,
  html:not([lang^="ar"]) #sp-header .sp-megamenu-parent > li > span,
  html:not([lang^="ar"]) #sp-header nav > ul.menu > li > a,
  html:not([lang^="ar"]) #sp-header nav > ul.menu > li > span {
    font-size: 14px !important;
    padding-inline: 7px !important;
    white-space: nowrap;
  }

  html[lang^="ar"] #sp-header .sp-megamenu-parent > li > a,
  html[lang^="ar"] #sp-header .sp-megamenu-parent > li > span,
  html[lang^="ar"] #sp-header nav > ul.menu > li > a,
  html[lang^="ar"] #sp-header nav > ul.menu > li > span {
    font-size: 18px !important;
    padding-inline: 10px !important;
    white-space: nowrap;
  }
}

@media (max-width: 1199.98px) {
  .offcanvas-menu,
  .offcanvas-menu .offcanvas-inner,
  .offcanvas-menu .offcanvas-inner a,
  .offcanvas-menu .offcanvas-inner button {
    pointer-events: auto !important;
  }

  .offcanvas-menu .offcanvas-inner li.st-offcanvas-has-child {
    position: relative;
  }

  .offcanvas-menu .offcanvas-inner li.st-offcanvas-has-child > a,
  .offcanvas-menu .offcanvas-inner li.st-offcanvas-has-child > .menu-separator,
  .offcanvas-menu .offcanvas-inner li.st-offcanvas-has-child > .nav-header {
    cursor: pointer;
    padding-inline-end: 48px !important;
  }

  .offcanvas-menu .offcanvas-inner li.st-offcanvas-has-child > ul,
  .offcanvas-menu .offcanvas-inner li.st-offcanvas-has-child > .menu-child,
  .offcanvas-menu .offcanvas-inner li.st-offcanvas-has-child > .mod-menu__sub {
    width: 100%;
    margin: 4px 0 10px !important;
    padding: 8px 10px !important;
    border-radius: 10px;
    background: #eef8f6;
    flex-direction: column;
  }

  .offcanvas-menu .offcanvas-inner li.st-offcanvas-has-child.st-offcanvas-menu-open > ul,
  .offcanvas-menu .offcanvas-inner li.st-offcanvas-has-child.st-offcanvas-menu-open > .menu-child,
  .offcanvas-menu .offcanvas-inner li.st-offcanvas-has-child.st-offcanvas-menu-open > .mod-menu__sub {
    display: flex !important;
  }

  .offcanvas-menu .offcanvas-inner li.st-offcanvas-has-child > ul a {
    display: block !important;
    min-height: 42px;
    padding: 10px 12px !important;
    color: #173840 !important;
    line-height: 1.35 !important;
  }

  html[dir="rtl"] .offcanvas-menu .offcanvas-inner,
  html[dir="rtl"] .offcanvas-menu .offcanvas-inner ul {
    direction: rtl;
    text-align: right;
  }
}


/* --- securitytalent-auth-1.9.34.css --- */
/* SecurityTalent 1.9.34 — compact, equal and row-aligned desktop authentication controls. */

@media (min-width: 1200px) {
  #sp-header,
  #sp-header.header-sticky {
    height: 88px !important;
    min-height: 88px !important;
  }

  #sp-header > .container,
  #sp-header .container-inner,
  #sp-header .row,
  #sp-header #sp-menu,
  #sp-header #sp-menu > .sp-column,
  #sp-header .st-header-auth {
    min-height: 88px !important;
  }

  #sp-header .sp-megamenu-parent > li > a,
  #sp-header .sp-megamenu-parent > li > span {
    height: 88px !important;
    line-height: 88px !important;
  }

  #sp-header .st-header-auth {
    grid-template-columns: repeat(2, 170px) !important;
    grid-template-rows: repeat(2, 38px) !important;
    grid-auto-rows: 38px !important;
    column-gap: 10px !important;
    row-gap: 6px !important;
    align-content: center !important;
    min-height: 82px !important;
  }

  /* JFBConnect renders Facebook and Google as two sibling sourcecoast
     modules on the live site. Let those items auto-fill the two rows in
     column one, then make the EasySocial module span the same two rows. */
  #sp-header .st-header-auth > .sourcecoast {
    grid-column: 1 !important;
    grid-row: auto !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    align-self: stretch !important;
  }

  #sp-header .st-header-auth > .mod-es {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    height: 82px !important;
    min-height: 82px !important;
    max-height: 82px !important;
    align-self: stretch !important;
  }

  #sp-header .st-header-auth > .sourcecoast > .d-flex,
  #sp-header .st-header-auth > .mod-es {
    gap: 6px !important;
  }

  #sp-header .st-header-auth > .sourcecoast > .d-flex {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }

  #sp-header .st-header-auth > .sourcecoast .social-login > a,
  #sp-header .st-header-auth > .mod-es > a {
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    border-radius: 7px !important;
  }

  #sp-header .st-header-auth > .sourcecoast .social-login img {
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    object-fit: fill !important;
    border-radius: 7px !important;
  }

  #sp-header .st-header-auth > .mod-es > a {
    padding: 6px 10px !important;
    font-size: .9rem !important;
    line-height: 1.15 !important;
  }
}


/* --- securitytalent-footer-1.9.35.css --- */
/* SecurityTalent 1.9.35 — mobile/tablet footer background parity. */
@media (max-width: 1199.98px) {
  html body .st-footer-nav,
  html body #sp-bottom {
    background-color: var(--st-navy-900, #0c2630) !important;
    background-image: linear-gradient(
      145deg,
      var(--st-navy-900, #0c2630),
      var(--st-navy-950, #04101e)
    ) !important;
    background-attachment: scroll !important;
    color: #d3dfeb !important;
  }

  html body .st-footer-nav > .container,
  html body .st-footer-nav > .container > .container-inner,
  html body .st-footer-nav .row,
  html body .st-footer-nav [id^="sp-bottom"],
  html body .st-footer-nav .sp-column,
  html body .st-footer-nav .sp-module,
  html body #sp-bottom > .container,
  html body #sp-bottom > .container > .container-inner,
  html body #sp-bottom .row,
  html body #sp-bottom [id^="sp-bottom"],
  html body #sp-bottom .sp-column,
  html body #sp-bottom .sp-module {
    background-color: transparent !important;
    background-image: none !important;
  }

  html body .st-footer-nav h1,
  html body .st-footer-nav h2,
  html body .st-footer-nav h3,
  html body .st-footer-nav h4,
  html body .st-footer-nav h5,
  html body .st-footer-nav h6,
  html body #sp-bottom h1,
  html body #sp-bottom h2,
  html body #sp-bottom h3,
  html body #sp-bottom h4,
  html body #sp-bottom h5,
  html body #sp-bottom h6 {
    color: #ffffff !important;
  }

  html body .st-footer-nav,
  html body .st-footer-nav p,
  html body .st-footer-nav li,
  html body #sp-bottom,
  html body #sp-bottom p,
  html body #sp-bottom li {
    color: #d3dfeb !important;
  }

  html body .st-footer-nav a,
  html body #sp-bottom a {
    color: #d3dfeb !important;
  }

  html body .st-footer-nav a:hover,
  html body .st-footer-nav a:focus,
  html body #sp-bottom a:hover,
  html body #sp-bottom a:focus {
    color: #ffffff !important;
  }

  html body .st-legal-row,
  html body #sp-footer {
    background-color: #0a2023 !important;
    background-image: none !important;
    color: #d7e9f7 !important;
  }

  html body .st-legal-row > .container,
  html body .st-legal-row > .container > .container-inner,
  html body .st-legal-row .row,
  html body .st-legal-row [id^="sp-footer"],
  html body .st-legal-row .sp-column,
  html body .st-legal-row .sp-module,
  html body #sp-footer > .container,
  html body #sp-footer .container-inner,
  html body #sp-footer .row,
  html body #sp-footer [id^="sp-footer"],
  html body #sp-footer .sp-column,
  html body #sp-footer .sp-module {
    background-color: transparent !important;
    background-image: none !important;
  }

  html body .st-legal-row,
  html body .st-legal-row p,
  html body .st-legal-row a,
  html body #sp-footer,
  html body #sp-footer p,
  html body #sp-footer a {
    color: #d7e9f7 !important;
  }

  html body .st-legal-row a:hover,
  html body .st-legal-row a:focus,
  html body #sp-footer a:hover,
  html body #sp-footer a:focus {
    color: #ffffff !important;
  }
}


/* --- securitytalent-auth-offcanvas-1.9.37.css --- */
/* SecurityTalent 1.9.37 — balanced guest actions in the off-canvas menu. */
@media (max-width: 1199.98px) {
  .offcanvas-menu .st-responsive-auth > .sourcecoast {
    grid-row: 1 !important;
  }

  .offcanvas-menu .st-responsive-auth > .mod-es {
    display: grid !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    align-items: stretch !important;
  }

  .offcanvas-menu .st-responsive-auth > .mod-es > a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

@media (max-width: 379.98px) {
  .offcanvas-menu .st-responsive-auth,
  .offcanvas-menu .st-responsive-auth > .mod-es {
    gap: 8px !important;
  }

  .offcanvas-menu .st-responsive-auth > .mod-es > a {
    padding-inline: 6px !important;
    font-size: .88rem !important;
  }
}


/* --- securitytalent-account-dropdown-1.9.38.css --- */
/* SecurityTalent 1.9.38 — readable, right-aligned desktop member menu. */
@media (min-width: 1200px) {
  #sp-header .st-header-auth #es.mod-es-dropdown-menu,
  #sp-header .st-header-auth #es.mod-es-dropdown-menu > .dropdown_ {
    position: relative !important;
    overflow: visible !important;
  }

  #sp-header .st-header-auth #es.mod-es-dropdown-menu
    .mod-es-dropdown-menu__dropdown-menu {
    right: 0 !important;
    left: auto !important;
    width: 360px !important;
    min-width: 360px !important;
    max-width: calc(100vw - 32px) !important;
    max-height: calc(100vh - 130px) !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    z-index: 2000 !important;
  }

  #sp-header .st-header-auth #es.mod-es-dropdown-menu
    .mod-es-dropdown-menu__dropdown-menu > li {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #sp-header .st-header-auth #es.mod-es-dropdown-menu
    .mod-es-dropdown-menu__dropdown-menu > li > a,
  #sp-header .st-header-auth #es.mod-es-dropdown-menu
    .mod-es-dropdown-menu__dropdown-menu > li > span {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.35 !important;
  }
}


/* --- securitytalent-social-auth-1.9.39.css --- */
/* SecurityTalent 1.9.39 — modern JFBConnect controls using the site's
   light information-panel palette. Existing provider links remain intact. */

.st-header-auth .sourcecoast .social-login > a,
.st-responsive-auth .sourcecoast .social-login > a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 5px 10px !important;
  box-sizing: border-box !important;
  border: 1px solid #c5d9d4 !important;
  border-radius: 9px !important;
  background: linear-gradient(145deg, #fbfcfa 0%, #eef7f4 100%) !important;
  color: #17353d !important;
  box-shadow: 0 5px 14px rgba(16, 42, 46, .10) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  letter-spacing: -.005em !important;
  cursor: pointer !important;
  transition: background-color .18s ease, border-color .18s ease,
    box-shadow .18s ease, transform .18s ease !important;
}

.st-header-auth .sourcecoast .social-login > a:hover,
.st-header-auth .sourcecoast .social-login > a:focus-visible,
.st-responsive-auth .sourcecoast .social-login > a:hover,
.st-responsive-auth .sourcecoast .social-login > a:focus-visible {
  border-color: #2e9b91 !important;
  background: #dff1ee !important;
  color: #102a2e !important;
  box-shadow: 0 8px 18px rgba(16, 42, 46, .15) !important;
  transform: translateY(-1px) !important;
  outline: 2px solid transparent !important;
}

.st-header-auth .sourcecoast .social-login > a::before,
.st-responsive-auth .sourcecoast .social-login > a::before {
  display: inline-flex;
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(16, 42, 46, .12);
  font: 900 17px/1 Arial, sans-serif;
}

.st-header-auth .sourcecoast .social-login.facebook > a::before,
.st-responsive-auth .sourcecoast .social-login.facebook > a::before {
  content: "f";
  background: #1877f2;
  color: #fff;
  box-shadow: none;
}

.st-header-auth .sourcecoast .social-login.google > a::before,
.st-responsive-auth .sourcecoast .social-login.google > a::before {
  content: "G";
  color: #4285f4;
}

.st-header-auth .sourcecoast .social-login.facebook > a::after,
.st-responsive-auth .sourcecoast .social-login.facebook > a::after {
  content: "Continue with Facebook";
}

.st-header-auth .sourcecoast .social-login.google > a::after,
.st-responsive-auth .sourcecoast .social-login.google > a::after {
  content: "Continue with Google";
}

.st-header-auth .sourcecoast .social-login > a > img,
.st-responsive-auth .sourcecoast .social-login > a > img {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 1199.98px) {
  .st-responsive-auth .sourcecoast .social-login > a {
    justify-content: center !important;
    padding-inline: 8px !important;
    font-size: .84rem !important;
  }

  .st-responsive-auth .sourcecoast .social-login.facebook > a::after {
    content: "Facebook";
  }

  .st-responsive-auth .sourcecoast .social-login.google > a::after {
    content: "Google";
  }
}

@media (prefers-reduced-motion: reduce) {
  .st-header-auth .sourcecoast .social-login > a,
  .st-responsive-auth .sourcecoast .social-login > a {
    transition: none !important;
  }
}


/* --- securitytalent-activation-dashboard-1.9.40.css --- */
/* SecurityTalent 1.9.40 — balanced EasySocial sign-in/activation layout. */
@media (min-width: 992px) {
  body.com-easysocial.view-login #sp-component {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.com-easysocial.view-login #sp-component > .sp-column {
    width: min(100%, 1260px) !important;
    margin-inline: auto !important;
  }
}

body.com-easysocial.view-login.st-activation-success #sp-component .alert-success,
body.com-easysocial.view-login.st-activation-success #sp-component .o-alert--success {
  border: 1px solid #9fc7bf !important;
  border-left: 5px solid #168f95 !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg, #fbfcfa 0%, #eef7f4 100%) !important;
  color: #17353d !important;
  box-shadow: 0 8px 22px rgba(16, 42, 46, .08) !important;
}


/* --- securitytalent-social-auth-width-1.9.41.css --- */
/* SecurityTalent 1.9.41 — give the full modern provider labels room while
   keeping the primary Sign In and Register column compact. */
@media (min-width: 1200px) {
  #sp-header .st-header-auth {
    grid-template-columns: 220px 170px !important;
  }

  #sp-header .st-header-auth > .sourcecoast,
  #sp-header .st-header-auth > .sourcecoast > .d-flex,
  #sp-header .st-header-auth > .sourcecoast .social-login,
  #sp-header .st-header-auth > .sourcecoast .social-login > a {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
  }

  #sp-header .st-header-auth > .sourcecoast .social-login > a {
    padding-inline: 11px !important;
    font-size: .78rem !important;
  }
}


/* --- securitytalent-multilingual-1.9.43.css --- */
/* SecurityTalent multilingual selector — compact, keyboard accessible and RTL safe. */
.st-top-utility-column {
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.st-language-switcher {
  display: inline-flex;
  align-items: center;
  margin: .55rem 0;
  color: #12323a;
  font-family: Manrope, Inter, sans-serif;
  font-weight: 700;
}
.st-language-switcher .mod-languages { margin: 0; }
.st-language-switcher select {
  width: auto;
  min-width: 9.75rem;
  height: 2.75rem;
  margin: 0;
  padding: 0 2.25rem 0 .85rem;
  border: 1px solid rgba(10, 105, 112, .34);
  border-radius: .8rem;
  background: #eef8f6;
  color: #12323a;
  box-shadow: 0 8px 24px rgba(6, 20, 38, .08);
  cursor: pointer;
}
.st-language-switcher select:focus-visible {
  outline: 3px solid rgba(19, 151, 157, .28);
  outline-offset: 2px;
}
.st-language-switcher ul.lang-inline {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.st-language-switcher ul.lang-inline a,
.st-language-switcher ul.lang-inline .lang-active a {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  padding: .45rem .7rem;
  border: 1px solid rgba(10, 105, 112, .28);
  border-radius: .7rem;
  background: #eef8f6;
  color: #12323a;
  text-decoration: none;
}
.st-language-switcher ul.lang-inline .lang-active a {
  border-color: #108c91;
  background: #d8f0ec;
}
[dir="rtl"] .st-language-switcher select { padding: 0 .85rem 0 2.25rem; }

/* Header language control: one compact flag-and-text dropdown beside auth. */
.st-header-language {
  position: relative;
  z-index: 1105;
  flex: 0 0 auto;
  margin-inline: .55rem .25rem;
  font-family: Manrope, Inter, sans-serif;
}
.st-header-language .mod-languages { margin: 0; }
.st-language-menu { position: relative; margin: 0; }
.st-language-menu > summary {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-width: 9.75rem;
  min-height: 44px;
  padding: .55rem .7rem;
  border: 1px solid rgba(10, 105, 112, .42);
  border-radius: .7rem;
  background: #eef8f6;
  color: #17353b;
  font-size: .88rem;
  font-weight: 800;
  line-height: 1.1;
  list-style: none;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(6, 20, 38, .12);
}
.st-language-menu > summary::-webkit-details-marker { display: none; }
.st-language-menu > summary::marker { display: none; content: ''; }
.st-language-menu > summary:hover,
.st-language-menu > summary:focus-visible,
.st-language-menu[open] > summary {
  border-color: #d7a63a;
  background: #fff9ef;
  outline: none;
}
.st-language-flag {
  flex: 0 0 auto;
  width: 24px;
  height: 16px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(6, 20, 38, .12);
}
.st-language-caret {
  margin-inline-start: auto;
  color: #0e7479;
  font-size: 1.05rem;
  transition: transform .18s ease;
}
.st-language-menu[open] .st-language-caret { transform: rotate(180deg); }
.st-language-menu > ul {
  position: absolute;
  top: calc(100% + .45rem);
  inset-inline-end: 0;
  z-index: 1200;
  width: 14rem;
  max-height: min(24rem, 70vh);
  margin: 0;
  padding: .4rem;
  overflow-y: auto;
  border: 1px solid rgba(10, 105, 112, .25);
  border-radius: .8rem;
  background: #fff;
  box-shadow: 0 18px 42px rgba(6, 20, 38, .2);
  list-style: none;
}
.st-language-menu > ul li { margin: 0; padding: 0; }
.st-language-menu > ul a {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-height: 42px;
  padding: .55rem .65rem;
  border-radius: .55rem;
  color: #17353b;
  font-size: .9rem;
  font-weight: 750;
  text-decoration: none;
}
.st-language-menu > ul a:hover,
.st-language-menu > ul a:focus-visible,
.st-language-menu > ul .is-active a {
  background: #e2f3f0;
  color: #075f65;
  outline: none;
}
[dir="rtl"] .st-language-menu > summary,
[dir="rtl"] .st-language-menu > ul a { direction: rtl; text-align: right; }

/* Helix's off-canvas positioning is LTR-first. Keep the Arabic desktop shell
   contained and use the standard mega navigation at desktop widths. */
html[dir="rtl"],
html[dir="rtl"] body,
html[dir="rtl"] .body-wrapper { max-width: 100%; overflow-x: clip; }

html[dir="rtl"] #sp-header .sp-megamenu-parent { direction: rtl; }
html[dir="rtl"] #sp-header .st-header-auth { direction: ltr; }

@media (min-width: 1200px) {
  html[dir="rtl"] .offcanvas-menu,
  html[dir="rtl"] .offcanvas-overlay { display: none !important; }
  html[dir="rtl"] #sp-menu > .sp-column {
    min-width: 0;
    gap: 1rem;
    justify-content: space-between !important;
  }
  html[dir="rtl"] .sp-megamenu-parent {
    min-width: 0;
    flex: 1 1 auto;
    justify-content: flex-start;
  }
  html[dir="rtl"] .st-header-auth { flex: 0 0 auto; }
}

@media (max-width: 991.98px) {
  #sp-top-bar .row { align-items: center; }
  #sp-top1 { width: 64%; flex: 0 0 64%; }
  #sp-top2 { width: 36%; flex: 0 0 36%; }
  .st-top-utility-column { justify-content: flex-end; }
  .st-language-switcher { margin: .4rem 0; }
  .st-language-switcher select {
    min-width: 7.25rem;
    max-width: 100%;
    height: 2.5rem;
    font-size: .875rem;
  }
  .st-header-language { margin-inline: auto .45rem; }
  .st-language-menu > summary { min-width: 8.75rem; min-height: 42px; }
}

@media (max-width: 575.98px) {
  #sp-top1 { width: 57%; flex-basis: 57%; }
  #sp-top2 { width: 43%; flex-basis: 43%; }
  .st-language-switcher select { min-width: 0; width: 100%; }
  .st-header-language { max-width: calc(100vw - 105px); }
  .st-language-menu > summary { min-width: 8rem; padding-inline: .55rem; }
  .st-language-menu > ul { width: min(14rem, calc(100vw - 2rem)); }
}


/* --- securitytalent-guest-shell-1.9.43.css --- */
/* SecurityTalent 1.9.43 — native-width sidebars and focused guest experience. */
:root {
  --st-easysocial-sidebar-width: 300px;
}

@media (min-width: 768px) {
  body[class*="com-"] #sp-main-body #sp-left,
  body[class*="com-"] #sp-main-body #sp-right,
  body[class*="com-"] #sp-main-body [id^="sp-sidebar-"],
  .com-easysocial .es-container > .es-sidebar,
  .com-easyblog .eb-container > .eb-sidebar,
  .com-easydiscuss .ed-container > .ed-sidebar,
  .com-payplans .pp-container > .pp-sidebar {
    width: var(--st-easysocial-sidebar-width) !important;
    min-width: var(--st-easysocial-sidebar-width) !important;
    max-width: var(--st-easysocial-sidebar-width) !important;
    flex: 0 0 var(--st-easysocial-sidebar-width) !important;
  }
}

/* Guests receive a clean conversion view. Application navigation and filter
   rails return automatically after authentication. */
body.st-guest #sp-component :is(
  .es-toolbar,
  .eb-toolbar,
  .ed-toolbar,
  .fd-toolbar,
  .es-navbar,
  .eb-navbar,
  .ed-navbar,
  .o-toolbar,
  .o-navbar,
  .mod-si-toolbar,
  [data-fd-toolbar]
) {
  display: none !important;
}

body.st-guest #sp-main-body :is(#sp-left, #sp-right, [id^="sp-sidebar-"]),
body.st-guest #sp-component :is(.es-sidebar, .eb-sidebar, .ed-sidebar, .pp-sidebar) {
  display: none !important;
}

body.st-guest #sp-main-body #sp-component,
body.st-guest #sp-component :is(.es-content, .eb-content, .ed-content, .pp-content) {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
}

body.st-guest #sp-component .st-guest-access-panel {
  display: block !important;
  width: min(100%, 960px) !important;
  margin-inline: auto !important;
}

@media (min-width: 1200px) {
  :root {
    --st-easysocial-sidebar-width: 320px;
  }
}

@media (max-width: 767.98px) {
  :root {
    --st-easysocial-sidebar-width: 100%;
  }
}


/* --- securitytalent-header-controls-1.9.46.css --- */
/* SecurityTalent 1.9.46 — compact multilingual/auth header and bounded drawer. */

/* The header selector is now the only visible language association control. */
.article-info .association {
  display: none !important;
}

.st-header-language {
  margin-inline: .35rem .2rem !important;
}

.st-language-menu > summary {
  min-width: 7.5rem !important;
  min-height: 36px !important;
  height: 36px !important;
  gap: .42rem !important;
  padding: .35rem .55rem !important;
  border-radius: 8px !important;
  font-size: .76rem !important;
  box-shadow: 0 4px 12px rgba(6, 20, 38, .11) !important;
}

.st-language-menu > ul {
  width: 12.5rem !important;
}

.st-language-menu > ul a {
  min-height: 38px !important;
  padding: .45rem .55rem !important;
  font-size: .84rem !important;
}

.st-header-language .st-language-flag {
  width: 20px !important;
  height: 13px !important;
}

/* Short provider labels make the choices clearer and free menu space. */
.st-header-auth .sourcecoast .social-login.facebook > a::after,
.st-responsive-auth .sourcecoast .social-login.facebook > a::after {
  content: "Facebook" !important;
}

.st-header-auth .sourcecoast .social-login.google > a::after,
.st-responsive-auth .sourcecoast .social-login.google > a::after {
  content: "Google" !important;
}

@media (min-width: 992px) {
  #sp-header .st-header-auth {
    grid-template-columns: repeat(2, 142px) !important;
    grid-template-rows: repeat(2, 36px) !important;
    grid-auto-rows: 36px !important;
    min-height: 78px !important;
    column-gap: 7px !important;
    row-gap: 5px !important;
  }

  #sp-header .st-header-auth > .sourcecoast,
  #sp-header .st-header-auth > .sourcecoast > .d-flex {
    width: 142px !important;
    min-width: 142px !important;
    max-width: 142px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }

  #sp-header .st-header-auth > .mod-es {
    width: 142px !important;
    min-width: 142px !important;
    max-width: 142px !important;
    height: 77px !important;
    min-height: 77px !important;
    max-height: 77px !important;
  }

  #sp-header .st-header-auth > .sourcecoast .social-login > a,
  #sp-header .st-header-auth > .mod-es > a {
    width: 142px !important;
    min-width: 142px !important;
    max-width: 142px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    font-size: .76rem !important;
  }

  #sp-header .st-header-auth .sourcecoast .social-login > a::before {
    flex-basis: 24px !important;
    width: 24px !important;
    height: 24px !important;
    font-size: 15px !important;
  }

  /* Keep the signed-in user control compact instead of inheriting the guest grid. */
  #sp-header .st-header-auth:has(> .mod-es:only-child) {
    display: flex !important;
    min-height: 44px !important;
    width: auto !important;
  }

  #sp-header .st-header-auth > .mod-es:only-child,
  #sp-header .st-header-auth > .mod-es:only-child > a {
    width: auto !important;
    min-width: 13rem !important;
    max-width: 17rem !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }
}

@media (max-width: 991.98px) {
  #sp-header #sp-menu > .sp-column {
    justify-content: flex-end !important;
    gap: .55rem !important;
  }

  #sp-header .st-header-language {
    margin: 0 !important;
  }

  .st-language-menu > summary {
    min-width: 6.75rem !important;
    max-width: 8rem !important;
    min-height: 40px !important;
    height: 40px !important;
    font-size: .74rem !important;
  }

  body.ltr.offcanvs-position-right .offcanvas-menu {
    right: calc(-1 * min(78vw, 320px)) !important;
    width: min(78vw, 320px) !important;
    max-width: 320px !important;
  }

  body.rtl.offcanvs-position-left .offcanvas-menu,
  body.rtl.offcanvs-position-right .offcanvas-menu {
    width: min(78vw, 320px) !important;
    max-width: 320px !important;
  }

  html[dir="rtl"] body.offcanvs-position-right .offcanvas-menu,
  html[dir="rtl"] body.offcanvs-position-left .offcanvas-menu {
    right: auto !important;
    left: calc(-1 * min(78vw, 320px)) !important;
  }

  html[dir="rtl"] body.offcanvas-active.offcanvs-position-right .offcanvas-menu,
  html[dir="rtl"] body.offcanvas-active.offcanvs-position-left .offcanvas-menu {
    left: 0 !important;
  }

  body.offcanvas-active .offcanvas-overlay {
    background: rgba(6, 20, 38, .38) !important;
  }

  .offcanvas-menu .offcanvas-inner {
    padding-inline: 16px !important;
  }

  .offcanvas-menu .st-responsive-auth .sourcecoast .social-login > a {
    min-height: 42px !important;
    padding: 5px 8px !important;
    font-size: .78rem !important;
  }
}

@media (max-width: 420px) {
  .st-language-menu > summary > span:not(.st-language-caret) {
    max-width: 4.6rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}


/* --- securitytalent-header-controls-1.9.49.css --- */
/* SecurityTalent 1.9.49 — stable desktop, tablet and mobile header controls. */

/* Replace Helix's space-between gaps with one intentional flexible menu gap. */
@media (min-width: 992px) {
  #sp-header #sp-menu > .sp-column {
    justify-content: flex-start !important;
    gap: .45rem !important;
  }

  #sp-header #sp-menu > .sp-column > .sp-megamenu-wrapper {
    margin-inline-end: auto !important;
  }

  #sp-header .st-header-language,
  #sp-header .st-header-auth {
    margin: 0 !important;
  }
}

@media (max-width: 991.98px) {
  /* Keep the selector and menu trigger together instead of allowing the
     framework's large automatic toggler margin to split them apart. */
  #sp-header #sp-menu > .sp-column {
    direction: ltr !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: .5rem !important;
  }

  #sp-header #sp-menu > .sp-column > .sp-megamenu-wrapper {
    flex: 0 0 0 !important;
    width: 0 !important;
    margin: 0 !important;
  }

  #sp-header .st-header-language {
    direction: ltr !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    order: 1 !important;
  }

  html[dir="rtl"] #sp-header .st-header-language {
    direction: rtl !important;
  }

  #sp-header #offcanvas-toggler {
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    order: 3 !important;
  }

  /* A closed drawer must remain completely outside the viewport. */
  body:not(.offcanvas-active) .offcanvas-menu {
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.offcanvas-active .offcanvas-menu {
    visibility: visible !important;
    pointer-events: auto !important;
  }
}

/* Tablets have enough room for the same four compact authentication choices
   as desktop. Keep mobile uncluttered by leaving those controls in its drawer. */
@media (min-width: 768px) and (max-width: 991.98px) {
  #sp-header,
  #sp-header #sp-menu > .sp-column {
    min-height: 88px !important;
    height: 88px !important;
  }

  #sp-header .st-header-auth.d-none.d-lg-flex {
    display: grid !important;
    direction: ltr !important;
    grid-template-columns: repeat(2, 128px) !important;
    grid-template-rows: repeat(2, 34px) !important;
    gap: 5px 7px !important;
    flex: 0 0 263px !important;
    width: 263px !important;
    min-width: 263px !important;
    min-height: 73px !important;
    margin: 0 !important;
    order: 2 !important;
  }

  #sp-header .st-header-auth > .sourcecoast,
  #sp-header .st-header-auth > .sourcecoast > .d-flex,
  #sp-header .st-header-auth > .mod-es,
  #sp-header .st-header-auth > .sourcecoast .social-login > a,
  #sp-header .st-header-auth > .mod-es > a {
    width: 128px !important;
    min-width: 128px !important;
    max-width: 128px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    font-size: .72rem !important;
  }

  #sp-header .st-header-auth > .mod-es {
    display: grid !important;
    grid-template-rows: repeat(2, 34px) !important;
    gap: 5px !important;
    height: 73px !important;
    min-height: 73px !important;
    max-height: 73px !important;
  }

  #sp-header .st-header-auth .sourcecoast .social-login > a::before {
    flex-basis: 22px !important;
    width: 22px !important;
    height: 22px !important;
    font-size: 14px !important;
  }

  #sp-header .st-language-menu > summary {
    min-width: 6.5rem !important;
    max-width: 7rem !important;
  }
}

@media (max-width: 767.98px) {
  #sp-header .st-header-auth {
    display: none !important;
  }

  #sp-header #sp-menu > .sp-column {
    min-height: 58px !important;
  }
}



/* --- securitytalent-arabic-typography-1.9.53.css --- */
/* SecurityTalent Arabic readability — scoped to Arabic/RTL presentation only. */
html[lang^="ar"],
html[lang^="ar"] body,
html[dir="rtl"],
html[dir="rtl"] body {
  font-family: "Noto Kufi Arabic", "Noto Sans Arabic", Tahoma, Arial, sans-serif;
  line-height: 1.72;
}

html[lang^="ar"] #sp-header .sp-megamenu-parent > li > a,
html[lang^="ar"] #sp-header .sp-megamenu-parent > li > span,
html[lang^="ar"] .offcanvas-menu .menu > li > a,
html[lang^="ar"] .offcanvas-menu .menu > li > span {
  font-size: 1.08rem !important;
  line-height: 1.55 !important;
}

html[lang^="ar"] .es-navbar a,
html[lang^="ar"] .es-toolbar a,
html[lang^="ar"] .es-sidebar a,
html[lang^="ar"] .es-sidebar .o-nav__link,
html[lang^="ar"] .es-container .o-nav__link,
html[lang^="ar"] .es-container .o-tabs__link {
  font-size: 1.03rem !important;
  line-height: 1.65 !important;
}

html[lang^="ar"] .es-container p,
html[lang^="ar"] .es-container .es-snackbar,
html[lang^="ar"] .es-container .alert,
html[lang^="ar"] .es-container .o-alert,
html[lang^="ar"] .es-card__body,
html[lang^="ar"] .es-stream-list {
  font-size: 1.04rem;
  line-height: 1.78;
}

html[lang^="ar"] .es-container h1,
html[lang^="ar"] .es-container h2,
html[lang^="ar"] .es-container h3,
html[lang^="ar"] .es-container h4,
html[lang^="ar"] .es-sidebar__title,
html[lang^="ar"] .es-card__title {
  line-height: 1.55 !important;
}

/* Counters and icon-only controls should not grow with Arabic labels. */
html[lang^="ar"] .es-container .o-badge,
html[lang^="ar"] .es-container .badge,
html[lang^="ar"] .es-container [class*="counter"],
html[lang^="ar"] .es-container [aria-label][class*="icon"] {
  font-size: .86rem !important;
  line-height: 1.2 !important;
}

@media (max-width: 767.98px) {
  html[lang^="ar"] #sp-header .sp-megamenu-parent > li > a,
  html[lang^="ar"] .offcanvas-menu .menu > li > a,
  html[lang^="ar"] .offcanvas-menu .menu > li > span,
  html[lang^="ar"] .es-navbar a,
  html[lang^="ar"] .es-toolbar a,
  html[lang^="ar"] .es-sidebar a {
    font-size: 1.08rem !important;
  }
}


/* --- securitytalent-arabic-navigation-1.9.54.css --- */
/* Arabic desktop navigation alignment and dropdown presentation. */
@media (min-width: 992px) {
  html[lang^="ar"] #sp-header #sp-menu > .sp-column,
  html[dir="rtl"] #sp-header #sp-menu > .sp-column {
    align-items: center !important;
    flex-wrap: nowrap !important;
  }

  html[lang^="ar"] #sp-header .sp-megamenu-wrapper,
  html[dir="rtl"] #sp-header .sp-megamenu-wrapper,
  html[lang^="ar"] #sp-header .sp-megamenu-parent,
  html[dir="rtl"] #sp-header .sp-megamenu-parent {
    align-items: stretch !important;
    align-self: stretch !important;
    height: 100% !important;
    min-width: 0;
  }

  html[lang^="ar"] #sp-header .sp-megamenu-parent > li,
  html[dir="rtl"] #sp-header .sp-megamenu-parent > li {
    align-items: stretch !important;
    display: flex !important;
    flex: 0 0 auto;
  }

  html[lang^="ar"] #sp-header .sp-megamenu-parent > li > a,
  html[lang^="ar"] #sp-header .sp-megamenu-parent > li > span,
  html[dir="rtl"] #sp-header .sp-megamenu-parent > li > a,
  html[dir="rtl"] #sp-header .sp-megamenu-parent > li > span {
    align-items: center !important;
    display: flex !important;
    height: 100% !important;
    line-height: 1.35 !important;
    padding-inline: .68rem !important;
    white-space: nowrap;
  }

  /* Keep the readable Arabic face without making the seven-item desktop row
     wider than the available navigation area. EasySocial/body Arabic text
     retains the larger 1.03–1.08rem settings from the typography release. */
  html[lang^="ar"] #sp-header .sp-megamenu-parent > li > a,
  html[lang^="ar"] #sp-header .sp-megamenu-parent > li > span {
    font-size: 1rem !important;
  }

  html[lang^="ar"] #sp-header .st-header-language,
  html[lang^="ar"] #sp-header .st-header-auth,
  html[dir="rtl"] #sp-header .st-header-language,
  html[dir="rtl"] #sp-header .st-header-auth {
    align-self: center !important;
    margin-block: 0 !important;
  }

  /* custom.css reserves a tall guest-login block on desktop. Once EasySocial
     replaces it with the compact member menu, release that reservation so the
     Arabic navigation and account controls share one centered header row. */
  html[lang^="ar"] #sp-header .st-header-auth:has(> .mod-es:only-child),
  html[dir="rtl"] #sp-header .st-header-auth:has(> .mod-es:only-child) {
    height: auto !important;
    min-height: 0 !important;
  }

  html[lang^="ar"] #sp-header .sp-megamenu-parent > li.sp-has-child > a::after,
  html[dir="rtl"] #sp-header .sp-megamenu-parent > li.sp-has-child > a::after {
    margin-inline: .38rem 0;
  }

  html[lang^="ar"] #sp-header .sp-dropdown,
  html[dir="rtl"] #sp-header .sp-dropdown {
    direction: rtl;
    text-align: right;
  }

  html[lang^="ar"] #sp-header .sp-dropdown li a,
  html[dir="rtl"] #sp-header .sp-dropdown li a {
    font-size: .96rem !important;
    line-height: 1.55 !important;
    text-align: right;
    white-space: normal;
  }
}


