/* Contact-page-only staging color system. Header and footer are intentionally excluded. */
.dm-contact {
  --dm-primary-dark: #0f3f35;
  --dm-primary: #175b46;
  --dm-accent: #62cdb7;
  --dm-cream: #f6f8f7;
  --dm-heading: #14211c;
  --dm-text-muted: #59645f;
  --dm-border: rgba(20, 33, 28, .14);
  --ct-green-dark: var(--dm-primary-dark);
  --ct-green: var(--dm-primary);
  --ct-ink: var(--dm-heading);
  --ct-ivory: var(--dm-cream);
  --ct-line: var(--dm-border);
  --ct-muted: var(--dm-text-muted);
  --ct-paper: #fff;
  background: #fff;
  color: #425049;
}

.dm-contact .dm-ct-options,
.dm-contact .dm-ct-form-section,
.dm-contact .dm-ct-faq { background: #fff; }
.dm-contact .dm-ct-locations { background: #f3f7f5; }
.dm-contact .dm-ct-location { background: #fff; border-color: var(--dm-border); }

.dm-contact a:focus-visible,
.dm-contact button:focus-visible,
.dm-contact input:focus-visible,
.dm-contact textarea:focus-visible { outline-color: var(--dm-accent) !important; }
.dm-contact input:focus,
.dm-contact textarea:focus,
.dm-contact select:focus { border-color: var(--dm-primary); }

.dm-contact .dm-ct-option h3,
.dm-contact .dm-ct-location h3 {
  color: var(--dm-heading);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.18;
}
.dm-contact .dm-ct-option p,
.dm-contact .dm-ct-location p {
  color: var(--dm-text-muted);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.62;
}
.dm-contact .dm-ct-option__number {
  color: var(--dm-primary);
  font-weight: 750;
  letter-spacing: .12em;
}

.dm-contact .dm-ct-heading {
  display: block;
  max-width: 1100px;
  margin-bottom: 54px;
}
.dm-contact .dm-ct-heading > div { max-width: 1040px; }
.dm-contact .dm-ct-heading > p {
  max-width: 760px;
  margin: 22px 0 0;
  line-height: 1.68;
}
.dm-contact .dm-ct-heading > h2 { max-width: 1040px; }

.dm-contact .dm-ct-faq { background: #fff !important; }
.dm-contact .dm-ct-faq-layout {
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr) !important;
  gap: clamp(64px, 8vw, 128px) !important;
  align-items: start !important;
}
.dm-contact .dm-ct-faq h2 {
  max-width: 440px !important;
  margin: 22px 0 0 !important;
  font-size: clamp(48px, 4.7vw, 64px) !important;
  font-weight: 600 !important;
  letter-spacing: -.055em !important;
  line-height: .99 !important;
}
.dm-contact .dm-ct-faq header > p:not(.dm-ct-eyebrow),
.dm-contact .dm-ct-faq header > a { display: none !important; }
.dm-contact .dm-ct-faq summary {
  min-height: 78px !important;
  padding: 18px 6px 18px 0 !important;
  color: #092f28 !important;
  font: 700 17px/1.4 Manrope, Inter, Arial, sans-serif !important;
}
.dm-contact .dm-ct-faq summary small { display: none !important; }
.dm-contact .dm-ct-faq details > div {
  margin: 0 0 14px !important;
  padding: 20px 24px !important;
  border-left: 3px solid #62cebd !important;
  border-radius: 0 8px 8px 0 !important;
  background: #f1f6f4 !important;
}
.dm-contact .dm-ct-faq details > div p {
  color: #40534e !important;
  font-size: 15px !important;
  line-height: 1.68 !important;
}
.dm-contact .dm-ct-faq summary i { border: 0 !important; }
.dm-contact .dm-ct-faq summary i::before,
.dm-contact .dm-ct-faq summary i::after { background: #087e6c !important; }

@media (max-width: 900px) {
  .dm-contact .dm-ct-faq-layout { grid-template-columns: 1fr !important; gap: 42px !important; }
  .dm-contact .dm-ct-faq h2 { max-width: 680px !important; }
}
@media (max-width: 767px) {
  .dm-contact .dm-ct-heading { margin-bottom: 40px; }
  .dm-contact .dm-ct-heading > p { margin-top: 18px; }
}
@media (max-width: 600px) {
  .dm-contact .dm-ct-faq h2 { font-size: clamp(38px, 11vw, 48px) !important; }
  .dm-contact .dm-ct-faq summary { min-height: 72px !important; font-size: 16px !important; }
  .dm-contact .dm-ct-faq details > div { padding: 18px !important; }
}
