
.ngp-projects{--ngp-teal:#173a43;--ngp-aqua:#18b7ae;--ngp-ink:#17272d;--ngp-soft:#f3f7f6;font-family:inherit;color:var(--ngp-ink)}
.ngp-hero{width:100vw;margin-left:calc(50% - 50vw);margin-top:0;min-height:560px;display:flex;align-items:center;background:linear-gradient(120deg,#10242d 0%,#1f3c46 62%,#274d55 100%);color:#fff;position:relative;overflow:hidden}
.ngp-hero:after{content:"";position:absolute;right:-100px;bottom:-180px;width:520px;height:520px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}
.ngp-hero-inner{width:min(1180px,calc(100% - 48px));margin:auto;position:relative;z-index:1;padding:90px 0 70px}
.ngp-eyebrow{font-size:13px;font-weight:800;letter-spacing:.18em;color:#59d7d0;margin-bottom:22px}
.ngp-hero h1{font-size:clamp(54px,8vw,104px);line-height:.92;letter-spacing:-.055em;margin:0 0 28px;color:#fff;max-width:900px}
.ngp-hero p{font-size:clamp(19px,2vw,25px);line-height:1.55;max-width:760px;color:rgba(255,255,255,.84);margin:0}
.ngp-shell{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:64px 0 100px}
.ngp-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.ngp-filter{appearance:none;border:1px solid #d9e3e1;background:#fff;border-radius:999px;padding:10px 17px;font:inherit;font-size:14px;font-weight:700;color:#385159;cursor:pointer;transition:.2s ease}
.ngp-filter:hover,.ngp-filter.is-active{background:var(--ngp-teal);border-color:var(--ngp-teal);color:#fff}
.ngp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 30px}
.ngp-card{min-width:0;transition:opacity .2s ease}
.ngp-card.is-hidden{display:none}
.ngp-card-link{text-decoration:none!important;color:inherit!important;display:block}
.ngp-image{aspect-ratio:16/10;background-size:cover;background-position:center;border-radius:4px;position:relative;overflow:hidden;background-color:#dfe9e7}
.ngp-image:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,33,39,.22),transparent 45%);transition:.25s ease}
.ngp-card:hover .ngp-image:before{background:linear-gradient(to top,rgba(11,33,39,.34),rgba(11,33,39,.03))}
.ngp-image-empty:after{content:"NG";position:absolute;inset:0;display:grid;place-items:center;font-size:70px;font-weight:800;letter-spacing:-.08em;color:rgba(23,58,67,.16)}
.ngp-arrow{position:absolute;right:18px;top:18px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ngp-teal);font-size:22px;transform:translateY(-4px);opacity:0;transition:.25s ease;z-index:2}
.ngp-card:hover .ngp-arrow{opacity:1;transform:none}
.ngp-card-copy{padding:21px 4px 0}
.ngp-category{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:var(--ngp-aqua);margin-bottom:9px}
.ngp-card h2{font-size:clamp(27px,3vw,39px);line-height:1.03;letter-spacing:-.035em;color:var(--ngp-teal);margin:0 0 12px}
.ngp-card p{font-size:16px;line-height:1.65;color:#607177;margin:0 0 16px;max-width:570px}
.ngp-view{font-size:14px;font-weight:800;color:var(--ngp-teal)}
.ngp-card:hover .ngp-view{color:var(--ngp-aqua)}
.ngp-empty,.ngp-notice{padding:35px;background:var(--ngp-soft);border-radius:8px}
@media(max-width:760px){
 .ngp-hero{min-height:500px}.ngp-hero-inner,.ngp-shell{width:min(100% - 32px,1180px)}
 .ngp-hero-inner{padding:75px 0 58px}.ngp-shell{padding:42px 0 70px}
 .ngp-grid{grid-template-columns:1fr;gap:38px}.ngp-arrow{opacity:1;transform:none}
}

.ngp-card.ngp-more-item:not(.ngp-revealed){display:none}
.ngp-more-wrap{text-align:center;margin-top:48px}
.ngp-more-button{appearance:none;border:0;border-radius:999px;background:var(--ngp-teal);color:#fff;padding:13px 25px;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:.2s ease}
.ngp-more-button:hover,.ngp-more-button:focus{background:var(--ngp-aqua);color:#fff}

.ngp-featured{margin:0 0 54px;background:#f6f4fb;border-radius:8px;overflow:hidden}
.ngp-featured-link{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);min-height:440px;text-decoration:none!important;color:inherit!important}
.ngp-featured-image{background-size:cover;background-position:center;min-height:440px;position:relative;background-color:#eee8f7}
.ngp-featured-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(109,45,183,.08))}
.ngp-featured-copy{padding:58px 52px;display:flex;flex-direction:column;justify-content:center}
.ngp-featured-label{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:900;color:#ed4e9a;margin-bottom:18px}
.ngp-featured h2{font-size:clamp(38px,5vw,64px);line-height:.95;letter-spacing:-.05em;color:#6d2db7;margin:0 0 20px}
.ngp-featured p{font-size:17px;line-height:1.7;color:#5f6670;margin:0 0 26px}
.ngp-featured-button{align-self:flex-start;background:#6d2db7;color:#fff;border-radius:999px;padding:12px 20px;font-size:14px;font-weight:800;transition:.2s ease}
.ngp-featured:hover .ngp-featured-button{background:#55208f}
@media(max-width:800px){
 .ngp-featured-link{grid-template-columns:1fr}
 .ngp-featured-image{min-height:300px}
 .ngp-featured-copy{padding:36px 28px 40px}
}
