.cta-newsletter {
    align-items: flex-start;
    background: var(--image) no-repeat center center transparent;
    background-size: cover;
    display: flex;
    flex-direction: row;
    font-family: Montserrat, sans-serif;
    height: calc((100vw - 6px) / (1444 / 486));
    justify-content: center;
    padding: 30px;
    position: relative;
    width: calc(100vw - 6px);
    z-index: 0;

    @media screen and (max-width: 1024px) {
        height: auto;
        min-height: 100vw;
        width: 100vw;
    }

    &::before {
        background: #0009;
        clip-path: polygon(18% 0, 50% 100%, 82% 0);
        content: "";
        display: block;
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 1;

        @media screen and (max-width: 1024px) {
            background: #000a;
            clip-path: none;
        }
    }

    .cta-newsletter-inner-wrapper {
        margin: auto;
        max-width: 400px;
        position: relative;
        text-align: center;
        z-index: 2;

        @media screen and (max-width: 1024px) {
            max-width: 90vw;
        }

        .title {
            color: #6ff7b6;
            font-size: 53px;
            font-weight: 600;
            line-height: 1.15;
            text-transform: uppercase;

            @media screen and (max-width: 1600px) {
                font-size: 32px;
            }

            @media screen and (max-width: 1024px) {
                font-size: 36px;
            }
        }

        form {
            align-items: center;
            display: flex;
            flex-direction: column;
            gap: 25px;
            justify-content: center;
            margin: 25px auto;

            input[type="email"] {
                background: transparent;
                border: 1px solid #6ff7b6;
                border-radius: 25px;
                color: #fff;
                display: block;
                font-size: 18px;
                font-weight: 300;
                line-height: normal;
                text-align: center;
                width: 100%;

                @media screen and (max-width: 1600px) {
                    font-size: 16px;
                    width: 80%;
                }

                &::placeholder {
                    color: #fff;
                    font-family: inherit;
                    font-size: inherit;
                    font-weight: inherit;
                }
            }

            label:has(#cta-newsletter-terms) {
                color: #fff;
                font-size: 18px;
                font-weight: 300;
                line-height: 1.2;
                position: relative;

                @media screen and (max-width: 1600px) {
                    font-size: 12px;
                }

                a {
                    color: inherit;
                    transition: 0.3s color;

                    &:hover {
                        color: #6ff7b6;
                    }
                }

                span.check {
                    background: transparent;
                    border: 1px solid #fff;
                    border-radius: 2px;
                    cursor: pointer;
                    display: inline-block;
                    height: 15px;
                    left: 0;
                    pointer-events: none;
                    position: absolute;
                    top: 4px;
                    width: 15px;

                    @media screen and (max-width: 1600px) {
                        height: 12px;
                        width: 12px;
                    }
                }

                input {
                    cursor: pointer;
                    display: inline-block;
                    height: 15px;
                    margin: -4px 5px 0 0;
                    opacity: 0;
                    vertical-align: middle;
                    width: 15px;

                    @media screen and (max-width: 1600px) {
                        height: 12px;
                        width: 12px;
                    }

                    &:checked {
                        &+span.check::before {
                            color: #6ff7b6;
                            content: "✓";
                            font-weight: 600;
                            left: 50%;
                            position: absolute;
                            top: 50%;
                            transform: translate3d(-50%, -50%, 0);
                        }
                    }
                }
            }

            button {
                background: linear-gradient(270deg, #6ff7b6 -29.7%, #26c8b3 127%);
                color: #000;
                font-size: 18px;
                font-weight: 300;
                line-height: 1;
                padding: 20px 66px;
                text-align: center;
                text-transform: uppercase;
                transition: 0.3s all;

                @media screen and (max-width: 1600px) {
                    font-size: 16px;
                    padding: 14px 20px;
                }

                &:hover {
                    transform: scale(1.1);
                }

                &.disabled {
                    filter: grayscale(1);
                    pointer-events: none;
                }
            }
        }
    }
}