.contact-hero-img {
    --gradient: linear-gradient(to right, var(--color-teal) 0%, white 50%);
    --mask: linear-gradient(to bottom, transparent, black);
    margin-block-end: var(--size-xl);
    padding-inline: 0;
}

.contact-header {
    padding-block-end: var(--stack-gutter);
}

.contact-hero-img::before {
    content:'';
    display:block;
    position:absolute;
    z-index:1;
    width:50%;
    inset-block-end: 0;
    inset-inline-end: 0;
    z-index:-1;
    aspect-ratio: 4/5;
    background-color:var(--color-teal);
    clip-path:polygon(100% 0, 100% 100%, 0 100%);
    z-index: 1;
}

.contact-hero-img::after {
    content: '';
    position: absolute;
    display: block;
    height: 0.0625rem;
    width:65%;
    background-color: var(--color-white);
    inset-block-end: calc(-2.5 * var(--side-padding));
    inset-inline-end:0;
    transform: rotateZ(39deg);
    transform-origin: bottom right;
    z-index: 1;
}

.contact-wrap :where(.intro-text, .contact-form) {
    padding-inline-end: var(--side-padding);
}

@media screen and (min-width: 48em) {

    .contact-wrap {
        display: grid;
        grid-template-columns: minmax(0, 1.2fr) 1fr;
        grid-template-rows: auto 1fr;
        grid-template-areas:
            "title title"
            "content img";
        column-gap: var(--grid-gutter);
        align-items: start;
        overflow: hidden;
    }
    

    .contact-hero-img {
        grid-area: img;
        padding:0;

    }

    .contact-hero-img::after {
        width: 100%;
        transform: n;
    }

    .page-contact .page-title {
        grid-area: title;
    }

    .page-contact .page-sections {
        grid-area: content;
    }

    .contact-header::before {
        width: 20%;
    }


}


@media screen and (min-width: 60em) {
    .contact-wrap {
        --min-title-width: calc(var(--size-xl) * 7.5);
        grid-template-columns: minmax(var(--min-title-width), 1.2fr) 1fr;
        grid-template-areas:
            "title img"
            "content img";
    }
}

.intro-text strong {
    color: var(--color-fuchsia);
}

.contact-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--stack-gutter);
}

.form-group {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--size-s);
}

.contact-form :is(input:where([type="text"], [type="email"], [type="tel"]), textarea) {
    padding-inline: 0.75em;
    padding-block: 1.2em;
    border: 0.0625rem solid var(--color-white);
    border-radius: var(--border-radius);
    background-color: var(--color-teal-black);
    transition: border-color 0.2s ease-in-out;
    color: var(--color-white);
}

@media screen and (min-width:48em) {

    .page-contact .intro-text {
        width: min(100%, 70ch);
    }
    .contact-form {
        width: min(100%, 70ch);
    }
    
    .contact-form :is(input:where([type="text"], [type="email"], [type="tel"]), textarea) {
        padding-inline: 1em;
        padding-block: 1.8em;
    }

    .contact-form :is(button, input:where([type="text"], [type="email"], [type="tel"]), textarea):focus-visible {
        outline-color: var(--color-white);
    }
}

/* extra styles for contact form 7 */


.page-contact .wpcf7 .wpcf7-form-control-wrap, .page-contact .wpcf7 {
    display: contents;
}

.page-contact .wpcf7 .contact-form {
    margin-block-start: var(--stack-section-gutter);
}

.page-contact .contact-form :where(.wpcf7-form-control-wrap, input, textarea, .button) {
    max-width: var(--container-size);
}




