.contact-page {
  background: var(--bg-panel);
  padding-top: 75px;
}

.contact-hero {
  background: var(--lightblue);
  padding: 3rem 0 2rem;
}

.contact-shell {
  padding: 2.5rem 0 4rem;
}

.contact-panel,
.contact-info-card,
.contact-office-card {
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--white);
  box-shadow: 0 14px 38px rgba(10, 63, 81, 0.07);
}

.contact-panel {
  padding: 1.5rem;
}

.contact-panel .form-label {
  color: var(--brand);
  font-weight: 850;
}

.contact-panel .form-control {
  border: 1px solid var(--line);
  border-radius: 16px;
  min-height: 50px;
  color: var(--brand);
}

.contact-panel textarea.form-control {
  min-height: 160px;
}

.contact-panel .form-control:focus {
  border-color: var(--brand-2);
  box-shadow: 0 0 0 0.2rem rgba(21, 154, 184, 0.16);
}

.contact-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.35rem;
}

.contact-chip-row span {
  display: inline-flex;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--brand-3);
  color: var(--brand);
  font-weight: 850;
  padding: 0.65rem 0.9rem;
}

.contact-info-card {
  padding: 1.15rem;
}

.contact-info-card i {
  color: var(--brand-2);
  font-size: 1.45rem;
}

.contact-info-card h2,
.contact-info-card h3,
.contact-office-card h2 {
  color: var(--brand);
  font-size: 1.05rem;
  font-weight: 900;
  margin: 0 0 0.4rem;
}

.contact-info-card p,
.contact-office-card p {
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
}

.contact-office-card {
  overflow: hidden;
}

.contact-office-card img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
}

.contact-office-card-body {
  padding: 1.15rem;
}

.contact-alert {
  border-radius: 18px;
  font-weight: 800;
}
