/* Shared form feedback banner (contact, about, quote) */
.flash {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 22px;
  padding: 14px 18px;
  border-radius: 14px;
  font-size: 0.95rem;
  line-height: 1.5;
  font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
  animation: flashIn 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.flash i {
  margin-top: 2px;
  font-size: 1.05rem;
}

.flash--success {
  color: #d7ffe6;
  background: rgba(37, 211, 102, 0.14);
  border: 1px solid rgba(37, 211, 102, 0.5);
}

.flash--success i { color: #25d366; }

.flash--error {
  color: #ffe0e0;
  background: rgba(255, 92, 92, 0.13);
  border: 1px solid rgba(255, 92, 92, 0.5);
}

.flash--error i { color: #ff6b6b; }

/* honeypot: invisible to people, tempting to bots */
.hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

@keyframes flashIn {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: none; }
}
