/* SecurityTalent 1.8.7 — responsive hero and audience tabs. */

/* Give hero copy a stable, readable surface instead of letting it collide
   with the image and navigation controls at narrower widths. */
@media (min-width: 768px) and (max-width: 1199.98px) {
  #sp-homepage-hero .slideshow,
  #sp-homepage-hero .slideshow-top,
  #sp-homepage-hero .slideshow-top > .swiper-wrapper,
  #sp-homepage-hero .slideshow-top > .swiper-wrapper > .swiper-slide,
  #sp-homepage-hero .slideshow .item,
  #sp-homepage-hero .slideshow .img-bg,
  #sp-homepage-hero .slideshow .img-bg img,
  #sp-homepage-hero .slideshow .slider-content {
    min-height: 520px !important;
    height: 520px !important;
  }

  #sp-homepage-hero .slideshow .img-bg img {
    width: 100% !important;
    object-fit: cover !important;
    object-position: 66% center !important;
  }

  #sp-homepage-hero .slideshow .slider-content {
    width: 100% !important;
    max-width: none !important;
    padding: 0 34px !important;
  }

  #sp-homepage-hero .slideshow .slider-content-inner {
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    left: 34px !important;
    width: min(56vw, 470px) !important;
    max-width: calc(100% - 68px) !important;
    height: auto !important;
    padding: 26px 28px !important;
    border: 1px solid rgba(255, 255, 255, .2) !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, rgba(11, 48, 53, .94), rgba(18, 63, 67, .78)) !important;
    box-shadow: 0 18px 38px rgba(5, 24, 30, .28) !important;
    transform: translateY(-50%) !important;
  }

  #sp-homepage-hero .slideshow .item-title {
    margin: 8px 0 12px !important;
    font-size: clamp(2rem, 4.2vw, 3rem) !important;
    line-height: 1.04 !important;
  }

  #sp-homepage-hero .slideshow .item-desc {
    display: -webkit-box !important;
    margin: 0 0 18px !important;
    overflow: hidden !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  #sp-homepage-hero .slideshow .group-action {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  #sp-homepage-hero .slideshow .group-action .btn {
    min-height: 50px !important;
    height: auto !important;
    padding: 13px 20px !important;
    white-space: normal !important;
  }

  /* Six equal, fully visible audience controls: no automatic horizontal
     scroll that can position the selected tab outside the viewport. */
  .st-profile-tabs-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 9px !important;
    height: auto !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  .st-profile-tabs-list [role="tab"] {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 10px 12px !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

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

  .st-profile-benefit-tab,
  .st-profile-benefit-tab .sp-module-content,
  .st-profile-benefit-tab .acm-features,
  .st-profile-benefit-tab .features-content,
  .st-profile-benefit-tab .row {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .st-profile-benefit-tab .acm-features {
    padding: 0 !important;
  }

  .st-profile-benefit-tab .features-content {
    overflow: hidden !important;
    border: 1px solid #c7dcd6 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(16, 42, 46, .1) !important;
  }

  .st-profile-benefit-tab .row {
    display: grid !important;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
    align-items: stretch !important;
  }

  .st-profile-benefit-tab .features-image,
  .st-profile-benefit-tab .features-item {
    width: 100% !important;
    max-width: none !important;
    min-height: 500px !important;
  }

  .st-profile-benefit-tab .features-image img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .st-profile-benefit-tab .features-item {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 34px !important;
  }

  .st-profile-benefit-tab .features-item h2 {
    font-size: clamp(1.8rem, 3.7vw, 2.5rem) !important;
    line-height: 1.08 !important;
  }
}

@media (max-width: 767.98px) {
  #sp-homepage-hero .slideshow,
  #sp-homepage-hero .slideshow-top,
  #sp-homepage-hero .slideshow-top > .swiper-wrapper,
  #sp-homepage-hero .slideshow-top > .swiper-wrapper > .swiper-slide,
  #sp-homepage-hero .slideshow .item,
  #sp-homepage-hero .slideshow .img-bg,
  #sp-homepage-hero .slideshow .img-bg img,
  #sp-homepage-hero .slideshow .slider-content {
    min-height: 600px !important;
    height: 600px !important;
  }

  #sp-homepage-hero .slideshow .img-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(5, 24, 30, .12) 0%, rgba(5, 24, 30, .48) 42%, rgba(5, 24, 30, .9) 100%);
    pointer-events: none;
  }

  #sp-homepage-hero .slideshow .img-bg img {
    width: 100% !important;
    object-fit: cover !important;
    object-position: 68% center !important;
  }

  #sp-homepage-hero .slideshow .slider-content {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  #sp-homepage-hero .slideshow .slider-content-inner {
    top: auto !important;
    right: 14px !important;
    bottom: 32px !important;
    left: 14px !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    padding: 18px !important;
    border: 1px solid rgba(255, 255, 255, .2) !important;
    border-radius: 16px !important;
    background: rgba(11, 48, 53, .88) !important;
    box-shadow: 0 16px 34px rgba(5, 24, 30, .28) !important;
    transform: none !important;
  }

  #sp-homepage-hero .slideshow .item-group {
    display: block !important;
    margin: 0 0 7px !important;
    font-size: .72rem !important;
    line-height: 1.3 !important;
  }

  #sp-homepage-hero .slideshow .item-title {
    margin: 0 0 10px !important;
    font-size: clamp(1.65rem, 8.2vw, 2.1rem) !important;
    line-height: 1.04 !important;
  }

  #sp-homepage-hero .slideshow .item-desc {
    display: -webkit-box !important;
    margin: 0 0 15px !important;
    overflow: hidden !important;
    font-size: .93rem !important;
    line-height: 1.43 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  #sp-homepage-hero .slideshow .group-action {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  #sp-homepage-hero .slideshow .group-action .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 12px 15px !important;
    white-space: normal !important;
    font-size: .94rem !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }

  .st-profile-tabs-shell {
    width: 100% !important;
    margin: 0 !important;
    padding: 26px 14px !important;
  }

  .st-profile-tabs-heading {
    text-align: center !important;
  }

  .st-profile-tabs-heading h2 {
    font-size: clamp(2rem, 10vw, 2.65rem) !important;
    line-height: 1.05 !important;
  }

  .st-profile-tabs-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    height: auto !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  .st-profile-tabs-list [role="tab"] {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    height: auto !important;
    padding: 9px 7px !important;
    white-space: normal !important;
    font-size: .82rem !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }

  .st-profile-tabs-panels {
    width: 100% !important;
    margin: 16px 0 0 !important;
  }

  .st-profile-benefit-tab,
  .st-profile-benefit-tab .sp-module-content,
  .st-profile-benefit-tab .acm-features,
  .st-profile-benefit-tab .features-content,
  .st-profile-benefit-tab .row,
  .st-profile-benefit-tab .features-image,
  .st-profile-benefit-tab .features-item {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .st-profile-benefit-tab .sp-module-title {
    margin: 0 0 10px !important;
    font-size: 1.18rem !important;
    line-height: 1.25 !important;
  }

  .st-profile-benefit-tab .sp-module-content,
  .st-profile-benefit-tab .acm-features {
    padding: 0 !important;
  }

  .st-profile-benefit-tab .features-content {
    overflow: hidden !important;
    border: 1px solid #c7dcd6 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(16, 42, 46, .1) !important;
  }

  .st-profile-benefit-tab .row {
    display: block !important;
  }

  .st-profile-benefit-tab .features-image {
    height: 225px !important;
    min-height: 225px !important;
  }

  .st-profile-benefit-tab .features-image img {
    display: block !important;
    width: 100% !important;
    height: 225px !important;
    max-height: 225px !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .st-profile-benefit-tab .features-item {
    min-height: 0 !important;
    padding: 22px 20px 24px !important;
  }

  .st-profile-benefit-tab .features-item .label-small {
    margin: 0 0 9px !important;
    font-size: .72rem !important;
    line-height: 1.35 !important;
  }

  .st-profile-benefit-tab .features-item h2 {
    margin: 0 0 14px !important;
    font-size: clamp(1.55rem, 7.5vw, 2rem) !important;
    line-height: 1.08 !important;
  }

  .st-profile-benefit-tab .st-profile-benefits-copy {
    font-size: .95rem !important;
    line-height: 1.55 !important;
  }

  .st-profile-benefit-tab .st-profile-founding-note {
    margin: 14px 0 0 !important;
    font-size: .91rem !important;
    line-height: 1.48 !important;
  }

  .st-profile-benefit-tab .features-item .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 50px !important;
    margin-top: 18px !important;
    padding: 12px 14px !important;
    white-space: normal !important;
    text-align: center !important;
  }
}
