.nh-programs {
    overflow: clip;
    background: #ffffff;
    color: #0b1f15;
}

.nh-programs *,
.nh-programs *::before,
.nh-programs *::after {
    box-sizing: border-box;
}

.nh-programs :where(h1, h2, h3, h4, p, ul, dl, figure) {
    margin-top: 0;
}

.nh-programs :where(h1, h2, h3, h4) {
    color: #0b1f15 !important;
    opacity: 1 !important;
}

.nh-programs :where(p, li, dd) {
    color: #34483d !important;
    opacity: 1 !important;
}

.nh-programs img {
    display: block;
    width: 100%;
}

.nh-programs-section {
    padding: clamp(78px, 9vw, 128px) 0;
}

.nh-programs-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: #c8f27a !important;
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

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

.nh-programs-kicker--green {
    color: #008000 !important;
}

.nh-programs-kicker--lime {
    color: #c8f27a !important;
}

.nh-programs-heading {
    max-width: 820px;
    margin-bottom: clamp(42px, 6vw, 76px);
}

.nh-programs-heading h2 {
    margin-bottom: 20px;
    font-size: clamp(2.3rem, 5.4vw, 5rem);
    line-height: .96;
    letter-spacing: -.06em;
}

.nh-programs-heading p {
    max-width: 690px;
    margin-bottom: 0;
    font-size: 1.05rem;
    line-height: 1.78;
}

.nh-programs-heading--compact {
    margin-bottom: 34px;
}

/* Hero */
.nh-programs-hero {
    position: relative;
    isolation: isolate;
    min-height: min(850px, calc(100vh - 76px));
    overflow: hidden;
    padding: clamp(78px, 8vw, 122px) 0;
    background:
        radial-gradient(circle at 13% 20%, rgba(200, 242, 122, .13), transparent 31%),
        linear-gradient(135deg, #00291b 0%, #00472e 55%, #006838 100%);
}

.nh-programs-hero__pattern {
    position: absolute;
    inset: 0;
    z-index: -3;
    opacity: .1;
    background-image:
        linear-gradient(rgba(255, 255, 255, .34) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .34) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(to right, #000 0%, rgba(0,0,0,.72) 48%, transparent 90%);
}

.nh-programs-hero__orb {
    position: absolute;
    z-index: -2;
    border-radius: 50%;
    pointer-events: none;
}

.nh-programs-hero__orb--one {
    top: -190px;
    right: 29%;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(200, 242, 122, .18);
}

.nh-programs-hero__orb--two {
    right: -180px;
    bottom: -190px;
    width: 460px;
    height: 460px;
    background: rgba(200, 242, 122, .08);
    filter: blur(2px);
}

.nh-programs-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(370px, .94fr);
    align-items: center;
    gap: clamp(50px, 8vw, 104px);
}

.nh-programs-hero__content h1 {
    max-width: 850px;
    margin-bottom: 28px;
    color: #ffffff !important;
    font-size: clamp(3.2rem, 7.3vw, 7.2rem);
    line-height: .87;
    letter-spacing: -.075em;
}

.nh-programs-hero__content h1 em {
    color: #c8f27a !important;
    font-style: normal;
}

.nh-programs-hero__content > p {
    max-width: 700px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, .91) !important;
    font-size: clamp(1.05rem, 1.55vw, 1.28rem);
    line-height: 1.72;
}

.nh-programs-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.nh-programs-hero__notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    max-width: 680px;
    margin-top: 34px;
    padding: 15px 18px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 16px;
    background: rgba(255, 255, 255, .08);
}

.nh-programs-hero__notice strong {
    flex: 0 0 auto;
    color: #c8f27a !important;
    font-size: .75rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.nh-programs-hero__notice span {
    color: rgba(255, 255, 255, .9) !important;
    font-size: .9rem;
    line-height: 1.5;
}

.nh-programs-hero__visual {
    position: relative;
    min-height: 610px;
}

.nh-programs-hero__visual figure {
    position: absolute;
    inset: 0 12% 0 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 42px 42px 150px 42px;
    box-shadow: 0 38px 95px rgba(0, 18, 11, .38);
}

.nh-programs-hero__visual figure::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 34, 21, .72), transparent 55%);
    content: "";
}

