.design-showcase {
    background: #f9f3f1;
    padding: 0.6rem 0 2.35rem;
}

.design-showcase__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
        "front back"
        "copy cta";
    align-items: end;
    column-gap: 0.2rem;
    row-gap: 0.2rem;
}

.design-showcase__dog {
    margin: 0;
}

.design-showcase__dog--front {
    grid-area: front;
}

.design-showcase__dog--back {
    grid-area: back;
}

.design-showcase__dog img {
    width: 100%;
    display: block;
}

.design-showcase__copy {
    grid-area: copy;
    margin-top: -0.25rem;
}

.design-showcase__copy h2 {
    margin: 0;
    font-family: "Cormorant", serif;
    font-size: 42px;
    line-height: 1;
    color: #1f2026;
}

.design-showcase__copy p {
    margin: 0.5rem 0 0;
    max-width: 520px;
    color: #23262d;
    font-style: italic;
    font-weight: 600;
    line-height: 1.3;
    font-size: 16px;
}

.design-showcase__cta {
    grid-area: cta;
    align-self: end;
    justify-self: end;
    margin-bottom: 0.35rem;
    color: #3f4249;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    text-align: right;
    font-size: 16px;
    line-height: 1.15;
}

@media (max-width: 900px) {
    .design-showcase__layout {
        grid-template-columns: 1fr;
        grid-template-areas:
            "front"
            "copy"
            "back"
            "cta";
        row-gap: 0.3rem;
    }

    .design-showcase__dog--front img {
        width: min(88vw, 335px);
        margin: 0 auto;
    }

    .design-showcase__copy {
        width: min(86vw, 320px);
        margin: 0 auto;
    }

    .design-showcase__copy h2 {
        font-size: 32px;
    }

    .design-showcase__copy p {
        font-size: 21px;
        line-height: 1.28;
    }

    .design-showcase__dog--back img {
        width: min(72vw, 296px);
        margin: 0 -1rem 0 auto;
    }

    .design-showcase__cta {
        justify-self: center;
        text-align: center;
        margin-top: 0.7rem;
        font-size: 16px;
    }
}
