
:root{
  --ngp-navy:#06162d;--ngp-navy2:#0a2a4f;--ngp-gold:#f4b719;--ngp-gold2:#ffd45e;
  --ngp-purple:#6b3fe0;--ngp-blue:#1777e8;--ngp-green:#0f9b69;--ngp-orange:#ff7a00;
  --ngp-ink:#17283f;--ngp-muted:#5c6c81;--ngp-line:#e5eaf1;--ngp-soft:#f7f9fc;
  --ngp-shadow:0 14px 34px rgba(26,47,84,.08);
}
body.public-site .public-content{max-width:none!important;padding:0!important}
.ngp-page{overflow:hidden;color:var(--ngp-ink)}
.ngp-hero{
  max-width:1480px;margin:18px auto 0;padding:48px 52px;border-radius:28px;color:#fff;
  background:
    radial-gradient(circle at 88% 15%,rgba(255,210,80,.22),transparent 23%),
    radial-gradient(circle at 72% 80%,rgba(107,63,224,.28),transparent 28%),
    linear-gradient(120deg,#061a35,#0b395a 50%,#17386f 74%,#5930c5);
  box-shadow:0 24px 54px rgba(15,37,73,.16);position:relative;overflow:hidden
}
.ngp-hero:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-80px;top:-120px}
.ngp-eyebrow{font-size:12px;line-height:1.35;letter-spacing:.15em;text-transform:uppercase;color:#ffd45e;font-weight:950}
.ngp-hero h1{font-size:clamp(42px,4vw,58px);line-height:1.03;letter-spacing:-.04em;margin:12px 0 15px;color:#fff;max-width:830px}
.ngp-hero h1 span{color:var(--ngp-gold)}
.ngp-hero p{font-size:16px;line-height:1.72;color:#edf4fb;max-width:760px;margin:0}
.ngp-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.ngp-btn{border:0;border-radius:11px;padding:13px 16px;font-size:12px;font-weight:900;display:inline-flex;align-items:center;gap:8px;text-decoration:none;cursor:pointer;transition:.22s}
.ngp-btn:hover{transform:translateY(-2px)}
.ngp-btn.gold{background:linear-gradient(135deg,var(--ngp-gold),var(--ngp-gold2));color:#142238;box-shadow:0 10px 24px rgba(244,183,25,.24)}
.ngp-btn.glass{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);color:#fff}

.ngp-shell{max-width:1390px;margin:0 auto;padding:0 36px}
.ngp-tools{
  margin-top:-22px;position:relative;z-index:3;background:#fff;border:1px solid var(--ngp-line);
  border-radius:18px;padding:13px;box-shadow:0 16px 34px rgba(23,44,80,.10);
  display:flex;justify-content:space-between;gap:12px;align-items:center
}
.ngp-search{display:flex;align-items:center;gap:9px;flex:1;max-width:600px;border:1px solid #dce4ed;background:#f9fbfd;border-radius:12px;padding:10px 12px}
.ngp-search input{width:100%;border:0;background:transparent;outline:none;font-size:13px;color:#203149}
.ngp-search button{border:0;border-radius:9px;padding:9px 12px;background:#102c53;color:#fff;font-size:12px;font-weight:900;cursor:pointer}
.ngp-filters{display:flex;gap:7px;flex-wrap:wrap}
.ngp-filter{border:1px solid #e1e7ef;background:#fff;border-radius:999px;padding:9px 12px;color:#46566e;font-size:12px;font-weight:900;cursor:pointer;transition:.2s}
.ngp-filter.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#0c2346,#6539d7)}
.ngp-filter:hover{transform:translateY(-2px)}

.ngp-intro{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-top:34px}
.ngp-intro h2{font-size:32px;line-height:1.15;letter-spacing:-.02em;margin:4px 0 0;color:#14243b}
.ngp-intro p{font-size:13px;line-height:1.65;color:#5c6c81;margin:5px 0 0;max-width:760px}
.ngp-count{padding:10px 13px;border-radius:12px;background:#f2edff;color:#5d39ce;font-size:12px;font-weight:900;white-space:nowrap}

.ngp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.ngp-card{
  border-radius:19px;overflow:hidden;background:#fff;border:1px solid var(--ngp-line);box-shadow:var(--ngp-shadow);
  transition:.24s ease;display:flex;flex-direction:column
}
.ngp-card:hover{transform:translateY(-6px);box-shadow:0 20px 38px rgba(25,45,80,.12)}
.ngp-cover{
  min-height:180px;padding:18px;color:#fff;display:flex;justify-content:space-between;align-items:flex-start;position:relative;
  background:
    radial-gradient(circle at 82% 18%,rgba(255,210,82,.22),transparent 20%),
    linear-gradient(135deg,#17456f,#0e6c70)
}
.ngp-card:nth-child(3n+2) .ngp-cover{background:radial-gradient(circle at 82% 18%,rgba(255,210,82,.22),transparent 20%),linear-gradient(135deg,#77501c,#e07a1e)}
.ngp-card:nth-child(3n+3) .ngp-cover{background:radial-gradient(circle at 82% 18%,rgba(255,210,82,.22),transparent 20%),linear-gradient(135deg,#233965,#6839d5)}
.ngp-code{padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.92);color:#19283e;font-size:12px;font-weight:950;letter-spacing:.05em}
.ngp-symbol{font-size:54px;opacity:.93;align-self:flex-end;margin-left:auto}
.ngp-body{padding:17px;display:flex;flex-direction:column;flex:1}
.ngp-body h3{font-size:19px;line-height:1.28;margin:0 0 7px;color:#17283f}
.ngp-desc{font-size:12px;line-height:1.65;color:#5d6d82;margin:0;min-height:78px}
.ngp-meta{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}
.ngp-pill{padding:6px 8px;border-radius:999px;background:#f5f7fa;color:#59697f;font-size:12px;font-weight:850}
.ngp-fees{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.ngp-fee{padding:10px;border-radius:11px;background:#f8fafc;border:1px solid #ebeff4}
.ngp-fee span{display:block;font-size:12px;color:#6c798d}.ngp-fee strong{display:block;font-size:13px;color:#1e3047;margin-top:3px}
.ngp-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:13px;padding-top:13px;border-top:1px solid #edf1f5}
.ngp-actions a{font-size:12px;font-weight:900;color:#5d39d0;text-decoration:none}
.ngp-actions .apply{padding:9px 11px;border-radius:9px;background:#102d55;color:#fff}

.ngp-empty{grid-column:1/-1;padding:36px;border:1px dashed #ccd6e2;border-radius:18px;background:#fafbfd;text-align:center}
.ngp-empty h3{margin:8px 0 5px;font-size:21px}.ngp-empty p{font-size:12px;color:#67758a}

.ngp-why{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:38px}
.ngp-why-card{border:1px solid var(--ngp-line);border-radius:16px;padding:16px;background:#fff;box-shadow:0 9px 23px rgba(27,48,84,.05)}
.ngp-wicon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;margin-bottom:10px;font-size:18px}
.ngp-why-card h3{font-size:13px;margin:0 0 5px}.ngp-why-card p{font-size:10.5px;line-height:1.6;color:#607087;margin:0}

.ngp-cta{
  margin:38px 0 0;border-radius:23px;padding:28px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:18px;
  background:radial-gradient(circle at 88% 15%,rgba(255,209,75,.25),transparent 25%),linear-gradient(105deg,#06213f,#0b5161 50%,#4a28b2)
}
.ngp-cta h2{font-size:30px;line-height:1.17;margin:0 0 8px;color:#fff}.ngp-cta p{font-size:13px;line-height:1.65;color:#edf4fb;margin:0;max-width:720px}
.ngp-reveal{opacity:0;transform:translateY(18px);transition:.65s ease}.ngp-reveal.show{opacity:1;transform:none}

@media(max-width:1000px){
  .ngp-shell{padding:0 18px}.ngp-hero{margin:14px 14px 0;padding:38px 28px}
  .ngp-grid{grid-template-columns:1fr 1fr}.ngp-why{grid-template-columns:1fr 1fr}
  .ngp-tools{flex-direction:column;align-items:stretch}.ngp-search{max-width:none}
}
@media(max-width:620px){
  .ngp-hero{border-radius:20px;padding:30px 21px}.ngp-hero h1{font-size:35px}.ngp-hero p{font-size:13.5px}
  .ngp-intro{align-items:flex-start;flex-direction:column}.ngp-intro h2{font-size:27px}.ngp-intro p{font-size:12px}
  .ngp-grid,.ngp-why{grid-template-columns:1fr}.ngp-cover{min-height:155px}
  .ngp-desc{min-height:0}.ngp-cta{flex-direction:column;align-items:flex-start;padding:23px}.ngp-cta h2{font-size:27px}.ngp-cta p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .ngp-reveal{opacity:1!important;transform:none!important}
}


/* ==========================================================
   v2.0.60 — Programme Tabs: colourful, glanceable, animated
   ========================================================== */
.ngp-tools{
  overflow:visible;
}
.ngp-filters{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.ngp-filter{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:10.5px;
  line-height:1;
  font-weight:950;
  letter-spacing:.01em;
  box-shadow:0 5px 14px rgba(31,49,82,.06);
  transition:transform .22s ease,box-shadow .22s ease,color .22s ease,border-color .22s ease;
}
.ngp-filter::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.10;
  transition:opacity .22s ease,transform .28s ease;
  transform:scale(.96);
}
.ngp-filter::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:4px;
  height:2px;
  border-radius:99px;
  opacity:0;
  transform:scaleX(.3);
  transition:.22s ease;
}
.ngp-filter:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 20px rgba(31,49,82,.10);
}
.ngp-filter:hover::before{opacity:.18;transform:scale(1)}
.ngp-filter.active{
  color:#fff;
  border-color:transparent;
  transform:translateY(-2px);
  box-shadow:0 11px 24px rgba(31,49,82,.16);
}
.ngp-filter.active::before{opacity:1;transform:scale(1)}
.ngp-filter.active::after{opacity:1;transform:scaleX(1);background:rgba(255,255,255,.72)}

.ngp-filter[data-ngp-filter="all"]{
  color:#4f2dbf;
  background:#f3efff;
  border-color:#e2d8ff;
}
.ngp-filter[data-ngp-filter="all"]::before{background:linear-gradient(135deg,#6b3fe0,#8e6df0)}
.ngp-filter[data-ngp-filter="all"].active{background:linear-gradient(135deg,#5b34cf,#7e59e6);color:#fff}

.ngp-filter[data-ngp-filter="active"]{
  color:#087b55;
  background:#edf9f4;
  border-color:#d1efe2;
}
.ngp-filter[data-ngp-filter="active"]::before{background:linear-gradient(135deg,#0f9b69,#3dbb8e)}
.ngp-filter[data-ngp-filter="active"].active{background:linear-gradient(135deg,#0b865b,#28ad7e);color:#fff}

.ngp-filter[data-ngp-filter="mining"]{
  color:#a65c00;
  background:#fff5e7;
  border-color:#f7dfb8;
}
.ngp-filter[data-ngp-filter="mining"]::before{background:linear-gradient(135deg,#f0a21b,#ff7a00)}
.ngp-filter[data-ngp-filter="mining"].active{background:linear-gradient(135deg,#d98b0d,#f56f00);color:#fff}

.ngp-filter[data-ngp-filter="safety"]{
  color:#0a68bd;
  background:#eef6ff;
  border-color:#d3e6fb;
}
.ngp-filter[data-ngp-filter="safety"]::before{background:linear-gradient(135deg,#1777e8,#41a0f4)}
.ngp-filter[data-ngp-filter="safety"].active{background:linear-gradient(135deg,#126bd3,#238ce8);color:#fff}

.ngp-filter[data-ngp-filter="environment"]{
  color:#167744;
  background:#eef9ef;
  border-color:#d4edd8;
}
.ngp-filter[data-ngp-filter="environment"]::before{background:linear-gradient(135deg,#2d9a57,#75b83e)}
.ngp-filter[data-ngp-filter="environment"].active{background:linear-gradient(135deg,#23894a,#64a936);color:#fff}

.ngp-filter .ngp-tab-icon{
  width:22px;
  height:22px;
  border-radius:7px;
  display:grid;
  place-items:center;
  font-size:12px;
  background:rgba(255,255,255,.62);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.58);
  transition:transform .22s ease;
}
.ngp-filter:hover .ngp-tab-icon{transform:rotate(-4deg) scale(1.08)}
.ngp-filter.active .ngp-tab-icon{background:rgba(255,255,255,.16)}

.ngp-tab-count{
  min-width:22px;
  height:22px;
  border-radius:999px;
  padding:0 6px;
  display:inline-grid;
  place-items:center;
  font-size:12px;
  background:rgba(255,255,255,.74);
  color:inherit;
  border:1px solid rgba(0,0,0,.05);
}
.ngp-filter.active .ngp-tab-count{
  background:rgba(255,255,255,.18);
  color:#fff;
  border-color:rgba(255,255,255,.16);
}

/* category accent on cards for quicker visual scanning */
.ngp-card{
  position:relative;
}
.ngp-card::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:4px;
  z-index:3;
  background:linear-gradient(90deg,#6b3fe0,#1777e8);
  transform-origin:left;
  transform:scaleX(.35);
  opacity:.65;
  transition:transform .28s ease,opacity .28s ease;
}
.ngp-card:hover::before{transform:scaleX(1);opacity:1}
.ngp-card[data-category="mining"]::before{background:linear-gradient(90deg,#f0a21b,#ff7a00)}
.ngp-card[data-category="safety"]::before{background:linear-gradient(90deg,#1777e8,#41a0f4)}
.ngp-card[data-category="environment"]::before{background:linear-gradient(90deg,#2d9a57,#75b83e)}

.ngp-card.ngp-filter-enter{
  animation:ngpFilterEnter .32s ease both;
}
@keyframes ngpFilterEnter{
  from{opacity:.25;transform:translateY(8px) scale(.985)}
  to{opacity:1;transform:none}
}

@media(max-width:620px){
  .ngp-filters{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:3px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .ngp-filters::-webkit-scrollbar{display:none}
  .ngp-filter{
    flex:0 0 auto;
    padding:9px 12px;
    min-height:38px;
  }
}
@media(prefers-reduced-motion:reduce){
  .ngp-card.ngp-filter-enter{animation:none!important}
}
