/* ============================================================
   CONTACT PAGE STYLES
   ============================================================ */
.contact-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 3rem; align-items: start; }

/* Office Cards */
.contact-info-col { display: flex; flex-direction: column; gap: 1.5rem; }
.office-info-card { padding: 1.75rem; border-radius: var(--radius-xl); }
.office-badge { font-size: 0.7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 0.5rem; }
.office-card-name { font-size: 1rem; font-weight: 700; margin-bottom: 1rem; }
.office-addr-line { display: flex; align-items: flex-start; gap: 0.625rem; margin-bottom: 0.75rem; }
.office-addr-line svg { color: var(--accent-blue); flex-shrink: 0; margin-top: 2px; }
.office-addr-line span { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.6; }

.contact-quick-info {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1.5rem;
  background: var(--bg-card); border: 1px solid var(--border-glass);
  border-radius: var(--radius-xl);
}
.quick-info-item { display: flex; flex-direction: column; gap: 0.25rem; }
.quick-info-label { font-size: 0.7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); }
.quick-info-val { font-size: 0.875rem; color: var(--text-primary); font-weight: 500; }
.quick-info-val a { color: var(--accent-blue); transition: opacity var(--transition-fast); }
.quick-info-val a:hover { opacity: 0.8; }

/* Contact Form */
.contact-form-card { padding: 2.5rem; border-radius: var(--radius-2xl); }
.contact-form-title { font-size: 1.5rem; font-weight: 800; margin-bottom: 0.5rem; }
.contact-form-subtitle { font-size: 0.9rem; color: var(--text-secondary); margin-bottom: 2rem; }

/* Map */
.contact-map-section { margin-top: 4rem; }
.contact-map-wrapper { border-radius: var(--radius-xl); overflow: hidden; border: 1px solid var(--border-glass); height: 400px; }
.contact-map-wrapper iframe { width: 100%; height: 100%; border: 0; filter: invert(90%) hue-rotate(180deg); }

/* Social row */
.contact-social { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1.5rem; }
.contact-social-label { font-size: 0.85rem; color: var(--text-muted); }

@media (max-width: 900px) {
  .contact-grid { grid-template-columns: 1fr; }
  .contact-quick-info { grid-template-columns: 1fr; }
}
@media (max-width: 480px) { .contact-form-card { padding: 1.5rem; } }
