:where(.fb-form) {
  --fb-accent: #176247;
  --fb-accent-strong: #0d4733;
  --fb-border: #d8d5ca;
  --fb-danger: #a4372a;
  --fb-focus: #176247;
  --fb-muted: #69675f;
  --fb-radius: 0.55rem;
  --fb-surface: #fffefa;
  --fb-text: #22241f;
}

.fb-form {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  width: 100%;
  font: inherit;
  line-height: 1.45;
  color: var(--fb-text);
}

.fb-form *,
.fb-form *::before,
.fb-form *::after {
  box-sizing: border-box;
}

.fb-field {
  grid-column: 1 / -1;
  min-inline-size: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

.fb-label {
  display: block;
  margin-block-end: 0.45rem;
  font-size: 0.875rem;
  font-weight: 650;
  color: var(--fb-text);
  letter-spacing: 0.01em;
}

.fb-required {
  color: var(--fb-danger);
}

.fb-control {
  display: block;
  width: 100%;
  min-height: 2.85rem;
  padding: 0.65rem 0.8rem;
  font: inherit;
  color: var(--fb-text);
  appearance: none;
  background: var(--fb-surface);
  border: 1px solid var(--fb-border);
  border-radius: var(--fb-radius);
  transition:
    border-color 140ms ease,
    box-shadow 140ms ease;
}

.fb-control::placeholder {
  color: color-mix(in srgb, var(--fb-muted) 72%, transparent);
}

.fb-select {
  appearance: auto;
}

.fb-textarea {
  min-height: 6rem;
  resize: vertical;
}

.fb-control:hover {
  border-color: color-mix(in srgb, var(--fb-accent) 45%, var(--fb-border));
}

.fb-control:focus-visible,
.fb-choice input:focus-visible,
.fb-checkbox input:focus-visible,
.fb-submit:focus-visible {
  outline: 3px solid var(--fb-focus);
  outline-offset: 2px;
}

.fb-control:user-invalid {
  border-color: var(--fb-danger);
}

.fb-help {
  margin: 0.4rem 0 0;
  font-size: 0.8rem;
  color: var(--fb-muted);
}

.fb-choice-group {
  display: grid;
  gap: 0.55rem;
}

.fb-choice,
.fb-checkbox {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  font-size: 0.925rem;
  cursor: pointer;
}

.fb-choice input,
.fb-checkbox input {
  flex: 0 0 auto;
  inline-size: 1.05rem;
  block-size: 1.05rem;
  margin: 0;
  accent-color: var(--fb-accent);
}

.fb-submit {
  grid-column: 1 / -1;
  justify-self: start;
  min-height: 2.75rem;
  padding: 0.65rem 1.15rem;
  font: inherit;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  background: var(--fb-accent);
  border: 1px solid var(--fb-accent);
  border-radius: var(--fb-radius);
  transition:
    background-color 140ms ease,
    border-color 140ms ease,
    transform 140ms ease;
}

.fb-submit:hover:not(:disabled) {
  background: var(--fb-accent-strong);
  border-color: var(--fb-accent-strong);
  transform: translateY(-1px);
}

.fb-submit:disabled {
  cursor: wait;
  opacity: 0.58;
}

.fb-status,
.fb-formbrew-status,
.fb-formbrew-error {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 0.875rem;
}

.fb-status:empty {
  display: none;
}

.fb-status--success {
  color: var(--fb-accent-strong);
}

.fb-status--error,
.fb-formbrew-error {
  color: var(--fb-danger);
}

.fb-content {
  grid-column: 1 / -1;
  color: var(--fb-text);
}

.fb-content > :first-child {
  margin-block-start: 0;
}

.fb-content > :last-child {
  margin-block-end: 0;
}

.fb-content a {
  color: var(--fb-accent-strong);
}

.fb-honeypot {
  position: absolute;
  inset-inline-start: -10000px;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .fb-control,
  .fb-submit {
    transition: none;
  }
}

.fb-embed {
  display: block;
}
