/* compact hero */
.hero-compact { padding-block: 2.25rem; }

/* form container */
.contact {
  padding: 1.25rem 1rem 2.5rem;
  max-width: 920px;
  margin: 0 auto;
}

/* grid */
.grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.span-2 { grid-column: span 2; }

@media (max-width: 720px) {
  .grid { grid-template-columns: 1fr; }
  .span-2 { grid-column: auto; }
}

/* fields */
.field label {
  display: block;
  font-weight: 600;
  margin-bottom: .35rem;
}
.field label span { color: #d92d20; }
.field input, .field select, .field textarea {
  width: 100%;
  border: 1px solid #d0d5dd;
  border-radius: 10px;
  padding: .65rem .8rem;
  background: #fff;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.field textarea { resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus {
  border-color: #84adff;
  box-shadow: 0 0 0 3px #e0ecff;
}

/* errors */
.error {
  color: #d92d20;
  font-size: .85rem;
  min-height: 1em;
  display: inline-block;
  margin-top: .25rem;
}

/* status banners */
.status {
  margin-bottom: .8rem;
  border-radius: 10px;
  padding: .65rem .8rem;
  border: 1px solid transparent;
}
.status.ok { background: #ecfdf3; border-color: #a6f4c5; color: #027a48; }
.status.err { background: #fef3f2; border-color: #fecaca; color: #b42318; }

/* checklines */
.checkline .ck { display: inline-flex; gap: .55rem; align-items: center; }
.checkline input { width: 18px; height: 18px; }

/* honeypot (hide from humans, visible to bots/screen readers) */
.hp { position: absolute; left: -99999px; width: 1px; height: 1px; overflow: hidden; }

/* actions */
.actions { display: flex; gap: .6rem; margin-top: .75rem; }

/* note */
.note { margin-top: .6rem; color: #667085; }

.btn-primary, .btn-secondary { text-decoration: none; }

/* disabled state */
button[disabled] { opacity: .6; cursor: not-allowed; }
