/* ---------- Contact ---------- */

.contact {
  max-width: 1080px;
  margin: 0 auto;
  padding: calc(var(--nav-height) + 76px) clamp(10px, 3vw, 40px) 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 38px;
}

.contact h1 {
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  margin: 0;
}

.contact__form {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact__row {
  display: flex;
  gap: 40px;
}

.contact__field {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.contact__field label {
  font-size: 15px;
  font-weight: 500;
}

.contact__field input,
.contact__field textarea {
  font-family: inherit;
  font-size: 16px;
  color: var(--fg);
  background: none;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding: 14px 0;
  outline: none;
}

.contact__field input::placeholder,
.contact__field textarea::placeholder {
  color: var(--fg-muted);
}

.contact__field input:focus,
.contact__field textarea:focus {
  border-bottom-color: var(--fg);
}

.contact__field textarea {
  resize: vertical;
  min-height: 100px;
}

.contact__submit {
  width: 100%;
  padding: 18px;
  background: var(--fg);
  color: var(--bg);
  border: none;
  font-family: inherit;
  font-size: 15px;
  cursor: pointer;
}

.contact__submit:disabled {
  opacity: 0.6;
  cursor: default;
}

.contact__status {
  font-size: 14px;
  text-align: center;
  min-height: 1.2em;
}

.contact__status[data-state="success"] {
  color: #6bd68f;
}

.contact__status[data-state="error"] {
  color: #e0776a;
}

.site-footer {
  padding: 20px clamp(10px, 3vw, 40px);
  font-size: 14px;
  color: var(--fg-muted);
}

@media (max-width: 700px) {
  .contact__row {
    flex-direction: column;
    gap: 20px;
  }
}
