.contact-head { padding-block: 48px 64px; }
.contact-actions { display: none; }

.contact-body { display: flex; flex-wrap: wrap; gap: 64px; padding-bottom: 96px; }
.contact-info { flex: 1 1 360px; display: flex; flex-direction: column; gap: 32px; font-size: 17px; line-height: 1.6; }
.contact-list { display: flex; flex-direction: column; gap: 32px; margin: 0; }
.contact-list dt { font-size: 14px; }
.contact-list dd { margin: 0; }
.contact-map { height: 280px; }

.contact-form { flex: 2 1 520px; }
.contact-form__title {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

@media (max-width: 760px) {
    .contact-head { display: flex; flex-direction: column; gap: 20px; padding-block: 24px 32px; }
    .contact-head .display { font-size: 64px; }
    .contact-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .contact-actions .btn { min-height: 52px; flex-direction: column; }
    .contact-actions__note { font-size: 12px; font-weight: 400; }

    .contact-body { flex-direction: column; gap: 0; padding-bottom: 56px; }
    .contact-info { flex: none; gap: 20px; font-size: 16px; padding-bottom: 32px; }
    .contact-list { gap: 16px; }
    .contact-list dt { font-size: 13px; }
    .contact-map { height: 200px; padding: 10px; font-size: 12px; }

    .contact-form { flex: none; border-top: 1px solid var(--ink); }
    .contact-form__title {
        position: static;
        width: auto;
        height: auto;
        clip-path: none;
        white-space: normal;
        margin: 24px 0 20px;
        font-size: 24px;
        font-weight: 500;
    }
    .contact-form .form { grid-template-columns: 1fr; gap: 18px; }
}
