.newsletter {
    position: relative;
}

.newsletter .headline {
    grid-area: 1/5/1/span 6;
    align-self: center;
    padding: max(12px, 1.640625vw) max(32px, 2.5vw) max(12px, 1.25vw);
    width: 100%;
    max-width: calc(100% - max(64px, 7.8125vw));
    justify-self: center;
}

.newsletter .icon-container {
    width: max(64px, 7.8125vw);
    aspect-ratio: 1/1;
    align-self: center;
    position: absolute;
}

.newsletter .icon-left {
    grid-area: 1/5/1/span 2;
} 

.newsletter .icon-right {
    grid-area: 1/9/1/span 2;
    justify-self: flex-end;
}

.newsletter .sticker-container {
    grid-area: 1/12/span 2/span 2;
    justify-self: center;
    align-self: flex-end;
}

.newsletter .newsletter-signup {
    grid-area: 2/6/2/span 4;
    gap: max(24px, 1.875vw);
}

@media (max-width: 1299.98px) {
    .newsletter .icon-left {
        grid-area: 1/4/1/span 2;
    }
    
    .newsletter .headline {
        grid-area: 1/4/1/span 8;
    }
    
    .newsletter .icon-right {
        grid-area: 1/10/1/span 2;
    }
    
    .newsletter .newsletter-signup {
        grid-area: 2/5/2/span 6;
    }
}

@media (max-width: 991.98px) {
    .newsletter .icon-left {
        grid-area: 1/3/1/span 2;
    }

    .newsletter .icon-right {
        grid-area: 1/11/1/span 2;
    }

    .newsletter .headline {
        grid-area: 1/3/1/span 10;
    }

    .newsletter .newsletter-signup {
        grid-area: 2/4/2/span 8;
    }

    .newsletter .sticker-container {
        grid-area: 3/2/3/span 12;
        margin-top: var(--m-medium);
    }
}

@media (max-width: 767.98px) {
    .newsletter.mb-medium {
        margin-bottom: var(--m-small);
    }

    .newsletter .headline {
        grid-area: 1/2/1/span 12;
    }

    .newsletter .icon-left {
        grid-area: 1/2/1/span 2;
    }

    .newsletter .icon-right {
        grid-area: 1/12/1/span 2;
    }

    .newsletter .newsletter-signup {
        grid-area: 2/2/2/span 12;
        flex-direction: column;
        align-items: flex-end;
    }

    .newsletter .sticker-container {
        margin-top: var(--m-small);
    }
}
