.block-service-cards {
    background: var(--color-background-base, #fff);
    color: var(--color-text-primary, #2b0417);
    padding-bottom: var(--spacing-3xl, 64px);
}

.block-service-cards:last-child {
    padding-bottom: 0;
}

.block-service-cards .service-cards {
    margin: 0 auto;
    max-width: var(--content-width-wide);
    padding: 0;
}

.block-service-cards .service-cards__header {
    padding: 56px 0 var(--spacing-xl, 32px);
}

.block-service-cards .service-cards__eyebrow {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 0 9px;
}

.block-service-cards .service-cards__eyebrow-text {
    align-items: flex-end;
    display: inline-flex;
    font: 300 var(--text-styles-interface-xs-font-size, 14px) / 14px var(--font-family-default);
    letter-spacing: 0;
    margin: 0;
    text-transform: uppercase;
}

.block-service-cards .service-cards__eyebrow-icon {
    block-size: 16px;
    display: inline-flex;
    inline-size: 29px;
}

.block-service-cards .service-cards__eyebrow-icon svg {
    block-size: 100%;
    inline-size: 100%;
}

.block-service-cards .service-cards__title {
    font: 400 var(--text-styles-base-h2-font-size, 28px) / var(--text-styles-base-h2-line-height, 30.8px)
        var(--font-family-default);
    margin: 0;
    max-width: none;
}

.block-service-cards .service-cards__eyebrow > .service-cards__eyebrow-icon {
    order: 0;
}

.block-service-cards .service-cards__eyebrow > .acf-innerblocks-container {
    display: contents;
}

.block-service-cards .service-cards__eyebrow > .acf-innerblocks-container > .block-editor-block-list__block {
    margin: 0;
}

.block-service-cards
    .service-cards__eyebrow
    > .acf-innerblocks-container
    > .block-editor-block-list__block[data-type='core/paragraph'] {
    order: 1;
}

.block-service-cards
    .service-cards__eyebrow
    > .acf-innerblocks-container
    > .block-editor-block-list__block[data-type='core/heading'] {
    flex: 0 0 100%;
    margin-top: var(--spacing-l, 24px);
    order: 2;
}

.block-service-cards
    .service-cards__eyebrow
    > .acf-innerblocks-container
    > .block-editor-rich-text__editable.service-cards__eyebrow-text {
    align-items: flex-end;
    display: inline-flex;
    font: 300 var(--text-styles-interface-xs-font-size, 14px) / 14px var(--font-family-default);
    letter-spacing: 0;
    margin: 0;
    text-transform: uppercase;
}

.block-service-cards
    .service-cards__eyebrow
    > .acf-innerblocks-container
    > .block-editor-rich-text__editable.service-cards__title {
    font: 400 var(--text-styles-base-h2-font-size, 28px) / var(--text-styles-base-h2-line-height, 30.8px)
        var(--font-family-default);
    margin: var(--spacing-l, 24px) 0 0;
    max-width: none;
}

.block-service-cards .service-cards__eyebrow > .service-cards__eyebrow-text,
.block-service-cards .service-cards__eyebrow > .wp-block-paragraph.service-cards__eyebrow-text {
    order: 1;
}

.block-service-cards .service-cards__eyebrow > .service-cards__title,
.block-service-cards .service-cards__eyebrow > .wp-block-heading.service-cards__title {
    flex: 0 0 100%;
    margin-top: var(--spacing-l, 24px);
    order: 2;
}

@media (width >=1025px) {
    .block-service-cards .service-cards__header {
        max-width: 703px;
    }
}

.block-service-cards .service-cards__grid {
    display: grid;
    gap: var(--grid-gutter, 16px);
    grid-template-columns: 1fr;
}

@media (width >=768px) {
    .block-service-cards .service-cards__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (width >=1025px) {
    .block-service-cards .service-cards__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.block-service-cards .service-cards__item {
    background: var(--service-cards-card-background, #e2beba);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: var(--spacing-l, 24px);
    min-width: 0;
    overflow: hidden;
    padding: var(--spacing-l, 24px);
    position: relative;
    transition:
        background-color 0.2s ease,
        outline-color 0.2s ease;
}

.block-service-cards .service-cards__item-link {
    inset: 0;
    position: absolute;
    border: 0;
    box-shadow: none;
    text-decoration: none;
    z-index: 2;
}

.block-service-cards .service-cards__item-link::before,
.block-service-cards .service-cards__item-link::after {
    content: none !important;
    display: none !important;
}

.block-service-cards .service-cards__item-header {
    align-items: flex-start;
    display: flex;
    gap: var(--spacing-s, 12px);
    justify-content: space-between;
    min-width: 0;
    position: relative;
    z-index: 1;
}

.block-service-cards .service-cards__item-header--arrow-only {
    justify-content: flex-end;
}

.block-service-cards .service-cards__item-icon {
    align-items: flex-start;
    display: inline-flex;
    flex: 0 0 auto;
    max-inline-size: 1.3125rem;
    min-block-size: 1.75rem;
}

.block-service-cards .service-cards__item-icon-image {
    block-size: auto;
    display: block;
    inline-size: 100%;
    max-block-size: 1.75rem;
    object-fit: contain;
}

.block-service-cards .service-cards__item-arrow {
    display: inline-flex;
    flex: 0 0 auto;
    inline-size: 20px;
    position: relative;
    z-index: 1;
    pointer-events: none;
}

.block-service-cards .service-cards__item-arrow svg {
    block-size: 20px;
    inline-size: 20px;
    transition: transform 0.2s ease;
}

.block-service-cards .service-cards__item-content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs, 8px);
    min-width: 0;
    position: relative;
    z-index: 1;
}

.block-service-cards .service-cards__item-title {
    display: inline;
    font: 400 28px / 33.6px var(--font-family-heading);
    margin: 0;
    max-inline-size: 100%;
    overflow-wrap: anywhere;
}

@media (width >= 1025px) {
    .block-service-cards .service-cards__item-title {
        font-size: 24px;
        line-height: 28.8px;
    }
}

.block-service-cards .service-cards__item-title span {
    background-image: linear-gradient(transparent calc(100% - 1px), rgb(43 4 23 / 45%) 1px);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 100%;
    display: inline;
    padding-bottom: 1px;
    transition: background-size 0.25s ease;
}

.block-service-cards .service-cards__item-description {
    font: 300 var(--text-styles-interface-xs-font-size, 14px) / var(--text-styles-interface-xs-line-height, 19.6px)
        var(--font-family-default);
    margin: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.block-service-cards .service-cards__item--linked .service-cards__item-link {
    margin: 0;
}

.block-service-cards .service-cards__item--linked:hover,
.block-service-cards .service-cards__item--linked:focus-within {
    background: var(--service-cards-card-background-hover, #e8c9c5);
}

.block-service-cards .service-cards__item--linked:hover .service-cards__item-arrow svg,
.block-service-cards .service-cards__item--linked:focus-within .service-cards__item-arrow svg {
    transform: translateX(6px);
}

.block-service-cards .service-cards__item--linked:hover .service-cards__item-title span,
.block-service-cards .service-cards__item--linked:focus-within .service-cards__item-title span {
    background-size: 100% 100%;
}

.block-service-cards .service-cards__item--linked:focus-within {
    outline: 2px solid var(--color-background-accent-primary, #4b002b);
    outline-offset: -2px;
}

@media (forced-colors: active) {
    .block-service-cards .service-cards__item {
        background: Canvas;
        border: 1px solid ButtonBorder;
    }

    .block-service-cards .service-cards__item--linked:focus-within {
        outline-color: Highlight;
    }
}
