.tfe-contact-dialog{
    width:min(680px,calc(100% - 40px));

    max-height:calc(100vh - 40px);

    padding:44px;

    border:1px solid #ded8cf;

    background:#fff;
    color:#1d252c;

    box-shadow:
        0 30px 100px rgba(0,18,67,.22);

    overflow:auto;
}


.tfe-contact-dialog::backdrop{
    background:rgba(0,18,67,.65);

    backdrop-filter:blur(3px);
}


.tfe-contact-dialog__close{
    position:absolute;

    top:15px;
    right:18px;

    width:40px;
    height:40px;

    padding:0;

    border:0;

    background:transparent;
    color:#001243;

    font-size:28px;
    font-weight:300;
    line-height:1;

    cursor:pointer;
}


.tfe-contact-dialog__intro{
    padding-right:35px;
    margin-bottom:32px;
}


.tfe-contact-dialog__eyebrow{
    margin-bottom:10px;

    color:#a98555;

    font-family:"Montserrat",sans-serif;
    font-size:10px;
    font-weight:600;

    letter-spacing:.18em;
    text-transform:uppercase;
}


.tfe-contact-dialog__intro h2{
    margin:0 0 12px;

    color:#001243;

    font-family:"Cormorant Garamond",Georgia,serif;
    font-size:46px;
    font-weight:400;
    line-height:1;
}


.tfe-contact-dialog__intro p{
    max-width:500px;

    margin:0;

    color:#6f746f;

    font-family:"Montserrat",sans-serif;
    font-size:13px;
    line-height:1.7;
}


.tfe-contact-dialog__grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px 22px;
}


.tfe-contact-field{
    display:flex;
    flex-direction:column;

    gap:8px;
}


.tfe-contact-field--full{
    grid-column:1/-1;
}


.tfe-contact-field label{
    color:#353b40;

    font-family:"Montserrat",sans-serif;
    font-size:11px;
    font-weight:600;
}


.tfe-contact-field input,
.tfe-contact-field select,
.tfe-contact-field textarea{
    width:100%;

    box-sizing:border-box;

    border:1px solid #cbc5bc;
    border-radius:0;

    outline:none;

    background:#fff;
    color:#1d252c;

    font-family:"Montserrat",sans-serif;
    font-size:14px;
}


.tfe-contact-field input{
    height:48px;

    padding:0 13px;
}


.tfe-contact-field textarea{
    min-height:130px;

    padding:13px;

    resize:vertical;

    line-height:1.6;
}


.tfe-contact-field input:focus,
.tfe-contact-field select:focus,
.tfe-contact-field textarea:focus{
    border-color:#001243;

    box-shadow:
        0 0 0 2px rgba(0,18,67,.07);
}


.tfe-contact-submit{
    min-height:50px;

    margin-top:25px;

    padding:0 27px;

    border:1px solid #001243;

    background:#001243;
    color:#fff;

    font-family:"Montserrat",sans-serif;
    font-size:11px;
    font-weight:600;

    letter-spacing:.09em;
    text-transform:uppercase;

    cursor:pointer;
}


.tfe-contact-submit:hover{
    background:#001a63;
}


.tfe-contact-submit:disabled{
    opacity:.55;
    cursor:default;
}


.tfe-contact-error{
    display:none;

    margin-top:20px;

    padding:12px 14px;

    border:1px solid #dfb8b2;

    background:#fff3f1;
    color:#8b3f35;

    font-family:"Montserrat",sans-serif;
    font-size:12px;
}


.tfe-contact-error.show{
    display:block;
}


.tfe-contact-success{
    display:none;

    padding:30px 15px 10px;

    text-align:center;
}


.tfe-contact-success.show{
    display:block;
}


.tfe-contact-success__mark{
    width:46px;
    height:46px;

    margin:0 auto 16px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #2f6b4e;
    border-radius:50%;

    color:#2f6b4e;

    font-size:18px;
}


.tfe-contact-success h3{
    margin:0 0 8px;

    color:#001243;

    font-family:"Cormorant Garamond",Georgia,serif;
    font-size:34px;
    font-weight:400;
}


.tfe-contact-success p{
    max-width:430px;

    margin:auto;

    color:#6f746f;

    font-family:"Montserrat",sans-serif;
    font-size:13px;
    line-height:1.7;
}


.tfe-contact-hp{
    position:absolute!important;

    left:-10000px!important;

    width:1px!important;
    height:1px!important;

    overflow:hidden!important;
}


@media(max-width:650px){

    .tfe-contact-dialog{
        width:calc(100% - 20px);

        max-height:calc(100vh - 20px);

        padding:35px 20px 26px;
    }


    .tfe-contact-dialog__intro h2{
        font-size:38px;
    }


    .tfe-contact-dialog__grid{
        grid-template-columns:1fr;
    }


    .tfe-contact-field--full{
        grid-column:auto;
    }


    .tfe-contact-submit{
        width:100%;
    }

}