.image-text-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
}

.image-text-header {
    margin: 0 0 2.5rem;
}

.image-text-header h2 {
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    margin: 0;
    font-weight: 700;
}

.image-text-row {
    display: flex;
    align-items: flex-start;
    gap: 48px;
    width: 100%;
}

.image-text-row.reverse {
    flex-direction: row-reverse;
}

.image-text-image,
.image-text-body {
    width: 50%;
    min-width: 0;
}

.image-text-image img {
    width: 100%;
    border-radius: 18px;
    display: block;
}

.image-text-inner--text-only .image-text-body--solo {
    width: 100%;
    max-width: 820px;
}

.image-text-block--text-only.image-text-bg-light {
    background: #ffffff;
}

.image-text-block--text-only.image-text-bg-light .image-text-body--solo {
    max-width: 820px;
}

.image-text-align-center .image-text-inner--text-only .image-text-body--solo {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.image-text-align-left .image-text-inner--text-only .image-text-body--solo {
    margin-left: 0;
    margin-right: auto;
}

.image-text-bg-white {
    background: #ffffff;
}

.image-text-bg-light {
    background: #f7f7f8;
}

.image-text-bg-dark {
    background: #1f2933;
}

.image-text-bg-navy {
    background: #111827;
}

.image-text-bg-dark .image-text-header h2,
.image-text-bg-dark .image-text-body .text-block__text {
    color: #f9fafb;
}

.image-text-bg-navy .image-text-header h2,
.image-text-bg-navy .image-text-body .text-block__text {
    color: #f9fafb;
}

.image-text-width-normal .image-text-row {
    max-width: 1000px;
}

.image-text-width-wide .image-text-row {
    max-width: 1180px;
}

.image-text-align-left .image-text-row {
    margin-left: 0;
    margin-right: auto;
}

.image-text-align-center .image-text-row {
    margin-left: auto;
    margin-right: auto;
}

.image-text-align-right .image-text-row {
    margin-left: auto;
    margin-right: 0;
}

.image-text-align-right .image-text-body {
    text-align: right;
}

.image-text-align-right .image-text-inner--text-only .image-text-body--solo {
    margin-left: auto;
    margin-right: 0;
    text-align: right;
}

.image-text-title-align-left .image-text-header h2 {
    text-align: left;
}

.image-text-title-align-center .image-text-header h2 {
    text-align: center;
}

.image-text-title-align-right .image-text-header h2 {
    text-align: right;
}

.image-text-bg-white .image-text-header h2,
.image-text-bg-light .image-text-header h2 {
    color: var(--site-heading-color);
}

.image-text-bg-white .image-text-body .text-block__text,
.image-text-bg-light .image-text-body .text-block__text,
.image-text-bg-white .image-text-body .text-block__rich-text p,
.image-text-bg-light .image-text-body .text-block__rich-text p,
.image-text-bg-white .image-text-body .text-block__rich-text ul,
.image-text-bg-light .image-text-body .text-block__rich-text ul,
.image-text-bg-white .image-text-body .text-block__rich-text ol,
.image-text-bg-light .image-text-body .text-block__rich-text ol,
.image-text-bg-white .image-text-body .text-block__rich-text li,
.image-text-bg-light .image-text-body .text-block__rich-text li {
    color: var(--site-text-color);
}

.image-text-bg-white .image-text-body .text-block__rich-text h3,
.image-text-bg-light .image-text-body .text-block__rich-text h3,
.image-text-bg-white .image-text-body .text-block__rich-text h4,
.image-text-bg-light .image-text-body .text-block__rich-text h4 {
    color: var(--site-heading-color);
}

.image-text-body .text-block__text {
    font-size: 1rem;
    line-height: 1.75;
    margin: 0;
}

.image-text-body .text-block__rich-text > :last-child {
    margin-bottom: 0;
}

.image-text-body .text-block__rich-text p,
.image-text-body .text-block__rich-text ul,
.image-text-body .text-block__rich-text ol,
.image-text-body .text-block__rich-text h3,
.image-text-body .text-block__rich-text h4 {
    margin: 0 0 1rem;
}

.image-text-body .text-block__rich-text p,
.image-text-body .text-block__rich-text ul,
.image-text-body .text-block__rich-text ol {
    font-size: 1rem;
}

.image-text-body .text-block__rich-text h3 {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.35;
}

.image-text-body .text-block__rich-text h4 {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.4;
}

.image-text-body .text-block__rich-text ul,
.image-text-body .text-block__rich-text ol {
    padding-left: 1.5rem;
}

.image-text-body .text-block__rich-text a {
    text-decoration: underline;
}

.image-text-bg-white .image-text-body .text-block__rich-text a,
.image-text-bg-light .image-text-body .text-block__rich-text a,
.image-text-bg-dark .image-text-body .text-block__rich-text a,
.image-text-bg-navy .image-text-body .text-block__rich-text a {
    color: var(--site-accent);
}

.image-text-bg-dark .image-text-body .text-block__text,
.image-text-bg-navy .image-text-body .text-block__text {
    color: #d1d5db;
}

@media (max-width: 768px) {
    .image-text-row,
    .image-text-row.reverse {
        flex-direction: column;
        gap: 28px;
    }

    .image-text-image,
    .image-text-body {
        width: 100%;
    }

    .image-text-inner--text-only .image-text-body--solo {
        max-width: 100%;
    }
}
