/* Contact page (independent) */

.contact-hero{
  padding: 44px 0 24px;
  background: linear-gradient(180deg, #f7faff, transparent);
  border-bottom: 1px solid var(--border);
}
.crumbs{
  display:flex; gap:8px; align-items:center;
  font-size:14px; margin-bottom:8px;
}
.crumbs a{ color:var(--blue); text-decoration:none; }
.crumbs a:hover{ text-decoration:underline; }
.contact-hero h1{
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800; margin: 0 0 6px; color: var(--ink);
}
.muted{ color: var(--muted); }

.contact-grid{
  display:grid; gap:16px; grid-template-columns:1.2fr .8fr;
}
@media (max-width: 900px){
  .contact-grid{ grid-template-columns:1fr; }
}

/* Form */
.contact-form h2{ margin:0 0 10px; }
.row.two{
  display:grid; gap:12px; grid-template-columns:1fr 1fr;
}
@media (max-width: 700px){ .row.two{ grid-template-columns:1fr; } }

.field{ display:grid; gap:6px; }
.field label{ font-weight:600; color:var(--ink); }
input[type="text"], input[type="email"], input[type="file"], select, textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  outline:none;
  background:#fff;
}
textarea{ resize: vertical; }
input:focus, select:focus, textarea:focus{
  border-color:#c9d4ff; box-shadow:0 0 0 3px #e8eeff;
}

.w-full{ width:100%; }

/* Sidebar */
.contact-info h3{ margin:0 0 8px; }
.list{ list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.list a{ color:var(--blue); text-decoration:none; }
.list a:hover{ text-decoration:underline; }
.note{
  margin-top:10px; padding:10px; border:1px solid var(--border); border-radius:10px; background:#fff;
}

/* Map placeholder */
.map{ height:260px; display:grid; place-items:center; }
.map-ph{
  width:100%; height:220px; border:1px dashed var(--border); border-radius:12px;
  display:grid; place-items:center; color:#8aa0c7; background:#fff;
}
