.bd-signup { background: var(--bd-navy); padding: 62px 20px; }
.bd-signup__inner {
  max-width: var(--bd-page);
  margin: 0 auto;
  display: flex;
  gap: 44px;
  flex-wrap: wrap;
  align-items: flex-start;
}
.bd-signup__copy { flex: 1 1 380px; min-width: 280px; }
.bd-signup .bd-signup__copy h2 {
  margin: 0 0 10px;
  font-family: var(--bd-font-display);
  font-weight: 400;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.06;
  color: var(--bd-cream);
}
.bd-signup__copy p {
  margin: 0;
  max-width: 52ch;
  font-size: 16.5px;
  line-height: 1.6;
  color: var(--bd-sky);
}
.bd-signup__form { flex: 1 1 420px; min-width: 290px; }
.bd-signup__form form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bd-signup label { font-size: 15px; font-weight: 700; line-height: 1.5; color: var(--bd-cream); }
.bd-signup__row { display: flex; gap: 12px; flex-wrap: wrap; }
.bd-signup__row input {
  flex: 1 1 240px;
  min-width: 180px;
  min-height: 54px;
  padding: 0 18px;
  margin: 0;
  font-family: var(--bd-font-body);
  font-size: 16px;
  color: var(--bd-ink);
  background: var(--bd-cream);
  border: var(--bd-border) solid var(--bd-ink);
  border-radius: 999px;
  outline: none;
  box-shadow: none;
}
.bd-signup__row input:focus-visible { outline: 3px solid var(--bd-yellow); outline-offset: 3px; }
.bd-signup__row input[aria-invalid="true"] { border-color: var(--bd-pink); }
.bd-signup__row .bd-btn { flex: 0 0 auto; }
.bd-signup__help {
  margin: 0;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--bd-sky);
  min-height: 20px;
}
.bd-signup__help--ok { color: var(--bd-yellow); }
.bd-signup__help--err { color: var(--bd-yellow); }
@media (max-width: 360px) {
  .bd-signup__copy, .bd-signup__form { min-width: 0; }
}
