/* Testimonial copy keeps its portrait, without a second decorative doctor photo. */
.elementor .e-con.mh-testimonial-no-photo {
    background-image: none !important;
    min-height: 0 !important;
    justify-content: center;
    padding: 24px !important;
}
.elementor .e-con.mh-testimonial-no-photo::before { background-image: none !important; opacity: 0 !important; }

/* Seat the desktop Who We Serve title inside the image's white upper inset. */
@media (min-width: 1025px) {
    .elementor-485 .elementor-element-4ac19a7 > .e-con-inner { position: relative; }
    .elementor-485 .elementor-element.elementor-element-d727fb8 {
        position: absolute !important;
        top: 56px;
        left: 0;
        z-index: 2;
        width: 60% !important;
        margin: 0 !important;
        padding: 0 10px !important;
    }
}

/* Section headings use regular text with bold emphasis on selected key words. */
.elementor .mh-section-emphasis .elementor-heading-title { font-weight: 400 !important; }
.elementor .mh-section-emphasis .elementor-heading-title strong { font-weight: 700 !important; }
@media (max-width: 767px) {
    .elementor-486 :is(.elementor-element-e3377c4,.elementor-element-ec1bf6d).mh-section-emphasis .elementor-heading-title > span[style*="font-size:41px"] {
        font-size: 28px !important;
        line-height: 1.2;
    }
}