.nh-programs-hero__visual img {
    height: 100%;
    object-fit: cover;
}

.nh-programs-hero__visual figcaption {
    position: absolute;
    right: 30px;
    bottom: 30px;
    left: 30px;
    z-index: 2;
    color: #ffffff !important;
    font-size: .88rem;
    font-weight: 850;
    letter-spacing: .03em;
}

.nh-programs-hero__seal {
    position: absolute;
    right: 0;
    bottom: 46px;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 190px;
    min-height: 190px;
    padding: 26px;
    border: 10px solid #00472e;
    border-radius: 50%;
    background: #c8f27a;
    text-align: center;
    box-shadow: 0 22px 60px rgba(0, 25, 15, .35);
}

.nh-programs-hero__seal strong {
    display: block;
    color: #00291b !important;
    font-size: 4rem;
    line-height: .88;
    letter-spacing: -.08em;
}

.nh-programs-hero__seal span {
    max-width: 120px;
    color: #123518 !important;
    font-size: .76rem;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
}

/* Metrics */
.nh-programs-metrics {
    position: relative;
    z-index: 4;
    margin-top: -42px;
}

.nh-programs-metrics__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #dcebdd;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 22px 65px rgba(0, 61, 35, .14);
}

.nh-programs-metrics article {
    min-height: 160px;
    padding: 34px 30px;
    border-right: 1px solid #dcebdd;
}

.nh-programs-metrics article:last-child {
    border-right: 0;
}

.nh-programs-metrics strong {
    display: block;
    margin-bottom: 10px;
    color: #008000 !important;
    font-size: clamp(2.25rem, 4vw, 4rem);
    line-height: .9;
    letter-spacing: -.055em;
}

.nh-programs-metrics span {
    display: block;
    color: #34483d !important;
    font-size: .92rem;
    font-weight: 750;
    line-height: 1.55;
}

/* Overview */
.nh-programs-overview {
    padding-top: clamp(112px, 12vw, 168px);
    background: #f3faf4;
}

.nh-programs-overview__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
}

