.block-contact { background: #f5f5f5; }
.block-contact__cols { display: grid; grid-template-columns: 1fr; gap: 1.5rem; padding-bottom: 3rem; margin-bottom: 3rem; border-bottom: 1px solid rgba(29,29,27,.15); }
.block-contact__col-title { font-size: 1.0625rem; font-weight: var(--fw-semibold); margin-bottom: .25rem; }
.block-contact__main { display: grid; grid-template-columns: 1fr; gap: 2.5rem; }
.block-contact__heading { font-size: var(--fs-h2); margin-bottom: 1rem; }
.block-contact__form { display: grid; gap: 1.25rem; }
.block-contact__row { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
.block-contact__field { display: grid; gap: .35rem; font-weight: var(--fw-medium); font-size: .9rem; }
.block-contact__field input, .block-contact__field select, .block-contact__field textarea { font: inherit; padding: .75rem; border: 1px solid rgba(29,29,27,.25); background: var(--color-white); border-radius: 0; }
.block-contact__field input:focus, .block-contact__field select:focus, .block-contact__field textarea:focus { outline: 2px solid var(--color-accent); outline-offset: 1px; }
.block-contact__hp { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.block-contact__submit { justify-self: start; padding: .9rem 1.6rem; background: var(--color-accent); color: var(--color-white); border: 0; font-weight: var(--fw-semibold); cursor: pointer; }
.block-contact__status { font-weight: var(--fw-medium); min-height: 1.2em; }
.block-contact__status.is-error { color: #b3261e; }
.block-contact__status.is-ok { color: var(--color-accent); }
@media (min-width: 600px) { .block-contact__cols { grid-template-columns: repeat(2, 1fr); } .block-contact__row { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) { .block-contact__cols { grid-template-columns: repeat(4, 1fr); } .block-contact__main { grid-template-columns: 5fr 6fr; align-items: start; } }
