/* Homepage hero: use the same left edge for the title and body copy. */
body.home .elementor-element-26704158 > .e-con-inner > .elementor-element-e1063aba {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* Keep the closing quotation mark with the last word at every resolution. */
.pmh-quote-tail {
    white-space: nowrap;
}

/* Make the two programmes immediately scannable in both languages. */
.pmh-programmes-intro p {
    margin: 0;
}

.pmh-programmes-intro p + p {
    margin-top: 1em;
}

.pmh-programmes-intro strong {
    font-weight: 700;
}

/* Give the news CTA more breathing room below the cards. */
body.home .elementor-element-d3a9181f {
    margin-top: clamp(32px, 3vw, 42px) !important;
}

/* Rectangular visual language for every action button, including custom PMH actions. */
.elementor-button,
.wp-block-button__link,
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
a[style*="border-radius"] {
    border-radius: 0 !important;
}

/* Elementor can emit widget-specific !important radii; this selector wins
   without tying the rectangular rule to individual page or widget IDs. */
html body .elementor .elementor-element.elementor-widget-button .elementor-button,
html body button[class],
html body input[type="button"],
html body input[type="submit"],
html body input[type="reset"] {
    border-radius: 0 !important;
}

/* Site-wide rectangular design system.
   Structural blocks, cards and media lose their rounded corners, while
   purposeful circular pictograms, radio buttons and the logo keep their shape. */
html body .elementor :is(
    .e-con,
    .elementor-section,
    .elementor-column,
    .elementor-widget-wrap,
    .elementor-widget-container,
    .elementor-post__card,
    .elementor-post__thumbnail,
    .elementor-post__thumbnail img,
    .elementor-post__badge,
    .elementor-image-box-wrapper,
    .elementor-image-box-img,
    .elementor-image-box-img img,
    .elementor-cta,
    .elementor-cta__content,
    .elementor-call-to-action,
    .elementor-alert,
    .elementor-accordion-item,
    .elementor-tab-title,
    .elementor-tab-content,
    .dialog-widget-content,
    .sub-menu,
    .elementor-nav-menu--dropdown
),
html body :is(
    [class*="__card"],
    [class*="-card"],
    [class*="__panel"],
    [class*="-panel"],
    [class*="__box"],
    [class*="-box"],
    [class*="__tile"],
    [class*="-tile"],
    [class*="__modal"],
    [class*="-modal"],
    [class*="__dialog"],
    [class*="-dialog"],
    [class*="__popup"],
    [class*="-popup"],
    [class*="badge"]
),
html body :is(
    video,
    iframe,
    picture,
    picture img,
    .elementor img,
    .wp-block-image img,
    .wp-block-cover,
    .wp-block-group,
    .wp-block-media-text,
    table,
    fieldset
) {
    border-radius: 0 !important;
}

/* Custom actions rendered by PMH modules do not always use Elementor's
   button class, so include their semantic action classes explicitly. */
html body :is(
    a[class*="pmh-"],
    button[class*="pmh-"],
    .pmh-btn,
    .pmh-button,
    .pmh-situation__link,
    .wp-element-button,
    .tagcloud a,
    .post-tags a
) {
    border-radius: 0 !important;
}

html body :is(
    input:not([type="radio"]):not([type="checkbox"]),
    textarea,
    select
) {
    border-radius: 0 !important;
}

/* Final site-wide pass: some legacy PMH modules use unclassed child
   elements for cards, filters and payment choices. Keep only deliberate
   circular controls and pictograms rounded. */
html body *:not(.elementor-icon):not(.elementor-social-icon):not(input[type="radio"]):not(input[type="checkbox"]) {
    border-radius: 0 !important;
}

/* The FR news filter has a late, highly specific mobile rule. */
html body.page-id-7922.elementor-page-7922 .elementor.elementor-7922 .elementor-element.elementor-element-b850eb5a .pmh-news-filters a,
html body.page-id-7922.elementor-page-7922 .elementor.elementor-7922 .elementor-element.elementor-element-b850eb5a .pmh-news-filters a:last-child {
    border-radius: 0 !important;
}

/* All visual HERO sections remain rectangular on FR and EN pages. */
body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child {
    border-radius: 0 !important;
}

@media (max-width: 767px) {
    body.home .elementor-element-26704158 > .e-con-inner > .elementor-element-e1063aba {
        max-width: 100% !important;
        width: 100% !important;
    }

    body.home .elementor-element-d3a9181f {
        margin-top: 30px !important;
    }
}

/* -------------------------------------------------------------------------
   Resilient Elementor HERO content

   430px (desktop) and 560px (mobile) remain the visual baselines. Longer
   translated introductions may grow beyond that baseline instead of being
   clipped or forced to overlap. Direct children must never shrink inside the
   flex container: that was the source of the mobile text collision.
   ------------------------------------------------------------------------- */

:is(
    body:not(.home).pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body:not(.home).pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body:not(.home).pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) {
    height: auto !important;
    min-height: 430px !important;
    max-height: none !important;
}

:is(
    body:not(.home).pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body:not(.home).pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body:not(.home).pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) > .e-con-inner {
    height: auto !important;
    min-height: 430px !important;
    max-height: none !important;
    padding-top: 122px !important;
    padding-bottom: 30px !important;
}

:is(
    body:not(.home).pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body:not(.home).pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body:not(.home).pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) > .e-con-inner > :not([data-settings*='"position":"absolute"']) {
    flex: 0 0 auto !important;
}

:is(
    body:not(.home).pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body:not(.home).pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body:not(.home).pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) :is(.elementor-widget-heading, .elementor-widget-text-editor) {
    width: min(1040px, 100%) !important;
    max-width: 1040px !important;
}

:is(
    body:not(.home).pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body:not(.home).pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body:not(.home).pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) .elementor-widget-text-editor > .elementor-widget-container {
    max-width: 1040px !important;
}

@media (max-width: 767px) {
    :is(
        body:not(.home).pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
        body:not(.home).pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
        body:not(.home).pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
    ) {
        height: auto !important;
        min-height: 560px !important;
        max-height: none !important;
    }

    :is(
        body:not(.home).pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
        body:not(.home).pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
        body:not(.home).pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
    ) > .e-con-inner {
        height: auto !important;
        min-height: 560px !important;
        max-height: none !important;
        padding-top: 112px !important;
        padding-bottom: 32px !important;
    }
}

/* Mission: make the newsletter action visible on the terracotta card. */
html body .pdm-action-card:nth-child(3) .pdm-newsletter-toggle {
    background: #ffffff !important;
    border: 2px solid #ffffff !important;
    color: #03204c !important;
}

html body .pdm-action-card:nth-child(3) .pdm-newsletter-toggle:hover,
html body .pdm-action-card:nth-child(3) .pdm-newsletter-toggle:focus-visible {
    background: #05aad9 !important;
    border-color: #05aad9 !important;
    color: #03204c !important;
}

/* Access to care: separate the intervention criteria from the card grid. */
html body .elementor.elementor-7788 > .elementor-element-bff2795c {
    padding-top: clamp(64px, 6vw, 88px) !important;
}

/* Bridges to Futures: give the closing invitation its own breathing room. */
html body .elementor.elementor-7792 > .elementor-element-55205b8c {
    margin-top: clamp(64px, 6vw, 88px) !important;
}

/* The supplied capture belongs to the methodology block on Pathways & Impact. */
html body .pdm-seo-trust-block {
    margin-top: clamp(88px, 8vw, 112px) !important;
}

/* News category archives: mirror the hierarchy and card grid of Actualités. */
body.category main#content.pmh-news-archive {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff;
    color: #0a243f;
}