/* Keep imported sections within their available width without clipping content. */
:is(.elementor-4040,.elementor-3785,.elementor-3510,.elementor-3481,.elementor-3454,.elementor-3315,.elementor-3209,.elementor-14,.elementor-485,.elementor-486,.elementor-487,.elementor-1815,.elementor-2418) :is(.e-con,.e-con-inner,.elementor-widget) {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
:is(.elementor-4040,.elementor-3785,.elementor-3510,.elementor-3481,.elementor-3454,.elementor-3315,.elementor-3209,.elementor-14,.elementor-485,.elementor-486,.elementor-487) > .e-con > .e-con-inner {
    width: 100%;
}
/* Keep carousel controls inside the section gutters. */
.elementor .sp-testimonial-free-section .sp-testimonial-prev { left: 0 !important; }
.elementor .sp-testimonial-free-section .sp-testimonial-next { right: 0 !important; }
@media (max-width: 1024px) {
    .elementor .mh-layout-stack-tablet { --flex-wrap: wrap; }
}
@media (max-width: 767px) {
    .elementor .mh-layout-stack-mobile { --flex-direction: column; --flex-wrap: nowrap; --gap: 24px 24px; }
    :is(.elementor-4040,.elementor-3785,.elementor-3510,.elementor-3481,.elementor-3454,.elementor-3315,.elementor-3209,.elementor-14,.elementor-485,.elementor-486,.elementor-487) .mh-layout-stack-mobile > :is(.e-con,.elementor-widget),
    :is(.elementor-4040,.elementor-3785,.elementor-3510,.elementor-3481,.elementor-3454,.elementor-3315,.elementor-3209,.elementor-14,.elementor-485,.elementor-486,.elementor-487) .mh-layout-stack-mobile > .e-con-inner > :is(.e-con,.elementor-widget) {
        --width: 100%;
        width: 100%;
        margin-inline: 0;
    }
    .elementor-485 .elementor-element-2b58b37 > .elementor-widget-container > div {
        min-height: 0 !important;
        padding-block: 24px;
    }
    .elementor-485 .elementor-element-2b58b37 div[style*="width:400px"] {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
        padding: 24px !important;
    }
    .elementor-1815 .elementor-icon-list-items { flex-wrap: wrap; }
}
/* The imported testimonial plugin offsets its controls outside the content area. */
.elementor .sp-real-swiper-nav-arrows.sp-real-nav-pos-vertical_center {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-inline: 0 !important;
}
/* Legacy viewport widths and an HTML formatting wrapper in Who We Serve. */
.elementor-485 .elementor-element-d727fb8 { width: 100% !important; }
.elementor-485 .elementor-element-4ac19a7 > .e-con-inner > strong {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}
/* Neutralize layout-only formatting wrappers inherited from rich text HTML. */
.elementor :is(.e-con,.e-con-inner) > strong:has(> .e-con, > .elementor-widget) {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}
.elementor-485 .elementor-element-d727fb8 {
    --position: relative !important;
    position: relative !important;
}
@media (max-width: 767px) {
    .elementor .mh-layout-stack-mobile {
        --flex-direction: column !important;
        flex-direction: column !important;
        --gap: 24px 24px !important;
    }
}
/* The provider section contains a rich-text wrapper, not a second column. */
.elementor-485 .elementor-element-4ac19a7 > .e-con-inner {
    flex-direction: column !important;
    align-items: stretch;
}
.elementor-485 .elementor-element-2b58b37 { width: 100% !important; }
@media (max-width: 767px) {
    :is(.elementor-4040,.elementor-3785,.elementor-3510,.elementor-3481,.elementor-3454,.elementor-3315,.elementor-3209,.elementor-14,.elementor-485,.elementor-486,.elementor-487) > .e-con:first-child .elementor-widget-heading {
        width: 100%;
        --width: 100%;
        padding-block: 0 !important;
    }
    :is(.elementor-4040,.elementor-3785,.elementor-3510,.elementor-3481,.elementor-3454,.elementor-3315,.elementor-3209,.elementor-14,.elementor-485,.elementor-486,.elementor-487) > .e-con:first-child .elementor-heading-title {
        font-size: clamp(32px, 8.5vw, 44px);
        overflow-wrap: normal;
    }
    .elementor-485 .elementor-element-4ac19a7 > .e-con-inner > strong { flex: 0 0 auto; }
}


/* Shared content wrapper: centered at 1630px, fluid below that width. */
:is(.elementor-4040,.elementor-3785,.elementor-3510,.elementor-3481,.elementor-3454,.elementor-3315,.elementor-3209,.elementor-14,.elementor-485,.elementor-486,.elementor-487,.elementor-1815,.elementor-2418) > .e-con > .e-con-inner {
    width: 100%;
    max-width: 1630px;
    margin-inline: auto;
}

/* Full-width section backgrounds, with centered inner content only. */
body .elementor .e-con.e-parent > .e-con-inner,
body .elementor .elementor-section > .elementor-container {
    width: 100%;
    max-width: min(100%, 1630px);
    margin-inline: auto;
}
/* Shared footer form overlaps the full-width footer background. */
.elementor-2418 .elementor-element.elementor-element-dce608a {
    margin-bottom: -115px;
    position: relative;
    z-index: 2;
}
.elementor-2418 .elementor-element-dce608a > .e-con-inner {
    max-width: min(100%, 1300px);
}
.elementor-2418 .elementor-element.elementor-element-968ad0b {
    position: relative;
    z-index: 1;
}
@media (max-width: 1024px) {
    .elementor-2418 .elementor-element.elementor-element-dce608a { margin-bottom: -80px; }
    .elementor-2418 .elementor-element.elementor-element-968ad0b { --padding-top: 160px; }
}
@media (max-width: 767px) {
    .elementor-2418 .elementor-element.elementor-element-dce608a { margin-bottom: -48px; }
    .elementor-2418 .elementor-element.elementor-element-968ad0b { --padding-top: 96px; }
}
.elementor.elementor-2418 .elementor-element.elementor-element-dce608a > .e-con-inner {
    max-width: min(100%, 1300px);
}
/* Practice challenges: section spacing. */
.elementor-485 .elementor-element.elementor-element-f7ed8a9 {
    --padding-bottom: 80px;
}
@media (max-width: 767px) {
    .elementor-485 .elementor-element.elementor-element-f7ed8a9 {
        --padding-bottom: 40px;
    }
}

/* About: align the hero with the same content boundary as the sections below. */
.elementor-486 .elementor-element.elementor-element-122fa33 {
    --width: 100%;
    width: 100%;
}
.elementor-486 .elementor-element-122fa33 > .elementor-widget-container { padding: 0; }
.elementor-486 .elementor-element-122fa33 .elementor-heading-title {
    font-size: clamp(36px, 4.6vw, 80px);
    line-height: 1.15;
}
.elementor-486 :is(.elementor-element-e3377c4,.elementor-element-ec1bf6d) .elementor-heading-title { line-height: 1.4; }
@media (max-width: 767px) {
    .elementor-486 .elementor-element-4f16a29 > .elementor-element.elementor-element-9578184 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .elementor-486 .elementor-element-9578184 > :is(.elementor-element-7fbd9bb,.elementor-element-3e8b8cf,.elementor-element-c32c02f) { grid-column: 1; grid-row: auto; }
    .elementor-486 :is(.elementor-element-e3377c4,.elementor-element-ec1bf6d) strong { font-size: 28px !important; line-height: 1.2; }
    .elementor-486 :is(.elementor-element-568d12c,.elementor-element-7360a57) { flex-direction: column; align-items: flex-start; gap: 20px; }
    .elementor-486 :is(.elementor-element-e3377c4,.elementor-element-ec1bf6d) { width: 100%; }
    .elementor-486 .elementor-element-f87cf54 > .elementor-widget-container > div { min-height: 0 !important; padding-block: 24px; }
    .elementor-486 .elementor-element-f87cf54 div[style*="width:420px"] { max-width: 100% !important; width: 100% !important; margin-left: 0 !important; padding: 24px !important; }
}
@media (max-width: 767px) {
    /* Decorative image-corner masks use desktop offsets outside narrow screens. */
    .elementor-4040 .elementor-element-955e3bb,
    .elementor-3785 .elementor-element-92ff714,
    .elementor-3510 .elementor-element-c1502a4 { display: none; }
}

@media (max-width: 767px) {
    .elementor-3454 .elementor-element-d03636a { display: none; }
    .elementor-3454 :is(.elementor-element-135d737,.elementor-element-1870f3a,.elementor-element-770e397) {
        width: 100%;
        max-width: 350px;
        margin-inline: 0;
    }
}
@media (max-width: 767px) {
    .elementor-3315 .elementor-element-ef7c628 { display: none; }
}
@media (max-width: 767px) {
    .elementor-3209 .elementor-element-c14a6be { display: none; }
}
.elementor-486 .elementor-element.elementor-element-122fa33 > .elementor-widget-container { padding: 0; }
@media (max-width: 767px) {
    .elementor-486 .elementor-element.elementor-element-3e8b8cf { padding: 0 !important; }
    .elementor-486 .elementor-element-9578184 > .elementor-element-7fbd9bb { grid-row: 1; }
    .elementor-486 .elementor-element-9578184 > .elementor-element-3e8b8cf { grid-row: 2; }
    .elementor-486 .elementor-element-9578184 > .elementor-element-c32c02f { grid-row: 3; }
    .elementor-486 .elementor-element-c32c02f > .e-con-inner { align-items: flex-start; }
}
@media (max-width: 767px) {
    .elementor-3454 .elementor-element:is(.elementor-element-135d737,.elementor-element-1870f3a,.elementor-element-770e397) {
        --width: 100%;
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
    }
}
@media (max-width: 767px) {
    .elementor-485 .elementor-element-c4329ef { display: none; }
}
@media (max-width: 767px) {
    .elementor-3454 .elementor-element:is(.elementor-element-135d737,.elementor-element-1870f3a,.elementor-element-770e397) {
        position: relative;
        inset: auto !important;
        transform: none;
    }
}

/* Preserve the full-image banner and inset overlay on desktop. */
@media (max-width: 767px) {
    .elementor-486 .elementor-element-9578184 > :is(.elementor-element-3e8b8cf,.elementor-element-c32c02f) {
        position: relative !important;
        inset: auto !important;
        width: 100%;
        max-width: 100%;
        margin: 0;
        transform: none;
    }
    .elementor-486 .elementor-element-3e8b8cf > .elementor-widget-container { padding: 0 !important; }
    .elementor-486 .elementor-element-9578184 > :is(.elementor-element-c77b323,.elementor-element-e05c13d) { display: none; }
}

@media (min-width: 768px) {
    .elementor-486 .elementor-element.elementor-element-3e8b8cf {
        width: min(450px, 45%);
        max-width: 450px;
    }
    .elementor-486 .elementor-element.elementor-element-3e8b8cf > .elementor-widget-container {
        min-height: 236px;
        padding: 25px 25px 95px;
        background: #fff;
        border-radius: 0 0 0 20px;
    }
    .elementor-486 .elementor-element.elementor-element-c32c02f {
        width: min(450px, 45%);
        top: 160px;
        right: 0;
        padding: 0 0 25px;
        background: #fff;
        border-radius: 0 0 0 20px;
    }
    .elementor-486 .elementor-element-c32c02f > .e-con-inner { justify-content: center; gap: 20px; }
    .elementor-486 .elementor-element-9578184 > :is(.elementor-element-c77b323,.elementor-element-e05c13d) { display: none; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-486 .elementor-element.elementor-element-3e8b8cf { font-size: 16px; line-height: 1.4; letter-spacing: 0; }
    .elementor-486 .elementor-element-c32c02f .elementor-button { padding-inline: 12px; font-size: 13px; }
    .elementor-486 .elementor-element-c32c02f > .e-con-inner { gap: 10px; }
}
/* Match About's hero heading spacing without changing typography or banners. */
:is(.elementor-4040,.elementor-3785,.elementor-3510,.elementor-3481,.elementor-3454,.elementor-3315,.elementor-3209,.elementor-14,.elementor-485,.elementor-486,.elementor-487) > .e-con:first-child .elementor-widget-heading,
:is(.elementor-4040,.elementor-3785,.elementor-3510,.elementor-3481,.elementor-3454,.elementor-3315,.elementor-3209,.elementor-14,.elementor-485,.elementor-486,.elementor-487) > .e-con:first-child .elementor-widget-heading > .elementor-widget-container {
    padding-block: 0 !important;
    margin-block: 0;
}
@media (max-width: 767px) {
    /* These two title sections have no trailing widget gap; match About's 48px. */
    :is(.elementor-14,.elementor-487) > .e-con:first-child > .e-con-inner { padding-bottom: 48px; }
}
/* Reuse the banner's original SVG corner masks, aligned to the inset card. */
@media (min-width: 768px) {
    .elementor-486 .elementor-element.elementor-element-3e8b8cf > .elementor-widget-container {
        border-radius: 0 20px 0 20px;
    }
    .elementor-486 .elementor-element.elementor-element-c32c02f {
        background: transparent;
        border-radius: 0;
    }
    .elementor-486 .elementor-element-9578184 > :is(.elementor-element-c77b323,.elementor-element-e05c13d) {
        display: block;
        pointer-events: none;
    }
    body:not(.rtl) .elementor-486 .elementor-element.elementor-element-e05c13d { right: min(450px, 45%); }
    .elementor-486 .elementor-element.elementor-element-e05c13d { top: 0; }
    .elementor-486 .elementor-element.elementor-element-c77b323 { top: 236px; }
}
@media (min-width: 768px) {
    /* Keep the card edge aligned with its lower corner mask. */
    .elementor-486 .elementor-element-3e8b8cf > .elementor-widget-container p { margin: 0; }
}
@media (min-width: 768px) {
    /* Anchor the lower mask itself, rather than centering it in a wide widget. */
    .elementor-486 .elementor-element.elementor-element-c77b323 {
        --width: 50px;
        width: 50px;
        height: 50px;
        max-width: 50px;
        margin: 0;
        padding: 0;
    }
    body:not(.rtl) .elementor-486 .elementor-element.elementor-element-c77b323 { right: 0; left: auto; }
    .elementor-486 .elementor-element-c77b323 > .elementor-widget-container { padding: 0; margin: 0; }
}
