/* NexGen Public Hero & Section Typography Calibration rc264
   Screenshot-driven refinement for hero legibility and structured subheadings. */

/* HERO — readable against photography */
.nxpbRoot .ngh-hero{
  position:relative!important;
}
.nxpbRoot .ngh-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(90deg,
      rgba(8,24,43,.86) 0%,
      rgba(8,24,43,.72) 34%,
      rgba(8,24,43,.32) 58%,
      rgba(8,24,43,.08) 78%,
      rgba(8,24,43,.02) 100%);
}
.nxpbRoot .ngh-hero > *{
  position:relative;
  z-index:1;
}
.nxpbRoot .ngh-hero-copy{
  max-width:680px!important;
}
.nxpbRoot .ngh-hero .ngh-eyebrow{
  display:inline-block!important;
  margin-bottom:14px!important;
  color:#ffffff!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-shadow:0 1px 2px rgba(0,0,0,.32)!important;
}
.nxpbRoot .ngh-hero h1{
  max-width:660px!important;
  margin:0 0 16px!important;
  color:#ffffff!important;
  font-size:clamp(42px,4.6vw,68px)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
  font-weight:900!important;
  text-wrap:balance!important;
  text-shadow:0 2px 12px rgba(0,0,0,.28)!important;
}
.nxpbRoot .ngh-hero .ngh-hero-sub,
.nxpbRoot .ngh-hero-copy > p,
.nxpbRoot .ngh-hero p{
  max-width:620px!important;
  margin:0 0 20px!important;
  color:#f1f5f9!important;
  font-size:16px!important;
  line-height:1.7!important;
  font-weight:500!important;
  text-shadow:0 1px 4px rgba(0,0,0,.30)!important;
}
.nxpbRoot .ngh-hero .ngh-actions{
  margin-top:16px!important;
}
.nxpbRoot .ngh-hero .ngh-btn{
  min-height:44px!important;
  padding:10px 16px!important;
  font-size:14px!important;
  font-weight:900!important;
}
.nxpbRoot .ngh-hero .ngh-chips,
.nxpbRoot .ngh-hero [class*="chip"]{
  margin-top:14px!important;
}
.nxpbRoot .ngh-hero [class*="chip"]{
  color:#f8fafc!important;
  background:rgba(15,23,42,.42)!important;
  border-color:rgba(255,255,255,.22)!important;
  backdrop-filter:blur(8px)!important;
}

/* ABOUT IMAGE — preserve overlay while improving title hierarchy */
.nxpbRoot .ngh-about-copy-on-image{
  max-width:86%!important;
}
.nxpbRoot .ngh-about-copy-on-image .ngh-eyebrow{
  display:block!important;
  margin-bottom:8px!important;
  color:#ffd76b!important;
}
.nxpbRoot .ngh-about-copy-on-image h3{
  margin:0 0 10px!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1.24!important;
  letter-spacing:-.02em!important;
  font-weight:850!important;
}
.nxpbRoot .ngh-about-copy-on-image p{
  margin:0!important;
  color:#eef4fb!important;
  font-size:14px!important;
  line-height:1.62!important;
}

/* SECTION HEADING SYSTEM — consistent eyebrow > title > summary */
.nxpbRoot .ngh-head{
  align-items:flex-end!important;
  gap:18px!important;
  margin-bottom:18px!important;
}
.nxpbRoot .ngh-head > div:first-child{
  max-width:760px!important;
}
.nxpbRoot .ngh-head .ngh-eyebrow,
.nxpbRoot .ngh-about-card > .ngh-eyebrow,
.nxpbRoot .ngh-panel > .ngh-eyebrow,
.nxpbRoot .ngh-market-top .ngh-eyebrow,
.nxpbRoot .ngh-cta .ngh-eyebrow{
  display:block!important;
  margin-bottom:7px!important;
}
.nxpbRoot .ngh-head h2,
.nxpbRoot .ngh-market-top h2,
.nxpbRoot .ngh-cta h2{
  margin:0 0 8px!important;
  font-size:clamp(28px,2.5vw,38px)!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  font-weight:850!important;
  text-wrap:balance!important;
}
.nxpbRoot .ngh-head p,
.nxpbRoot .ngh-market-top p,
.nxpbRoot .ngh-cta p{
  margin:0!important;
  max-width:720px!important;
  font-size:15px!important;
  line-height:1.62!important;
}
.nxpbRoot .ngh-about-card h3,
.nxpbRoot .ngh-panel h3{
  margin:0 0 9px!important;
  font-size:21px!important;
  line-height:1.25!important;
  letter-spacing:-.02em!important;
  font-weight:850!important;
}
.nxpbRoot .ngh-about-card > p,
.nxpbRoot .ngh-panel > p{
  margin-top:0!important;
}

/* Marketplace heading gets a stronger text block structure */
.nxpbRoot .ngh-market-top{
  align-items:flex-end!important;
  gap:18px!important;
}
.nxpbRoot .ngh-market-top > div{
  max-width:720px!important;
}
.nxpbRoot .ngh-market-top h2{
  color:#fff!important;
}
.nxpbRoot .ngh-market-top p{
  color:#dce8f7!important;
}

/* Journey / ecosystem cards: cleaner subheading rhythm */
.nxpbRoot .ngh-panel .ngh-eyebrow{
  font-size:11px!important;
}
.nxpbRoot .ngh-panel h3{
  color:#172033!important;
}
.nxpbRoot .ngh-panel p{
  color:#526175!important;
  font-size:14px!important;
  line-height:1.6!important;
}

/* CTA hierarchy */
.nxpbRoot .ngh-cta{
  align-items:center!important;
  gap:24px!important;
}
.nxpbRoot .ngh-cta > div:first-child{
  max-width:720px!important;
}
.nxpbRoot .ngh-cta h2{
  color:#fff!important;
}
.nxpbRoot .ngh-cta p{
  color:#dce9f7!important;
}
.nxpbRoot .ngh-cta .ngh-actions{
  flex-shrink:0!important;
}

/* Keep programme headings crisp and readable */
.nxpbRoot .ngh-programme-cover h3{
  font-size:19px!important;
  line-height:1.25!important;
  font-weight:850!important;
}
.nxpbRoot .ngh-programme-body p{
  font-size:14px!important;
  line-height:1.6!important;
}

/* Mobile */
@media(max-width:800px){
  .nxpbRoot .ngh-hero::after{
    background:linear-gradient(180deg,rgba(7,22,39,.78) 0%,rgba(7,22,39,.64) 52%,rgba(7,22,39,.50) 100%)!important;
  }
  .nxpbRoot .ngh-hero-copy{
    max-width:100%!important;
  }
  .nxpbRoot .ngh-hero h1{
    font-size:clamp(38px,10vw,54px)!important;
  }
  .nxpbRoot .ngh-hero p{
    font-size:16px!important;
  }
  .nxpbRoot .ngh-head,
  .nxpbRoot .ngh-market-top,
  .nxpbRoot .ngh-cta{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .nxpbRoot .ngh-head h2,
  .nxpbRoot .ngh-market-top h2,
  .nxpbRoot .ngh-cta h2{
    font-size:30px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .nxpbRoot *{text-rendering:optimizeLegibility}
}