.pmh-news-archive,
.pmh-news-archive * {
    box-sizing: border-box;
}

.pmh-news-archive__shell {
    width: min(1160px, calc(100% - 48px));
    margin-inline: auto;
}

.pmh-news-archive__hero {
    min-height: 430px;
    padding: 140px 0 64px;
    background:
        linear-gradient(115deg, rgba(3, 32, 76, 0.98) 0%, rgba(5, 100, 168, 0.94) 58%, rgba(46, 71, 56, 0.92) 100%);
    color: #ffffff;
}

.pmh-news-archive__eyebrow {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.16em;
    line-height: 1.35;
    text-transform: uppercase;
}

.pmh-news-archive__hero h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(54px, 7vw, 88px);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 0.98;
}

.pmh-news-archive__hero-copy {
    max-width: 1000px;
    margin: 24px 0 0;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.55;
}

.pmh-news-archive__accent {
    display: grid;
    grid-template-columns: 48px 48px 48px 48px;
    width: 192px;
    height: 5px;
    margin-top: 42px;
}

.pmh-news-archive__accent span:nth-child(1) { background: #03204c; }
.pmh-news-archive__accent span:nth-child(2) { background: #ffffff; }
.pmh-news-archive__accent span:nth-child(3) { background: #2e4738; }
.pmh-news-archive__accent span:nth-child(4) { background: #b15a42; }

.pmh-news-archive__topics {
    padding: 36px 0 38px;
    background: #f4efe5;
}

.pmh-news-archive__topics h2,
.pmh-news-archive__feed h2 {
    margin: 0;
    color: #03204c;
    font-size: clamp(32px, 3vw, 44px);
    font-weight: 800;
    line-height: 1.1;
}

.pmh-news-archive__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.pmh-news-archive__filters a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border: 1px solid rgba(46, 71, 56, 0.3);
    background: rgba(255, 255, 255, 0.78);
    color: #2e4738;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.pmh-news-archive__filters a:hover,
.pmh-news-archive__filters a:focus-visible,
.pmh-news-archive__filters a.is-active {
    border-color: #b15a42;
    background: #b15a42;
    color: #ffffff;
}

.pmh-news-archive__feed {
    padding: 50px 0 82px;
}

.pmh-news-archive__intro {
    margin: 14px 0 0;
    color: #52647d;
    font-size: 16px;
    line-height: 1.55;
}

.pmh-news-archive__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 35px 30px;
    margin-top: 34px;
}

.pmh-news-archive__card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border-top: 4px solid #0564a8;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(3, 32, 76, 0.12);
}

.pmh-news-archive__thumbnail {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #e9eef3;
}

.pmh-news-archive__thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pmh-news-archive__card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 26px 28px 30px;
}

.pmh-news-archive__card h2 {
    margin: 0;
    font-size: 27px;
    line-height: 1.16;
}

.pmh-news-archive__card h2 a {
    color: #03204c;
    text-decoration: none;
}

.pmh-news-archive__date {
    margin: 18px 0 0;
    color: #6f7c8b;
    font-size: 15px;
}

.pmh-news-archive__excerpt {
    margin-top: 18px;
    color: #52647d;
    font-size: 16px;
    line-height: 1.6;
}

.pmh-news-archive__excerpt p {
    margin: 0;
}

.pmh-news-archive__read-more {
    margin-top: auto;
    padding-top: 28px;
    color: #b15a42;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: uppercase;
}

.pmh-news-archive__read-more:hover,
.pmh-news-archive__read-more:focus-visible {
    color: #2e4738;
}

.pmh-news-archive__pagination {
    margin-top: 46px;
}

.pmh-news-archive__pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pmh-news-archive__pagination .page-numbers {
    display: inline-flex;
    min-width: 42px;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid #d8c8b8;
    color: #03204c;
    font-weight: 700;
    text-decoration: none;
}

.pmh-news-archive__pagination .page-numbers.current,
.pmh-news-archive__pagination a.page-numbers:hover {
    border-color: #b15a42;
    background: #b15a42;
    color: #ffffff;
}

.pmh-news-archive__empty {
    margin: 34px 0 0;
    padding: 28px;
    border-left: 4px solid #b15a42;
    background: #f4efe5;
    color: #03204c;
}

@media (max-width: 900px) {
    .pmh-news-archive__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    html body .elementor.elementor-7788 > .elementor-element-bff2795c {
        padding-top: 56px !important;
    }

    html body .elementor.elementor-7792 > .elementor-element-55205b8c {
        margin-top: 56px !important;
    }

    html body .pdm-seo-trust-block {
        margin-top: 72px !important;
    }

    .pmh-news-archive__shell {
        width: min(100% - 36px, 1160px);
    }

    .pmh-news-archive__hero {
        min-height: 390px;
        padding: 144px 0 54px;
    }

    .pmh-news-archive__hero h1 {
        font-size: 50px;
    }

    .pmh-news-archive__hero-copy {
        margin-top: 20px;
        font-size: 16px;
    }

    .pmh-news-archive__topics {
        padding: 30px 0 34px;
    }

    .pmh-news-archive__filters {
        gap: 8px;
        margin-top: 22px;
    }

    .pmh-news-archive__filters a {
        min-height: 38px;
        padding: 8px 13px;
        font-size: 13px;
    }

    .pmh-news-archive__feed {
        padding: 40px 0 64px;
    }

    .pmh-news-archive__grid {
        grid-template-columns: 1fr;
        gap: 28px;
        margin-top: 28px;
    }

    .pmh-news-archive__card-body {
        padding: 24px 22px 26px;
    }

    .pmh-news-archive__card h2 {
        font-size: 25px;
    }
}

/* -------------------------------------------------------------------------
   Unified page HERO system

   The Actualites / News HERO is the desktop reference: 430px. Background
   images are cropped with cover, while the text column is compacted so that
   the bilingual page titles and introductions remain fully readable.
   ------------------------------------------------------------------------- */

:is(
    body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child,
    body.pdm-visual-hero-enabled main.pmh-page > section:first-of-type,
    .pmh-news-hero,
    .pmh-news-archive__hero,
    .pmh-press-hero
) {
    box-sizing: border-box !important;
    height: 430px !important;
    min-height: 430px !important;
    max-height: 430px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background-size: cover !important;
}

:is(
    body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) {
    --kit-widget-spacing: 12px;
    --widgets-spacing: 12px;
}

:is(
    body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) > .e-con-inner {
    box-sizing: border-box !important;
    height: 430px !important;
    min-height: 0 !important;
    padding-top: 96px !important;
    padding-bottom: 18px !important;
    align-content: center !important;
    justify-content: center !important;
}

:is(
    body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) > .e-con-inner > .e-con {
    height: auto !important;
    min-height: 0 !important;
}

:is(
    body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) :is(.elementor-widget-heading, .elementor-widget-text-editor) {
    width: min(820px, 100%) !important;
    max-width: 820px !important;
}

:is(
    body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) .elementor-widget-text-editor > .elementor-widget-container {
    width: 100% !important;
    max-width: 820px !important;
    padding-right: 0 !important;
}

:is(
    body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) h1 {
    font-size: 48px !important;
    line-height: 1.06 !important;
}

:is(
    body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) .elementor-widget-text-editor {
    font-size: 16px !important;
    line-height: 1.45 !important;
}

:is(
    body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) .elementor-widget-text-editor p {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
    line-height: 1.45 !important;
}

:is(
    body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) .elementor-widget:not(:last-child) {
    margin-block-end: 12px !important;
}

:is(
    body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) .elementor-widget-button {
    height: auto !important;
}

:is(
    body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
    body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
) .elementor-widget-button .elementor-button {
    padding: 9px 18px !important;
}

/* The homepage combines a long introduction with two actions. A small grid
   keeps the title below the overlaid desktop navigation without sacrificing
   the 430px frame. */
@media (min-width: 768px) {
    body.home .elementor-element-26704158 > .e-con-inner {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto auto !important;
        grid-template-rows: auto auto !important;
        gap: 12px 14px !important;
        padding-top: 132px !important;
        padding-bottom: 12px !important;
        align-content: start !important;
        justify-content: stretch !important;
    }

    body.home .elementor-element-26704158 > .e-con-inner > .elementor-widget-heading {
        grid-column: 1 / -1;
        grid-row: 1;
        margin: 0 !important;
    }

    body.home .elementor-element-26704158 > .e-con-inner > .elementor-widget-heading h1 {
        font-size: 40px !important;
        line-height: 1.05 !important;
    }

    body.home .elementor-element-26704158 > .e-con-inner > .elementor-widget-text-editor {
        grid-column: 1;
        grid-row: 2;
        width: 100% !important;
        max-width: 900px !important;
        margin: 0 !important;
        align-self: start !important;
        font-size: 15px !important;
    }

    body.home .elementor-element-26704158 > .e-con-inner > .elementor-widget-button {
        grid-row: 2;
        width: auto !important;
        margin: 0 !important;
        align-self: start !important;
    }

    body.home .elementor-element-26704158 > .e-con-inner > .elementor-widget-button:nth-of-type(3) {
        grid-column: 2;
    }

    body.home .elementor-element-26704158 > .e-con-inner > .elementor-widget-button:nth-of-type(4) {
        grid-column: 3;
    }
}

/* The membership and donation pages use a custom, non-Elementor HERO. */
body.pdm-visual-hero-enabled main.pmh-page > section:first-of-type {
    padding: 96px 24px 18px !important;
    align-items: center !important;
}

body.pdm-visual-hero-enabled main.pmh-page > section:first-of-type > div {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    justify-content: center !important;
}

body.pdm-visual-hero-enabled main.pmh-page > section:first-of-type h1 {
    font-size: 48px !important;
    line-height: 1.06 !important;
}

body.pdm-visual-hero-enabled main.pmh-page > section:first-of-type p {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
    line-height: 1.45 !important;
}

/* News and category HERO blocks keep their own typography but share the frame. */
.pmh-news-hero {
    justify-content: center !important;
}

.pmh-news-archive__hero {
    display: flex;
    align-items: center;
    padding-top: 96px !important;
    padding-bottom: 24px !important;
}

/* Press uses an editorial two-column HERO. Keep the concise summary here and
   let the detailed copy continue in the page content below. */
.pmh-press-hero {
    padding-top: 96px !important;
    padding-bottom: 20px !important;
}

.pmh-press-hero .pmh-press-hero-grid {
    height: 100% !important;
    align-items: center !important;
    gap: 28px !important;
}

.pmh-press-hero .pmh-press-hero-grid > div > p:not(.pmh-press-mobile-summary) {
    display: none !important;
}

.pmh-press-hero .pmh-press-kicker {
    margin-bottom: 8px !important;
}

.pmh-press-hero h1 {
    margin-bottom: 10px !important;
    font-size: 48px !important;
    line-height: 1.02 !important;
}

.pmh-press-hero .pmh-press-mobile-summary {
    margin-bottom: 10px !important;
    font-size: 15px !important;
    line-height: 1.42 !important;
}

.pmh-press-hero .pmh-press-buttons {
    margin-top: 14px !important;
}

.pmh-press-hero figure {
    height: 278px !important;
    overflow: hidden !important;
}

.pmh-press-hero figure img {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
    object-position: 50% 18% !important;
}

.pmh-press-hero .pmh-press-caption {
    display: none !important;
}

@media (max-width: 767px) {
    :is(
        body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
        body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
        body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child,
        body.pdm-visual-hero-enabled main.pmh-page > section:first-of-type,
        .pmh-news-hero,
        .pmh-news-archive__hero,
        .pmh-press-hero
    ) {
        height: 560px !important;
        min-height: 560px !important;
        max-height: 560px !important;
    }

    :is(
        body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
        body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
        body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
    ) > .e-con-inner {
        height: 560px !important;
        padding-top: 102px !important;
        padding-bottom: 18px !important;
    }

    :is(
        body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
        body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
        body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
    ) h1,
    body.pdm-visual-hero-enabled main.pmh-page > section:first-of-type h1 {
        font-size: 32px !important;
        line-height: 1.08 !important;
    }

    :is(
        body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
        body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
        body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
    ) .elementor-widget-text-editor,
    body.pdm-visual-hero-enabled main.pmh-page > section:first-of-type {
        font-size: 15px !important;
        line-height: 1.42 !important;
    }

    :is(
        body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
        body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
        body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
    ) .elementor-widget-text-editor p,
    body.pdm-visual-hero-enabled main.pmh-page > section:first-of-type p {
        margin-top: 4px !important;
        margin-bottom: 4px !important;
        line-height: 1.42 !important;
    }

    :is(
        body.pdm-visual-hero-enabled main#content > .page-content > .elementor > .e-parent:first-child,
        body.pdm-visual-hero-enabled main#content > .elementor > .e-parent:first-child,
        body.pdm-visual-hero-enabled .elementor:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-parent:first-child
    ) .elementor-button {
        padding: 12px 16px !important;
        font-size: 13px !important;
    }

    body.pdm-visual-hero-enabled main.pmh-page > section:first-of-type {
        padding: 102px 18px 18px !important;
    }

    body.pdm-visual-hero-enabled main.pmh-page > section:first-of-type > div {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .pmh-news-archive__hero {
        padding-top: 102px !important;
        padding-bottom: 24px !important;
    }

    .pmh-press-hero {
        padding-top: 102px !important;
        padding-bottom: 16px !important;
    }

    .pmh-press-hero .pmh-press-hero-grid {
        gap: 12px !important;
    }

    .pmh-press-hero h1 {
        font-size: 32px !important;
        line-height: 1.05 !important;
    }

    .pmh-press-hero .pmh-press-mobile-summary {
        font-size: 14px !important;
        line-height: 1.38 !important;
    }

    .pmh-press-hero .pmh-press-buttons {
        margin-top: 10px !important;
    }

    .pmh-press-hero .pmh-press-btn--secondary {
        display: none !important;
    }

    .pmh-press-hero figure {
        height: 144px !important;
    }

    .pmh-press-hero figure img {
        height: 144px !important;
        object-position: 50% 12% !important;
    }

    .pmh-press-hero .pmh-press-caption {
        display: none !important;
    }
}

/* Homepage final placement: the global HERO selector deliberately has high
   specificity, so these late rules reserve the exact navigation clearance. */
@media (min-width: 768px) {
    html body.home.pdm-visual-hero-enabled main#content#content .elementor .elementor-element-26704158 > .e-con-inner {
        padding-top: 146px !important;
        padding-bottom: 10px !important;
        align-content: start !important;
    }

    html body.home.pdm-visual-hero-enabled main#content#content .elementor .elementor-element-26704158 .elementor-widget-heading h1 {
        font-size: 40px !important;
        line-height: 1.05 !important;
    }
}

