/* Contact page */
.contact-hero { padding-block: 56px 8px; }
.contact-layout {
  display: grid; grid-template-columns: 1fr 1.15fr; gap: 48px;
  padding-block: 40px 80px; align-items: start;
}
@media (max-width: 900px) { .contact-layout { grid-template-columns: 1fr; } }

.contact-info-list { display: flex; flex-direction: column; gap: 16px; margin-top: 28px; }
.contact-info-item {
  display: flex; gap: 14px; padding: 18px; align-items: flex-start;
}
.contact-info-item .icon-badge { flex: none; }
.contact-info-item h4 { margin-bottom: 4px; }
.contact-info-item p, .contact-info-item a { font-size: 14px; color: hsl(var(--ink-muted)); }
.contact-info-item a:hover { color: hsl(var(--accent-ink)); }

.contact-form { padding: 32px; }
.form-row { display: flex; flex-direction: column; gap: 7px; margin-bottom: 18px; }
.form-row label { font-size: 13.5px; font-weight: 650; }
.form-row input, .form-row textarea, .form-row select {
  font: inherit; font-size: 14.5px; padding: 12px 14px;
  border-radius: var(--radius-control); border: 1px solid hsl(var(--line-strong));
  background: hsl(var(--surface)); color: hsl(var(--ink));
  transition: border-color .15s ease, box-shadow .15s ease;
}
.form-row input:focus, .form-row textarea:focus, .form-row select:focus {
  outline: none; border-color: hsl(var(--accent)); box-shadow: 0 0 0 3px hsl(var(--accent) / 0.15);
}
.form-row textarea { resize: vertical; min-height: 120px; }
.form-two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px) { .form-two { grid-template-columns: 1fr; } }
.form-note { font-size: 12.5px; color: hsl(var(--ink-subtle)); margin-top: 14px; }
