/* Contact Page Styles */
.text-accent { color: var(--accent); }

.hero--short { min-height: 75vh; }

/* Layout */
.contact-layout {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: start;
}

/* Form */
.form { margin-top: 36px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.form-group { display: flex; flex-direction: column; }
.form-group--full { margin-bottom: 20px; }
.form-group label {
  font-size: .88rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 6px;
}
.req { color: #dc2626; }
.form-group input,
.form-group select,
.form-group textarea {
  padding: 14px 18px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--off-white);
  color: var(--text);
  transition: var(--transition);
  font-size: .95rem;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--blue);
  background: var(--white);
  box-shadow: 0 0 0 4px rgba(58,174,224,.1);
}
.form-group textarea { resize: vertical; min-height: 120px; }
.form-group select { cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px; }

/* Success state */
.form-success {
  text-align: center;
  padding: 60px 40px;
  background: var(--off-white);
  border-radius: var(--radius);
  border: 1px solid var(--border);
}
.success-icon {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, #16a34a, #15803d);
  color: #fff;
  font-size: 1.8rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px;
}
.form-success h3 { color: #16a34a; margin-bottom: 8px; }

/* Sidebar */
.sidebar-card {
  background: var(--off-white);
  border-radius: var(--radius);
  padding: 36px 32px;
  border: 1px solid var(--border);
  position: sticky;
  top: 100px;
}
.contact-detail {
  display: flex;
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid var(--border);
  align-items: flex-start;
}
.contact-detail:last-child { border-bottom: none; padding-bottom: 0; }
.contact-detail-icon {
  width: 44px; height: 44px;
  border-radius: var(--radius-sm);
  background: rgba(58,174,224,.08);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.contact-detail h4 { font-size: .92rem; margin-bottom: 4px; color: var(--text); }
.contact-detail p { font-size: .9rem; margin-bottom: 2px; }

@media (max-width: 900px) {
  .contact-layout { grid-template-columns: 1fr; gap: 40px; }
  .sidebar-card { position: static; }
}
@media (max-width: 600px) {
  .form-row { grid-template-columns: 1fr; }
}
