/* Contact page: form + info panel */

.contact-layout {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: clamp(1.6rem, 4vw, 3rem);
  align-items: start;
}

.contact-form { display: grid; gap: 1.1rem; }
.field { display: grid; gap: .4rem; }
.field.row { grid-template-columns: 1fr 1fr; gap: 1.1rem; display: grid; }
.field label { font-weight: 600; font-size: .9rem; }
.field input, .field textarea {
  width: 100%;
  padding: .85rem 1rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
  font: inherit;
  transition: border-color .2s, box-shadow .2s;
}
.field textarea { resize: vertical; min-height: 150px; }
.field input:focus, .field textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(47,123,255,.18);
}

.form-status { font-size: .95rem; font-weight: 500; min-height: 1.2em; }
.form-status.success { color: #16a34a; }
.form-status.error { color: #dc2626; }

.contact-info { display: grid; gap: 1.2rem; }
.info-item { display: flex; gap: 1rem; align-items: flex-start; }
.info-item .ic {
  flex: none; width: 44px; height: 44px; border-radius: 12px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, rgba(47,123,255,.18), rgba(56,225,255,.14));
  color: var(--accent);
}
.info-item .ic svg { width: 20px; height: 20px; }
.info-item h4 { margin: 0 0 .2rem; font-size: .95rem; }
.info-item a { font-weight: 500; }
.info-item p { margin: 0; color: var(--text-muted); font-size: .95rem; }

@media (max-width: 820px) {
  .contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .field.row { grid-template-columns: 1fr; }
}
