.generic-steps-with-arrow {
    display: flex;
    flex-direction: column;
    gap: 192px;
}

.generic-steps-with-arrow__container {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
    position: relative;
}

.generic-steps-with-arrow__container::after {
    --arrow-height: 50px;
    position: absolute;
    bottom: -166px;
    left: calc(50% - var(--arrow-height) / 2);
    background-image: url("https://stage-assets.goldbank.co.uk/home_new/assets/images/click-and-drop/vector-1719.svg");
    background-repeat: no-repeat;
    content: "";
    width: var(--arrow-height);
    height: 146px;
}

.generic-steps-with-arrow__container:last-of-type::after {
    display: none;
}

.generic-steps-with-arrow__text-side {
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: relative;
}

.generic-steps-with-arrow__text-side h3 {
    color: #2E2D31;
    text-align: center;
    font-family: "Playfair Display";
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 50px; /* 125% */
    letter-spacing: 0.69px;
    margin: unset;
    padding: unset;
}

.generic-steps-with-arrow__text-side p {
    color: rgba(46, 45, 49, 0.75);
    text-align: center;
    font-feature-settings: 'liga' off;
    font-family: "Nunito Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px; /* 137.5% */
    margin: unset;
    padding: unset;
}

.generic-steps-with-arrow__text-side a {
    margin: 16px 0 0;
    color: #FFF;
    font-family: "Nunito Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px; /* 150% */
    padding: 16px 32px;
    text-align: center;
    background: #2E2D31;
}

.generic-steps-with-arrow__image-side {
    margin: 10px 0 0;
    width: 100%;
    z-index: 20;
}

.generic-steps-with-arrow__image-side img {
    display: block;
    width: 100%;
}

.generic-steps-with-arrow__step,
.generic-steps-with-arrow__step-desktop {
    color: #2E2D31;
    text-align: right;
    font-family: "Playfair Display";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.69px;
    background-image: url("https://stage-assets.goldbank.co.uk/home_new/assets/images/click-and-drop/vector-1666.svg");
    background-repeat: no-repeat;
    height: 99px;
    width: 103px;
    display: flex;
    align-self: center;
    align-items: center;
    justify-content: center;
    padding-bottom: 10px;
}

.generic-steps-with-arrow__step:not(.svg) svg,
.generic-steps-with-arrow__step-desktop:not(.svg) svg {
    display: none;
}

.generic-steps-with-arrow__step.svg,
.generic-steps-with-arrow__step-desktop.svg {
    background-image: none;
}

.generic-steps-with-arrow__step.svg svg,
.generic-steps-with-arrow__step-desktop.svg svg {
    width: 103px;
    height: 99px;
    position: absolute;
    inset: 0;
    left: 50%;
    transform: translate(-50%, 0);
}

.generic-steps-with-arrow__container:not(.right) .generic-steps-with-arrow__step.svg svg rect,
.generic-steps-with-arrow__container:not(.right) .generic-steps-with-arrow__step-desktop.svg svg rect {
    width: 104px;
    height: 100px;
    stroke-dasharray: 413 135;
    stroke-dashoffset: -276;
    stroke-width: 9px;
    fill: transparent;
    stroke: #2E2D31;
    left: -50px;
    transition: stroke-width 1s, stroke-dashoffset 1s, stroke-dasharray 1s;
}

.generic-steps-with-arrow__container:not(.right):hover .generic-steps-with-arrow__step.svg svg rect,
.generic-steps-with-arrow__container:not(.right):hover .generic-steps-with-arrow__step-desktop.svg svg rect {
    stroke-width: 9px;
    stroke-dashoffset: -821;
    stroke-dasharray: 413 135;
}

.generic-steps-with-arrow__container.right .generic-steps-with-arrow__step.svg svg rect,
.generic-steps-with-arrow__container.right .generic-steps-with-arrow__step-desktop.svg svg rect {
    width: 103px;
    height: 100px;
    stroke-dasharray: 413 135;
    stroke-dashoffset: -270;
    stroke-width: 9px;
    fill: transparent;
    stroke: #2E2D31;
    left: -50px;
    transition: stroke-width 1s, stroke-dashoffset 1s, stroke-dasharray 1s;
}

