.hv-form { display: grid; gap: 16px; max-width: 36rem; position: relative; font: inherit; color: inherit; }
.hv-form > * { flex: 1 1 100%; min-width: 0; }
.hv-field { display: grid; gap: 6px; }
.hv-field label { font-weight: 600; }
.hv-inline { display: flex; flex-wrap: wrap; gap: 8px; }
.hv-form input[type="text"],
.hv-form input[type="email"],
.hv-form textarea {
  width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px;
  font: inherit; font-size: max(16px, 1em); color: var(--ink, #222); background: var(--field, #fff);
  border: 1px solid var(--line-strong, #767676); border-radius: var(--radius, 4px);
}
.hv-form .hv-inline input[type="email"] { flex: 1 1 14rem; width: auto; min-width: 0; }
.hv-form button {
  min-height: 48px; padding: 10px 22px; font: inherit; font-weight: 600; cursor: pointer;
  color: var(--btn-ink, #fff); background: var(--btn-bg, #222);
  border: 1px solid transparent; border-radius: var(--radius, 4px);
}
.hv-form button:hover { background: var(--btn-hover, #444); }
.hv-form button[disabled] { opacity: .6; cursor: progress; }
.hv-form input:focus-visible, .hv-form textarea:focus-visible, .hv-form button:focus-visible, .hv-form a:focus-visible {
  outline: 2px solid var(--focus, currentColor); outline-offset: 2px;
}
.hv-form [aria-invalid="true"] { border-color: #e5484d; border-width: 2px; }
.hv-consent { margin: 0; font-size: .875em; }
.hv-consent a { color: inherit; text-decoration: underline; }
.hv-form .hv-status { margin: 0; font-size: .9375em; color: inherit; max-width: none; }
.hv-status:empty { display: none; }
.hv-status.is-success, .hv-status.is-error { padding-left: 12px; font-weight: 600; border-left: 3px solid #30a46c; }
.hv-status.is-error { border-left-color: #e5484d; }
