/* Contact page — brand-synced */
.contact-head h1 {
  line-height: 1.15;
  font-size: clamp(2rem, 2.2vw, 3rem);
}
.contact-head .lead {
  color: rgba(0,0,0,0.72);
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
}

/* cards */
.contact-card {
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
  transition: transform .2s ease, box-shadow .2s ease;
  background: #fff;
}
.contact-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(0,0,0,0.08);
}
.contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px; height: 56px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,217,102,.25), rgba(255,217,102,0));
  color: var(--chai-clarity-blue);
}

/* map */
.map-embed {
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.08);
  overflow: hidden;
  background: #fff;
}
.map-embed iframe { border: 0; }

/* FAQ */
.contact-faq .accordion-button {
  font-weight: 600;
}
.contact-faq .accordion-button:not(.collapsed) {
  background: rgba(255,217,102,.25);
  color: var(--chai-deep-charcoal);
  box-shadow: inset 0 -1px 0 rgba(0,0,0,0.05);
}
.contact-faq .accordion-item {
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0,0,0,0.04);
  margin-bottom: 0.75rem;
}
.contact-faq .accordion-body {
  color: rgba(0,0,0,0.78);
}

/* links */
.contact-card a {
  font-weight: 600;
  color: var(--chai-clarity-blue);
  text-decoration: none;
}
.contact-card a:hover { text-decoration: underline; }

/* Map + GBP link already styled by .map-embed; only add form modal sizing */
.gform-embed {
  width: 100%;
  height: 80vh;       /* comfortable form height */
  overflow: hidden;
}
.gform-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
@media (max-width: 576px) {
  .gform-embed { height: 85vh; }
}

/* No fill on hero and cards */
section.py-5:first-of-type { background: transparent !important; }
.contact-card {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* subtle brand underline on card headings */
.contact-card h4 {
  position: relative;
  display: inline-block;
}
.contact-card h4::after {
  content: "";
  display: block;
  height: 4px;
  width: 56px;
  margin-top: .35rem;
  background: linear-gradient(90deg, var(--chai-insight-gold, #FFD966), transparent);
  border-radius: 999px;
}
