.contact{
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:34px;
    align-items:start;
    background:linear-gradient(#fff,#f4f8ff);
}

.contact-left{
    display:grid;
    gap:22px;
}

.contact-map{
    overflow:hidden;
    border-radius:32px;
    background:#fff;
    box-shadow:var(--shadow);
    border:1px solid #e8efff;
    min-height:360px;
}

.contact-map iframe{
    display:block;
    width:100%;
    height:360px;
    border:0;
    border-radius:32px;
}

.contact-card{
    display:grid;
    gap:10px;
    padding:22px;
    border-radius:24px;
    background:#fff;
    box-shadow:var(--shadow);
    border:1px solid #e8efff;
}

.contact-card span{
    line-height:1.65;
}

.contact-content{
    display:grid;
    gap:22px;
}

.contact-intro{
    display:grid;
    gap:16px;
}

.appointment-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    background:#fff;
    padding:24px;
    border-radius:32px;
    box-shadow:var(--shadow);
    border:1px solid #e8efff;
}

.appointment-form label{
    display:grid;
    gap:8px;
    font-weight:800;
}

.appointment-form label:nth-child(5),
.appointment-form button,
.form-feedback{
    grid-column:1/-1;
}

.appointment-form input,
.appointment-form select,
.appointment-form textarea{
    width:100%;
    border:1px solid #dce7fb;
    border-radius:16px;
    padding:16px;
    font:500 1rem Manrope;
    outline:none;
    background:#fbfdff;
}

.appointment-form input:focus,
.appointment-form select:focus,
.appointment-form textarea:focus{
    border-color:var(--db-blue-2);
    box-shadow:0 0 0 4px rgba(18,103,255,.12);
}

.form-feedback{
    margin:0;
    font-weight:800;
    color:var(--db-blue);
}

@media(max-width:1000px){
    .contact{
        grid-template-columns:1fr;
    }

    .contact-map iframe{
        height:320px;
    }
}

@media(max-width:620px){
    .appointment-form{
        grid-template-columns:1fr;
    }

    .contact-map{
        min-height:300px;
    }

    .contact-map iframe{
        height:300px;
    }
}