#newsletter {
    --red: #FC0D1B;
    --yellow: #FEF236;
    --form-height: 55px;
    --button-width: 100px;
    --section-spacing: 38px;
    padding: var(--section-spacing) 0;
}
#newsletter .container {
    width: var(--container-size, 1310px);
    gap: 44px;
}
#newsletter p {
    font-size: 24px;
    line-height: 1.25;
}
#newsletter .newsletter-form:after {
    content: '';
    display: block;
    width: 304px;
    height: 301px;
    position: absolute;
    right: -345px;
    bottom: calc(-1 * var(--section-spacing));
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: cover;
    background-image: url(../images/homepage/newsletter/jess.webp);
    background-image: -webkit-image-set(url("../images/homepage/newsletter/jess.webp") 1x, url("../images/homepage/newsletter/jess@2x.webp") 2x);
}
#newsletter form {
    width: 443px;
}
#newsletter input,
#newsletter :placeholder {
    font-size: 16px;
    line-height: 1;
    color: var(--black);
}
#newsletter input {
    flex-grow: 1;
    width: calc(100% - var(--button-width));
    height: var(--form-height);
    text-indent: 19px;
}
#newsletter :placeholder {
    opacity: 1;
}
#newsletter button {
    width: var(--button-width);
    height: var(--form-height);
    font-size: 20px;
}
@media screen and (max-width: 1199px) {
    #newsletter .newsletter-form:after {
        display: none;
    }
}
@media screen and (max-width: 991px) {
    #newsletter {
        --section-spacing: 15px;
    }
    #newsletter .container {
        flex-direction: column;
        gap: 20px;
    }
    #newsletter .newsletter-form {
        justify-content: center;
    }
}
@media screen and (max-width: 567px) {
    #newsletter {
        --section-spacing: 38px;
    }
    #newsletter .container {
        gap: 13px;
    }
    #newsletter p {
        font-size: 22px;
        line-height: 1.363636363636364;
    }
}