

.wp-block-columns {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.wp-block-column {
    flex: 1;
    min-width: 0;
}

/* Horizontal margins are intentionally 0 throughout this file: every block
   (heading, figure, paragraph, quote) needs to sit flush against the same
   left edge as .solution-content itself, so only vertical margins are used
   for spacing between blocks. */
.solution-content .wp-block-heading {
    margin: 0 0 1rem;
}

/* A plain (non solution-media-feature) two-column row pairing an image with
   heading/paragraph text should give the image roughly a third of the row,
   matching the reference design, instead of the default 50/50 split which
   renders the image far larger than intended. */
.solution-content .wp-block-columns:not(.solution-media-feature) > .wp-block-column:has(> figure.wp-block-image) {
    flex: 0 0 25%;
    max-width: 25%;
}

@media (max-width: 781px) {
    .wp-block-columns {
        flex-direction: column;
    }

    .solution-content .wp-block-columns:not(.solution-media-feature) > .wp-block-column:has(> figure.wp-block-image) {
        flex: 1 1 auto;
        max-width: 100%;
    }
}

.solution-content h2 {
    font-size: 2.5rem;
    margin: 0 0 1rem;
}

.solution-content figure {
    margin: 2rem 0;
}

.solution-content .wp-block-paragraph {
    margin: 1rem 0;
}

.solution-content .wp-block-quote {
    margin: 1.5rem 0;
    padding: 0 0 0 1.5rem;
    border-left: 0.25rem solid #FF7D00;
}

.solution-content .wp-block-quote p {
    margin: 0;
    color: #8AA2CC;
    font-family: "Swiza", sans-serif;
    font-size: 1.375rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.25rem;
}

.solution-content .wp-block-quote cite {
    display: block;
    margin-top: 1.5rem;

    color: #8AA2CC;
    font-family: "Swiza", sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.25rem;
}

.solution-content .wp-block-quote::before {
    color: #8AA2CC;
    font-size: 1.375rem;
    line-height: 1;
    margin-right: 0.25rem;
}


@media (max-width: 781px) {

    .solution-content .wp-block-columns {
        display: flex;
        flex-direction: column-reverse;
    }

    .solution-content .wp-block-quote p {
    font-family: "Swiza", sans-serif;
    font-size: 1rem;
}

}


.solution-content .solution-media-feature {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 4rem 0;
}

.solution-content .solution-media-feature__image {
    flex: 0 0 65%;
    position: relative;
    z-index: 2;
}

.solution-content .solution-media-feature__image figure {
    margin: 0;
}

.solution-content .solution-media-feature__image img {
    display: block;
    width: 100%;
    height: auto;
}

.solution-content .solution-media-feature__content {
    flex: 0 0 30%;
    background: #EEF0F4;
    padding: 1.75rem 1.5rem;
    margin-left: -1px;
    z-index: 1;
}

.solution-content .solution-media-feature__content h4 {
    margin: 0 0 1rem;
}

.solution-content .solution-media-feature__content p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.625rem;
}


.solution-content .solution-media-feature--reverse {
    align-items: flex-start;
}

.solution-content .solution-media-feature--reverse .wp-block-column:first-child {
    flex: 0 0 50%;
}

.solution-content .solution-media-feature--reverse .wp-block-column:last-child {
    flex: 0 0 50%;
}

.solution-content .solution-media-feature--reverse figure {
    margin: 0;
}


@media (max-width: 781px) {

    .solution-content .solution-media-feature {
        flex-direction: column;
        gap: 1.5rem;
    }

    .solution-content .solution-media-feature__image,
    .solution-content .solution-media-feature__content {
        flex: 0 0 100%;
        width: 100%;
    }

    .solution-content .solution-media-feature__content {
        margin-left: 0;
    }

    .solution-content .solution-media-feature--reverse {
        flex-direction: column;
    }

}


@media (max-width: 781px) {
    .solution-nav {
        display: none;
    }

    .solution-content-layout {
        display: block;
        padding: 2rem 1rem;
    }
} 


.solutions-h2 {
    color: var(--Blue, #001E5A);
    font-family: "Swiza", sans-serif;
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 2.8125rem;
}

@media (max-width: 767px) {
    .solutions-h2 {
        font-size: 2rem;
        line-height: 2.25rem;
    }
}

.solutions-h4 {
    color: var(--Blue, #001E5A);
    font-family: "Swiza", sans-serif;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 600;
    line-height: 1.625rem;
}

@media (max-width: 767px) {
    .solutions-h4 {
        font-size: 1.375rem;
        line-height: 1.5rem;
    }
}


.contact-content p.wp-block-paragraph {
    margin: 1rem 0;
    color: var(--Blue, #001E5A);
    font-family: "Swiza", sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.25rem;
}

/* Editor "Group" blocks use WordPress's constrained layout, which centres
   their content at the theme.json content width (900px) - that indented
   headings like "Built for coverage, accuracy, and repeatability" relative
   to the page title. In page content they span the full text column and
   start on the same line as everything else (as on dev). */
.solution-content__container .is-layout-constrained > :not(.alignleft):not(.alignright):not(.alignfull) {
    max-width: none;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
