.storykeeper-affiliate {
    display: grid;
    min-height: clamp(32rem, 65vh, 46rem);
    padding: clamp(4rem, 9vw, 8rem) var(--space-3);
    overflow: hidden;
    background: var(--color-beige-2);
    place-items: center;
}

.storykeeper-affiliate__shell {
    position: relative;
    width: min(100%, 56rem);
    text-align: center;
}

.storykeeper-affiliate__word {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    margin: 0;
    color: color-mix(in srgb, var(--color-orange-dark) 16%, transparent);
    font-family: var(--font-family-display);
    font-size: clamp(7rem, 21vw, 15rem);
    line-height: .7;
    pointer-events: none;
    transform: translate(-50%, -50%);
    user-select: none;
}

.storykeeper-affiliate__card {
    position: relative;
    z-index: 1;
    padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.5rem, 6vw, 5.5rem);
    border: 1px solid var(--color-beige-1);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--color-cream) 88%, transparent);
    box-shadow: 0 1.25rem 3.75rem rgba(44, 48, 31, .1);
}

.storykeeper-affiliate__eyebrow {
    margin: 0 0 var(--space-2);
    color: var(--color-orange-dark);
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.storykeeper-affiliate h1 {
    max-width: 18ch;
    margin: 0 auto var(--space-3);
    font-size: clamp(2.75rem, 6vw, 4.5rem);
}

.storykeeper-affiliate__card > p:not(.storykeeper-affiliate__eyebrow, .storykeeper-affiliate__note) {
    max-width: 37rem;
    margin: 0 auto var(--space-2);
    color: var(--color-grey-2);
    font-size: 1.125rem;
}

.storykeeper-affiliate__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.5rem;
    margin-top: var(--space-4);
    padding: .875rem 1.5rem;
    border-radius: .5rem;
    background: var(--color-grey-1);
    color: var(--color-cream);
    font-weight: 700;
    text-decoration: none;
    transition: opacity .15s ease;
}

.storykeeper-affiliate__button:hover,
.storykeeper-affiliate__button:focus-visible {
    opacity: .85;
}

.storykeeper-affiliate__note {
    margin: var(--space-2) 0 0;
    color: var(--color-grey-2);
    font-size: .875rem;
}

@media (max-width: 599px) {
    .storykeeper-affiliate {
        min-height: 30rem;
        padding-block: 3rem;
    }

    .storykeeper-affiliate__card {
        padding: 2.5rem 1.25rem;
    }

    .storykeeper-affiliate__card > p:not(.storykeeper-affiliate__eyebrow, .storykeeper-affiliate__note) {
        font-size: 1rem;
    }
}
