/* NexGen Public Homepage Reference Implementation rc265
   Implements the approved visual reference while preserving real routes/data. */

body.public-site{background:#f4f7fb!important}
.nxpbRoot .ngh-home{--refNavy:#061d38;--refBlue:#1b63c7;--refPurple:#5d3fd1;--refTeal:#0e8c83;--refGold:#ffc928;--refInk:#14233b}

/* ===== HERO RECOVERY + REFERENCE FIDELITY =====
   rc264 accidentally changed direct hero-child positioning; restore carousel structure explicitly. */
.nxpbRoot .ngh-hero::after{content:none!important}
.nxpbRoot .ngh-hero > .ngh-slide{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
}
.nxpbRoot .ngh-hero > .ngh-slide.is-active{z-index:2!important}
.nxpbRoot .ngh-hero > .ngh-slide-label{
  position:absolute!important;
  right:26px!important;
  top:24px!important;
  z-index:15!important;
}
.nxpbRoot .ngh-hero > .ngh-controls{
  position:absolute!important;
  left:auto!important;
  right:26px!important;
  bottom:24px!important;
  z-index:15!important;
  width:auto!important;
  display:flex!important;
  gap:14px!important;
}
.nxpbRoot .ngh-controls .ngh-dots{position:absolute!important;left:auto!important;right:118px!important;bottom:0!important;display:none!important}
.nxpbRoot .ngh-arrows{display:flex!important;gap:7px!important}
.nxpbRoot .ngh-arrow{width:38px!important;height:38px!important;border-radius:10px!important;background:rgba(5,23,43,.62)!important}

.nxpbRoot .ngh-hero-wrap{max-width:1320px!important;margin:18px auto 0!important;padding:0 22px!important}
.nxpbRoot .ngh-hero{
  height:500px!important;
  border-radius:23px!important;
  box-shadow:0 22px 54px rgba(20,44,73,.16)!important;
  background:#0b2946!important;
}
.nxpbRoot .ngh-slide img{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
  display:block!important;
}
.nxpbRoot .ngh-slide::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    linear-gradient(90deg,rgba(4,20,39,.94) 0%,rgba(4,20,39,.84) 30%,rgba(4,20,39,.56) 50%,rgba(4,20,39,.16) 72%,rgba(4,20,39,.04) 100%)!important;
}
.nxpbRoot .ngh-slide-content{
  position:absolute!important;
  z-index:3!important;
  left:42px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:min(620px,62%)!important;
  max-width:620px!important;
}
.nxpbRoot .ngh-slide-content .ngh-eyebrow{
  color:#fff3b0!important;
  font-size:11px!important;
  letter-spacing:.13em!important;
  margin-bottom:10px!important;
}
.nxpbRoot .ngh-slide-content h1{
  margin:0 0 14px!important;
  max-width:610px!important;
  color:#fff!important;
  font-size:clamp(38px,4vw,58px)!important;
  line-height:1.01!important;
  letter-spacing:-.05em!important;
  font-weight:900!important;
  text-shadow:0 2px 12px rgba(0,0,0,.22)!important;
}
.nxpbRoot .ngh-slide-content h1 span{color:#fff!important}
.nxpbRoot .ngh-slide-content p{
  margin:0!important;
  max-width:560px!important;
  color:#edf4fb!important;
  font-size:15px!important;
  line-height:1.62!important;
  font-weight:500!important;
  text-shadow:0 1px 3px rgba(0,0,0,.24)!important;
}
.nxpbRoot .ngh-slide-content .ngh-actions{margin-top:18px!important;gap:10px!important}
.nxpbRoot .ngh-slide-content .ngh-btn{min-height:44px!important;padding:10px 15px!important;font-size:13px!important;border-radius:9px!important}
.nxpbRoot .ngh-slide-content .ngh-meta{margin-top:14px!important;gap:7px!important}
.nxpbRoot .ngh-slide-content .ngh-meta span{
  padding:7px 9px!important;
  font-size:11px!important;
  color:#f5f8fc!important;
  background:rgba(9,26,46,.48)!important;
  border-color:rgba(255,255,255,.16)!important;
}
.nxpbRoot .ngh-slide-label{
  border-radius:9px!important;
  background:rgba(10,31,51,.66)!important;
  padding:8px 10px!important;
  font-size:11px!important;
}

/* Quick-action strip */
.nxpbRoot .ngh-quick{max-width:1220px!important;margin:-18px auto 0!important;padding:0 24px!important}
.nxpbRoot .ngh-quick-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}
.nxpbRoot .ngh-quick-card{
  min-height:78px!important;
  padding:12px!important;
  border-radius:14px!important;
  box-shadow:0 12px 26px rgba(31,52,82,.09)!important;
}
.nxpbRoot .ngh-qicon{width:38px!important;height:38px!important;border-radius:11px!important}
.nxpbRoot .ngh-quick-card b{font-size:12px!important;color:#17243a!important}
.nxpbRoot .ngh-quick-card small{font-size:10px!important;line-height:1.35!important}

/* Main content proportion */
.nxpbRoot .ngh-content{max-width:1220px!important;margin:28px auto 58px!important;padding:0 24px!important}
.nxpbRoot .ngh-section{margin-top:30px!important}

/* About */
.nxpbRoot .ngh-about{grid-template-columns:.95fr 1.05fr!important;gap:14px!important}
.nxpbRoot .ngh-about-visual{min-height:360px!important;border-radius:18px!important}
.nxpbRoot .ngh-about-visual::after{
  background:linear-gradient(180deg,rgba(6,21,38,.04) 20%,rgba(6,21,38,.78) 100%)!important;
}
.nxpbRoot .ngh-about-copy-on-image{left:24px!important;right:24px!important;bottom:24px!important;max-width:80%!important}
.nxpbRoot .ngh-about-copy-on-image h3{font-size:23px!important;line-height:1.2!important}
.nxpbRoot .ngh-about-copy-on-image p{font-size:13px!important;line-height:1.55!important}
.nxpbRoot .ngh-photo-action{
  display:inline-flex!important;
  margin-top:12px!important;
  padding:9px 12px!important;
  border-radius:9px!important;
  background:#ffc928!important;
  color:#172033!important;
  font-size:12px!important;
  font-weight:900!important;
  text-decoration:none!important;
}
.nxpbRoot .ngh-about-card{padding:21px!important;border-radius:18px!important}
.nxpbRoot .ngh-about-card h3{font-size:22px!important}
.nxpbRoot .ngh-about-card>p{font-size:13px!important}
.nxpbRoot .ngh-values{gap:8px!important}
.nxpbRoot .ngh-value{padding:10px!important;border-radius:11px!important}
.nxpbRoot .ngh-value b{font-size:11px!important}
.nxpbRoot .ngh-value small{font-size:10px!important}

/* Section headings */
.nxpbRoot .ngh-head{margin-bottom:13px!important}
.nxpbRoot .ngh-head h2{font-size:28px!important;line-height:1.1!important}
.nxpbRoot .ngh-head p{font-size:13px!important}
.nxpbRoot .ngh-link{font-size:12px!important}

/* Programmes — up to four, photographic covers using existing approved home artwork. */
.nxpbRoot .ngh-programmes{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.nxpbRoot .ngh-programme{border-radius:15px!important;box-shadow:0 8px 22px rgba(27,47,73,.07)!important}
.nxpbRoot .ngh-programme-cover{
  min-height:145px!important;
  padding:14px!important;
  background-size:cover!important;
  background-position:center!important;
}
.nxpbRoot .ngh-programme:nth-child(4n+1) .ngh-programme-cover{background-image:url('/public/assets/home/hero-industrial-leadership.jpg')!important}
.nxpbRoot .ngh-programme:nth-child(4n+2) .ngh-programme-cover{background-image:url('/public/assets/home/hero-technical-surveying.jpg')!important}
.nxpbRoot .ngh-programme:nth-child(4n+3) .ngh-programme-cover{background-image:url('/public/assets/home/hero-practical-mining-training.jpg')!important}
.nxpbRoot .ngh-programme:nth-child(4n) .ngh-programme-cover{background-image:url('/public/assets/home/hero-women-technical-careers.jpg')!important}
.nxpbRoot .ngh-programme-cover::after{background:linear-gradient(180deg,rgba(5,19,34,.05),rgba(5,19,34,.78))!important}
.nxpbRoot .ngh-programme-cover h3{font-size:16px!important}
.nxpbRoot .ngh-programme-cover span{font-size:10px!important}
.nxpbRoot .ngh-programme-body{padding:12px!important}
.nxpbRoot .ngh-programme-body p{font-size:12px!important;line-height:1.5!important;color:#526174!important;min-height:54px!important}
.nxpbRoot .ngh-programme-row strong,.nxpbRoot .ngh-programme-row a{font-size:10px!important}

/* Learning marketplace */
.nxpbRoot .ngh-market{padding:20px!important;border-radius:20px!important;background:linear-gradient(108deg,#082241,#0c4f68 48%,#5633bd)!important}
.nxpbRoot .ngh-market-top{margin-bottom:12px!important}
.nxpbRoot .ngh-market-top h2{font-size:29px!important;line-height:1.05!important;max-width:660px!important}
.nxpbRoot .ngh-market-top p{font-size:12px!important}
.nxpbRoot .ngh-market-cards{gap:8px!important}
.nxpbRoot .ngh-market-card{border-radius:13px!important}
.nxpbRoot .ngh-market-cover{height:104px!important;padding:12px!important}
.nxpbRoot .ngh-market-body{padding:10px!important}
.nxpbRoot .ngh-market-body h3{font-size:12px!important}
.nxpbRoot .ngh-market-body p{font-size:11px!important}
.nxpbRoot .ngh-market-price strong,.nxpbRoot .ngh-market-price a{font-size:10px!important}

/* Why NexGen / Journey */
.nxpbRoot .ngh-split{gap:12px!important}
.nxpbRoot .ngh-panel{padding:18px!important;border-radius:17px!important}
.nxpbRoot .ngh-panel h3{font-size:20px!important}
.nxpbRoot .ngh-panel>p{font-size:12px!important}
.nxpbRoot .ngh-why-grid{gap:7px!important}
.nxpbRoot .ngh-why-item{padding:9px!important;font-size:10px!important}
.nxpbRoot .ngh-why-item b{font-size:10px!important}
.nxpbRoot .ngh-timeline{gap:7px!important}
.nxpbRoot .ngh-tnum{width:30px!important;height:30px!important;border-radius:50%!important;font-size:10px!important}
.nxpbRoot .ngh-trow b{font-size:11px!important}
.nxpbRoot .ngh-trow p{font-size:10px!important;line-height:1.4!important}

/* Proof strip */
.nxpbRoot .ngh-proof{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  margin-top:22px!important;
  padding:13px 16px!important;
  border:1px solid #e0e7ef!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(27,47,73,.06)!important;
}
.nxpbRoot .ngh-proof-item{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:4px 15px!important;
  border-right:1px solid #e9edf3!important;
}
.nxpbRoot .ngh-proof-item:last-child{border-right:0!important}
.nxpbRoot .ngh-proof-icon{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:#edf4ff!important;
  color:#4f58c8!important;
  flex:0 0 auto!important;
}
.nxpbRoot .ngh-proof-item:nth-child(1) .ngh-proof-icon{background:#e9f8f1!important;color:#16875f!important}
.nxpbRoot .ngh-proof-item:nth-child(3) .ngh-proof-icon{background:#f2edff!important;color:#6946c7!important}
.nxpbRoot .ngh-proof-item:nth-child(4) .ngh-proof-icon{background:#fff0f6!important;color:#c34f80!important}
.nxpbRoot .ngh-proof-item strong{display:block!important;font-size:17px!important;color:#17243a!important;line-height:1.1!important}
.nxpbRoot .ngh-proof-item small{display:block!important;margin-top:2px!important;font-size:10px!important;color:#738096!important}

/* Final CTA */
.nxpbRoot .ngh-cta{margin-top:20px!important;padding:21px 22px!important;border-radius:18px!important}
.nxpbRoot .ngh-cta h2{font-size:27px!important;line-height:1.07!important}
.nxpbRoot .ngh-cta p{font-size:12px!important}
.nxpbRoot .ngh-cta .ngh-btn{min-height:42px!important;font-size:12px!important}

/* Reference uses the shell footer rather than a second oversized homepage footer. */
.nxpbRoot .ngh-footer{display:none!important}

/* Public shell/header polish */
body.public-site .public-header{box-shadow:0 4px 18px rgba(28,46,72,.06)!important}
body.public-site .public-nav a{font-size:12px!important}
body.public-site .public-footer{min-height:42px!important;padding-block:10px!important}

/* Motion is small and human. */
.nxpbRoot .ngh-programme,.nxpbRoot .ngh-market-card,.nxpbRoot .ngh-quick-card{transition:transform .16s ease,box-shadow .16s ease!important}
@media(hover:hover){
  .nxpbRoot .ngh-programme:hover,.nxpbRoot .ngh-market-card:hover,.nxpbRoot .ngh-quick-card:hover{transform:translateY(-3px)!important}
}

/* Responsive */
@media(max-width:1050px){
  .nxpbRoot .ngh-programmes{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nxpbRoot .ngh-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .nxpbRoot .ngh-proof{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nxpbRoot .ngh-proof-item:nth-child(2){border-right:0!important}
}
@media(max-width:800px){
  .nxpbRoot .ngh-hero{height:510px!important}
  .nxpbRoot .ngh-slide-content{left:24px!important;right:24px!important;width:auto!important;max-width:none!important;top:auto!important;bottom:70px!important;transform:none!important}
  .nxpbRoot .ngh-slide::after{background:linear-gradient(180deg,rgba(4,20,39,.18) 0%,rgba(4,20,39,.50) 42%,rgba(4,20,39,.94) 100%)!important}
  .nxpbRoot .ngh-slide-content h1{font-size:39px!important}
  .nxpbRoot .ngh-about,.nxpbRoot .ngh-split{grid-template-columns:1fr!important}
  .nxpbRoot .ngh-market-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .nxpbRoot .ngh-hero-wrap{padding:0 10px!important}
  .nxpbRoot .ngh-hero{height:540px!important;border-radius:18px!important}
  .nxpbRoot .ngh-slide-content h1{font-size:34px!important}
  .nxpbRoot .ngh-slide-content p{font-size:15px!important}
  .nxpbRoot .ngh-slide-label{right:14px!important;top:14px!important}
  .nxpbRoot .ngh-hero>.ngh-controls{right:14px!important;bottom:14px!important}
  .nxpbRoot .ngh-quick{padding:0 12px!important}
  .nxpbRoot .ngh-quick-grid{grid-template-columns:1fr!important}
  .nxpbRoot .ngh-content{padding:0 12px!important}
  .nxpbRoot .ngh-programmes,.nxpbRoot .ngh-market-cards,.nxpbRoot .ngh-proof{grid-template-columns:1fr!important}
  .nxpbRoot .ngh-proof-item{border-right:0!important;border-bottom:1px solid #e9edf3!important}
  .nxpbRoot .ngh-proof-item:last-child{border-bottom:0!important}
  .nxpbRoot .ngh-market-top,.nxpbRoot .ngh-cta{align-items:flex-start!important;flex-direction:column!important}
}
@media(prefers-reduced-motion:reduce){
  .nxpbRoot .ngh-programme,.nxpbRoot .ngh-market-card,.nxpbRoot .ngh-quick-card{transition:none!important}
}
