.nh-resources {
    --nh-resources-deep: #003d26;
    --nh-resources-dark: #00552f;
    --nh-resources-green: #00783a;
    --nh-resources-lime: #d9ff91;
    --nh-resources-soft: #eef8f0;
    --nh-resources-line: #d3e6d7;
    overflow: hidden;
    background: #fff;
    color: #14281d;
}

.nh-resources :where(h1,h2,h3,p,dl,dt,dd) { margin-top: 0; }
.nh-resources :where(h1,h2,h3) { color: #0a2216 !important; }
.nh-resources :where(p,dd) { color: #3a5143 !important; }

.nh-resources-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    color: var(--nh-resources-lime);
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .135em;
    text-transform: uppercase;
}

.nh-resources-kicker::before {
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    content: "";
}

.nh-resources-kicker--green { color: #006934; }
.nh-resources-kicker--lime { color: var(--nh-resources-lime); }

/* Hero */
.nh-resources-hero {
    position: relative;
    display: flex;
    min-height: clamp(680px, 82vh, 920px);
    align-items: flex-end;
    isolation: isolate;
    background: var(--nh-resources-deep);
}

.nh-resources-hero__media,
.nh-resources-hero__overlay {
    position: absolute;
    inset: 0;
}

.nh-resources-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
}

.nh-resources-hero__overlay {
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(0,35,21,.98) 0%, rgba(0,49,29,.91) 45%, rgba(0,49,29,.48) 72%, rgba(0,28,17,.58) 100%),
        linear-gradient(0deg, rgba(0,22,13,.85) 0%, rgba(0,22,13,.08) 58%);
}

.nh-resources-hero__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0,1.25fr) minmax(290px,.5fr);
    gap: clamp(42px,7vw,100px);
    align-items: end;
    padding-top: 155px;
    padding-bottom: clamp(75px,9vw,124px);
}

.nh-resources-hero__copy { max-width: 930px; }
.nh-resources-hero__copy h1 {
    max-width: 900px;
    margin-bottom: 28px;
    color: #fff !important;
    font-size: clamp(3.5rem,7.5vw,8.25rem);
    line-height: .9;
    letter-spacing: -.07em;
    text-wrap: balance;
}
.nh-resources-hero__copy h1 em { color: var(--nh-resources-lime) !important; font-style: normal; }
.nh-resources-hero__copy > p {
    max-width: 760px;
    margin-bottom: 34px;
    color: rgba(255,255,255,.88) !important;
    font-size: clamp(1rem,1.45vw,1.23rem);
    line-height: 1.72;
}
.nh-resources-hero__actions { display:flex; flex-wrap:wrap; gap:13px; }

.nh-resources-hero__panel {
    padding: clamp(28px,3.4vw,44px);
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 32px;
    background: rgba(0,54,31,.77);
    box-shadow: 0 26px 68px rgba(0,0,0,.25);
    backdrop-filter: blur(15px);
}
.nh-resources-hero__panel > span {
    display:block;
    margin-bottom:18px;
    color: var(--nh-resources-lime);
    font-size:.75rem;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.nh-resources-hero__panel > strong {
    display:block;
    color:#fff !important;
    font-size:clamp(4.5rem,8vw,7.5rem);
    line-height:.8;
    letter-spacing:-.07em;
}
.nh-resources-hero__panel > p {
    margin:18px 0 24px;
    color:rgba(255,255,255,.78) !important;
    line-height:1.65;
}
.nh-resources-hero__panel dl {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:0;
}
.nh-resources-hero__panel dl div {
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.18);
}
.nh-resources-hero__panel dt { color:#fff; font-size:1.35rem; font-weight:950; }
.nh-resources-hero__panel dd { margin:4px 0 0; color:rgba(255,255,255,.66) !important; font-size:.72rem; }

/* Headings */
.nh-resources-featured,
.nh-resources-library,
.nh-resources-principles { padding: clamp(82px,9vw,132px) 0; }

.nh-resources-heading,
.nh-resources-library__top {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);
    gap:48px;
    align-items:end;
    margin-bottom:52px;
}
.nh-resources-heading h2,
.nh-resources-library__top h2,
.nh-resources-principles__copy h2,
.nh-resources-cta h2 {
    margin-bottom:0;
    font-size:clamp(2.65rem,5.1vw,5.6rem);
    line-height:.94;
    letter-spacing:-.058em;
    text-wrap:balance;
}
.nh-resources-heading > p,
.nh-resources-library__top > p { margin:0 0 5px; line-height:1.72; }

