/* ─── Contact Section ─── */
.contact-section { padding: 80px 48px 120px; background: var(--white); }

.contact-cards {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 20px; max-width: 900px; margin: 0 auto;
}

.contact-card {
  background: var(--gray-50); border: 1px solid var(--gray-200);
  border-radius: var(--radius); padding: 36px 32px;
  display: flex; align-items: flex-start; gap: 20px;
  text-decoration: none; color: inherit;
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.contact-card:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(0,0,0,.08); border-color: rgba(0,87,255,.2); }

.contact-card-dark {
  background: var(--black); border-color: transparent;
}
.contact-card-dark:hover { border-color: rgba(0,87,255,.4); box-shadow: 0 20px 48px rgba(0,0,0,.3); }
.contact-card-dark .contact-card-body h3 { color: var(--white); }
.contact-card-dark .contact-card-body p { color: rgba(255,255,255,.4); }

.contact-card-icon { font-size: 28px; flex-shrink: 0; color: var(--accent); margin-top: 2px; }
.contact-card-dark .contact-card-icon { color: var(--white); }

.contact-card-body h3 {
  font-family: 'Syne', sans-serif; font-size: 18px; font-weight: 700;
  color: var(--black); margin-bottom: 8px; letter-spacing: -.01em;
}
.contact-card-body p {
  font-size: 14px; font-weight: 300; color: var(--gray-400);
  line-height: 1.65; margin-bottom: 16px;
}
.contact-card-link {
  font-size: 14px; font-weight: 500; color: var(--accent);
  display: inline-block;
}

/* ─── FAQ ─── */
.faq-section { padding: 100px 48px; background: var(--gray-50); }

/* ─── Responsive ─── */
@media (max-width: 768px) {
  .contact-section { padding: 48px 20px 80px; }
  .contact-cards { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .contact-section { padding: 40px 16px 64px; }
}
