.nbvf {
  --nbvf-ink: #22352d;
  --nbvf-muted: #66746d;
  --nbvf-paper: #fffdf8;
  --nbvf-accent: #c75936;
  --nbvf-accent-dark: #a94427;
  --nbvf-line: #d9ddd5;
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(420px, 1.18fr);
  width: min(1100px, 100%);
  margin: 30px auto;
  overflow: hidden;
  border-radius: 22px;
  color: var(--nbvf-ink);
  background: var(--nbvf-paper);
  box-shadow: 0 24px 64px rgba(47,54,42,.13);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.nbvf * { box-sizing: border-box; }
.nbvf__intro { display: flex; flex-direction: column; justify-content: center; min-height: 660px; padding: 46px; color: #fffaf1; background: var(--nbvf-ink); }
.nbvf__intro h2, .nbvf__heading h3 { margin: 0; font-family: Georgia, serif; font-weight: 700; line-height: 1.08; }
.nbvf__intro h2 { max-width: 430px; font-size: clamp(42px, 5vw, 64px); }
.nbvf__intro > p:not(.nbvf__eyebrow):not(.nbvf__note) { margin: 24px 0; color: #cfdbd3; font-size: 17px; line-height: 1.7; }
.nbvf__eyebrow { margin: 0 0 14px; color: #e5b169; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.nbvf__note { margin-top: auto; color: #becbc3; font-size: 13px; }
.nbvf__note span { margin-right: 8px; color: #e5b169; }
.nbvf__panel { display: grid; align-content: center; padding: 54px clamp(34px, 6vw, 76px); }
.nbvf__heading { margin-bottom: 28px; }
.nbvf__heading .nbvf__eyebrow { color: var(--nbvf-accent); }
.nbvf__heading h3 { font-size: 35px; }
.nbvf__heading > p:last-child { margin: 8px 0 0; color: var(--nbvf-muted); font-size: 14px; }
.nbvf__form { display: grid; gap: 19px; }
.nbvf__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.nbvf__field { display: grid; gap: 8px; }
.nbvf label { font-size: 14px; font-weight: 650; }
.nbvf__label-line { display: flex; justify-content: space-between; gap: 12px; }
.nbvf__label-line > span { color: var(--nbvf-muted); font-size: 12px; }
.nbvf input, .nbvf textarea { width: 100%; border: 1px solid var(--nbvf-line); border-radius: 9px; outline: 0; color: var(--nbvf-ink); background: #fff; font: inherit; }
.nbvf input { height: 47px; padding: 0 13px; }
.nbvf textarea { min-height: 112px; padding: 12px 13px; resize: vertical; }
.nbvf input:focus, .nbvf textarea:focus { border-color: var(--nbvf-accent); box-shadow: 0 0 0 3px rgba(199,89,54,.13); }
.nbvf button { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 20px; border: 0; border-radius: 9px; color: #fff; background: var(--nbvf-accent); font: 650 15px inherit; cursor: pointer; }
.nbvf button:hover { background: var(--nbvf-accent-dark); }
.nbvf button:focus-visible { outline: 3px solid rgba(199,89,54,.3); outline-offset: 3px; }
.nbvf__privacy { margin: -5px 0 0; color: var(--nbvf-muted); font-size: 12px; text-align: center; }
.nbvf__honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.nbvf__notice { margin-bottom: 24px; padding: 14px 16px; border-radius: 8px; font-size: 14px; line-height: 1.5; }
.nbvf__notice--success { color: #194c37; background: #e8f4ed; border: 1px solid #bdd9c8; }
.nbvf__notice--error { color: #7a2d27; background: #fff0ed; border: 1px solid #edc0b9; }
@media (max-width: 800px) {
  .nbvf { grid-template-columns: 1fr; }
  .nbvf__intro { min-height: 360px; padding: 34px; }
  .nbvf__panel { padding: 42px 34px 48px; }
}
@media (max-width: 520px) {
  .nbvf { margin: 15px auto; border-radius: 14px; }
  .nbvf__intro, .nbvf__panel { padding-left: 22px; padding-right: 22px; }
  .nbvf__row { grid-template-columns: 1fr; gap: 19px; }
}
