/* ============================================================
   CONTACT PAGE
   ============================================================ */

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: var(--sp-20);
  align-items: start;
}
@media (max-width: 900px) {
  .contact-grid { grid-template-columns: 1fr; gap: var(--sp-12); }
}

/* ── Left column ── */
.contact-details h1 {
  font-size: var(--t-h2);
  margin-block: var(--sp-4) var(--sp-8);
}
.contact-address {
  font-style: normal;
  font-family: var(--font-display);
  font-size: var(--t-h4);
  color: var(--bc-ink);
  line-height: var(--leading-tight);
  margin-bottom: var(--sp-3);
}
.contact-companyno {
  font-family: var(--font-label);
  font-size: var(--t-small);
  color: var(--bc-mid);
  margin-bottom: var(--sp-8);
}
.contact-list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  margin-bottom: var(--sp-8);
}
.contact-list > div {
  display: flex;
  align-items: baseline;
  gap: var(--sp-4);
  padding-bottom: var(--sp-4);
  border-bottom: 1px solid var(--bc-border);
}
.contact-list dt {
  min-width: 120px;
}
.contact-map {
  aspect-ratio: 16 / 10;
  width: 100%;
  margin-bottom: var(--sp-6);
}
.contact-regional {
  font-size: var(--t-small);
  color: var(--bc-mid);
}

/* ── Right column ── */
.contact-form-wrap {
  background: var(--bc-white);
  border: 1px solid var(--bc-border);
  border-radius: var(--radius-md);
  padding: var(--sp-10);
  box-shadow: var(--shadow-sm);
}
@media (max-width: 560px) {
  .contact-form-wrap { padding: var(--sp-6); }
}
.contact-form-heading {
  font-size: var(--t-h3);
  margin-bottom: var(--sp-8);
}
.contact-form-actions {
  margin-top: var(--sp-8);
}