html body.home.pdm-visual-hero-enabled main#content#content .elementor .elementor-element-26704158 .elementor-widget-button > .elementor-widget-container {
    margin-top: 0 !important;
}

@media (max-width: 767px) {
    html body.home.pdm-visual-hero-enabled main#content#content .elementor .elementor-element-26704158 > .e-con-inner {
        padding-top: 120px !important;
        padding-bottom: 12px !important;
        align-content: center !important;
    }

    html body.home.pdm-visual-hero-enabled main#content#content .elementor .elementor-element-26704158 > .e-con-inner > .elementor-widget {
        margin-block-end: 8px !important;
    }

    html body.home.pdm-visual-hero-enabled main#content#content .elementor .elementor-element-26704158 > .e-con-inner > .elementor-widget:last-child {
        margin-block-end: 0 !important;
    }
}

/* Homepage situation overview: editorial layout inspired by the supplied
   reference while retaining the site's established colour palette. */
.pmh-situation-v2 {
    --pmh-situation-navy: #03204C;
    --pmh-situation-blue: #0564A8;
    --pmh-situation-sky: #05AAD9;
    --pmh-situation-sand: #F4EFE5;
    --pmh-situation-olive: #2E4738;
    --pmh-situation-terra: #B15A42;
    box-sizing: border-box;
    width: 100%;
    padding: clamp(64px, 7vw, 96px) 24px;
    color: var(--pmh-situation-navy);
    background: linear-gradient(135deg, #F8FBFD 0%, #FFF 52%, var(--pmh-situation-sand) 100%);
    border-top: 1px solid rgba(3, 32, 76, 0.08);
    border-bottom: 1px solid rgba(3, 32, 76, 0.08);
}

.pmh-situation-v2 *,
.pmh-situation-v2 *::before,
.pmh-situation-v2 *::after {
    box-sizing: border-box;
}

.pmh-situation-v2__inner {
    width: min(1180px, 100%);
    margin-inline: auto;
}

.pmh-situation-v2__top {
    display: grid;
    grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.35fr);
    gap: clamp(40px, 7vw, 96px);
    align-items: center;
}

