
/* Contact and social profiles */
.connect-section { background: var(--paper-deep); scroll-margin-top: 165px; }
.connect-section .section-head { max-width: 780px; }
.connect-section .lead { max-width: 650px; }
.connect-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.connect-card {
  display: flex; flex-direction: column; align-items: stretch;
  min-width: 0; padding: clamp(24px, 3vw, 36px);
  border-radius: var(--radius); background: var(--white);
  box-shadow: 0 12px 35px rgba(16,16,15,.07);
}
.connect-card.connect-direct { background: var(--ink); color: var(--white); }
.connect-card h3 { margin: 0; font-size: 1.5rem; line-height: 1.2; }
.connect-card p { min-height: 4.5em; margin: 14px 0 20px; color: var(--muted); }
.connect-direct p { color: rgba(255,255,255,.75); }
.connect-card a {
  display: block; padding: 14px 0; min-height: 52px;
  border-top: 1px solid var(--line); font-weight: 750;
  font-size: 1rem; line-height: 1.35; overflow-wrap: anywhere;
}
.connect-direct a { border-color: rgba(255,255,255,.22); }
.connect-card a:hover { color: var(--accent-dark); }
.connect-direct a:hover { color: var(--accent); }
.connect-card a:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
@media (max-width: 900px) {
  .connect-grid { grid-template-columns: 1fr 1fr; }
  .connect-card p { min-height: 0; }
}
@media (max-width: 640px) {
  .connect-grid { grid-template-columns: 1fr; }
  .connect-card { padding: 24px; }
}
