/* Project title block - responsive title and image fills column */

/* Title scales fluidly with viewport: min 30px, max 45px */
.details-column .vc_custom_heading.medium {
    font-size: clamp(1.875rem, 1.4vw + 0.8rem, 2.8125rem);
    line-height: 1.15;
    overflow-wrap: break-word;
    hyphens: auto;
}

/* Consistent bottom spacing on the title row */
.vc_row-o-equal-height:has(.details-column) {
    margin-bottom: 40px;
}

/* Side-by-side widths: image fills text column height */
@media (min-width: 811px) {
    .vc_row-o-equal-height:has(.details-column) {
        min-height: 39vw;
    }
    .vc_row-o-equal-height:has(.details-column) > .wpb_column:not(.details-column) {
        position: relative;
        overflow: hidden;
    }
    .vc_row-o-equal-height:has(.details-column) > .wpb_column:not(.details-column) > .vc_column-inner {
        position: absolute;
        top: 0;
        left: 0;
        right: 35px;
        bottom: 0;
    }
    .vc_row-o-equal-height:has(.details-column) > .wpb_column:not(.details-column) .vc_column-inner,
    .vc_row-o-equal-height:has(.details-column) > .wpb_column:not(.details-column) .wpb_wrapper,
    .vc_row-o-equal-height:has(.details-column) > .wpb_column:not(.details-column) .vc_row.vc_inner,
    .vc_row-o-equal-height:has(.details-column) > .wpb_column:not(.details-column) .vc_row.vc_inner > .wpb_column,
    .vc_row-o-equal-height:has(.details-column) > .wpb_column:not(.details-column) .wpb_single_image,
    .vc_row-o-equal-height:has(.details-column) > .wpb_column:not(.details-column) .vc_single_image-wrapper {
        height: 100%;
    }
    .vc_row-o-equal-height:has(.details-column) > .wpb_column:not(.details-column) .vc_figure,
    .vc_row-o-equal-height:has(.details-column) > .wpb_column:not(.details-column) .vc_single_image-wrapper {
        display: block;
        width: 100%;
    }
    .vc_row-o-equal-height:has(.details-column) .vc_single_image-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
    }
}

/* Stacked widths: clear inner-row hard margin so image aligns with adjacent rows */
@media (max-width: 810px) {
    body .vc_row-o-equal-height:has(.details-column) > .wpb_column:not(.details-column) .vc_row.vc_inner {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}