/* Contact and footer refinements, scoped to leave other page layouts intact. */
.page-intro.contact-intro { padding-bottom: 8px; }
.contact-intro h1 { margin-bottom: 18px; }
.contact-intro p { max-width: 800px; margin-bottom: 0; color: var(--muted); }
.contact-block.contact-details { padding-top: 28px; }
.contact-block .contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.contact-block .contact-card { display: flex; flex-direction: column; align-items: flex-start; }
.contact-block .contact-card .btns { margin-top: auto; padding-top: 18px; }
.contact-block .social-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.contact-block .social-link { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-width: 0; }
.contact-block .social-link .contact-heading { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; margin: 0; }
.contact-block .social-link .contact-icon { display: inline-flex; margin: 0; }
.contact-block .social-link > span { margin-top: 0; }
.site-footer .footer-row { display: grid; grid-template-columns: 1fr 1.3fr 1fr; align-items: start; gap: 32px; }
.footer-brand .logo { display: block; margin-bottom: 12px; }
.site-footer .footer-contact h2 { font-size: 16px; letter-spacing: 0; margin-bottom: 12px; }
.site-footer .footer-contact p { margin: 0 0 6px; overflow-wrap: anywhere; }
.footer-contact a { color: var(--cyan); }
.site-footer .footer-links { justify-content: flex-end; align-content: start; }
@media (max-width: 900px) {
  .site-footer .footer-row { grid-template-columns: 1fr 1fr; }
  .site-footer .footer-links { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 700px) {
  .contact-block .contact-grid { grid-template-columns: 1fr; }
  .contact-block .social-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-block.contact-details { padding-top: 22px; }
  .site-footer .footer-row { grid-template-columns: 1fr; gap: 24px; }
  .site-footer .footer-links { grid-column: auto; }
}
@media (max-width: 420px) {
  .contact-block .social-grid { grid-template-columns: 1fr; }
}
