/* Contact page production refinement. Scoped to /contact/ only. */
.contact-page-section {
  padding: 72px 0 80px;
  background: var(--warm-background, #fbf9fd);
}

.contact-page-section .contact-page-layout {
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  align-items: start;
  gap: 64px;
}

.contact-page-section .contact-page-intro {
  padding-top: 0;
}

.contact-page-section .contact-page-intro h2,
.contact-page-section .contact-form-panel h2 {
  margin: 8px 0 16px;
  font-size: clamp(2.25rem, 3.2vw, 2.5rem);
  line-height: 1.08;
}

.contact-page-section .contact-page-intro > p:not(.eyebrow) {
  max-width: 540px;
  margin: 0 0 32px;
  color: var(--muted-text, #6f6678);
  line-height: 1.65;
}

.contact-info-rows {
  border-top: 1px solid var(--border, #e3ddea);
}

.contact-info-row {
  padding: 16px 0;
  border-bottom: 1px solid var(--border, #e3ddea);
}

.contact-info-label {
  margin: 0 0 5px;
  color: var(--terracotta, #d27b67);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.contact-info-row > a,
.contact-info-row > p:not(.contact-info-label) {
  margin: 0;
  color: var(--ink, #2b2632);
  font-size: 1rem;
  line-height: 1.55;
}

.contact-info-row > a {
  color: var(--primary-purple, #5b3f86);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.contact-info-row > a:hover {
  color: var(--dark-purple, #3f2a63);
}

.contact-form-panel {
  min-width: 0;
  padding: 28px 30px;
  border: 1px solid var(--border, #e3ddea);
  border-radius: 1rem;
  background: var(--white, #fffefe);
}

.contact-form-panel .form-lead {
  max-width: 600px;
  margin: 0 0 22px;
  color: var(--muted-text, #6f6678);
  line-height: 1.6;
}

.contact-form-panel .intake-form {
  gap: 16px;
}

.contact-form-panel .field-group label {
  font-family: "DM Sans", Arial, sans-serif;
  font-size: .9rem;
  font-weight: 600;
}

.contact-form-panel input,
.contact-form-panel select,
.contact-form-panel textarea {
  font-size: 1rem;
}

.contact-form-panel input,
.contact-form-panel select {
  min-height: 48px;
}

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

/* Keep the CTA readable when the global current-page rule is applied. */
body.main-interior-page .primary-nav .nav-action[aria-current="page"],
body.main-interior-page .primary-nav .nav-action[aria-current="page"]:visited {
  color: #fff !important;
  background: var(--primary-purple, #5b3f86);
}

body.main-interior-page .primary-nav .nav-action[aria-current="page"]:hover {
  color: #fff !important;
  background: var(--dark-purple, #3f2a63);
}

body.main-interior-page .primary-nav .nav-action[aria-current="page"]:focus-visible {
  color: #fff !important;
  outline: 3px solid #fff;
  outline-offset: 3px;
}

@media (max-width: 900px) {
  .contact-page-section {
    padding: 56px 0 64px;
  }

  .contact-page-section .contact-page-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media (max-width: 600px) {
  .contact-page-section {
    padding: 48px 0 56px;
  }

  .contact-form-panel {
    padding: 22px 18px;
  }

  .contact-page-section .contact-page-intro h2,
  .contact-page-section .contact-form-panel h2 {
    font-size: 2rem;
  }
}
