body.contacts-page{line-height:1.6;padding-bottom:48px}

.contacts-wrap{
    max-width:780px;
    margin:0 auto;
    padding:12px 20px 32px;
}

.contacts-hero{
    padding:26px 28px;
    margin-bottom:18px;
}
.contacts-hero h1{
    font-family:var(--vk-serif);
    font-size:clamp(1.45rem,3.5vw,1.75rem);
    font-weight:700;
    margin:0 0 10px;
    letter-spacing:-.02em;
}
.contacts-hero > p{
    margin:0;
    color:var(--vk-muted);
    font-size:.92rem;
    line-height:1.55;
    max-width:52ch;
}
.contacts-legal-note{
    margin:16px 0 0;
    padding:12px 14px;
    border-radius:var(--vk-radius-sm);
    font-size:.84rem;
    line-height:1.5;
    border:1px solid rgba(201,162,84,.28);
    background:rgba(201,162,84,.07);
    color:var(--vk-muted);
    max-width:100%;
}
.contacts-legal-note a{color:var(--vk-amber-bright);font-weight:600;text-decoration:none}
.contacts-legal-note a:hover{text-decoration:underline}

.contacts-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:14px;
    align-items:stretch;
}

.contacts-card{
    padding:20px 22px;
    display:flex;
    flex-direction:column;
    min-height:100%;
}
.contacts-card h2{
    margin:0 0 14px;
    padding-bottom:10px;
    border-bottom:1px solid var(--vk-line);
    font-size:.88rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--vk-amber-bright);
}

.contacts-list{
    display:flex;
    flex-direction:column;
    gap:14px;
    flex:1;
}
.contacts-item{display:flex;flex-direction:column;gap:4px}
.contacts-item strong{
    font-size:.68rem;
    text-transform:uppercase;
    letter-spacing:.07em;
    color:var(--vk-muted-2);
    font-weight:700;
}
.contacts-item a,
.contacts-item span{
    color:var(--vk-text);
    text-decoration:none;
    font-weight:600;
    font-size:.9rem;
    line-height:1.45;
    word-break:break-word;
}
.contacts-item a:hover{color:var(--vk-amber-bright)}

.contacts-req-empty{
    margin:0;
    color:var(--vk-muted);
    font-size:.88rem;
    line-height:1.55;
}
.contacts-req-empty a{color:var(--vk-amber-bright)}

.contacts-pay-note{
    margin:16px 0 0;
    padding-top:14px;
    border-top:1px solid var(--vk-line);
    font-size:.8rem;
    line-height:1.5;
    color:var(--vk-muted);
}

.contacts-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid var(--vk-line);
}
.contacts-links a{
    display:inline-flex;
    align-items:center;
    padding:7px 14px;
    border-radius:999px;
    border:1px solid var(--vk-line);
    text-decoration:none;
    color:var(--vk-text);
    font-size:.8rem;
    font-weight:600;
    transition:border-color .2s,color .2s,background .2s;
}
.contacts-links a:hover{
    border-color:var(--vk-line-gold);
    color:var(--vk-amber-bright);
    background:rgba(201,162,84,.08);
}

.contacts-form{padding:22px 24px}
.contacts-form h2{
    margin:0 0 6px;
    font-size:.88rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--vk-amber-bright);
}
.contacts-form .hint{
    margin:0 0 18px;
    color:var(--vk-muted);
    font-size:.84rem;
    line-height:1.5;
}

.contacts-form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 14px;
}
.contacts-form-row .field-full{grid-column:1/-1}

.contacts-form label{
    display:block;
    font-size:.68rem;
    font-weight:700;
    color:var(--vk-muted-2);
    margin:12px 0 6px;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.contacts-form-row > div:first-child label{margin-top:0}

.contacts-form input,
.contacts-form textarea{
    width:100%;
    padding:11px 13px;
    border-radius:var(--vk-radius-sm);
    border:1px solid var(--vk-line);
    background:rgba(0,0,0,.22);
    color:var(--vk-text);
    font:inherit;
    font-size:.9rem;
    transition:border-color .2s;
}
.contacts-form input:focus,
.contacts-form textarea:focus{
    outline:none;
    border-color:rgba(201,162,84,.4);
}
.contacts-form textarea{
    min-height:112px;
    resize:vertical;
    margin-bottom:4px;
}

.contacts-form-actions{margin-top:16px}
.contacts-form-actions .vk-btn{
    min-width:168px;
    padding:12px 28px;
    font-size:.92rem;
}

.contacts-msg{
    margin:12px 0 0;
    font-size:.84rem;
    padding:10px 12px;
    border-radius:var(--vk-radius-sm);
    display:none;
}
.contacts-msg.ok{
    display:block;
    background:rgba(110,231,168,.1);
    border:1px solid rgba(110,231,168,.28);
    color:var(--vk-ok);
}
.contacts-msg.err{
    display:block;
    background:rgba(248,113,113,.1);
    border:1px solid rgba(248,113,113,.28);
    color:#fca5a5;
}

.contacts-foot{
    margin-top:22px;
    font-size:.82rem;
    color:var(--vk-muted);
    text-align:center;
}
.contacts-foot a{
    color:var(--vk-amber-bright);
    text-decoration:none;
    font-weight:600;
}
.contacts-foot a:hover{text-decoration:underline}

@media(max-width:720px){
    .contacts-wrap{padding-left:16px;padding-right:16px}
    .contacts-grid{grid-template-columns:1fr}
    .contacts-form-row{grid-template-columns:1fr}
    .contacts-form-row > div label{margin-top:12px}
    .contacts-form-row > div:first-child label{margin-top:0}
    .contacts-form-actions .vk-btn{width:100%}
}