.pmh-situation-v2__kicker {
    margin: 0 !important;
    color: var(--pmh-situation-terra);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.pmh-situation-v2__headline {
    margin: 0 !important;
    color: var(--pmh-situation-navy);
    font-size: clamp(44px, 5.4vw, 72px);
    font-weight: 500;
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.pmh-situation-v2__headline em {
    display: block;
    color: var(--pmh-situation-terra);
    font-weight: 500;
    line-height: 1.05;
}

.pmh-situation-v2__rule {
    width: 100%;
    height: 1px;
    margin: clamp(30px, 4vw, 46px) 0 clamp(26px, 3vw, 38px);
    background: rgba(3, 32, 76, 0.14);
}

.pmh-situation-v2__stats {
    display: grid;
    grid-template-columns: 0.9fr 1.05fr 0.9fr 1.05fr 1.45fr;
    align-items: stretch;
}

.pmh-situation-v2__metric {
    display: flex;
    min-width: 0;
    min-height: 248px;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px clamp(18px, 2.2vw, 30px);
    border-left: 1px solid rgba(3, 32, 76, 0.12);
}

.pmh-situation-v2__metric:first-child {
    border-left: 0;
}

.pmh-situation-v2__number {
    display: block;
    color: var(--pmh-situation-terra);
    font-size: clamp(58px, 6vw, 82px);
    font-weight: 700;
    line-height: 0.9;
    letter-spacing: -0.055em;
}

.pmh-situation-v2__metric p {
    max-width: 19ch;
    margin: 28px 0 0 !important;
    color: var(--pmh-situation-navy);
    font-size: 16px;
    line-height: 1.42;
}

.pmh-situation-v2__action {
    display: flex;
    min-width: 0;
    min-height: 248px;
    flex-direction: column;
    justify-content: space-between;
    padding: 28px clamp(24px, 3vw, 38px);
    color: #FFF;
    background: var(--pmh-situation-olive);
}

.pmh-situation-v2__action-label {
    margin: 0 0 18px !important;
    color: var(--pmh-situation-sky);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.pmh-situation-v2__action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.pmh-situation-v2__action-number {
    display: block;
    margin-bottom: 8px;
    color: #FFF;
    font-size: clamp(52px, 5vw, 68px);
    font-weight: 700;
    line-height: 0.9;
    letter-spacing: -0.05em;
}

.pmh-situation-v2__action-grid p {
    margin: 0 !important;
    color: #FFF;
    font-size: 14px;
    line-height: 1.35;
}

.pmh-situation-v2__action-detail {
    margin: 22px 0 0 !important;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    line-height: 1.4;
}

.pmh-situation-v2__foot {
    display: flex;
    gap: 32px;
    align-items: center;
    justify-content: space-between;
    margin-top: 34px;
}

.pmh-situation-v2__foot > p {
    max-width: 720px;
    margin: 0 !important;
    color: rgba(3, 32, 76, 0.72);
    font-size: 14px;
    line-height: 1.55;
}

.pmh-situation-v2__links {
    display: flex;
    flex: 0 0 auto;
    gap: 12px;
}

.pmh-situation-v2__link {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    color: var(--pmh-situation-blue) !important;
    background: transparent;
    border: 1px solid var(--pmh-situation-blue);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
}

.pmh-situation-v2__link--primary {
    color: #FFF !important;
    background: var(--pmh-situation-terra);
    border-color: var(--pmh-situation-terra);
}

.pmh-situation-v2__link:hover,
.pmh-situation-v2__link:focus-visible {
    color: #FFF !important;
    background: var(--pmh-situation-blue);
}

.pmh-situation-v2__link--primary:hover,
.pmh-situation-v2__link--primary:focus-visible {
    background: var(--pmh-situation-navy);
    border-color: var(--pmh-situation-navy);
}

@media (max-width: 1024px) {
    .pmh-situation-v2__top {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .pmh-situation-v2__headline {
        max-width: 900px;
    }

    .pmh-situation-v2__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pmh-situation-v2__metric:nth-child(odd) {
        border-left: 0;
    }

    .pmh-situation-v2__metric:nth-child(n + 3) {
        border-top: 1px solid rgba(3, 32, 76, 0.12);
    }

    .pmh-situation-v2__action {
        grid-column: 1 / -1;
        min-height: 220px;
    }

    .pmh-situation-v2__action-grid {
        max-width: 500px;
    }

    .pmh-situation-v2__foot {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    .pmh-situation-v2 {
        padding: 52px 18px;
    }

    .pmh-situation-v2__headline {
        font-size: clamp(38px, 12vw, 52px);
        line-height: 1.02;
    }

    .pmh-situation-v2__stats {
        grid-template-columns: 1fr;
    }

    .pmh-situation-v2__metric {
        min-height: 0;
        padding: 28px 8px;
        border-top: 1px solid rgba(3, 32, 76, 0.12);
        border-left: 0;
    }

    .pmh-situation-v2__metric:first-child {
        border-top: 0;
    }

    .pmh-situation-v2__metric p {
        max-width: 28ch;
        margin-top: 18px !important;
    }

    .pmh-situation-v2__action {
        grid-column: auto;
        min-height: 280px;
        padding: 28px 24px;
    }

    .pmh-situation-v2__foot {
        margin-top: 28px;
    }

    .pmh-situation-v2__links {
        width: 100%;
        flex-direction: column;
    }

    .pmh-situation-v2__link {
        width: 100%;
    }
}

/* Homepage programmes: two editorial programme panels and one shared method. */
.pmh-programmes-v2__legacy {
    display: none !important;
}

.pmh-programmes-v2 {
    --pmh-programmes-navy: #03204C;
    --pmh-programmes-blue: #0564A8;
    --pmh-programmes-sky: #05AAD9;
    --pmh-programmes-sand: #F4EFE5;
    --pmh-programmes-olive: #2E4738;
    --pmh-programmes-terra: #B15A42;
    box-sizing: border-box;
    width: 100%;
    padding: clamp(68px, 8vw, 108px) 24px;
    color: var(--pmh-programmes-navy);
    background: var(--pmh-programmes-sand);
}

.pmh-programmes-v2 *,
.pmh-programmes-v2 *::before,
.pmh-programmes-v2 *::after {
    box-sizing: border-box;
}

.pmh-programmes-v2__inner {
    width: min(1180px, 100%);
    margin-inline: auto;
}

.pmh-programmes-v2__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.9fr);
    gap: clamp(48px, 8vw, 108px);
    align-items: start;
    margin-bottom: clamp(52px, 7vw, 86px);
}

.pmh-programmes-v2__kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 28px !important;
    color: var(--pmh-programmes-terra);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.pmh-programmes-v2__kicker span {
    width: 34px;
    height: 3px;
    flex: 0 0 auto;
    background: currentColor;
}

.pmh-programmes-v2 h2 {
    max-width: 760px;
    margin: 0 !important;
    color: var(--pmh-programmes-navy) !important;
    font-size: clamp(46px, 5vw, 68px);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -0.04em;
}

.pmh-programmes-v2__summary {
    padding-top: 24px;
}

.pmh-programmes-v2__summary p {
    margin: 0 0 15px !important;
    color: var(--pmh-programmes-navy);
    font-size: 18px;
    line-height: 1.65;
}

.pmh-programmes-v2__summary p:last-child {
    margin-bottom: 0 !important;
}

.pmh-programmes-v2__summary strong {
    color: var(--pmh-programmes-navy);
    font-weight: 700;
}

.pmh-programmes-v2__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.pmh-programmes-v2__card {
    display: flex;
    min-width: 0;
    min-height: 530px;
    flex-direction: column;
    padding: clamp(32px, 4vw, 48px);
}

.pmh-programmes-v2__card--care {
    color: #FFF;
    background: var(--pmh-programmes-terra);
}

.pmh-programmes-v2__card--future {
    color: var(--pmh-programmes-navy);
    background: #FFF;
    border-top: 8px solid var(--pmh-programmes-olive);
}

.pmh-programmes-v2__card-top {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    justify-content: space-between;
}

.pmh-programmes-v2__card-label {
    margin: 12px 0 0 !important;
    color: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.pmh-programmes-v2__card-number {
    display: block;
    flex: 0 0 auto;
    color: inherit;
    font-size: clamp(64px, 7vw, 92px);
    font-weight: 700;
    line-height: 0.8;
    letter-spacing: -0.05em;
    opacity: 0.24;
}

.pmh-programmes-v2__card--future .pmh-programmes-v2__card-number {
    color: var(--pmh-programmes-terra);
}

.pmh-programmes-v2__card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    margin-top: clamp(44px, 6vw, 76px);
}

.pmh-programmes-v2__card h3 {
    max-width: 12ch;
    margin: 0 0 26px !important;
    color: inherit !important;
    font-size: clamp(40px, 4vw, 56px);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -0.035em;
}

.pmh-programmes-v2__card-body > p {
    max-width: 48ch;
    margin: 0 0 28px !important;
    color: inherit;
    font-size: 17px;
    line-height: 1.55;
}

.pmh-programmes-v2__tags {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    margin-top: auto;
}

.pmh-programmes-v2__tags span {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    padding: 10px 8px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-transform: uppercase;
}

.pmh-programmes-v2__card--care .pmh-programmes-v2__tags span:nth-child(1) {
    color: var(--pmh-programmes-navy);
    background: var(--pmh-programmes-sand);
}

.pmh-programmes-v2__card--care .pmh-programmes-v2__tags span:nth-child(2) {
    color: #FFF;
    background: var(--pmh-programmes-olive);
}

.pmh-programmes-v2__card--care .pmh-programmes-v2__tags span:nth-child(3) {
    color: #FFF;
    background: var(--pmh-programmes-navy);
}

.pmh-programmes-v2__card--future .pmh-programmes-v2__tags span:nth-child(1) {
    color: #FFF;
    background: var(--pmh-programmes-terra);
}

.pmh-programmes-v2__card--future .pmh-programmes-v2__tags span:nth-child(2) {
    color: var(--pmh-programmes-navy);
    background: var(--pmh-programmes-sand);
}

.pmh-programmes-v2__card--future .pmh-programmes-v2__tags span:nth-child(3) {
    color: #FFF;
    background: var(--pmh-programmes-olive);
}

.pmh-programmes-v2__card a {
    align-self: flex-start;
    margin-top: 28px;
    padding-bottom: 5px;
    color: inherit !important;
    border-bottom: 2px solid currentColor;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none !important;
}

.pmh-programmes-v2__card a:hover,
.pmh-programmes-v2__card a:focus-visible {
    color: var(--pmh-programmes-sky) !important;
}

.pmh-programmes-v2__card--care a:hover,
.pmh-programmes-v2__card--care a:focus-visible {
    color: #FFF !important;
    border-bottom-color: var(--pmh-programmes-sand);
}

.pmh-programmes-v2__method {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
    margin-top: 18px;
    padding: 38px clamp(28px, 4vw, 54px);
    background: #FFF;
}

.pmh-programmes-v2__method-title {
    margin: 0 !important;
    padding: 10px 0 10px 20px;
    color: var(--pmh-programmes-navy);
    border-left: 7px solid var(--pmh-programmes-terra);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.pmh-programmes-v2__method ol {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pmh-programmes-v2__method ol::before {
    position: absolute;
    z-index: 0;
    top: 29px;
    right: 11%;
    left: 11%;
    height: 2px;
    background: var(--pmh-programmes-navy);
    content: "";
    opacity: 0.55;
}

.pmh-programmes-v2__method li {
    position: relative;
    z-index: 1;
    display: flex;
    min-width: 0;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.pmh-programmes-v2__method li span {
    display: inline-flex;
    width: 60px;
    height: 60px;
    align-items: center;
    justify-content: center;
    color: #FFF;
    background: var(--pmh-programmes-olive);
    border: 2px solid var(--pmh-programmes-olive);
    font-size: 13px;
    font-weight: 700;
}

.pmh-programmes-v2__method li:nth-child(2) span {
    background: var(--pmh-programmes-terra);
    border-color: var(--pmh-programmes-terra);
}

.pmh-programmes-v2__method li:nth-child(3) span {
    background: var(--pmh-programmes-navy);
    border-color: var(--pmh-programmes-navy);
}

.pmh-programmes-v2__method li:nth-child(4) span {
    color: var(--pmh-programmes-navy);
    background: var(--pmh-programmes-sand);
    border-color: var(--pmh-programmes-navy);
}

.pmh-programmes-v2__method li strong {
    margin-top: 14px;
    color: var(--pmh-programmes-navy);
    font-size: 12px;
    line-height: 1.3;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .pmh-programmes-v2__intro {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .pmh-programmes-v2__summary {
        max-width: 760px;
        padding-top: 0;
    }

    .pmh-programmes-v2__cards {
        grid-template-columns: 1fr;
    }

    .pmh-programmes-v2__card {
        min-height: 500px;
    }

    .pmh-programmes-v2__method {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .pmh-programmes-v2 {
        padding: 56px 18px;
    }

    .pmh-programmes-v2 h2 {
        font-size: clamp(39px, 11vw, 48px);
    }

    .pmh-programmes-v2__intro {
        margin-bottom: 38px;
    }

    .pmh-programmes-v2__summary p {
        font-size: 16px;
        line-height: 1.55;
    }

    .pmh-programmes-v2__card {
        min-height: 0;
        padding: 30px 24px;
    }

    .pmh-programmes-v2__card-body {
        margin-top: 40px;
    }

    .pmh-programmes-v2__card h3 {
        font-size: 38px;
    }

    .pmh-programmes-v2__card-body > p {
        font-size: 16px;
    }

    .pmh-programmes-v2__tags {
        margin-top: 16px;
    }

    .pmh-programmes-v2__tags span {
        min-height: 62px;
        font-size: 10px;
    }

    .pmh-programmes-v2__method {
        padding: 30px 24px;
    }

    .pmh-programmes-v2__method ol {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .pmh-programmes-v2__method ol::before {
        top: 25px;
        right: auto;
        bottom: 25px;
        left: 25px;
        width: 2px;
        height: auto;
    }

    .pmh-programmes-v2__method li {
        display: grid;
        grid-template-columns: 52px 1fr;
        gap: 18px;
        align-items: center;
        text-align: left;
    }

    .pmh-programmes-v2__method li span {
        width: 52px;
        height: 52px;
    }

    .pmh-programmes-v2__method li strong {
        margin-top: 0;
        font-size: 13px;
    }
}

/* Homepage desktop density pass: keep the reading rhythm while reducing the
   amount of vertical scrolling created by wide-screen whitespace and cards. */
@media (min-width: 1025px) {
    body.home .pmh-situation-v2 {
        padding: 60px 24px;
    }

    body.home .pmh-situation-v2__headline {
        font-size: 44px !important;
        line-height: 1.02;
    }

    body.home .pmh-situation-v2__rule {
        margin-top: 26px;
        margin-bottom: 24px;
    }

    body.home .pmh-situation-v2__metric,
    body.home .pmh-situation-v2__action {
        min-height: 200px;
        padding-top: 24px;
        padding-bottom: 24px;
    }

    body.home .pmh-situation-v2__number {
        font-size: 64px;
    }

    body.home .pmh-situation-v2__action-number {
        font-size: 54px;
    }

    body.home .pmh-situation-v2__foot {
        margin-top: 24px;
    }

    body.home .pmh-programmes-v2 {
        padding: 72px 24px;
    }

    body.home .pmh-programmes-v2__intro {
        gap: 64px;
        margin-bottom: 44px;
    }

    body.home .pmh-programmes-v2 h2 {
        max-width: 620px;
        font-size: 42px !important;
        line-height: 1.1;
        letter-spacing: -0.03em;
    }

    body.home .pmh-programmes-v2__summary {
        padding-top: 10px;
    }

    body.home .pmh-programmes-v2__summary p {
        margin-bottom: 10px !important;
        font-size: 16px;
        line-height: 1.55;
    }

    body.home .pmh-programmes-v2__card {
        min-height: 440px;
        padding: 34px;
    }

    body.home .pmh-programmes-v2__card-label {
        margin-top: 8px !important;
    }

    body.home .pmh-programmes-v2__card-number {
        font-size: 64px;
    }

    body.home .pmh-programmes-v2__card-body {
        margin-top: 32px;
    }

    body.home .pmh-programmes-v2__card h3 {
        margin-bottom: 18px !important;
        font-size: 40px;
        line-height: 1.06;
    }

    body.home .pmh-programmes-v2__card-body > p {
        margin-bottom: 20px !important;
        font-size: 16px;
        line-height: 1.5;
    }

    body.home .pmh-programmes-v2__tags span {
        min-height: 52px;
    }

    body.home .pmh-programmes-v2__card a {
        margin-top: 20px;
    }

    body.home .pmh-programmes-v2__method {
        grid-template-columns: 170px minmax(0, 1fr);
        gap: 36px;
        margin-top: 14px;
        padding: 26px 36px;
    }

    body.home .pmh-programmes-v2__method li span {
        width: 52px;
        height: 52px;
    }

    body.home .pmh-programmes-v2__method ol::before {
        top: 25px;
    }

    body.home .pmh-programmes-v2__method li strong {
        margin-top: 10px;
    }

    body.home .elementor-element-a70408a6 > .e-con-inner {
        padding-top: 56px !important;
        padding-bottom: 56px !important;
    }

    body.home .elementor-element-a70408a6 .elementor-element-b2ff0779,
    body.home .elementor-element-a70408a6 .elementor-element-b2ff0779 .elementor-widget-container {
        height: 520px !important;
    }

    body.home .elementor-element-a70408a6 .elementor-element-b2ff0779 video {
        width: min(100%, 293px) !important;
        height: 520px !important;
        object-fit: cover !important;
    }

    body.home .elementor-element-2d88bcd2 {
        gap: 12px !important;
    }

    body.home .elementor-element-5116b20b > .e-con-inner {
        padding-top: 64px !important;
        padding-bottom: 64px !important;
    }

    body.home :is(
        .elementor-element-cc009bea,
        .elementor-element-7e7686a2,
        .elementor-element-e75794a5,
        .elementor-element-3a893513
    ) {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }

    body.home .elementor-element-3c3d3327 > .e-con-inner {
        padding-top: 64px !important;
        padding-bottom: 64px !important;
    }

    body.home .elementor-element-7c7be525 .elementor-widget-container,
    body.home .elementor-element-7c7be525 p {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    body.home :is(
        .elementor-element-c5114f8e,
        .elementor-element-d8d9db70,
        .elementor-element-0d35862a
    ),
    body.home :is(
        .elementor-element-c5114f8e,
        .elementor-element-d8d9db70,
        .elementor-element-0d35862a
    ) .elementor-widget-container,
    body.home :is(
        .elementor-element-c5114f8e,
        .elementor-element-d8d9db70,
        .elementor-element-0d35862a
    ) img {
        height: 210px !important;
    }

    body.home :is(
        .elementor-element-dca0bb47,
        .elementor-element-4401e528,
        .elementor-element-fcb2d64c
    ) .elementor-widget-container {
        padding: 16px 28px 20px !important;
    }

    body.home :is(
        .elementor-element-34736150,
        .elementor-element-430c7688,
        .elementor-element-40ed2b11
    ) .elementor-widget-container {
        padding: 0 28px 16px !important;
    }

    body.home :is(
        .elementor-element-34736150,
        .elementor-element-430c7688,
        .elementor-element-40ed2b11
    ) .elementor-image-box-description {
        margin: 0 !important;
        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    body.home :is(
        .elementor-element-fba6d360,
        .elementor-element-7525e5aa,
        .elementor-element-3e93b8d4
    ) .elementor-widget-container {
        padding: 0 28px 28px !important;
    }

    body.home .elementor-element-b8ba0b58 > .e-con-inner {
        padding-top: 56px !important;
        padding-bottom: 56px !important;
    }

    body.home .elementor-element-a129c520 .elementor-post__card {
        height: auto !important;
    }

    body.home .elementor-element-a129c520 .elementor-post__thumbnail__link,
    body.home .elementor-element-a129c520 .elementor-post__thumbnail {
        height: 180px !important;
        margin-bottom: 16px !important;
        padding-bottom: 0 !important;
    }

    body.home .elementor-element-a129c520 .elementor-post__thumbnail img {
        position: static !important;
        width: 100% !important;
        height: 180px !important;
        object-fit: cover !important;
        transform: none !important;
    }

    body.home .elementor-element-a129c520 .elementor-post__text {
        flex-grow: 0 !important;
        margin-top: 14px !important;
    }

    body.home .elementor-element-a129c520 .elementor-post__excerpt p {
        display: -webkit-box;
        margin-bottom: 14px !important;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    body.home .elementor-element-52d70ea4 {
        padding-top: 64px !important;
        padding-bottom: 64px !important;
    }

    body.home .elementor-element-0cfc4ff6 .elementor-widget-wrap {
        padding: 24px !important;
    }

    body.home :is(
        .elementor-element-d34a2cc0,
        .elementor-element-77ac3253,
        .elementor-element-51e28c63
    ) {
        height: auto !important;
        flex-grow: 0 !important;
    }

    body.home :is(
        .elementor-element-d34a2cc0,
        .elementor-element-77ac3253,
        .elementor-element-51e28c63
    ) .elementor-widget-container,
    body.home :is(
        .elementor-element-d34a2cc0,
        .elementor-element-77ac3253,
        .elementor-element-51e28c63
    ) p {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    body.home :is(
        .elementor-element-181cc096,
        .elementor-element-276e41a9,
        .elementor-element-269eec79
    ) .elementor-widget-container {
        margin-top: 16px !important;
    }

    body.home .elementor-element-0cfc4ff6 .elementor-button {
        padding: 11px 16px !important;
        font-size: 14px !important;
    }
}
