.contact-page-intro__header,
.contact-page-after__heading,
.contact-page-cta__copy {
  gap: var(--space-lg);
}

.contact-page-intro__title,
.contact-page-section__title,
.contact-page-main__title {
  max-inline-size: 18ch;
}

.contact-page-main__layout,
.contact-page-after__grid,
.contact-page-cta__panel {
  display: grid;
  gap: var(--space-xl);
}

.contact-page-after .site-container {
  display: grid;
  gap: clamp(var(--space-2xl), 4vw, var(--space-4xl));
}

.contact-page-cta {
  padding-block-end: var(--section-vertical-spacing);
}

.contact-page-form-panel,
.contact-page-info-card,
.contact-page-step,
.contact-page-cta__panel {
  background: var(--color-surface);
}

.contact-page-form-panel__header {
  display: grid;
  gap: var(--space-md);
}

.contact-page-main__title,
.contact-page-info-card__title,
.contact-page-step__title {
  margin: 0;
}

.contact-page-main__text,
.contact-page-info-card__text,
.contact-page-step__text {
  margin: 0;
  color: var(--color-text-secondary);
}

.contact-page-sidebar {
  display: grid;
  gap: var(--space-xl);
  align-content: start;
}

.contact-page-info-card__list {
  display: grid;
  gap: var(--space-lg);
  margin: 0;
}

.contact-page-info-card__list dt {
  margin: 0 0 var(--space-2xs);
  font-family: var(--font-mono);
  font-size: var(--text-code);
  color: var(--color-text-muted);
}

.contact-page-info-card__list dd {
  margin: 0;
  color: var(--color-text-primary);
}

.contact-page-info-card__list a {
  color: inherit;
  text-decoration: none;
}

.contact-page-info-card__list a:hover,
.contact-page-info-card__list a:focus-visible {
  color: var(--color-accent);
}

.contact-page-step {
  gap: var(--space-md);
}

.contact-page-step__number {
  color: var(--color-text-muted);
}

.contact-page-cta__actions {
  display: grid;
  gap: var(--space-md);
}

@media (min-width: 768px) {
  .contact-page-after__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .contact-page-cta__actions {
    grid-template-columns: repeat(2, minmax(0, max-content));
    align-items: center;
  }
}

@media (min-width: 1085px) {
  .contact-page-main__layout {
    grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.85fr);
    align-items: start;
  }

  .contact-page-cta__panel {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }
}

@media (max-width: 1084px) {
  .contact-page-cta {
    padding-block-end: var(--section-vertical-spacing-tablet);
  }
}

@media (max-width: 767px) {
  .contact-page-cta {
    padding-block-end: var(--section-vertical-spacing-mobile);
  }
}
