.hero--contact {
  min-height: 72vh;
}

.contact-grid {
  align-items: flex-start;
  gap: var(--space-8);
}

.contact-card {
  height: 100%;
}

.contact-form {
  margin-top: var(--space-4);
}

.contact-details {
  display: grid;
  gap: var(--space-5);
}

.contact-details__block h3 {
  font-size: 1.1rem;
  margin-bottom: var(--space-2);
}

.contact-location-list,
.contact-list {
  display: grid;
  gap: var(--space-2);
}

.contact-location-list li,
.contact-list li {
  position: relative;
  padding-left: 1.4rem;
  color: var(--color-text-soft);
}

.contact-location-list li::before,
.contact-list li::before {
  content: "";
  position: absolute;
  left: 0.35rem;
  top: 0.65rem;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--color-primary);
}

.contact-list--light li {
  color: rgba(253, 247, 238, 0.9);
}

.contact-list--light li::before {
  background: rgba(254, 238, 214, 0.9);
}

.contact-sections-grid {
  align-items: stretch;
  gap: var(--space-6);
}

.contact-preference legend {
  margin-bottom: var(--space-2);
}

.contact-preference input[type="radio"] {
  margin-right: 0.35rem;
}

.contact-preference .chip {
  cursor: pointer;
}

.contact-preference .chip input[type="radio"] {
  accent-color: var(--color-primary);
}

@media (max-width: 768px) {
  .hero--contact {
    min-height: 64vh;
  }

  .contact-form {
    margin-top: var(--space-3);
  }

  .contact-sections-grid {
    gap: var(--space-4);
  }
}
