/* The project form shares the header's inset fields and brief press movement. */
.project-contact-fields {
  --contact-field-height: 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 9px;
  margin-bottom: 24px;
}
.project-contact-fields .contact-field:first-child { grid-column: 1 / -1; }
.project-contact-fields .contact-field > span { font-size: 13px; }
.project-contact-fields .contact-field small { font-size: 11px; }
.project-contact-fields .contact-field input { padding-inline: 11px; }
.project-contact-fields .contact-field > span { left: 11px; }
.project-contact-fields .contact-field input:focus + span,
.project-contact-fields .contact-field input:not(:placeholder-shown) + span,
.project-contact-fields .contact-field.is-invalid > span {
  top: 4px; font-size: 10px; line-height: 12px; transform: none;
}
.project-contact-fields .contact-field input:focus,
.project-contact-fields .contact-field input:not(:placeholder-shown),
.project-contact-fields .contact-field.is-invalid input { padding-top: 13px; }
.contact-field[for="project-name"] { --feedback-rgb: 24 62 216; --feedback-border: #3156e8; --feedback-text: #1437bb; }
.contact-field[for="project-email"] { --feedback-rgb: 255 207 28; --feedback-border: #d9ad00; --feedback-text: #775d00; }
.contact-field[for="project-phone"] { --feedback-rgb: 197 44 39; --feedback-border: #c52c27; --feedback-text: #a6221e; }
#project-type.is-invalid .brief-options { outline: 2px solid #d9ad00; outline-offset: 4px; border-radius: 5px; }
#project-goal.is-invalid { border-color: #c52c27; box-shadow: 0 0 0 2px #c52c2729; }
.project-actions { display: grid; gap: 10px; }
.project-actions .project-action {
  --flight-color: var(--blue);
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; height: 48px; min-height: 48px; padding: 12px 18px; gap: 12px;
  font-size: 13px; line-height: 1.3; border: 1px solid transparent; border-radius: 7px;
  transform: none; transition: transform .14s, box-shadow .14s, filter .14s;
}
.project-action svg { flex: 0 0 auto; width: 20px; height: 20px; }
.project-actions .project-download {
  color: #202848; background: linear-gradient(155deg, #ffe94d, #fedb1f);
  border: 1px solid #e9c21e;
  box-shadow: inset 0 1px 1px #fff9, inset 0 -2px 1px #8d71002e, 0 3px 5px #9c7a001f;
}
.project-download svg { color: var(--blue); }
.project-actions .project-action.touch-input.is-pressed,
.project-actions .project-action:active:not(.touch-input) { transform: translateY(2px); filter: brightness(.96); }
.project-actions .project-action:disabled { cursor: wait; opacity: .7; }
.project-status { margin-top: 15px; font-size: 12px; line-height: 1.5; color: var(--muted); }
@media (max-width:360px) {
  .project-actions .project-action { padding-inline: 12px; gap: 8px; font-size: 12px; }
}
@media (hover:hover) and (pointer:fine) {
  .project-actions .project-action:hover:not(.touch-input):not(:active):not(:disabled) { transform: translateY(-2px); }
}
@media (prefers-reduced-motion: reduce) {
  .project-actions .project-action { transition: none; }
}
