/* Contacts page styling */

.page-hero { padding: 3.5rem 0 2rem; background:#000; }
.page-hero h1 { font-size: 2.25rem; font-weight: 800; margin-bottom: .5rem; }
.page-hero .lead { color:#b8b8b8; max-width: 760px; }

/* Map + Details */
.contact-top { padding: 1.5rem 0 3rem; background:#000; position:relative; }
.contact-grid { display:grid; grid-template-columns: 1.6fr 1fr; gap: 1.25rem; align-items: start; }

.contact-map iframe { width: 100%; height: 420px; border: 0; border-radius: 16px; }

.contact-card { background:#0e0e0e; border:1px solid #1f1f1f; border-radius: 20px; padding: 1.25rem; }
.contact-card .h2 { font-size:1.5rem; font-weight:800; margin-bottom:.5rem; }
.h3 { font-size:1rem; font-weight:700; margin:.75rem 0 .25rem; color:#fff; }
address { font-style: normal; color:#cfcfcf; }

.social-list { display:flex; flex-wrap:wrap; gap:.75rem 1rem; margin-top:.25rem; }
.social-list a { color:#00ff88; font-weight:600; }
.social-list a:hover { color:#00cc44; }

/* Registration form */
.contact-form { padding: 2rem 0 4rem; background:#000; }
.section-title { font-size: 1.75rem; font-weight: 800; margin-bottom: 1rem; }

/* Make the shared members-form sit nicely within contact layout */
.contact-form .members-form{ margin: 0 auto; }
.contact-form .button.fullwidth.w-button{ margin-top:.25rem; }

@media (max-width: 1024px){ .contact-grid{ grid-template-columns: 1fr; } }
@media (max-width: 640px){ .section-title{ font-size:1.5rem; } }
