.contact-form-wrap{
    min-width:0;
}

.contact-form{
    display:grid;
    gap:18px;
    min-height:100%;
    padding:28px;
    border:1px solid #e2e8f0;
    border-radius:26px;
    background:
        radial-gradient(circle at 92% 8%, rgba(37,99,235,.08), transparent 30%),
        linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    box-shadow:
        0 20px 52px rgba(15,23,42,.08),
        inset 0 1px 0 rgba(255,255,255,.75);
}

.contact-form__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.contact-form label{
    display:grid;
    gap:8px;
    min-width:0;
    color:#0f172a;
    font-size:14px;
    font-weight:850;
    line-height:1.2;
}

.contact-form input,
.contact-form textarea{
    width:100%;
    border:1px solid #dbe3ef;
    border-radius:15px;
    background:#ffffff;
    color:#0f172a;
    font-size:15px;
    line-height:1.4;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.contact-form input{
    min-height:48px;
    padding:12px 14px;
}

.contact-form textarea{
    min-height:150px;
    padding:14px;
    resize:vertical;
}

.contact-form input:focus,
.contact-form textarea:focus{
    outline:none;
    border-color:#93c5fd;
    background:#ffffff;
    box-shadow:
        0 0 0 4px rgba(37,99,235,.10),
        0 14px 30px rgba(15,23,42,.06);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
    color:#94a3b8;
}

.contact-form .btn{
    width:max-content;
    min-width:180px;
}

.contact-form .hp{
    position:absolute;
    left:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
}

.contact-info{
    position:relative;
    overflow:hidden;
    padding:28px;
    border:1px solid #e2e8f0;
    border-radius:26px;
    background:
        radial-gradient(circle at 90% 12%, rgba(37,99,235,.12), transparent 28%),
        linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    box-shadow:
        0 20px 52px rgba(15,23,42,.08),
        inset 0 1px 0 rgba(255,255,255,.75);
}

.contact-info:before{
    content:"";
    position:absolute;
    left:28px;
    top:22px;
    width:76px;
    height:5px;
    border-radius:999px;
    background:linear-gradient(90deg,#f97316,#1d4ed8);
}

.contact-info .eyebrow,
.contact-info h2,
.contact-info p,
.contact-info__list{
    position:relative;
    z-index:1;
}

.contact-info h2{
    margin:24px 0 0;
    color:#0f172a;
    font-size:clamp(28px,4vw,40px);
    line-height:1.05;
    letter-spacing:-.055em;
}

.contact-info p{
    margin:14px 0 0;
    color:#475569;
    font-size:16px;
    line-height:1.7;
}

.contact-info__list{
    display:grid;
    gap:12px;
    margin-top:24px;
}

.contact-info__list div{
    position:relative;
    padding:17px 17px 17px 20px;
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#ffffff;
    box-shadow:0 12px 28px rgba(15,23,42,.05);
}

.contact-info__list div:before{
    content:"";
    position:absolute;
    left:0;
    top:16px;
    bottom:16px;
    width:4px;
    border-radius:999px;
    background:linear-gradient(180deg,#f97316,#1d4ed8);
}

.contact-info__list strong{
    display:block;
    color:#0f172a;
    font-size:16px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:-.03em;
}

.contact-info__list span{
    display:block;
    margin-top:6px;
    color:#64748b;
    font-size:14px;
    line-height:1.58;
}
