:root{
  --pnc-hero:url("/assets/hero.webp");
  --pnc-services:url("/assets/services.webp");
  --pnc-stories:url("/assets/stories.webp");
  --pnc-industries:url("/assets/industries.webp");
  --pnc-surface:#ffffff;
  --pnc-surface-soft:#f6f7f9;
  --pnc-surface-dark:#0b0b0d;
}

/* Deterministic local background system. Keep all visible page backgrounds local. */
html,body,main{background:var(--pnc-surface)}
.page-hero,.inner-hero{background:var(--pnc-surface-soft)!important}
.infographic-section,.journey-section.muted{background:var(--pnc-surface-soft)!important}
.journey-section:not(.muted):not(.infographic-section){background:var(--pnc-surface)}
.services{background:var(--pnc-surface-dark)}

/* Legacy hero fallback. The active homepage carousel uses <img>, but older layouts stay local too. */
.hero-media{
  --hero-shift:0px;
  background-image:var(--pnc-hero)!important;
  background-color:#dfe4ea!important;
  background-size:cover!important;
  background-position:center calc(52% + var(--hero-shift))!important;
  background-repeat:no-repeat!important;
  filter:none!important;
  transform:none!important;
  image-rendering:auto!important;
}
.hero-media:after{
  background:linear-gradient(90deg,rgba(255,255,255,.02),rgba(3,12,24,.05) 58%,rgba(25,83,150,.18))!important;
}
.hero-rail{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(45,108,180,.68)!important}

/* Homepage carousel gets a stable fallback while each slide image loads. */
.hero.hero-carousel,.hero-slide{background:#111}
.hero-slide img{background:#dfe4ea}
.hero-slide img{filter:none!important;transform:none!important;image-rendering:auto!important}

/* Use each source image at cover scale. The previous 600% sprite zoom enlarged a small slice and visibly softened it. */
.service-card:before{
  background-image:var(--cms-card-image,var(--pnc-services))!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  opacity:.72!important;
  filter:none!important;
  transform:none!important;
  image-rendering:auto!important;
}
.service-card:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(5,7,10,.04),rgba(5,7,10,.18) 48%,rgba(5,7,10,.8) 100%);pointer-events:none}
.service-card>*{position:relative;z-index:1}
.service-card:hover:before{transform:none!important;opacity:.78!important}

/* Story and industry imagery stay on local optimized assets without oversized sprite zoom. */
.story-card{
  background-image:var(--pnc-stories)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#2a2e35!important;
  filter:none!important;
  image-rendering:auto!important;
  transition:none!important;
}
.industry-img{
  background-image:var(--pnc-industries)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#e7e9ed!important;
  filter:none!important;
  image-rendering:auto!important;
  transition:none!important;
}
.industry-card:hover .industry-img{transform:none!important}

/* Prevent background seams at shared section boundaries. */
.page-hero+.journey-section,.inner-hero+.inner-section{border-top:0}
.site-footer{background:#0b0b0d}

@media(max-width:1100px){.hero-media{background-position:62% calc(50% + var(--hero-shift))!important}}
@media(max-width:680px){
  .hero-media{background-position:58% calc(50% + var(--hero-shift))!important}
  .service-card:before,.story-card,.industry-img{background-size:cover!important;background-position:center!important}
}
@media(prefers-reduced-motion:reduce){.hero-media{--hero-shift:0px!important;will-change:auto}.hero-media:after,.hero-rail{transition:none!important}}
