/* ========================================================================== 
   ES-PRO V59.23 — mobile content recovery and stronger interaction contrast
   ========================================================================== */

:root{
  --v5923-brand:var(--theme-primary,#0b4c9c);
  --v5923-brand-dark:color-mix(in srgb,var(--theme-primary,#0b4c9c) 82%,#08243f);
  --v5923-ink:#102a43;
  --v5923-copy:#53697d;
  --v5923-line:#d5e2ee
}@supports not (color:color-mix(in srgb,red 50%,blue)){:root{--v5923-brand-dark:var(--cmx-f3ad3d3d)}}

/* Secondary calls to action are actions, not passive outline labels. */
.button--secondary,
.page-home .capability-content .button--secondary,
.page-home .projects-showcase .button--ghost-light{
  color:#fff!important;
  background:linear-gradient(135deg,var(--v5923-brand),var(--v5923-brand-dark))!important;
  border-color:var(--v5923-brand)!important;
  box-shadow:0 11px 25px rgba(11,76,156,.18)!important
}
.button--secondary:hover,
.page-home .capability-content .button--secondary:hover,
.page-home .projects-showcase .button--ghost-light:hover{
  color:#fff!important;background:var(--v5923-brand-dark)!important;
  border-color:var(--v5923-brand-dark)!important;
  box-shadow:0 15px 31px rgba(11,76,156,.24)!important;
  transform:translateY(-2px)
}

/* Every excellence icon receives a solid, readable tile. nth-child is used
   because the first grid child is the section heading, not an article. */
.page-home .excellence-grid>.excellence-item>span{
  color:#fff!important;border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 10px 23px rgba(16,42,67,.16),inset 0 1px rgba(255,255,255,.3)!important
}
.page-home .excellence-grid>.excellence-item:nth-child(2)>span{background:linear-gradient(145deg,#5279d6,#385fc0)!important}
.page-home .excellence-grid>.excellence-item:nth-child(3)>span{background:linear-gradient(145deg,#178a91,#0e707a)!important}
.page-home .excellence-grid>.excellence-item:nth-child(4)>span{background:linear-gradient(145deg,#5ab967,#3e9e52)!important}
.page-home .excellence-grid>.excellence-item:nth-child(5)>span{background:linear-gradient(145deg,#7461c4,#5645aa)!important}
.page-home .excellence-grid>.excellence-item>span .ui-icon{
  color:#fff!important;opacity:1!important;filter:none!important
}

@media(max-width:820px){
  /* Mobile hero uses the established natural image + independent white copy
     panel. V59.22 accidentally made the panel copy white-on-white. */
  .page-home .hero__veil,
  .page-home .hero__slide[data-overlay-direction="left"] .hero__veil,
  .page-home .hero__slide[data-overlay-direction="right"] .hero__veil,
  .page-home .hero__slide[data-overlay-direction="center"] .hero__veil{
    display:none!important;background:none!important;opacity:0!important
  }
  .page-home .hero__copy,
  .page-home .hero__copy.hero__copy--tight{
    min-height:320px!important;padding:20px 18px 19px!important;
    overflow:visible!important;color:var(--v5923-ink)!important;
    background:#fff!important;border-color:#cdddeb!important;
    box-shadow:0 14px 34px rgba(16,42,67,.11)!important
  }
  .page-home .hero__slide.active .hero__copy,
  .page-home .hero__slide.active .hero__copy>*{
    visibility:visible!important;opacity:1!important
  }
  .page-home .hero__content .eyebrow,
  .page-home .hero__content .eyebrow span{
    display:block!important;color:var(--v5923-brand)!important;opacity:1!important
  }
  .page-home .hero__content .eyebrow::before{background:var(--v5923-brand)!important}
  .page-home .hero__content h1,
  .page-home .hero__content h2,
  .page-home .hero__content .hero-title,
  .page-home .hero__content .hero__title,
  .page-home .hero__content .hero__title--long,
  .page-home .hero__content .hero__title--very-long{
    position:static!important;display:block!important;width:100%!important;
    max-width:100%!important;margin:0 0 9px!important;overflow:visible!important;
    color:var(--v5923-ink)!important;opacity:1!important;visibility:visible!important;
    text-shadow:none!important;-webkit-text-fill-color:var(--v5923-ink)!important;
    -webkit-line-clamp:unset!important
  }
  .page-home .hero__content h1::after,
  .page-home .hero__content .hero-title::after{
    background:var(--v5923-brand)!important
  }
  .page-home .hero__copy>p,
  .page-home .hero__content .hero__copy>p{
    position:static!important;display:block!important;width:100%!important;
    max-width:100%!important;max-height:none!important;margin:0 0 14px!important;
    overflow:visible!important;color:var(--v5923-copy)!important;
    opacity:1!important;visibility:visible!important;font-size:.76rem!important;
    line-height:1.5!important;text-shadow:none!important;
    -webkit-text-fill-color:var(--v5923-copy)!important;
    -webkit-box-orient:initial!important;-webkit-line-clamp:unset!important
  }
  .page-home .hero__actions{position:static!important;margin-top:0!important}
  .page-home .hero__actions .button--primary{
    color:#fff!important;background:var(--v5923-brand)!important;
    border-color:var(--v5923-brand)!important;
    box-shadow:0 9px 20px rgba(11,76,156,.2)!important
  }
  .page-home .hero__actions .button--outline{
    color:var(--v5923-brand)!important;background:#fff!important;
    border-color:var(--v5923-brand)!important
  }
  .page-home .hero-benefits{position:static!important}

  /* Industry carousel cards return to normal document flow. This prevents the
     body from being absolutely positioned outside the visible mobile card. */
  .page-home .industry-showcase-grid{
    align-items:stretch!important;padding-bottom:12px!important
  }
  .page-home .industry-showcase-card,
  .page-home .industry-showcase-card:nth-child(n){
    position:relative!important;display:flex!important;height:auto!important;
    min-height:450px!important;flex-direction:column!important;overflow:hidden!important;
    background:#fff!important;border-color:var(--v5923-line)!important
  }
  .page-home .industry-showcase-card>img{
    position:relative!important;inset:auto!important;display:block!important;
    width:100%!important;height:190px!important;min-height:190px!important;
    flex:0 0 190px!important;object-fit:cover!important;filter:none!important
  }
  .page-home .industry-showcase-card__shade{display:none!important;content:none!important}
  .page-home .industry-showcase-card__body,
  .page-home .industry-showcase-card:nth-child(n) .industry-showcase-card__body{
    position:relative!important;inset:auto!important;display:flex!important;
    width:100%!important;height:auto!important;min-height:260px!important;
    flex:1 0 auto!important;flex-direction:column!important;align-items:flex-start!important;
    justify-content:flex-start!important;padding:22px 21px 21px!important;
    color:var(--v5923-copy)!important;background:#fff!important;
    opacity:1!important;visibility:visible!important;transform:none!important
  }
  .page-home .industry-showcase-card__icon,
  .page-home .industry-showcase-card:nth-child(n) .industry-showcase-card__icon{
    position:static!important;display:grid!important;width:46px!important;height:46px!important;
    min-width:46px!important;min-height:46px!important;flex:0 0 46px!important;
    place-items:center!important;margin:0 0 13px!important;opacity:1!important;
    visibility:visible!important;transform:none!important
  }
  .page-home .industry-showcase-card h3,
  .page-home .industry-showcase-card:nth-child(n) h3{
    position:static!important;display:block!important;width:100%!important;
    margin:0 0 9px!important;color:var(--v5923-ink)!important;
    opacity:1!important;visibility:visible!important;font-size:1.22rem!important;
    line-height:1.25!important;-webkit-text-fill-color:var(--v5923-ink)!important
  }
  .page-home .industry-showcase-card p,
  .page-home .industry-showcase-card:nth-child(n) p{
    position:static!important;display:block!important;width:100%!important;
    max-height:none!important;margin:0 0 16px!important;overflow:visible!important;
    color:var(--v5923-copy)!important;opacity:1!important;visibility:visible!important;
    font-size:.8rem!important;line-height:1.58!important;
    -webkit-text-fill-color:var(--v5923-copy)!important;
    -webkit-box-orient:initial!important;-webkit-line-clamp:unset!important
  }
  .page-home .industry-showcase-card a,
  .page-home .industry-showcase-card:nth-child(n) a{
    position:static!important;display:inline-flex!important;margin-top:auto!important;
    color:#fff!important;background:var(--v5923-brand)!important;
    border-color:var(--v5923-brand)!important;opacity:1!important;visibility:visible!important
  }
}

@media(max-width:380px){
  .page-home .hero__copy,.page-home .hero__copy.hero__copy--tight{
    min-height:325px!important;padding:18px 14px 17px!important
  }
  .page-home .industry-showcase-card,
  .page-home .industry-showcase-card:nth-child(n){min-height:440px!important}
}


/* V59.38: carousel clones preserve these per-card colours. Positional
   nth-child colours made the fourth original card white after prepending a clone. */
.page-home .industry-showcase-card[data-industry-icon] .industry-showcase-card__icon{
  color:#fff!important;
  background:linear-gradient(145deg,var(--industry-icon-start,#245faf),var(--industry-icon-end,#124c92))!important;
  border:1px solid rgba(255,255,255,.72)!important;
  opacity:1!important;visibility:visible!important;
  animation:none!important;transition:none!important
}
.page-home .industry-showcase-card[data-industry-icon] .industry-showcase-card__icon>.ui-icon{
  display:block!important;width:24px!important;height:24px!important;
  color:#fff!important;stroke:currentColor!important;fill:none!important;
  opacity:1!important;visibility:visible!important;
  animation:none!important;transition:none!important
}
