/* Association, experience and membership: native Elementor editorial layouts.
 * All rules stay inside the new root; the header, courses and other pages keep
 * their own typography and spacing. Fonts are already self-hosted by IEH. */
.elementor .elementor-element.ieh-association-editorial.ieh-elementor-native {
    --ieh-ae-ink: #0b2e25;
    --ieh-ae-green: #11482f;
    --ieh-ae-paper: #fcfbf8;
    --ieh-ae-warm: #f9f7f4;
    --ieh-ae-sage: #c7d5c1;
    --ieh-ae-line: #d5ddd2;
    --ieh-ae-muted: #365849;
    --ieh-ae-gutter: clamp(20px, 4vw, 48px);
    --container-widget-width: 100%;
    --widgets-spacing: 0;
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    color: var(--ieh-ae-ink);
    background: var(--ieh-ae-paper);
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
}

.elementor .ieh-association-editorial.ieh-elementor-native :is(.e-con, .e-con-inner) {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    align-items: stretch;
}

.elementor .ieh-association-editorial.ieh-elementor-native .elementor-widget {
    min-width: 0;
    max-width: 100%;
    margin: 0 !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .elementor-widget-text-editor {
    color: var(--ieh-ae-ink) !important;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native p {
    max-width: 72ch;
    margin: 0 0 20px;
    text-align: start;
    overflow-wrap: break-word;
}

.elementor .ieh-association-editorial.ieh-elementor-native p:last-child {
    margin-bottom: 0;
}

.elementor .ieh-association-editorial.ieh-elementor-native .elementor-widget-heading .elementor-heading-title {
    margin: 0 !important;
    color: var(--ieh-ae-ink) !important;
    font-family: "DM Serif Display", Georgia, serif !important;
    font-style: normal !important;
    font-weight: 400 !important;
    letter-spacing: -0.025em !important;
    text-transform: none !important;
    text-wrap: balance;
    overflow-wrap: break-word;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-title h1.elementor-heading-title {
    max-width: 12ch;
    font-size: clamp(48px, 6.4vw, 80px) !important;
    line-height: 1.02 !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-heading h2.elementor-heading-title {
    max-width: 24ch;
    font-size: clamp(32px, 3.6vw, 46px) !important;
    line-height: 1.12 !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-subheading h3.elementor-heading-title {
    font-size: clamp(25px, 2.5vw, 30px) !important;
    line-height: 1.18 !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-lead.elementor-widget-text-editor {
    font-size: clamp(21px, 2.2vw, 25px) !important;
    line-height: 1.45 !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-summary.elementor-widget-text-editor {
    color: var(--ieh-ae-muted) !important;
    font-size: 19px !important;
    line-height: 1.5 !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-section.e-con {
    padding-block: 72px !important;
    scroll-margin-top: 112px;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-shell.e-con {
    width: min(calc(100% - 2 * var(--ieh-ae-gutter)), 1180px) !important;
    max-width: 1180px !important;
    margin-inline: auto !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native :is(.ieh-ae-intro-grid, .ieh-ae-split, .ieh-ae-chapter, .ieh-ae-impact-grid, .ieh-ae-benefits-grid, .ieh-ae-invite-grid).e-con {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(32px, 6vw, 80px) !important;
    row-gap: 32px !important;
    align-items: center;
}

.elementor .ieh-association-editorial.ieh-elementor-native :is(.ieh-ae-title-block, .ieh-ae-intro-copy, .ieh-ae-hero-copy, .ieh-ae-invite-copy).e-con {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    align-items: flex-start;
}

/* The association opens with a typographic spread and an authentic landscape. */
.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-intro.e-con {
    padding-block: 64px 48px !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-intro-grid.e-con {
    align-items: end;
}

.elementor .ieh-association-editorial.ieh-association--association .ieh-ae-intro .ieh-ae-shell.e-con {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-panorama {
    width: 100%;
    line-height: 0;
}

.elementor .ieh-association-editorial.ieh-elementor-native :is(.ieh-ae-panorama, .ieh-ae-hero-image, .ieh-ae-impact-image) img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0;
    border: 0;
    border-radius: 0 !important;
    box-shadow: none !important;
    object-fit: contain;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-panorama img {
    aspect-ratio: 20 / 9;
    object-position: center;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-routes.e-con {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 36px !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-route.e-con {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--ieh-ae-line);
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-route .ieh-ae-link {
    margin-top: auto !important;
}

/* Experience keeps the source narrative, with two readable editorial chapters. */
.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-hero-image img {
    aspect-ratio: 768 / 756;
    object-fit: contain;
    object-position: center;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-chapters.e-con {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-chapter.e-con {
    align-items: start;
    padding-block: 36px !important;
    border-top: 1px solid var(--ieh-ae-line);
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-chapter.e-con:last-child {
    border-bottom: 1px solid var(--ieh-ae-line);
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-chapter > .e-con {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-impact.e-con {
    background: var(--ieh-ae-warm);
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-impact-grid > .e-con {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-impact-grid .elementor-widget-image img,
.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-impact-image img {
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
}

/* Membership is a clear invitation, not a non-functional signup form. */
.elementor .ieh-association-editorial.ieh-association--join .ieh-ae-hero-image img {
    aspect-ratio: 690 / 388;
    object-fit: contain;
    object-position: center;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-benefits-grid.e-con {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: start;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-benefits.e-con {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 32px !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-benefit.e-con {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--ieh-ae-line);
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-invite.e-con {
    padding-block: 56px !important;
    background: var(--ieh-ae-sage);
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-invite-grid.e-con {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-invite-copy.e-con {
    gap: 16px !important;
}

/* Native Button widgets are either solid actions or plain editorial links. */
.elementor .ieh-association-editorial.ieh-elementor-native :is(.ieh-ae-button, .ieh-ae-link) .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    max-width: 100%;
    width: auto;
    padding: 12px 24px !important;
    border: 1px solid var(--ieh-ae-green) !important;
    border-radius: 4px !important;
    color: var(--ieh-ae-paper) !important;
    background: var(--ieh-ae-green) !important;
    font-family: "Source Sans 3", "Source Sans Pro", sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: center;
    text-decoration: none !important;
    white-space: normal;
    box-shadow: none !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native :is(.ieh-ae-button, .ieh-ae-link) :is(.elementor-button-content-wrapper, .elementor-button-text) {
    min-width: 0;
    overflow-wrap: anywhere;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-button .elementor-button:hover {
    color: var(--ieh-ae-paper) !important;
    background: var(--ieh-ae-ink) !important;
    border-color: var(--ieh-ae-ink) !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-link .elementor-button {
    justify-content: flex-start;
    padding: 8px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--ieh-ae-green) !important;
    background: transparent !important;
    text-align: start;
    text-decoration: underline !important;
    text-underline-offset: 5px;
    text-decoration-thickness: 1px !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-link .elementor-button:hover {
    color: var(--ieh-ae-ink) !important;
    text-decoration-thickness: 2px !important;
}

.elementor .ieh-association-editorial.ieh-elementor-native .elementor-widget-text-editor a {
    color: var(--ieh-ae-green);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.elementor .ieh-association-editorial.ieh-elementor-native a:focus-visible {
    outline: 3px solid var(--ieh-ae-ink) !important;
    outline-offset: 4px;
}

.elementor .ieh-association-editorial.ieh-elementor-native ::selection {
    color: var(--ieh-ae-paper);
    background: var(--ieh-ae-green);
}

@media (min-width: 768px) and (max-width: 1023px) {
    .elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-routes.e-con {
        gap: 24px !important;
    }

    .elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-benefits-grid.e-con {
        grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
        gap: 32px !important;
    }
}

@media (max-width: 767px) {
    .elementor .elementor-element.ieh-association-editorial.ieh-elementor-native {
        --ieh-ae-gutter: 20px;
    }

    .elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-section.e-con {
        padding-block: 48px !important;
        scroll-margin-top: 96px;
    }

    .elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-intro.e-con {
        padding-block: 40px 32px !important;
    }

    .elementor .ieh-association-editorial.ieh-association--association .ieh-ae-intro .ieh-ae-shell.e-con {
        gap: 28px !important;
    }

    .elementor .ieh-association-editorial.ieh-elementor-native :is(.ieh-ae-intro-grid, .ieh-ae-split, .ieh-ae-routes, .ieh-ae-chapter, .ieh-ae-impact-grid, .ieh-ae-benefits-grid, .ieh-ae-benefits, .ieh-ae-invite-grid).e-con {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px !important;
        align-items: start;
    }

    .elementor .ieh-association-editorial.ieh-elementor-native :is(.ieh-ae-title-block, .ieh-ae-intro-copy, .ieh-ae-hero-copy).e-con {
        gap: 20px !important;
    }

    .elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-title h1.elementor-heading-title {
        max-width: 14ch;
        font-size: clamp(42px, 11vw, 60px) !important;
    }

    .elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-heading h2.elementor-heading-title {
        font-size: clamp(30px, 8vw, 38px) !important;
    }

    .elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-chapter.e-con {
        gap: 24px !important;
        padding-block: 28px !important;
    }

    .elementor .ieh-association-editorial.ieh-elementor-native .ieh-ae-invite.e-con {
        padding-block: 40px !important;
    }
}
