/* Compact contact panel with a dark introduction and a clean contact directory. */
.contact-intro-panel { align-self: start; min-width: 0; padding: 0; overflow: hidden; border: 1px solid #d8e3d3; border-radius: 18px; background: #fff; box-shadow: 0 12px 34px #1424120b; }
.contact-intro-heading { padding: clamp(26px, 3vw, 38px); background: #102719; }
.contact-intro-heading > span { display: flex; align-items: center; gap: 11px; color: #a3eab5; font-size: 10px; letter-spacing: .2em; }
.contact-intro-heading > span::before { content: ''; width: 24px; height: 2px; background: #6ed886; }
.contact-intro-heading h2 { margin: 20px 0 0; color: #fff; font-size: clamp(29px, 2.8vw, 38px); font-weight: 700; line-height: 1.13; letter-spacing: -.035em; }
.contact-intro-heading > p { margin-top: 18px; color: #cbd8c7; font-size: 14px; line-height: 1.8; text-align: left; }
.contact-method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; margin: 0; padding: 6px 26px 12px; }
.contact-method-card { display: flex; align-items: flex-start; gap: 14px; min-width: 0; padding: 22px 0; border: 0; background: #fff; }
.contact-method-card:nth-child(-n+2) { grid-column: 1 / -1; align-items: center; border-bottom: 1px solid #e0e8dc; }
.contact-method-card > span { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; background: #edf5e8; color: #226b34; }
.contact-method-card > div { min-width: 0; }
.contact-method-card p { text-align: left; }
.contact-method-card p:first-child { margin: 0 0 5px; color: #65745f; font-size: 11px; font-weight: 600; letter-spacing: .04em; }
.contact-method-card a, .contact-method-card p:last-child:not(:first-child) { margin: 0; color: #263e24; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.contact-method-card:first-child a { color: #226b34; font-size: 23px; font-weight: 650; line-height: 1.3; letter-spacing: -.025em; }
.contact-method-card:nth-child(2) a { font-size: 14px; font-weight: 500; }
.contact-method-card a:hover { color: #174b25; text-decoration: underline; text-underline-offset: 4px; }
.contact-method-card a:focus-visible { outline: 2px solid #226b34; outline-offset: 4px; border-radius: 2px; }
.contact-method-card:hover > span { background: #d5edcc; }
@media (min-width: 1024px) and (max-width: 1150px) {
  .contact-method-grid { padding-left: 22px; padding-right: 22px; }
  .contact-method-card:nth-child(n+3) { grid-column: 1 / -1; padding: 17px 0; }
}
@media (max-width: 540px) {
  .contact-intro-heading { padding: 28px 24px; }
  .contact-method-grid { padding: 0 22px 8px; grid-template-columns: 1fr; }
  .contact-method-card { padding: 18px 0; }
  .contact-method-card:nth-child(3) { border-bottom: 1px solid #e0e8dc; }
  .contact-method-card:nth-child(2) a { font-size: 13px; }
}

/* Keep the privacy copy directly below the survey rather than at the card bottom. */
.contact-estimate-card { justify-content: flex-start; height: auto; }
.contact-estimate-card > .ghl-survey-embed { margin-top: 24px; flex-shrink: 0; }
.contact-estimate-card > p:last-child { margin-top: 16px; }
/* The survey provider leaves 96px below its Next button; retain room for its shadow. */
.contact-estimate-card > .ghl-survey-embed:has(iframe[style*="visibility: visible"]) {
  margin-bottom: -80px;
  clip-path: inset(0 0 80px 0);
}
.contact-estimate-card > p:last-child { position: relative; z-index: 1; }
