.contact-page {
  background-color: var(--color-bg);
}

.contact-hero {
  align-items: center;
  gap: var(--space-8);
}

.contact-hero__lead {
  max-width: 40rem;
}

.contact-hero__meta {
  margin-top: var(--space-6);
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr);
  gap: var(--space-6);
}

@media (max-width: 768px) {
  .contact-hero__meta {
    grid-template-columns: minmax(0, 1fr);
  }
}

.contact-hero__subtitle {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-2);
}

.contact-hero__visual {
  max-width: 28rem;
  margin-left: auto;
}

@media (max-width: 768px) {
  .contact-hero__visual {
    margin: var(--space-6) auto 0;
    max-width: 100%;
  }
}

.contact-logic-card {
  background: radial-gradient(circle at top, var(--color-primary-soft), #ffffff);
}

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

.contact-options {
  align-items: flex-start;
}

.contact-options__group {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.contact-options__group > h2 {
  margin-bottom: var(--space-1);
}

.contact-option h3 {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-2);
}

.contact-form__intro {
  max-width: 40rem;
  margin: 0 auto var(--space-8);
}

.contact-form__lead {
  margin-bottom: 0;
}

.contact-form__wrapper {
  max-width: 52rem;
  margin: 0 auto;
}

.contact-form__grid {
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

.contact-form__field {
  margin-bottom: var(--space-4);
}

.contact-form__actions {
  align-items: flex-end;
  margin-top: var(--space-2);
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .contact-form__actions {
    align-items: flex-start;
  }

  .contact-form__actions .btn {
    width: 100%;
    justify-content: center;
    margin-top: var(--space-3);
  }
}

.contact-form__hint {
  font-size: var(--font-size-xs);
  max-width: 30rem;
}

.contact-form__status {
  margin-top: var(--space-3);
  font-size: var(--font-size-sm);
}

.contact-form__status--success {
  color: var(--color-success);
}

.contact-form__status--error {
  color: var(--color-danger);
}

.contact-quicklinks__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.contact-quicklink {
  font-size: var(--font-size-sm);
}

.contact-quicklink::after {
  content: " →";
}
