.content-image-cta-panel {
    position: relative;
}

.content-image-cta-panel__inner,
.content-image-cta-panel__header,
.content-image-cta-panel__layout,
.content-image-cta-panel__content,
.content-image-cta-panel__cta-column,
.content-image-cta-panel__media,
.content-image-cta-panel__cta {
    box-sizing: border-box;
    min-width: 0;
}

.content-image-cta-panel__inner {
    display: grid;
}

.content-image-cta-panel__header {
    width: 100%;
}

.content-image-cta-panel__layout {
    align-items: start;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    width: 100%;
}

.content-image-cta-panel__layout.block-column-gap {
    column-gap: var(--space-xl);
    row-gap: 0;
}

.content-image-cta-panel__content {
    --block-content-flow-gap: var(--space-m);

    grid-column: 1 / span 4;
    min-width: 0;
}

.content-image-cta-panel__content-heading,
.content-image-cta-panel__cta-heading {
    margin: 0;
}

.content-image-cta-panel__breadcrumbs-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2em 0.4em;
    list-style: none;
    margin: 0;
    padding: 0;
}

.content-image-cta-panel__breadcrumbs {
    color: var(--content-image-cta-panel-breadcrumbs-colour, var(--color-ginger));
}

.content-image-cta-panel__breadcrumbs--colour-soft-white {
    --content-image-cta-panel-breadcrumbs-colour: var(--color-soft-white, #f5f5f5);
}

.content-image-cta-panel__breadcrumbs--colour-ginger {
    --content-image-cta-panel-breadcrumbs-colour: var(--color-ginger);
}

.content-image-cta-panel__breadcrumbs-item {
    align-items: center;
    display: flex;
    gap: 0.4em;
    margin-block: 0;
    min-width: 0;
}

.content-image-cta-panel__breadcrumbs-item + .content-image-cta-panel__breadcrumbs-item {
    margin-top: 0;
}

.content-image-cta-panel__breadcrumbs a {
    color: inherit !important;
    text-decoration: none !important;
}

.content-image-cta-panel__breadcrumbs a:hover,
.content-image-cta-panel__breadcrumbs a:focus-visible {
    color: inherit !important;
    opacity: 1 !important;
    text-decoration: underline !important;
}

.content-image-cta-panel__cta-column {
    align-items: stretch;
    display: grid;
    grid-column: 5 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: clamp(22rem, 35vw, 32rem);
    min-width: 0;
}

.content-image-cta-panel__media {
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.content-image-cta-panel__image {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.content-image-cta-panel__cta {
    --block-content-flow-gap: var(--space-m);
    --block-content-flow-gap-before-buttons: auto;

    box-sizing: border-box;
    color: var(--color-soft-white, #f5f5f5);
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    padding: clamp(var(--space-l), 3vw, var(--space-xl));
    background: var(--color-midnight-blue, #0c2840);
}

.content-image-cta-panel__cta :where(h1, h2, h3, h4, h5, h6):not([class*="text-colour-"]) {
    color: var(--color-soft-white, #f5f5f5);
}

.content-image-cta-panel__cta.block-content-stack > .content-image-cta-panel__cta-buttons {
    align-items: flex-start;
    flex-direction: column;
    margin-block-start: auto;
    margin-top: auto;
}

.content-image-cta-panel--no-image .content-image-cta-panel__cta-column,
.content-image-cta-panel--no-cta .content-image-cta-panel__cta-column {
    grid-template-columns: minmax(0, 1fr);
}

.content-image-cta-panel--no-content .content-image-cta-panel__cta-column {
    grid-column: 1 / -1;
}

.content-image-cta-panel--no-image .content-image-cta-panel__cta {
    max-width: 36rem;
}

.content-image-cta-panel--no-image.content-image-cta-panel--has-content .content-image-cta-panel__cta-column {
    justify-items: end;
}

.content-image-cta-panel--no-cta .content-image-cta-panel__media {
    min-height: clamp(22rem, 35vw, 32rem);
}

@media (max-width: 900px) {
    .content-image-cta-panel__layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .content-image-cta-panel__layout.block-column-gap {
        column-gap: 0;
        row-gap: var(--space-xl);
    }

    .content-image-cta-panel__content,
    .content-image-cta-panel__cta-column,
    .content-image-cta-panel--no-content .content-image-cta-panel__cta-column {
        grid-column: 1;
    }

    .content-image-cta-panel__content {
        max-width: 42rem;
    }

    .content-image-cta-panel__cta-column {
        min-height: clamp(22rem, 55vw, 30rem);
    }
}

@media (max-width: 640px) {
    .content-image-cta-panel__cta-column {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    .content-image-cta-panel__media,
    .content-image-cta-panel--no-cta .content-image-cta-panel__media {
        aspect-ratio: 4 / 3;
        min-height: 0;
    }

    .content-image-cta-panel__cta,
    .content-image-cta-panel--no-image .content-image-cta-panel__cta {
        max-width: none;
    }
}