/* Featured */
.nh-resources-featured { background:linear-gradient(135deg,#fff,#edf7ef 72%); }
.nh-resources-featured__grid {
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-auto-rows:minmax(340px,auto);
    gap:22px;
}
.nh-resource-featured-card {
    position:relative;
    display:flex;
    grid-column:span 4;
    min-width:0;
    flex-direction:column;
    justify-content:flex-end;
    overflow:hidden;
    padding:clamp(30px,4vw,48px);
    border:1px solid var(--nh-resources-line);
    border-radius:32px;
    background:#fff;
    box-shadow:0 20px 58px rgba(0,67,37,.09);
}
.nh-resource-featured-card--wide { grid-column:span 8; min-height:500px; color:#fff; }
.nh-resource-featured-card__media,
.nh-resource-featured-card__veil { position:absolute; inset:0; }
.nh-resource-featured-card__media img { width:100%; height:100%; object-fit:cover; object-position:center 45%; transition:transform .65s ease; }
.nh-resource-featured-card:hover .nh-resource-featured-card__media img { transform:scale(1.04); }
.nh-resource-featured-card__veil { z-index:1; background:linear-gradient(0deg,rgba(0,40,23,.96),rgba(0,58,33,.42) 65%,rgba(0,40,23,.12)); }
.nh-resource-featured-card__content { position:relative; z-index:2; }
.nh-resource-featured-card__meta { margin-bottom:14px; color:#00713a !important; font-size:.77rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.nh-resource-featured-card--wide .nh-resource-featured-card__meta { color:var(--nh-resources-lime) !important; }
.nh-resource-featured-card h3 { margin-bottom:16px; font-size:clamp(2rem,3.6vw,4.25rem); line-height:.96; letter-spacing:-.045em; }
.nh-resource-featured-card--wide h3 { max-width:680px; color:#fff !important; }
.nh-resource-featured-card p:not(.nh-resource-featured-card__meta) { margin-bottom:24px; line-height:1.68; }
.nh-resource-featured-card--wide p:not(.nh-resource-featured-card__meta) { max-width:660px; color:rgba(255,255,255,.84) !important; }

.nh-resource-format {
    display:inline-grid;
    place-items:center;
    width:max-content;
    min-width:54px;
    min-height:38px;
    margin-bottom:24px;
    padding:8px 12px;
    border-radius:12px;
    background:#006b35;
    color:#fff;
    font-size:.72rem;
    font-weight:950;
    letter-spacing:.06em;
}
.nh-resource-featured-card--wide .nh-resource-format { background:var(--nh-resources-lime); color:#14351f; }

/* Library */
.nh-resources-library { background:var(--nh-resources-deep); }
.nh-resources-library__top h2,
.nh-resources-library__top > p { color:#fff !important; }
.nh-resources-library__top > p { opacity:.78; }

.nh-resources-filters {
    display:grid;
    grid-template-columns:minmax(270px,1.35fr) repeat(3,minmax(170px,.6fr)) auto;
    gap:14px;
    align-items:end;
    margin-bottom:28px;
    padding:22px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:28px;
    background:rgba(255,255,255,.07);
}
.nh-resources-filters label > span:not(.screen-reader-text) {
    display:block;
    margin-bottom:7px;
    color:rgba(255,255,255,.76);
    font-size:.72rem;
    font-weight:850;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.nh-resources-filters input,
.nh-resources-filters select {
    width:100%;
    min-height:50px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:15px;
    background:#fff;
    color:#12281b;
    font:inherit;
}
.nh-resources-filters input { padding:0 16px 0 47px; }
.nh-resources-filters select { padding:0 37px 0 14px; }
.nh-resources-search { position:relative; }
.nh-resources-search svg { position:absolute; left:16px; bottom:15px; width:20px; height:20px; color:#587064; }
.nh-resources-reset { color:var(--nh-resources-lime) !important; font-size:.84rem; font-weight:850; text-decoration:underline; text-underline-offset:4px; }

.nh-resources-results {
    display:flex;
    align-items:baseline;
    gap:8px;
    margin-bottom:28px;
    color:rgba(255,255,255,.75);
}
.nh-resources-results strong { color:#fff; font-size:1.8rem; }

.nh-resources-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}
.nh-resource-card {
    display:flex;
    min-width:0;
    flex-direction:column;
    padding:clamp(27px,3vw,38px);
    border:1px solid rgba(255,255,255,.16);
    border-radius:28px;
    background:#fff;
    box-shadow:0 20px 54px rgba(0,0,0,.15);
    transition:transform .25s ease,box-shadow .25s ease;
}
.nh-resource-card:hover { transform:translateY(-6px); box-shadow:0 30px 70px rgba(0,0,0,.22); }
.nh-resource-card__top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.nh-resource-card__language { color:#557064; font-size:.74rem; font-weight:850; }
.nh-resource-card__category { margin-bottom:12px; color:#00723a !important; font-size:.74rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.nh-resource-card h3 { margin-bottom:15px; font-size:clamp(1.65rem,2.45vw,2.65rem); line-height:1.03; letter-spacing:-.04em; }
.nh-resource-card__excerpt { margin-bottom:22px; line-height:1.68; }
.nh-resource-card__facts { display:grid; gap:8px; margin:auto 0 24px; }
.nh-resource-card__facts div { display:grid; grid-template-columns:74px minmax(0,1fr); gap:10px; padding-top:9px; border-top:1px solid #e2ece4; }
.nh-resource-card__facts dt { color:#60766a; font-size:.73rem; font-weight:900; text-transform:uppercase; }
.nh-resource-card__facts dd { margin:0; font-size:.84rem; }
.nh-resource-card__actions { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.nh-resource-card__download { color:#006b36 !important; font-size:.84rem; font-weight:900; text-decoration:underline; text-underline-offset:4px; }

.nh-resources-empty {
    padding:55px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:30px;
    background:rgba(255,255,255,.08);
    text-align:center;
}
.nh-resources-empty strong { display:block; margin-bottom:10px; color:#fff; font-size:1.5rem; }
.nh-resources-empty p { color:rgba(255,255,255,.72) !important; }

/* Principles */
.nh-resources-principles { background:#f3f9f4; }
.nh-resources-principles__grid {
    display:grid;
    grid-template-columns:minmax(300px,.7fr) minmax(0,1.15fr);
    gap:clamp(46px,8vw,112px);
    align-items:center;
}
.nh-resources-principles__image {
    position:relative;
    min-height:650px;
    overflow:hidden;
    border-radius:42px;
    background:#e4f0e7;
}
.nh-resources-principles__image img { width:100%; height:100%; object-fit:cover; object-position:center 54%; }
.nh-resources-principles__copy h2 { margin-bottom:45px; }
.nh-resources-principles__list { display:grid; gap:14px; }
.nh-resources-principles__list article {
    display:grid;
    grid-template-columns:68px minmax(0,1fr);
    gap:20px;
    align-items:start;
    padding:24px 0;
    border-top:1px solid #cddfd1;
}
.nh-resources-principles__list article > span {
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    border-radius:18px;
    background:#006c36;
    color:#fff;
    font-size:.8rem;
    font-weight:950;
}
.nh-resources-principles__list h3 { margin-bottom:8px; font-size:1.45rem; }
.nh-resources-principles__list p { margin:0; line-height:1.65; }

/* CTA */
.nh-resources-cta { padding:clamp(75px,8vw,112px) 0; background:#002e1d; }
.nh-resources-cta__inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:50px; align-items:center; }
.nh-resources-cta h2 { max-width:900px; color:#fff !important; }
.nh-resources-cta p { max-width:780px; margin:25px 0 0; color:rgba(255,255,255,.75) !important; line-height:1.7; }

@media(max-width:1100px) {
    .nh-resources-hero__grid { grid-template-columns:1fr; }
    .nh-resources-hero__panel { max-width:560px; }
    .nh-resources-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .nh-resources-search { grid-column:1/-1; }
    .nh-resources-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:900px) {
    .nh-resources-heading,
    .nh-resources-library__top,
    .nh-resources-principles__grid,
    .nh-resources-cta__inner { grid-template-columns:1fr; }
    .nh-resource-featured-card,
    .nh-resource-featured-card--wide { grid-column:span 12; }
    .nh-resources-principles__image { min-height:500px; }
    .nh-resources-cta__inner { align-items:start; }
}

@media(max-width:680px) {
    .nh-resources-hero { min-height:760px; }
    .nh-resources-hero__grid { padding-top:120px; }
    .nh-resources-hero__copy h1 { font-size:clamp(3.15rem,15vw,5.2rem); }
    .nh-resources-hero__panel dl { grid-template-columns:1fr; }
    .nh-resources-hero__panel dl div { display:flex; justify-content:space-between; align-items:baseline; }
    .nh-resources-filters,
    .nh-resources-grid { grid-template-columns:1fr; }
    .nh-resources-search { grid-column:auto; }
    .nh-resources-filters .nh-button { width:100%; }
    .nh-resources-principles__image { min-height:410px; }
    .nh-resources-principles__list article { grid-template-columns:52px minmax(0,1fr); gap:14px; }
    .nh-resources-principles__list article > span { width:48px; height:48px; }
    .nh-resources-empty { padding:38px 22px; }
}

@media(prefers-reduced-motion:reduce) {
    .nh-resource-card,
    .nh-resource-featured-card__media img { transition:none; }
}
