/* Contact uses the homepage components and the shared compact interior hero. */
.contact-section { padding-block: 64px 72px; background: #f7f8f3; }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 78px; align-items: start; }
.contact-copy { padding-top: 8px; }
.contact-copy h2 { font-size: clamp(44px, 4.1vw, 58px); line-height: 1.08; }
.contact-copy h2 > span { white-space: normal; max-width: 100%; }
.contact-copy > .contact-intro { margin-top: 25px; max-width: 510px; font-size: 17px; line-height: 1.85; }
.contact-methods { margin-top: 31px; }
.contact-method { display: grid; grid-template-columns: 52px minmax(0, 1fr) 22px; align-items: center; gap: 17px; padding-block: 22px; border-bottom: 1px solid #d9e1d4; }
.contact-method:first-child { border-top: 1px solid #d9e1d4; }
.contact-method-icon { display: grid; place-items: center; width: 52px; height: 52px; color: var(--forest); background: var(--lime); border-radius: 50%; transition: background .2s; }
.contact-method-icon .icon { width: 24px; height: 24px; }
.contact-method-label, .contact-method-note { display: block; font-size: 14px; line-height: 1.65; color: #526251; }
.contact-method strong { display: block; font: 900 34px/1.25 var(--display); color: var(--forest); margin-block: 3px; }
.contact-method-note { font-size: 15px; }
.contact-method-arrow { color: var(--forest); transition: transform .2s; }
.contact-method:hover .contact-method-arrow { transform: translateX(4px); }
.contact-method:hover strong { text-decoration: underline; text-underline-offset: 5px; }
.contact-area { display: flex; gap: 16px; margin-top: 30px; }
.contact-area > .icon { flex-shrink: 0; margin-top: 4px; width: 26px; height: 26px; color: #537a38; }
.contact-area h3 { font: 700 17px/1.5 var(--body); text-transform: none; }
.contact-area p { font-size: 15px; line-height: 1.8; max-width: 390px; margin-block: 6px 10px; color: #526251; }
.contact-area .text-link { font-size: 15px; margin-top: 0; }
.contact-grid .quote-card { width: 100%; max-width: none; margin: 0; padding: 30px 32px 25px; border: 1px solid #e1e7db; box-shadow: 0 10px 35px #153a2010; }
.contact-grid .quote-card h2 { font-size: 36px; }
.contact-grid .form-intro { margin-bottom: 22px; }
.contact-grid textarea { min-height: 118px; max-height: 280px; }
.contact-grid .text-photos { font-size: 14px; }
.contact-grid .form-note { font-size: 13px; }
.contact-next { padding-block: 57px 63px; }
.contact-next .section-heading { margin-bottom: 35px; }
.contact-next h2 { font-size: 50px; }
.contact-guide { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; padding: 0; margin: 0; }
.contact-guide li { display: flex; gap: 18px; }
.contact-guide-number { flex-shrink: 0; font: 900 48px/1 var(--display); color: #638f30; }
.contact-guide h3 { font-size: 28px; text-transform: none; line-height: 1.15; margin-bottom: 10px; }
.contact-guide p { font-size: 16px; line-height: 1.8; color: #526251; }
@media (max-width: 1180px) {
  .contact-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 40px; }
  .contact-copy h2 { font-size: 49px; }
  .contact-grid .quote-card { padding: 28px 25px 23px; }
  .contact-method { gap: 13px; }
  .contact-guide { gap: 25px; }
}
@media (max-width: 850px) {
  .contact-grid { grid-template-columns: 1fr; gap: 38px; max-width: 650px; }
  .contact-section { padding-block: 44px 48px; }
  .contact-copy h2 { font-size: 52px; }
  .contact-copy > .contact-intro { max-width: none; }
  .contact-methods { margin-top: 25px; }
  .contact-area p { max-width: none; }
  .contact-guide { grid-template-columns: 1fr; gap: 25px; max-width: 600px; margin-inline: auto; }
  .contact-guide li + li { padding-top: 25px; border-top: 1px solid #e1e7db; }
}
@media (max-width: 600px) {
  .contact-hero .directory-hero-inner { padding-block: 29px 33px; }
  .contact-hero h1 { font-size: clamp(44px, 11.5vw, 66px); }
  .contact-hero .directory-hero-inner > p { max-width: 330px; margin-top: 17px; }
  .contact-section { padding-block: 35px 39px; }
  .contact-copy { padding-top: 0; }
  .contact-copy .eyebrow { font-size: 13px; }
  .contact-copy h2 { font-size: clamp(39px, 10.5vw, 49px); }
  .contact-copy > .contact-intro { font-size: 16px; margin-top: 22px; }
  .contact-method { grid-template-columns: 44px minmax(0, 1fr) 17px; gap: 12px; padding-block: 21px; }
  .contact-method-icon { width: 44px; height: 44px; }
  .contact-method-icon .icon { width: 21px; height: 21px; }
  .contact-method strong { font-size: 29px; }
  .contact-method-label { font-size: 13px; }
  .contact-method-note { font-size: 14px; }
  .contact-method-arrow { width: 17px; }
  .contact-area { gap: 12px; margin-top: 25px; }
  .contact-area h3 { font-size: 16px; }
  .contact-grid .quote-card { padding: 25px 21px 22px; }
  .contact-grid .quote-card h2 { font-size: 32px; }
  .contact-grid .form-row { grid-template-columns: 1fr; gap: 0; }
  .contact-grid .quote-card .eyebrow { font-size: 13px; }
  .contact-grid .submit-button { font-size: 14px; }
  .contact-next { padding-block: 39px 43px; }
  .contact-next h2 { font-size: 39px; max-width: 340px; }
  .contact-next .eyebrow { font-size: 13px; }
  .contact-guide-number { font-size: 44px; }
  .contact-guide h3 { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) {
  .contact-method-arrow { transition: none; transform: none !important; }
}