.generic-steps-with-arrow__container.right:hover .generic-steps-with-arrow__step.svg svg rect,
.generic-steps-with-arrow__container.right:hover .generic-steps-with-arrow__step-desktop.svg svg rect {
    stroke-width: 9px;
    stroke-dashoffset: -821;
    stroke-dasharray: 411 135;
}

.generic-steps-with-arrow__container:nth-of-type(2n) .generic-steps-with-arrow__step {
    background-image: url("https://stage-assets.goldbank.co.uk/home_new/assets/images/click-and-drop/vector-1666-mirrored.svg");
}

.generic-steps-with-arrow__container:nth-of-type(2)::after {
    transform: scale(-1, 1);
}

.generic-steps-with-arrow__step-desktop {
    display: none;
}

@media (max-width: 1199px) {
    .generic-steps-with-arrow .generic-steps-with-arrow__container::after {
        clip-path: inset(0 0 100% 0);
        transition: clip-path 2s ease;
    }

    .generic-steps-with-arrow .generic-steps-with-arrow__container.arrow-revealed::after {
        clip-path: inset(0 0 0 0);
    }
}

@media (min-width: 1200px) {
    .generic-steps-with-arrow {
        gap: 401px;
        max-width: 1096px;
    }

    .generic-steps-with-arrow__container {
        flex-direction: row;
        gap: 135px;
        align-items: center;
    }

    .generic-steps-with-arrow__container.right {
        flex-direction: row-reverse;
    }

    .generic-steps-with-arrow__container::after {
        position: absolute;
        bottom: -440px;
        left: 11px;
        background-image: url("https://stage-assets.goldbank.co.uk/home_new/assets/images/click-and-drop/vector-1719-big-left.svg");
        background-repeat: no-repeat;
        content: "";
        width: 777px;
        height: 741px;
    }

    .generic-steps-with-arrow__container.right::after {
        position: absolute;
        bottom: -660px;
        background-image: url("https://stage-assets.goldbank.co.uk/home_new/assets/images/click-and-drop/vector-1721.svg");
        content: "";
        width: 777px;
        height: 741px;

        right: 153px;
        left: unset;
    }

    .generic-steps-with-arrow__text-side {
        padding-left: 77px;
        position: relative;
    }

    .generic-steps-with-arrow__container.right .generic-steps-with-arrow__text-side {
        padding-left: 0;
    }

    .generic-steps-with-arrow__text-side h3 {
        text-align: left;
        font-size: 48px;
        line-height: 60px; /* 125% */
    }

    .generic-steps-with-arrow__text-side p {
        text-align: left;
    }

    .generic-steps-with-arrow__text-side a {
        margin: 18px 0 0;
        font-size: 16px;
        font-weight: 600;
        padding: 16px 57.5px;
        width: fit-content;
    }

    .generic-steps-with-arrow__step {
        display: none;
    }

    .generic-steps-with-arrow__step-desktop {
        display: flex;
        position: absolute;
        top: -98px;
        left: 0;
    }

    .generic-steps-with-arrow__container.right .generic-steps-with-arrow__step-desktop {
        top: -57px;
        left: 216px;
        -moz-transform: scaleX(-1);
        -o-transform: scaleX(-1);
        -webkit-transform: scaleX(-1);
        transform: scaleX(-1);
        filter: FlipH;
        -ms-filter: "FlipH";
    }

    .generic-steps-with-arrow__container .generic-steps-with-arrow__step-desktop::before {
        content: attr(data-text);
        display: inline-block;
    }

    .generic-steps-with-arrow__container.right .generic-steps-with-arrow__step-desktop::before {
        transform: scaleX(-1);
    }

    .generic-steps-with-arrow .generic-steps-with-arrow__container::after {
        clip-path: inset(0 100% 0 0);
        transition: clip-path 2s ease;
    }

    .generic-steps-with-arrow .generic-steps-with-arrow__container.arrow-revealed::after {
        clip-path: inset(0 0 0 0); /* Reveal the arrow */
    }
}
