/* ---------- Testimonials ---------- */
.testimonial-card {
  border: var(--border);
  background: var(--navy);
  padding: 32px;
  margin-top: 32px;
}
.testimonial-card .stars { color: var(--orange-on-dark); font-size: 16px; margin-bottom: 16px; }
.testimonial-card blockquote {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(18px, 2.2vw, 26px);
  line-height: 1.4;
  color: var(--cream);
  margin: 0 0 24px;
}
.testimonial-card .name { font-family: var(--font-mono); font-weight: 700; font-size: 14px; color: var(--orange-on-dark); }
.testimonial-card .role { font-family: var(--font-mono); font-size: 14px; color: rgba(240,238,230,0.6); margin-top: 4px; }

.testimonial-nav { display: flex; gap: 12px; margin-top: 24px; }
.nav-btn {
  width: 56px; height: 56px;
  border: var(--border);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
}
.nav-btn.prev { background: var(--cream); }
.nav-btn.next { background: var(--orange); }
.nav-btn[disabled] { opacity: 0.35; cursor: not-allowed; }

/* ---------- Contact ---------- */
.contact-grid { display: grid; gap: 24px; margin-top: 32px; }
.field { display: block; }
.field label {
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 14px;
  display: block;
  margin-bottom: 8px;
}
.field input,
.field select,
.field textarea {
  width: 100%;
  border: var(--border);
  background: var(--cream);
  padding: 12px 14px;
  font-family: var(--font-mono);
  font-size: 14px;
  color: var(--black);
}
.field textarea { resize: vertical; min-height: 100px; }
.field input::placeholder,
.field textarea::placeholder { color: rgba(10,10,10,0.5); }

.form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 640px) { .form-row-2 { grid-template-columns: 1fr; } }

.submit-btn {
  width: 100%;
  padding: 18px;
  font-size: 14px;
}

.contact-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 24px;
}
.contact-info {
  border: var(--border);
  background: var(--navy);
  padding: 24px;
}
.contact-info h3 {
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 14px;
  color: var(--orange-on-dark);
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}
.contact-info .row { margin-bottom: 16px; }
.contact-info .k { font-family: var(--font-mono); font-size: 12px; color: rgba(240,238,230,0.6); display: block; margin-bottom: 4px; }
.contact-info .v { font-family: var(--font-mono); font-size: 14px; color: var(--cream); }
.contact-info a.v:hover { color: var(--orange-on-dark); }

.badges { display: flex; flex-direction: column; gap: 12px; }
.badge {
  border: var(--border);
  background: var(--cream);
  padding: 14px 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.badge .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); margin-top: 6px; flex-shrink: 0; }
.badge .t { font-family: var(--font-mono); font-weight: 700; font-size: 14px; }
.badge .d { font-family: var(--font-mono); font-size: 13px; color: rgba(10,10,10,0.6); margin-top: 2px; }

.form-status {
  font-family: var(--font-mono);
  font-size: 14px;
  margin-top: 16px;
  display: none;
}
.form-status.is-success { display: block; color: #166534; }
.form-status.is-error { display: block; color: #991b1b; }

@media (max-width: 860px) {
  .contact-bottom { grid-template-columns: 1fr; }
}
