/**
 * Accessibility fixes.
 *
 * WAVE contrast false positives: Elementor sections with a background image
 * + .elementor-background-overlay have a transparent own background. The
 * overlay is an absolutely-positioned sibling, not an ancestor, so contrast
 * checkers assume a white background and false-flag light text as "contrast 0".
 * Expose the overlay's dark base color on the section itself so light-on-dark
 * reads correctly. Invisible on screen (image + overlay sit on top).
 *
 * Caveat: safe only because every overlay on this site is dark (#111). If a
 * section with a LIGHT overlay + dark text is added, target IDs instead.
 */
.elementor-section:has(> .elementor-background-overlay),
.e-con:has(> .elementor-background-overlay) {
    background-color: #111;
}

/**
 * Career page: dark (#111) sections whose copy is dark text — genuinely
 * unreadable (not a false positive). Recolor the text sitting directly on the
 * dark background to light. The white info cards in the same section use
 * separate widgets and keep their own dark text (deliberately not targeted).
 */
.elementor-element-3f72ce1 .ekit-heading--title,
.elementor-element-3f72ce1 .ekit-heading--title span,
.elementor-element-3f72ce1 p,
.elementor-element-475d3d92,
.elementor-element-475d3d92 p,
.elementor-element-475d3d92 strong {
    color: #f8f8f8 !important;
}

.elementor-302
    .elementor-element.elementor-element-5438a881
    .elementor-container
    h3.elementor-heading-title {
    color: var(--e-global-color-secondary);
    font-family: var(--e-global-typography-99dd0b2-font-family), Sans-serif;
    font-size: var(--e-global-typography-99dd0b2-font-size);
    font-weight: var(--e-global-typography-99dd0b2-font-weight);
    line-height: var(--e-global-typography-99dd0b2-line-height);
}

.elementor-96 .elementor-element h3.elementor-icon-box-title {
    color: var(--e-global-color-secondary);
    font-size: var(--e-global-typography-99dd0b2-font-size);
    font-weight: var(--e-global-typography-99dd0b2-font-weight);
    line-height: var(--e-global-typography-99dd0b2-line-height);
}

.elementor-96
    .elementor-element.elementor-element-29163d73
    h3.elementor-heading-title {
    font-family: var(--e-global-typography-87c06e6-font-family), Sans-serif;
    font-size: var(--e-global-typography-87c06e6-font-size);
    font-weight: var(--e-global-typography-87c06e6-font-weight);
    line-height: var(--e-global-typography-87c06e6-line-height);
}

.elementor-96
    .elementor-element.elementor-element-29163d73
    h4.elementor-heading-title {
    color: var(--e-global-color-secondary);
    font-size: var(--e-global-typography-99dd0b2-font-size);
    font-weight: var(--e-global-typography-99dd0b2-font-weight);
    line-height: var(--e-global-typography-99dd0b2-line-height);
}

.elementor-117
    .elementor-element.elementor-element-5b80cd92
    h3.elementor-icon-box-title {
    color: var(--e-global-color-secondary);
    font-size: var(--e-global-typography-99dd0b2-font-size);
    font-weight: var(--e-global-typography-99dd0b2-font-weight);
    line-height: var(--e-global-typography-99dd0b2-line-height);
}