.nh-program-tile {
    position: relative;
    display: flex;
    min-height: 390px;
    flex-direction: column;
    overflow: hidden;
    padding: 32px;
    border: 1px solid rgba(0, 80, 42, .14);
    border-radius: 28px;
    text-decoration: none;
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.nh-program-tile:nth-child(1) {
    grid-column: span 7;
    min-height: 520px;
}

.nh-program-tile:nth-child(2) {
    grid-column: span 5;
    min-height: 520px;
}

.nh-program-tile:nth-child(n+3) {
    grid-column: span 4;
}

.nh-program-tile::after {
    position: absolute;
    right: -55px;
    bottom: -75px;
    width: 220px;
    height: 220px;
    border: 1px solid currentColor;
    border-radius: 50%;
    opacity: .12;
    content: "";
}

.nh-program-tile:hover,
.nh-program-tile:focus-visible {
    transform: translateY(-8px);
    box-shadow: 0 24px 60px rgba(0, 61, 35, .14);
}

.nh-program-tile__number {
    color: inherit !important;
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .12em;
}

.nh-program-tile__icon {
    display: grid;
    place-items: center;
    width: 66px;
    height: 66px;
    margin: 44px 0 28px;
    border: 1px solid currentColor;
    border-radius: 20px;
    color: inherit !important;
    font-size: 1.42rem;
    font-weight: 950;
}

.nh-program-tile__type {
    margin-bottom: 12px;
    color: inherit !important;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.nh-program-tile h3 {
    max-width: 620px;
    margin-bottom: 18px;
    color: inherit !important;
    font-size: clamp(1.75rem, 3vw, 3.1rem);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.nh-program-tile p {
    max-width: 590px;
    margin-bottom: 28px;
    color: inherit !important;
    opacity: .82 !important;
    line-height: 1.7;
}

.nh-program-tile__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    color: inherit !important;
    font-size: .86rem;
    font-weight: 900;
}

.nh-program-tile__link i {
    font-style: normal;
    transition: transform .2s ease;
}

.nh-program-tile:hover .nh-program-tile__link i {
    transform: translateX(5px);
}

.nh-program-tile--deep {
    border-color: #004a2f;
    background: linear-gradient(145deg, #003823, #00633a);
    color: #ffffff !important;
}

.nh-program-tile--deep .nh-program-tile__icon,
.nh-program-tile--deep .nh-program-tile__type,
.nh-program-tile--deep .nh-program-tile__number,
.nh-program-tile--deep .nh-program-tile__link {
    color: #c8f27a !important;
}

.nh-program-tile--deep h3,
.nh-program-tile--deep p {
    color: #ffffff !important;
}

.nh-program-tile--lime {
    background: #dff9aa;
    color: #153b1c !important;
}

.nh-program-tile--gold {
    background: #fff3cf;
    color: #503800 !important;
}

.nh-program-tile--teal {
    background: #d8f6ef;
    color: #063d35 !important;
}

.nh-program-tile--violet {
    background: #eee4f8;
    color: #39224e !important;
}

/* Details tabs */
.nh-programs-details {
    background: #ffffff;
}

.nh-programs-tabs {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    margin-bottom: 28px;
    padding: 5px 4px 12px;
    scrollbar-width: thin;
}

.nh-programs-tabs button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    max-width: 270px;
    padding: 10px 16px;
    border: 1px solid #dcebdd;
    border-radius: 999px;
    background: #ffffff;
    color: #234334 !important;
    font: inherit;
    font-size: .82rem;
    font-weight: 850;
    line-height: 1.25;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.nh-programs-tabs button span {
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    flex: 0 0 29px;
    border-radius: 50%;
    background: #eaf6ed;
    color: #008000 !important;
    font-size: .68rem;
}

.nh-programs-tabs button:hover,
.nh-programs-tabs button:focus-visible,
.nh-programs-tabs button.is-active {
    border-color: #005f2b;
    background: #005f2b;
    color: #ffffff !important;
    transform: translateY(-2px);
}

.nh-programs-tabs button.is-active span,
.nh-programs-tabs button:hover span,
.nh-programs-tabs button:focus-visible span {
    background: #c8f27a;
    color: #00291b !important;
}

.nh-programs-panels {
    position: relative;
}

.nh-program-panel {
    display: block;
    overflow: hidden;
    margin-bottom: 24px;
    border: 1px solid #dcebdd;
    border-radius: 34px;
    background: #f9fcfa;
    box-shadow: 0 18px 60px rgba(0, 61, 35, .08);
}

.nh-programs.is-enhanced .nh-program-panel[hidden] {
    display: none !important;
}

.nh-program-panel__header {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 28px;
    padding: clamp(34px, 5vw, 66px);
    border-bottom: 1px solid #dcebdd;
}

.nh-program-panel__number {
    display: grid;
    place-items: center;
    width: 104px;
    height: 104px;
    border-radius: 30px;
    background: #005f2b;
    color: #ffffff !important;
    font-size: 2rem;
    font-weight: 950;
    letter-spacing: -.05em;
}

.nh-program-panel__type {
    display: block;
    margin-bottom: 12px;
    color: #008000 !important;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.nh-program-panel__header h3 {
    max-width: 900px;
    margin-bottom: 18px;
    font-size: clamp(2.1rem, 4vw, 4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.nh-program-panel__header p {
    max-width: 840px;
    margin-bottom: 0;
    font-size: 1.04rem;
    line-height: 1.76;
}

.nh-program-panel__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-bottom: 1px solid #dcebdd;
}

.nh-program-panel__facts > div {
    min-height: 190px;
    padding: 30px 34px;
    border-right: 1px solid #dcebdd;
}

.nh-program-panel__facts > div:last-child {
    border-right: 0;
}

.nh-program-panel__facts span {
    display: block;
    margin-bottom: 12px;
    color: #008000 !important;
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.nh-program-panel__facts p {
    margin: 0;
    color: #203d2f !important;
    font-weight: 720;
    line-height: 1.65;
}

.nh-program-panel__metric {
    background: #eaf6ed;
}

.nh-program-panel__metric p {
    color: #005f2b !important;
    font-size: 1.05rem;
    font-weight: 900;
}

.nh-program-panel__actions {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 30px;
    padding: clamp(34px, 5vw, 66px);
}

.nh-program-panel__actions h4 {
    margin-bottom: 24px;
    font-size: 1.18rem;
}

.nh-program-panel__actions ul {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.nh-program-panel__actions li {
    position: relative;
    padding-left: 32px;
    line-height: 1.65;
}

.nh-program-panel__actions li::before {
    position: absolute;
    top: .48em;
    left: 0;
    display: grid;
    place-items: center;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: #c8f27a;
    color: #00291b;
    font-size: .62rem;
    font-weight: 950;
    content: "✓";
}

.nh-program-panel__actions aside {
    align-self: stretch;
    padding: 28px;
    border-radius: 26px;
    background: #003823;
}

.nh-program-panel__actions aside p {
    color: #ffffff !important;
    font-weight: 700;
    line-height: 1.7;
}

.nh-program-panel__actions aside .nh-text-link {
    color: #c8f27a !important;
}

.nh-program-panel__icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin-bottom: 24px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 18px;
    color: #c8f27a !important;
    font-size: 1.35rem;
    font-weight: 950;
}

.nh-program-panel--lime .nh-program-panel__number { background: #5d7f1c; }
.nh-program-panel--gold .nh-program-panel__number { background: #9b6900; }
.nh-program-panel--teal .nh-program-panel__number { background: #087467; }
.nh-program-panel--violet .nh-program-panel__number { background: #68418a; }

/* Method */
.nh-programs-method {
    position: relative;
    overflow: hidden;
    background: #003823;
}

.nh-programs-method::before {
    position: absolute;
    top: -220px;
    right: -180px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(200,242,122,.17);
    border-radius: 50%;
    content: "";
}

.nh-programs-method__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr);
    gap: clamp(50px, 8vw, 100px);
    align-items: start;
}

.nh-programs-method__intro {
    position: sticky;
    top: 120px;
}

.nh-programs-method__intro h2 {
    margin-bottom: 24px;
    color: #ffffff !important;
    font-size: clamp(2.45rem, 5vw, 5rem);
    line-height: .95;
    letter-spacing: -.06em;
}

.nh-programs-method__intro p {
    max-width: 560px;
    margin-bottom: 32px;
    color: rgba(255,255,255,.82) !important;
    line-height: 1.78;
}

.nh-programs-method__steps {
    display: grid;
    gap: 14px;
}

.nh-programs-method__steps article {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    grid-template-areas:
        "number title"
        ". description";
    column-gap: 22px;
    row-gap: 9px;
    min-width: 0;
    padding: 30px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 24px;
    background: rgba(255,255,255,.065);
}

.nh-programs-method__steps article > span {
    grid-area: number;
    align-self: start;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: #c8f27a;
    color: #00291b !important;
    font-weight: 950;
}

.nh-programs-method__steps h3 {
    grid-area: title;
    align-self: center;
    min-width: 0;
    margin: 0;
    color: #ffffff !important;
    font-size: 1.28rem;
}

.nh-programs-method__steps p {
    grid-area: description;
    min-width: 0;
    margin: 0;
    color: rgba(255,255,255,.78) !important;
    line-height: 1.68;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
}

/* Dynamic programmes */
.nh-programs-custom {
    background: #f3faf4;
}

.nh-programs-custom__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.nh-custom-program {
    overflow: hidden;
    border: 1px solid #dcebdd;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 14px 42px rgba(0,61,35,.07);
}

.nh-custom-program__image {
    display: block;
    height: 245px;
    overflow: hidden;
}

.nh-custom-program__image img {
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.nh-custom-program:hover .nh-custom-program__image img {
    transform: scale(1.04);
}

.nh-custom-program__body {
    padding: 28px;
}

.nh-custom-program__body h3 {
    margin-bottom: 14px;
    font-size: 1.55rem;
    line-height: 1.12;
}

.nh-custom-program__body h3 a {
    color: #0b1f15 !important;
    text-decoration: none;
}

.nh-custom-program__body > p {
    line-height: 1.7;
}

.nh-custom-program__body dl {
    display: grid;
    gap: 10px;
    margin: 22px 0;
}

.nh-custom-program__body dl div {
    padding: 12px 14px;
    border-radius: 14px;
    background: #f3faf4;
}

.nh-custom-program__body dt {
    margin-bottom: 4px;
    color: #008000 !important;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.nh-custom-program__body dd {
    margin: 0;
    color: #31483b !important;
    font-size: .9rem;
    line-height: 1.5;
}

/* CTA */
.nh-programs-cta {
    padding: clamp(76px, 9vw, 120px) 0;
    background: #eaf6ed;
}

.nh-programs-cta__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) auto;
    align-items: center;
    gap: 48px;
    overflow: hidden;
    padding: clamp(38px, 6vw, 72px);
    border-radius: 34px;
    background: linear-gradient(135deg, #003823, #00623a);
    box-shadow: 0 26px 80px rgba(0,61,35,.22);
}

.nh-programs-cta__inner::after {
    position: absolute;
    right: -120px;
    bottom: -170px;
    width: 380px;
    height: 380px;
    border: 1px solid rgba(200,242,122,.23);
    border-radius: 50%;
    content: "";
}

.nh-programs-cta__inner > div {
    position: relative;
    z-index: 2;
}

.nh-programs-cta h2 {
    max-width: 760px;
    margin-bottom: 20px;
    color: #ffffff !important;
    font-size: clamp(2.2rem, 4.6vw, 4.5rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.nh-programs-cta p {
    max-width: 700px;
    margin: 0;
    color: rgba(255,255,255,.82) !important;
    line-height: 1.75;
}

.nh-programs-cta__actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 250px;
}

/* Progressive reveal: content is visible without JS. */
[data-nh-programs-reveal] {
    opacity: 1;
    transform: none;
}

[data-nh-programs-reveal].is-visible {
    animation: nh-programs-reveal .72s cubic-bezier(.2,.7,.2,1) both;
}

@keyframes nh-programs-reveal {
    from { transform: translateY(22px); }
    to { transform: translateY(0); }
}

@media (max-width: 1100px) {
    .nh-programs-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(330px, .78fr);
        gap: 45px;
    }

    .nh-programs-overview__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nh-program-tile,
    .nh-program-tile:nth-child(1),
    .nh-program-tile:nth-child(2),
    .nh-program-tile:nth-child(n+3) {
        grid-column: auto;
        min-height: 390px;
    }

    .nh-program-tile:nth-child(1) {
        grid-column: span 2;
        min-height: 440px;
    }

    .nh-programs-custom__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .nh-programs-hero {
        min-height: auto;
    }

    .nh-programs-hero__grid,
    .nh-programs-method__grid {
        grid-template-columns: 1fr;
    }

    .nh-programs-hero__visual {
        min-height: 600px;
    }

    .nh-programs-metrics {
        margin-top: -26px;
    }

    .nh-programs-metrics__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nh-programs-metrics article:nth-child(2) {
        border-right: 0;
    }

    .nh-programs-metrics article:nth-child(-n+2) {
        border-bottom: 1px solid #dcebdd;
    }

    .nh-program-panel__facts {
        grid-template-columns: 1fr;
    }

    .nh-program-panel__facts > div {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid #dcebdd;
    }

    .nh-program-panel__facts > div:last-child {
        border-bottom: 0;
    }

    .nh-program-panel__actions {
        grid-template-columns: 1fr;
    }

    .nh-programs-method__intro {
        position: static;
    }

    .nh-programs-cta__inner {
        grid-template-columns: 1fr;
    }

    .nh-programs-cta__actions {
        min-width: 0;
        align-items: flex-start;
    }
}

@media (max-width: 680px) {
    .nh-programs-section {
        padding: 70px 0;
    }

    .nh-programs-hero {
        padding: 70px 0 95px;
    }

    .nh-programs-hero__content h1 {
        font-size: clamp(3rem, 15vw, 5rem);
    }

    .nh-programs-hero__visual {
        min-height: 485px;
    }

    .nh-programs-hero__visual figure {
        inset: 0 0 36px 0;
        border-radius: 30px 30px 100px 30px;
    }

    .nh-programs-hero__seal {
        right: 8px;
        bottom: 0;
        width: 144px;
        min-height: 144px;
        border-width: 7px;
    }

    .nh-programs-hero__seal strong {
        font-size: 3rem;
    }

    .nh-programs-metrics__grid {
        grid-template-columns: 1fr;
    }

    .nh-programs-metrics article,
    .nh-programs-metrics article:nth-child(2) {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid #dcebdd;
    }

    .nh-programs-metrics article:last-child {
        border-bottom: 0;
    }

    .nh-programs-overview__grid {
        grid-template-columns: 1fr;
    }

    .nh-program-tile,
    .nh-program-tile:nth-child(1),
    .nh-program-tile:nth-child(2),
    .nh-program-tile:nth-child(n+3) {
        grid-column: auto;
        min-height: 390px;
        padding: 26px;
    }

    .nh-program-tile__icon {
        margin: 34px 0 24px;
    }

    .nh-program-panel__header {
        grid-template-columns: 1fr;
        padding: 28px;
    }

    .nh-program-panel__number {
        width: 78px;
        height: 78px;
        border-radius: 22px;
        font-size: 1.5rem;
    }

    .nh-program-panel__facts > div,
    .nh-program-panel__actions {
        padding: 26px;
    }

    .nh-programs-method__steps article {
        grid-template-columns: 1fr;
        grid-template-areas:
            "number"
            "title"
            "description";
        row-gap: 14px;
    }

    .nh-programs-custom__grid {
        grid-template-columns: 1fr;
    }

    .nh-programs-cta__inner {
        padding: 32px 26px;
        border-radius: 26px;
    }

    .nh-programs-cta__actions {
        width: 100%;
    }

    .nh-programs-cta__actions .nh-button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-nh-programs-reveal].is-visible {
        animation: none;
    }
}


/* V20 — prévention des fléaux contemporains */
.nh-program-tile--rose { background:#fde7e7; color:#5a1d22 !important; }
.nh-program-tile--rose .nh-program-tile__icon,.nh-program-tile--rose .nh-program-tile__type,.nh-program-tile--rose .nh-program-tile__number,.nh-program-tile--rose .nh-program-tile__link,.nh-program-tile--rose h3,.nh-program-tile--rose p { color:inherit !important; }
.nh-program-panel--rose .nh-program-panel__number,.nh-program-panel--rose .nh-program-panel__icon { background:#fde7e7; color:#7a252c !important; }
.nh-programs-risks { background:#f4faf5; }
.nh-programs-risks__grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; margin-top:34px; }
.nh-programs-risks__grid article { grid-column:span 4; min-height:205px; padding:26px; border:1px solid #dcebdd; border-radius:23px; background:#fff; }
.nh-programs-risks__grid article:last-child { grid-column:span 12; min-height:170px; background:#fff1f1; }
.nh-programs-risks__grid span { display:inline-grid; place-items:center; width:38px; height:38px; margin-bottom:22px; border-radius:11px; background:#dff9aa; color:#153b1c !important; font-size:.7rem; font-weight:950; }
.nh-programs-risks__grid h3 { margin-bottom:9px; color:#0d3422 !important; font-size:1.15rem; }
.nh-programs-risks__grid p { margin:0; color:#42584d !important; line-height:1.65; }
.nh-programs-risks__strategy { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px; }
.nh-programs-risks__strategy article { padding:30px; border-radius:24px; background:#004a2f; }
.nh-programs-risks__strategy strong,.nh-programs-risks__strategy p { color:#fff !important; }
.nh-programs-risks__strategy strong { font-size:1.15rem; }
.nh-programs-risks__strategy p { margin:10px 0 0; opacity:.88; line-height:1.7; }
@media(max-width:900px){ .nh-programs-risks__grid article{grid-column:span 6;} .nh-programs-risks__grid article:last-child{grid-column:span 12;} }
@media(max-width:640px){ .nh-programs-risks__grid article,.nh-programs-risks__grid article:last-child{grid-column:span 12;} .nh-programs-risks__strategy{grid-template-columns:1fr;} }

@media (min-width: 1101px) {
    .nh-programs-overview__grid .nh-program-tile:nth-child(n+3) {
        grid-column: span 3;
        min-height: 360px;
    }
}
