/* ============================================================
   contact.css — Contact Section & Form
============================================================ */

.contact {
  position: relative;
  background: linear-gradient(180deg, var(--space-black) 0%, var(--deep-navy) 100%);
  padding: var(--space-8) 0;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.618fr;
  gap: var(--space-7);
  align-items: start;
  margin-top: var(--space-6);
}

/* Info column */
.contact-info h3 {
  font-family: 'Syne', sans-serif;
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--stellar-white);
  margin-bottom: var(--space-4);
}
.contact-info p {
  font-family: 'Crimson Pro', serif;
  font-size: var(--text-md);
  font-weight: 300;
  color: var(--cool-grey);
  line-height: 1.8;
  margin-bottom: var(--space-5);
}
.contact-links {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.contact-link {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-family: 'JetBrains Mono', monospace;
  font-size: var(--text-xs);
  color: var(--cool-grey);
  text-decoration: none;
  padding: var(--space-3);
  border: 1px solid rgba(255,255,255,0.05);
  background: rgba(255,255,255,0.02);
  transition: color 0.3s, border-color 0.3s, background 0.3s, gap 0.3s;
  letter-spacing: 0.08em;
}
.contact-link:hover {
  color: var(--solar-gold);
  border-color: rgba(244,180,0,0.2);
  background: rgba(244,180,0,0.04);
  gap: var(--space-4);
}
.contact-link.no-hover { pointer-events: none; }
.contact-link-icon {
  width: 32px; height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.04);
  font-size: 1rem;
  flex-shrink: 0;
}

/* Form */
.contact-form-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.form-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: var(--text-xs);
  color: var(--cool-grey);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.form-input,
.form-textarea {
  font-family: 'JetBrains Mono', monospace;
  font-size: var(--text-sm);
  color: var(--stellar-white);
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  padding: var(--space-3) var(--space-4);
  outline: none;
  width: 100%;
  transition: border-color 0.3s, background 0.3s, box-shadow 0.3s;
  resize: none;
}
.form-input:focus,
.form-textarea:focus {
  border-color: rgba(244,180,0,0.4);
  background: rgba(244,180,0,0.03);
  box-shadow: 0 0 20px rgba(244,180,0,0.05);
}
.form-input::placeholder,
.form-textarea::placeholder { color: rgba(136,150,176,0.4); }
.form-textarea { min-height: 140px; }

.form-submit {
  font-family: 'Syne', sans-serif;
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--space-black);
  background: var(--solar-gold);
  border: none;
  padding: var(--space-3) var(--space-5);
  cursor: none;
  position: relative;
  overflow: hidden;
  clip-path: polygon(12px 0%, 100% 0%, calc(100% - 12px) 100%, 0% 100%);
  width: 100%;
  transition: background 0.3s, transform 0.3s var(--ease-spring), box-shadow 0.3s;
}
.form-submit::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, transparent, rgba(255,255,255,0.2), transparent);
  transform: translateX(-100%);
  transition: transform 0.5s;
}
.form-submit:hover {
  background: var(--gold-bright);
  transform: translateY(-2px);
  box-shadow: 0 15px 30px rgba(244,180,0,0.25);
}
.form-submit:hover::before { transform: translateX(100%); }

.form-feedback {
  font-family: 'JetBrains Mono', monospace;
  font-size: var(--text-xs);
  min-height: 1.4em;
  margin-top: var(--space-1);
}
.form-feedback.success { color: var(--solar-gold); }
.form-feedback.error   { color: var(--danger-red); }

@media (max-width: 1024px) {
  .contact-grid { grid-template-columns: 1fr; gap: var(--space-6); }
}
