.contacts-hero { background: linear-gradient(135deg, #0f172a, #111827); color: #fff; padding: 60px 0; text-align: center; }
.contacts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; margin-bottom: 48px; }
.contact-card { background: var(--color-surface); border-radius: 18px; box-shadow: var(--shadow-card); padding: 22px; }
.contact-card__title { margin: 0 0 12px; font-size: 18px; font-weight: 700; }
.contact-card__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; color: var(--color-text-muted); }
.contact-card__item { display: flex; gap: 10px; align-items: flex-start; }

.contacts-layout { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 28px; }
.contacts-form { background: var(--color-surface); border-radius: 18px; box-shadow: var(--shadow-card); padding: 24px; }
.contacts-form h2 { margin: 0 0 18px; }
.contacts-form__fields { display: grid; gap: 18px; }
.contacts-form__field { display: grid; gap: 6px; }
.contacts-form__field label { font-weight: 600; }
.contacts-map { background: var(--color-surface); border-radius: 18px; box-shadow: var(--shadow-card); padding: 22px; display: grid; gap: 18px; }
.contacts-map__placeholder { height: 240px; border-radius: 16px; background: #e2e8f0; display: grid; place-items: center; color: var(--color-text-muted); }

@media (max-width: 1024px) {
  .contacts-layout { grid-template-columns: 1fr; }
}
